[
  {
    "path": ".Rbuildignore",
    "content": "# ignore JS config files/folders\nnode_modules/\ncoverage/\nsrc/\nlib/\n.babelrc\n.builderrc\n.eslintrc\n.npmignore\n.editorconfig\n.eslintignore\n.prettierrc\n.circleci\n.github\n\n# demo folder has special meaning in R\n# this should hopefully make it still\n# allow for the possibility to make R demos\ndemo/.*\\.js\ndemo/.*\\.html\ndemo/.*\\.css\n\n# ignore Python files/folders\nsetup.py\nusage.py\nsetup.py\nrequirements.txt\nMANIFEST.in\nCHANGELOG.md\ntest/\n# CRAN has weird LICENSE requirements\nLICENSE.txt\n^.*\\.Rproj$\n^\\.Rproj\\.user$\n"
  },
  {
    "path": ".circleci/config.yml",
    "content": "version: 2\n\njobs:\n    build_and_test_node:\n        docker:\n            - image: circleci/python:3.7-stretch-node\n              auth:\n                username: dashautomation\n                password: $DASH_PAT_DOCKERHUB\n        steps:\n            - checkout\n            - run:\n                name: Check current version of node\n                command: node -v\n            - restore_cache:\n                key: deps1-{{ .Branch }}-{{ checksum \"package-lock.json\" }}\n\n            - run:\n                name: Install package.json\n                command: npm ci\n\n            - save_cache:\n                key: deps1-{{ .Branch }}-{{ checksum \"package-lock.json\" }}\n                paths:\n                    - node_modules\n\n            - run:\n                name: Install Dash for package build and build package\n                command: |\n                    python -m venv venv\n                    . venv/bin/activate\n                    pip install --upgrade dash[dev,testing]\n\n\n            - run:\n                name: Run unit tests\n                command: |\n                    npm run test\n\nworkflows:\n    version: 2\n    build:\n        jobs:\n            - build_and_test_node\n"
  },
  {
    "path": ".eslintignore",
    "content": "build/\ncoverage/\ndist/\nlib/\nlib/*.js*\nnode_modules/\ndash_daq/metadata.json\ndash_daq/*.js*\ninst/deps/*.js*\nbabel.config.js\nwebpack.config.js\n.npm\nvv/\nvenv/\n*.pyc\n*.egg-info\n*.log\n.DS_Store\n"
  },
  {
    "path": ".eslintrc",
    "content": "{\n  \"extends\": [\n    \"./node_modules/dash-components-archetype/config/eslint/eslintrc-react.json\"\n  ],\n  \"parser\": \"babel-eslint\",\n  \"plugins\": [\n    \"react\",\n    \"import\"\n  ],\n  \"settings\": {\n    \"import/extensions\": [\n      \".css$\"\n     ]\n   }\n}"
  },
  {
    "path": ".github/CODEOWNERS",
    "content": "# These owners will be the default owners for everything in\n# the repo. Unless a later match takes precedence\n* @Marc-Andre-Rivet @shammamah\n"
  },
  {
    "path": ".github/FUNDING.yml",
    "content": "custom: https://plotly.com/products/consulting-and-oem/\n"
  },
  {
    "path": ".gitignore",
    "content": "build/\ncoverage/\ndist/\nlib/\nlib/bundle.js*\nnode_modules/\ndash_daq/metadata.json\ndash_daq/bundle.js*\n.npm\nvv/\nvenv/\n*.pyc\n*.egg-info\n*.log\n.DS_Store\n.vscode\n"
  },
  {
    "path": ".npmignore",
    "content": "node_modules/\n.npm\n.git/\nvv/\nvenv/\n*.pyc\n*.log\n.DS_Store\n\nbuild/\ncoverage/\ndist/\nlib/\nlib/bundle.js*\nnode_modules/\n*.egg-info\n"
  },
  {
    "path": ".prettierrc",
    "content": "{\n    \"singleQuote\": true\n}\n"
  },
  {
    "path": "CHANGELOG.md",
    "content": "# Changelog\n\nAll notable changes to this project will be documented in this file.\n\nThe format is based on [Keep a\nChangelog](http://keepachangelog.com/en/1.0.0/) and this project\nadheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).\n\n## [Unreleased]\n### Added\n- [#117](https://github.com/plotly/dash-daq/pull/117) Added `digits` prop to `Gauge` component.\n\n## [0.5.0] - 2020-04-27\n### Added\n- [#105](https://github.com/plotly/dash-daq/pull/105) Added [persistence](https://dash.plotly.com/persistence) for\ncomponents BooleanSwitch, ColorPicker, Knob, NumericInput, PowerButton, PrecisionInput, Slider and ToggleSwitch\n\n### Changed\n- [#92](https://github.com/plotly/dash-daq/pull/92) Update from React 16.8.6 to 16.13.0\n\n## [0.4.0] - 2020-03-04\n### Added\n- [#80](https://github.com/plotly/dash-daq/pull/80) Added `theme` prop to `GraduatedBar` component.\n\n### Changed\n- [#91](https://github.com/plotly/dash-daq/pull/91) Renamed async modules with hyphen `-` instead of tilde `~`\n- [#80](https://github.com/plotly/dash-daq/pull/80) Changed class names for components according to BEM conventions.\n\n### Fixed\n- [#80](https://github.com/plotly/dash-daq/pull/80) Fixed color problems for dark-theme buttons and inputs.\n\n## [0.3.3] - 2020-01-23\n### Changed\n- [#82](https://github.com/plotly/dash-daq/pull/82) Updated `rc-slider` package and `daq.Slider` styling.\n\n## [0.3.2] - 2020-01-22\n### Fixed\n- [#84](https://github.com/plotly/dash-daq/pull/84) Fixed JS map not being included in the `js_dist` for the Python package.\n\n## [0.3.1] - 2019-11-14\n### Fixed\n- [#73](https://github.com/plotly/dash-daq/pull/73) Fix IE11 compatibility issues and ES5 compatibility and validation\n\n## [0.3.0] - 2019-11-05\n### Added\n- [#70](https://github.com/plotly/dash-daq/pull/70) Async ColorPicker and Slider components\n\n## [0.2.2] - 2019-10-04\n\n### Fixed\n- Fixed ThemeProvider warning by updating `styled-components` to `v4.4.0`.\n\n## [0.2.1] - 2019-09-24\n\n### Fixed\n- Fixed \"Cannot read property 'subscribe' of undefined\" JavaScript\n  error.\n\n## [0.2.0] - 2019-09-24\n\n### Added\n- Added `height` and `width` parameters to `daq.Tank` and\n  `daq.Thermometer`.\n\n## [0.1.7] - 2019-07-24\n\n### Changed\n- Updated library to React 16 for compatibility with `dash-1.0.0`.\n\n## [0.1.6] - 2019-07-16\n\n### Added\n- Added ability for LEDDisplay to handle negative numbers.\n\n## [0.1.5] - 2019-05-09\n\n### Fixed\n- Fixed missing locationSlider entry in Slider.propTypes.\n\n### Added\n\n- Updated package.json with additional metadata for R package\n  building.\n- Added JavaScript bundle and source map to dash_daq subfolder.\n- Initial commit of dashDaq R package.\n\n## [0.1.4] - 2019-02-18\n\n### Fixed\n- Fixed init file to include the correct bundle location.\n- Fixed NPM package to include bundle, and updated Python package\n  version accordingly.\n\n## [0.1.2] - 2019-02-15\n\n### Fixed\n- Fixed version to correspond to the correct/published npm version.\n\n## [0.1.1] - 2019-02-14\n\n### Fixed\n- Fixed version to correspond to the correct/published npm version.\n\n## [0.1.0] - 2019-01-28\n\n### Fixed\n- Fixed incompatibility issue with Dash `0.36.0`.\n\n### Removed\n- Removed unused headers in CHANGELOG.\n- Removed all mentioned of `fireEvent` and anything else that used\n  Dash events (which have been removed). The `n_clicks` and `value`\n  props should be used instead to determine when something has been\n  updated.\n\n## [0.0.2] - 2018-06-04\n\n### Fixed\n- Error on Windows when generating tarball. Fixed dependency problems\n  with import dash_daq.\n\n## [0.0.1] - 2018-05-28\n\n### Fixed\n\n- Display error on ColorPicker Light component fixed\n- Gauge component error with default values fixed\n- Knob component error with JavaScript split method fixed\n"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "content": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn 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.\n\n## Our Standards\n\nExamples of behavior that contributes to creating a positive environment include:\n\n* Using welcoming and inclusive language\n* Being respectful of differing viewpoints and experiences\n* Gracefully accepting constructive criticism\n* Focusing on what is best for the community\n* Showing empathy towards other community members\n\nExamples of unacceptable behavior by participants include:\n\n* The use of sexualized language or imagery and unwelcome sexual attention or advances\n* Trolling, insulting/derogatory comments, and personal or political attacks\n* Public or private harassment\n* Publishing others' private information, such as a physical or electronic address, without explicit permission\n* Other conduct which could reasonably be considered inappropriate in a professional setting\n\n## Our Responsibilities\n\nProject 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.\n\nProject 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.\n\n## Scope\n\nThis 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.\n\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at accounts@plot.ly. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and 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.\n\nProject 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.\n\n## Attribution\n\nThis Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.4, available at [http://contributor-covenant.org/version/1/4](http://contributor-covenant.org/version/1/4/), and may also be found online at <https://community.plotly.com/pub/code-of-conduct>.\n"
  },
  {
    "path": "DESCRIPTION",
    "content": "Package: dashDaq\nTitle: Interactive Data Acquisition and Control Components for Dash \nVersion: 0.5.1\nDescription: A robust set of controls that make it simpler to integrate data acquisition and controls into your Dash applications.\nDepends: R (>= 3.0.2)\nImports: \nSuggests: \nAuthors@R: person(\"The\", \"Team\", role = c(\"aut\", \"cre\"), email = \"dashdaq@plotly.com\")\nLicense: MIT + file LICENSE\nURL: https://github.com/plotly/dash-daq\nBugReports: https://github.com/plotly/dash-daq/issues\nEncoding: UTF-8\nLazyData: true\nKeepSource: true\n"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2019-2024 Plotly Technologies Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "MANIFEST.in",
    "content": "include dash_daq/dash_daq.min.js\ninclude dash_daq/dash_daq.min.js.map\ninclude dash_daq/async-*.js\ninclude dash_daq/async-*.js.map\ninclude dash_daq/metadata.json\ninclude dash_daq/package-info.json\ninclude README.md\ninclude LICENSE\n"
  },
  {
    "path": "NAMESPACE",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\nexport(daqBooleanSwitch)\nexport(daqColorPicker)\nexport(daqDarkThemeProvider)\nexport(daqGauge)\nexport(daqGraduatedBar)\nexport(daqIndicator)\nexport(daqJoystick)\nexport(daqKnob)\nexport(daqLEDDisplay)\nexport(daqNumericInput)\nexport(daqPowerButton)\nexport(daqPrecisionInput)\nexport(daqSlider)\nexport(daqStopButton)\nexport(daqTank)\nexport(daqThermometer)\nexport(daqToggleSwitch)\n"
  },
  {
    "path": "R/daqBooleanSwitch.R",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\ndaqBooleanSwitch <- function(id=NULL, className=NULL, color=NULL, disabled=NULL, label=NULL, labelPosition=NULL, on=NULL, persisted_props=NULL, persistence=NULL, persistence_type=NULL, size=NULL, style=NULL, theme=NULL, vertical=NULL) {\n    \n    props <- list(id=id, className=className, color=color, disabled=disabled, label=label, labelPosition=labelPosition, on=on, persisted_props=persisted_props, persistence=persistence, persistence_type=persistence_type, size=size, style=style, theme=theme, vertical=vertical)\n    if (length(props) > 0) {\n        props <- props[!vapply(props, is.null, logical(1))]\n    }\n    component <- list(\n        props = props,\n        type = 'BooleanSwitch',\n        namespace = 'dash_daq',\n        propNames = c('id', 'className', 'color', 'disabled', 'label', 'labelPosition', 'on', 'persisted_props', 'persistence', 'persistence_type', 'size', 'style', 'theme', 'vertical'),\n        package = 'dashDaq'\n        )\n\n    structure(component, class = c('dash_component', 'list'))\n}\n"
  },
  {
    "path": "R/daqColorPicker.R",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\ndaqColorPicker <- function(id=NULL, className=NULL, disabled=NULL, label=NULL, labelPosition=NULL, persisted_props=NULL, persistence=NULL, persistence_type=NULL, size=NULL, style=NULL, theme=NULL, value=NULL) {\n    \n    props <- list(id=id, className=className, disabled=disabled, label=label, labelPosition=labelPosition, persisted_props=persisted_props, persistence=persistence, persistence_type=persistence_type, size=size, style=style, theme=theme, value=value)\n    if (length(props) > 0) {\n        props <- props[!vapply(props, is.null, logical(1))]\n    }\n    component <- list(\n        props = props,\n        type = 'ColorPicker',\n        namespace = 'dash_daq',\n        propNames = c('id', 'className', 'disabled', 'label', 'labelPosition', 'persisted_props', 'persistence', 'persistence_type', 'size', 'style', 'theme', 'value'),\n        package = 'dashDaq'\n        )\n\n    structure(component, class = c('dash_component', 'list'))\n}\n"
  },
  {
    "path": "R/daqDarkThemeProvider.R",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\ndaqDarkThemeProvider <- function(children=NULL, theme=NULL) {\n    \n    props <- list(children=children, theme=theme)\n    if (length(props) > 0) {\n        props <- props[!vapply(props, is.null, logical(1))]\n    }\n    component <- list(\n        props = props,\n        type = 'DarkThemeProvider',\n        namespace = 'dash_daq',\n        propNames = c('children', 'theme'),\n        package = 'dashDaq'\n        )\n\n    structure(component, class = c('dash_component', 'list'))\n}\n"
  },
  {
    "path": "R/daqGauge.R",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\ndaqGauge <- function(id=NULL, base=NULL, className=NULL, color=NULL, digits=NULL, exceedMessage=NULL, label=NULL, labelPosition=NULL, lagingMessage=NULL, logarithmic=NULL, max=NULL, min=NULL, scale=NULL, showCurrentValue=NULL, size=NULL, style=NULL, textColor=NULL, theme=NULL, units=NULL, value=NULL) {\n    \n    props <- list(id=id, base=base, className=className, color=color, digits=digits, exceedMessage=exceedMessage, label=label, labelPosition=labelPosition, lagingMessage=lagingMessage, logarithmic=logarithmic, max=max, min=min, scale=scale, showCurrentValue=showCurrentValue, size=size, style=style, textColor=textColor, theme=theme, units=units, value=value)\n    if (length(props) > 0) {\n        props <- props[!vapply(props, is.null, logical(1))]\n    }\n    component <- list(\n        props = props,\n        type = 'Gauge',\n        namespace = 'dash_daq',\n        propNames = c('id', 'base', 'className', 'color', 'digits', 'exceedMessage', 'label', 'labelPosition', 'lagingMessage', 'logarithmic', 'max', 'min', 'scale', 'showCurrentValue', 'size', 'style', 'textColor', 'theme', 'units', 'value'),\n        package = 'dashDaq'\n        )\n\n    structure(component, class = c('dash_component', 'list'))\n}\n"
  },
  {
    "path": "R/daqGraduatedBar.R",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\ndaqGraduatedBar <- function(id=NULL, className=NULL, color=NULL, label=NULL, labelPosition=NULL, max=NULL, min=NULL, showCurrentValue=NULL, size=NULL, step=NULL, style=NULL, theme=NULL, value=NULL, vertical=NULL) {\n    \n    props <- list(id=id, className=className, color=color, label=label, labelPosition=labelPosition, max=max, min=min, showCurrentValue=showCurrentValue, size=size, step=step, style=style, theme=theme, value=value, vertical=vertical)\n    if (length(props) > 0) {\n        props <- props[!vapply(props, is.null, logical(1))]\n    }\n    component <- list(\n        props = props,\n        type = 'GraduatedBar',\n        namespace = 'dash_daq',\n        propNames = c('id', 'className', 'color', 'label', 'labelPosition', 'max', 'min', 'showCurrentValue', 'size', 'step', 'style', 'theme', 'value', 'vertical'),\n        package = 'dashDaq'\n        )\n\n    structure(component, class = c('dash_component', 'list'))\n}\n"
  },
  {
    "path": "R/daqIndicator.R",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\ndaqIndicator <- function(id=NULL, className=NULL, color=NULL, height=NULL, label=NULL, labelPosition=NULL, size=NULL, style=NULL, theme=NULL, value=NULL, width=NULL) {\n    \n    props <- list(id=id, className=className, color=color, height=height, label=label, labelPosition=labelPosition, size=size, style=style, theme=theme, value=value, width=width)\n    if (length(props) > 0) {\n        props <- props[!vapply(props, is.null, logical(1))]\n    }\n    component <- list(\n        props = props,\n        type = 'Indicator',\n        namespace = 'dash_daq',\n        propNames = c('id', 'className', 'color', 'height', 'label', 'labelPosition', 'size', 'style', 'theme', 'value', 'width'),\n        package = 'dashDaq'\n        )\n\n    structure(component, class = c('dash_component', 'list'))\n}\n"
  },
  {
    "path": "R/daqJoystick.R",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\ndaqJoystick <- function(id=NULL, angle=NULL, className=NULL, force=NULL, label=NULL, labelPosition=NULL, size=NULL, style=NULL, theme=NULL) {\n    \n    props <- list(id=id, angle=angle, className=className, force=force, label=label, labelPosition=labelPosition, size=size, style=style, theme=theme)\n    if (length(props) > 0) {\n        props <- props[!vapply(props, is.null, logical(1))]\n    }\n    component <- list(\n        props = props,\n        type = 'Joystick',\n        namespace = 'dash_daq',\n        propNames = c('id', 'angle', 'className', 'force', 'label', 'labelPosition', 'size', 'style', 'theme'),\n        package = 'dashDaq'\n        )\n\n    structure(component, class = c('dash_component', 'list'))\n}\n"
  },
  {
    "path": "R/daqKnob.R",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\ndaqKnob <- function(id=NULL, className=NULL, color=NULL, digits=NULL, disabled=NULL, label=NULL, labelPosition=NULL, max=NULL, min=NULL, persisted_props=NULL, persistence=NULL, persistence_type=NULL, scale=NULL, showCurrentValue=NULL, size=NULL, style=NULL, textColor=NULL, theme=NULL, value=NULL) {\n    \n    props <- list(id=id, className=className, color=color, digits=digits, disabled=disabled, label=label, labelPosition=labelPosition, max=max, min=min, persisted_props=persisted_props, persistence=persistence, persistence_type=persistence_type, scale=scale, showCurrentValue=showCurrentValue, size=size, style=style, textColor=textColor, theme=theme, value=value)\n    if (length(props) > 0) {\n        props <- props[!vapply(props, is.null, logical(1))]\n    }\n    component <- list(\n        props = props,\n        type = 'Knob',\n        namespace = 'dash_daq',\n        propNames = c('id', 'className', 'color', 'digits', 'disabled', 'label', 'labelPosition', 'max', 'min', 'persisted_props', 'persistence', 'persistence_type', 'scale', 'showCurrentValue', 'size', 'style', 'textColor', 'theme', 'value'),\n        package = 'dashDaq'\n        )\n\n    structure(component, class = c('dash_component', 'list'))\n}\n"
  },
  {
    "path": "R/daqLEDDisplay.R",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\ndaqLEDDisplay <- function(id=NULL, backgroundColor=NULL, className=NULL, color=NULL, label=NULL, labelPosition=NULL, size=NULL, style=NULL, theme=NULL, value=NULL) {\n    \n    props <- list(id=id, backgroundColor=backgroundColor, className=className, color=color, label=label, labelPosition=labelPosition, size=size, style=style, theme=theme, value=value)\n    if (length(props) > 0) {\n        props <- props[!vapply(props, is.null, logical(1))]\n    }\n    component <- list(\n        props = props,\n        type = 'LEDDisplay',\n        namespace = 'dash_daq',\n        propNames = c('id', 'backgroundColor', 'className', 'color', 'label', 'labelPosition', 'size', 'style', 'theme', 'value'),\n        package = 'dashDaq'\n        )\n\n    structure(component, class = c('dash_component', 'list'))\n}\n"
  },
  {
    "path": "R/daqNumericInput.R",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\ndaqNumericInput <- function(id=NULL, className=NULL, disabled=NULL, label=NULL, labelPosition=NULL, max=NULL, min=NULL, persisted_props=NULL, persistence=NULL, persistence_type=NULL, size=NULL, style=NULL, theme=NULL, value=NULL) {\n    \n    props <- list(id=id, className=className, disabled=disabled, label=label, labelPosition=labelPosition, max=max, min=min, persisted_props=persisted_props, persistence=persistence, persistence_type=persistence_type, size=size, style=style, theme=theme, value=value)\n    if (length(props) > 0) {\n        props <- props[!vapply(props, is.null, logical(1))]\n    }\n    component <- list(\n        props = props,\n        type = 'NumericInput',\n        namespace = 'dash_daq',\n        propNames = c('id', 'className', 'disabled', 'label', 'labelPosition', 'max', 'min', 'persisted_props', 'persistence', 'persistence_type', 'size', 'style', 'theme', 'value'),\n        package = 'dashDaq'\n        )\n\n    structure(component, class = c('dash_component', 'list'))\n}\n"
  },
  {
    "path": "R/daqPowerButton.R",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\ndaqPowerButton <- function(id=NULL, className=NULL, color=NULL, disabled=NULL, label=NULL, labelPosition=NULL, offButtonStyle=NULL, on=NULL, onButtonStyle=NULL, persisted_props=NULL, persistence=NULL, persistence_type=NULL, size=NULL, style=NULL, theme=NULL) {\n    \n    props <- list(id=id, className=className, color=color, disabled=disabled, label=label, labelPosition=labelPosition, offButtonStyle=offButtonStyle, on=on, onButtonStyle=onButtonStyle, persisted_props=persisted_props, persistence=persistence, persistence_type=persistence_type, size=size, style=style, theme=theme)\n    if (length(props) > 0) {\n        props <- props[!vapply(props, is.null, logical(1))]\n    }\n    component <- list(\n        props = props,\n        type = 'PowerButton',\n        namespace = 'dash_daq',\n        propNames = c('id', 'className', 'color', 'disabled', 'label', 'labelPosition', 'offButtonStyle', 'on', 'onButtonStyle', 'persisted_props', 'persistence', 'persistence_type', 'size', 'style', 'theme'),\n        package = 'dashDaq'\n        )\n\n    structure(component, class = c('dash_component', 'list'))\n}\n"
  },
  {
    "path": "R/daqPrecisionInput.R",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\ndaqPrecisionInput <- function(id=NULL, className=NULL, disabled=NULL, label=NULL, labelPosition=NULL, max=NULL, min=NULL, persisted_props=NULL, persistence=NULL, persistence_type=NULL, precision=NULL, size=NULL, style=NULL, theme=NULL, value=NULL) {\n    \n    props <- list(id=id, className=className, disabled=disabled, label=label, labelPosition=labelPosition, max=max, min=min, persisted_props=persisted_props, persistence=persistence, persistence_type=persistence_type, precision=precision, size=size, style=style, theme=theme, value=value)\n    if (length(props) > 0) {\n        props <- props[!vapply(props, is.null, logical(1))]\n    }\n    component <- list(\n        props = props,\n        type = 'PrecisionInput',\n        namespace = 'dash_daq',\n        propNames = c('id', 'className', 'disabled', 'label', 'labelPosition', 'max', 'min', 'persisted_props', 'persistence', 'persistence_type', 'precision', 'size', 'style', 'theme', 'value'),\n        package = 'dashDaq'\n        )\n\n    structure(component, class = c('dash_component', 'list'))\n}\n"
  },
  {
    "path": "R/daqSlider.R",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\ndaqSlider <- function(id=NULL, className=NULL, color=NULL, disabled=NULL, dots=NULL, fullSize=NULL, handleLabel=NULL, included=NULL, labelPosition=NULL, marks=NULL, max=NULL, min=NULL, persisted_props=NULL, persistence=NULL, persistence_type=NULL, size=NULL, step=NULL, style=NULL, targets=NULL, theme=NULL, updatemode=NULL, value=NULL, vertical=NULL) {\n    \n    props <- list(id=id, className=className, color=color, disabled=disabled, dots=dots, fullSize=fullSize, handleLabel=handleLabel, included=included, labelPosition=labelPosition, marks=marks, max=max, min=min, persisted_props=persisted_props, persistence=persistence, persistence_type=persistence_type, size=size, step=step, style=style, targets=targets, theme=theme, updatemode=updatemode, value=value, vertical=vertical)\n    if (length(props) > 0) {\n        props <- props[!vapply(props, is.null, logical(1))]\n    }\n    component <- list(\n        props = props,\n        type = 'Slider',\n        namespace = 'dash_daq',\n        propNames = c('id', 'className', 'color', 'disabled', 'dots', 'fullSize', 'handleLabel', 'included', 'labelPosition', 'marks', 'max', 'min', 'persisted_props', 'persistence', 'persistence_type', 'size', 'step', 'style', 'targets', 'theme', 'updatemode', 'value', 'vertical'),\n        package = 'dashDaq'\n        )\n\n    structure(component, class = c('dash_component', 'list'))\n}\n"
  },
  {
    "path": "R/daqStopButton.R",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\ndaqStopButton <- function(children=NULL, id=NULL, buttonText=NULL, className=NULL, disabled=NULL, label=NULL, labelPosition=NULL, n_clicks=NULL, size=NULL, style=NULL, theme=NULL) {\n    \n    props <- list(children=children, id=id, buttonText=buttonText, className=className, disabled=disabled, label=label, labelPosition=labelPosition, n_clicks=n_clicks, size=size, style=style, theme=theme)\n    if (length(props) > 0) {\n        props <- props[!vapply(props, is.null, logical(1))]\n    }\n    component <- list(\n        props = props,\n        type = 'StopButton',\n        namespace = 'dash_daq',\n        propNames = c('children', 'id', 'buttonText', 'className', 'disabled', 'label', 'labelPosition', 'n_clicks', 'size', 'style', 'theme'),\n        package = 'dashDaq'\n        )\n\n    structure(component, class = c('dash_component', 'list'))\n}\n"
  },
  {
    "path": "R/daqTank.R",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\ndaqTank <- function(id=NULL, base=NULL, className=NULL, color=NULL, currentValueStyle=NULL, exceedMessage=NULL, height=NULL, label=NULL, labelPosition=NULL, lagingMessage=NULL, logarithmic=NULL, max=NULL, min=NULL, scale=NULL, showCurrentValue=NULL, style=NULL, textColor=NULL, theme=NULL, units=NULL, value=NULL, width=NULL) {\n    \n    props <- list(id=id, base=base, className=className, color=color, currentValueStyle=currentValueStyle, exceedMessage=exceedMessage, height=height, label=label, labelPosition=labelPosition, lagingMessage=lagingMessage, logarithmic=logarithmic, max=max, min=min, scale=scale, showCurrentValue=showCurrentValue, style=style, textColor=textColor, theme=theme, units=units, value=value, width=width)\n    if (length(props) > 0) {\n        props <- props[!vapply(props, is.null, logical(1))]\n    }\n    component <- list(\n        props = props,\n        type = 'Tank',\n        namespace = 'dash_daq',\n        propNames = c('id', 'base', 'className', 'color', 'currentValueStyle', 'exceedMessage', 'height', 'label', 'labelPosition', 'lagingMessage', 'logarithmic', 'max', 'min', 'scale', 'showCurrentValue', 'style', 'textColor', 'theme', 'units', 'value', 'width'),\n        package = 'dashDaq'\n        )\n\n    structure(component, class = c('dash_component', 'list'))\n}\n"
  },
  {
    "path": "R/daqThermometer.R",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\ndaqThermometer <- function(id=NULL, base=NULL, className=NULL, color=NULL, height=NULL, label=NULL, labelPosition=NULL, logarithmic=NULL, max=NULL, min=NULL, scale=NULL, showCurrentValue=NULL, style=NULL, theme=NULL, units=NULL, value=NULL, width=NULL) {\n    \n    props <- list(id=id, base=base, className=className, color=color, height=height, label=label, labelPosition=labelPosition, logarithmic=logarithmic, max=max, min=min, scale=scale, showCurrentValue=showCurrentValue, style=style, theme=theme, units=units, value=value, width=width)\n    if (length(props) > 0) {\n        props <- props[!vapply(props, is.null, logical(1))]\n    }\n    component <- list(\n        props = props,\n        type = 'Thermometer',\n        namespace = 'dash_daq',\n        propNames = c('id', 'base', 'className', 'color', 'height', 'label', 'labelPosition', 'logarithmic', 'max', 'min', 'scale', 'showCurrentValue', 'style', 'theme', 'units', 'value', 'width'),\n        package = 'dashDaq'\n        )\n\n    structure(component, class = c('dash_component', 'list'))\n}\n"
  },
  {
    "path": "R/daqToggleSwitch.R",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\ndaqToggleSwitch <- function(id=NULL, className=NULL, color=NULL, disabled=NULL, label=NULL, labelPosition=NULL, persisted_props=NULL, persistence=NULL, persistence_type=NULL, size=NULL, style=NULL, theme=NULL, value=NULL, vertical=NULL) {\n    \n    props <- list(id=id, className=className, color=color, disabled=disabled, label=label, labelPosition=labelPosition, persisted_props=persisted_props, persistence=persistence, persistence_type=persistence_type, size=size, style=style, theme=theme, value=value, vertical=vertical)\n    if (length(props) > 0) {\n        props <- props[!vapply(props, is.null, logical(1))]\n    }\n    component <- list(\n        props = props,\n        type = 'ToggleSwitch',\n        namespace = 'dash_daq',\n        propNames = c('id', 'className', 'color', 'disabled', 'label', 'labelPosition', 'persisted_props', 'persistence', 'persistence_type', 'size', 'style', 'theme', 'value', 'vertical'),\n        package = 'dashDaq'\n        )\n\n    structure(component, class = c('dash_component', 'list'))\n}\n"
  },
  {
    "path": "R/internal.R",
    "content": ".dashDaq_js_metadata <- function() {\ndeps_metadata <- list(`dash_daq` = structure(list(name = \"dash_daq\",\nversion = \"0.5.1\", src = list(href = NULL,\nfile = \"deps\"), meta = NULL,\nscript = 'async-colorpicker.js',\nstylesheet = NULL, head = NULL, attachment = NULL, package = \"dashDaq\",\nall_files = FALSE, async = TRUE), class = \"html_dependency\"),\n`dash_daq` = structure(list(name = \"dash_daq\",\nversion = \"0.5.1\", src = list(href = NULL,\nfile = \"deps\"), meta = NULL,\nscript = 'async-slider.js',\nstylesheet = NULL, head = NULL, attachment = NULL, package = \"dashDaq\",\nall_files = FALSE, async = TRUE), class = \"html_dependency\"),\n`dash_daq` = structure(list(name = \"dash_daq\",\nversion = \"0.5.1\", src = list(href = NULL,\nfile = \"deps\"), meta = NULL,\nscript = 'async-colorpicker.js.map',\nstylesheet = NULL, head = NULL, attachment = NULL, package = \"dashDaq\",\nall_files = FALSE, dynamic = TRUE), class = \"html_dependency\"),\n`dash_daq` = structure(list(name = \"dash_daq\",\nversion = \"0.5.1\", src = list(href = NULL,\nfile = \"deps\"), meta = NULL,\nscript = 'async-slider.js.map',\nstylesheet = NULL, head = NULL, attachment = NULL, package = \"dashDaq\",\nall_files = FALSE, dynamic = TRUE), class = \"html_dependency\"),\n`dash_daq` = structure(list(name = \"dash_daq\",\nversion = \"0.5.1\", src = list(href = NULL,\nfile = \"deps\"), meta = NULL,\nscript = 'dash_daq.min.js',\nstylesheet = NULL, head = NULL, attachment = NULL, package = \"dashDaq\",\nall_files = FALSE), class = \"html_dependency\"),\n`dash_daq` = structure(list(name = \"dash_daq\",\nversion = \"0.5.1\", src = list(href = NULL,\nfile = \"deps\"), meta = NULL,\nscript = 'dash_daq.min.js.map',\nstylesheet = NULL, head = NULL, attachment = NULL, package = \"dashDaq\",\nall_files = FALSE, dynamic = TRUE), class = \"html_dependency\"))\nreturn(deps_metadata)\n}\n"
  },
  {
    "path": "README.md",
    "content": "# dash_daq\n\nDAQ components for Dash.\n\nDocs: https://dash.plotly.com/dash-daq\n\n<div align=\"center\">\n  <a href=\"https://dash.plotly.com/project-maintenance\">\n    <img src=\"https://dash.plotly.com/assets/images/maintained-by-plotly.png\" width=\"400px\" alt=\"Maintained by Plotly\">\n  </a>\n</div>\n\n\n## Installation\n\n`pip install dash_daq`\n\n(Or for Python 3, `pip3 install dash_daq`)\n\n## Getting started for contributors\n\nThe source code and all the subsequent changes should be done inside `src` folder/directory.\n\nCreate a python virtual environment and activate it. inside that virtual enviornment\n\n```sh\npip install dash\npip install pyyaml\n```\n\nThis will install necessary build tools for building and testing library.\n\n```sh\n# Clone this repository\ngit clone https://github.com/plotly/dash-daq.git\n\n# Install dependencies\n$ npm install --also=dev\n\n# Watch source for changes and build to `lib/`\n$ npm start\n```\n\n## Documentation\n\nComponent API documentation can be found at https://dash.plotly.com/dash-daq\n\n## Development\n\n### Demo server\n\nYou can start up a demo development server to see a demo of the rendered\ncomponents:\n\n```sh\n$ npm run dash-demo\n```\n\nYou have to maintain the list of components in `demo/Demo.react.js`.\n\n### Code quality and tests\n\n#### To run lint and unit tests:\n\n```sh\n$ npm run test\n```\n\n### Testing your components in Dash\n\n1. Build development bundle to `lib/`\n\n```sh\n$ npm run start\n```\n\n2.  Install module locally (after every change) in virtual environment\n\n```sh\n# Generate metadata, and install the daq pacakage locally for testing\n\n$ npm run install-local\n```\n\n3.  Run the Dash demo\n\n```sh\n$ npm run dash-demo\n```\n\n## Installing python package locally\n\nBefore publishing to PyPi, you can test installing the module locally:\n\n```sh\n# Install in `site-packages` on your machine\n$ yarn run install-local\n```\n\n## Uninstalling python package locally\n\n```sh\n$ yarn run uninstall-local\n```\n\n## Producing a new release as a tarball\n\n```sh\nvim dash_daq/version.py # and increase it to X.X.X\nrm -rf node_modules dist build lib\nyarn install\nyarn build-tarball\nls dist/dash_daq-X.X.X.tar.gz # this is your tarball\n```\n\n## Demo applications\n\n- Dash Daq HP Multimeter - [http://dash-gallery.plotly.host/dash-daq-hp-multimeter](http://dash-gallery.plotly.host/dash-daq-hp-multimeter)\n- Dash Daq IV Tracer - [http://dash-gallery.plotly.host/dash-daq-iv-tracer](http://dash-gallery.plotly.host/dash-daq-iv-tracer)\n- Dash Daq Pressure Gauge KJL - [http://dash-gallery.plotly.host/dash-daq-pressure-gauge-kjl](http://dash-gallery.plotly.host/dash-daq-pressure-gauge-kjl)\n- Dash Daq Pressure Gauge Pfeiffer - [https://dash-gallery.plotly.host/dash-daq-pressure-gauge-pv](https://dash-gallery.plotly.host/dash-daq-pressure-gauge-pv)\n- Dash Daq Sparki - [http://dash-gallery.plotly.host/dash-daq-sparki](http://dash-gallery.plotly.host/dash-daq-sparki)\n- Dash Daq Stepper Motor - [http://dash-gallery.plotly.host/dash-daq-stepper-motor](http://dash-gallery.plotly.host/dash-daq-stepper-motor)\n- Dash Tektronix 350 - [http://dash-gallery.plotly.host/dash-daq-tektronix350](http://dash-gallery.plotly.host/dash-daq-tektronix350)\n- Dash Ocean Optics - [http://dash-gallery.plotly.host/dash-ocean-optics](http://dash-gallery.plotly.host/dash-ocean-optics)\n"
  },
  {
    "path": "babel.config.js",
    "content": "module.exports = {\n    presets: [\n        '@babel/preset-env',\n        '@babel/preset-react'\n    ],\n    plugins: [\n        '@babel/plugin-syntax-dynamic-import'\n    ]\n}"
  },
  {
    "path": "bin/generateDocs",
    "content": "#!/usr/bin/env node\n\nconst path = require('path');\nconst fs = require('fs-extra');\nconst chalk = require('chalk');\nconst reactDocgen = require('react-docgen');\nconst ReactDocGenMarkdownRenderer = require('react-docgen-markdown-renderer');\n\nconst componentDir = path.join(__dirname, '..', 'src', 'components');\nconst documentationDir = path.join(__dirname, '..', 'docs');\n\nconst componentDocTemplate = `\n## {{componentName}}\n\n{{#if srcLink }}Component file: [\\`{{srcLink}}\\`]({{srcLink}}){{/if}}\n\n{{#if description}}{{{description}}}{{/if}}\n\nprop | type | default | description\n---- | :----: | :-------: | -----------\n{{#each props}}\n**{{@key}}** | \\`{{> (typePartial this) this}}\\` | {{#if this.defaultValue}}\\`{{{this.defaultValue}}}\\`{{/if}} | {{#if this.description}}{{{this.description}}}{{/if}}\n{{/each}}\n`;\n\nconst renderer = new ReactDocGenMarkdownRenderer({ template: componentDocTemplate });\n\ngenDocumention()\n  .then(() => console.log(chalk.green('Documentation successfully generated.')))\n  .catch(console.error);\n\n\n// helper\nasync function genDocumention () {\n  const componentFilenames = fs.readdirSync(componentDir).filter((filename) => filename.includes('.js'));\n\n  await genComponentDocs(componentFilenames);\n  await genIndexDoc(componentFilenames);\n}\n\nasync function genComponentDocs (componentFilenames) {\n\n  const promises = componentFilenames.map((componentFilename) => {\n    const docFilename = getDocFilename(componentFilename);\n    const componentPath = path.join(componentDir, componentFilename);\n    const docPath = path.join(documentationDir, docFilename)\n\n    return documentComponent(componentPath, docPath);\n  });\n\n  return Promise.all(promises);\n}\n\nasync function genIndexDoc (componentFilenames) {\n  const indexDocPath = path.join(documentationDir, 'README.md')\n  let content = '';\n\n  content += '## Component API Documentation\\n\\n';\n\n  componentFilenames.forEach((filename) => {\n    const componentName = getComponentName(filename);\n    const docFilename = getDocFilename(filename);\n\n    content += `\\n - [${componentName}](/docs/${docFilename})\\n`;\n  })\n\n  return fs.writeFile(indexDocPath, content);\n}\n\nasync function documentComponent (componentPath, docPath) {\n  const componentName = getComponentName(componentPath);\n  const fileContent = await fs.readFile(componentPath);\n  \n  const doc = reactDocgen.parse(fileContent);\n  const markdown = renderer.render(componentPath, doc, [])\n        .split('src/components').join('/src/components')\n\n  return fs.writeFile(docPath, markdown);\n}\n\n\nfunction getDocFilename (componentPath) {\n  return `${path.basename(componentPath).split('.').shift()}.md`;\n}\n\nfunction getComponentName (componentPath) {\n  return path.basename(componentPath).split('.').shift();\n}\n"
  },
  {
    "path": "dash-info.yaml",
    "content": "pkg_help_description: >-\n    A robust set of controls that make it simpler to integrate data acquisition and controls into your Dash applications.\npkg_help_title: >-\n    Interactive Data Acquisition and Control Components for Dash \n"
  },
  {
    "path": "dash_daq/BooleanSwitch.py",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\nfrom dash.development.base_component import Component, _explicitize_args\n\n\nclass BooleanSwitch(Component):\n    \"\"\"A BooleanSwitch component.\nA switch component that toggles\nbetween on and off.\n\nKeyword arguments:\n\n- id (string; optional):\n    The ID used to identify this component in Dash callbacks.\n\n- className (string; optional):\n    Class to apply to the root component element.\n\n- color (string; optional):\n    Color to highlight active switch background.\n\n- disabled (boolean; optional):\n    If True, switch cannot be clicked.\n\n- label (dict; optional):\n    Description to be displayed alongside the control. To control\n    styling, pass an object with label and style properties.\n\n    `label` is a string | dict with keys:\n\n    - label (string; optional)\n\n    - style (dict; optional)\n\n- labelPosition (a value equal to: 'top', 'bottom'; default 'top'):\n    Where the component label is positioned.\n\n- on (boolean; default False):\n    Whether or not the switch is on.\n\n- persisted_props (list of a value equal to: 'on's; default ['on']):\n    Properties whose user interactions will persist after refreshing\n    the component or the page. Since only `on` is allowed this prop\n    can normally be ignored.\n\n- persistence (boolean | string | number; optional):\n    Used to allow user interactions in this component to be persisted\n    when the component - or the page - is refreshed. If `persisted` is\n    truthy and hasn't changed from its previous value, a `value` that\n    the user has changed while using the app will keep that change, as\n    long as the new `value` also matches what was given originally.\n    Used in conjunction with `persistence_type`.\n\n- persistence_type (a value equal to: 'local', 'session', 'memory'; default 'local'):\n    Where persisted user changes will be stored: memory: only kept in\n    memory, reset on page refresh. local: window.localStorage, data is\n    kept after the browser quit. session: window.sessionStorage, data\n    is cleared once the browser quit.\n\n- size (number; optional):\n    size of the switch.\n\n- style (dict; optional):\n    Style to apply to the root object.\n\n- theme (dict; default light):\n    Theme configuration to be set by a ThemeProvider.\n\n- vertical (boolean; default False):\n    If True, switch will be vertical instead of horizontal.\"\"\"\n    @_explicitize_args\n    def __init__(self, id=Component.UNDEFINED, on=Component.UNDEFINED, color=Component.UNDEFINED, vertical=Component.UNDEFINED, disabled=Component.UNDEFINED, theme=Component.UNDEFINED, label=Component.UNDEFINED, labelPosition=Component.UNDEFINED, className=Component.UNDEFINED, style=Component.UNDEFINED, persistence=Component.UNDEFINED, persisted_props=Component.UNDEFINED, persistence_type=Component.UNDEFINED, size=Component.UNDEFINED, **kwargs):\n        self._prop_names = ['id', 'className', 'color', 'disabled', 'label', 'labelPosition', 'on', 'persisted_props', 'persistence', 'persistence_type', 'size', 'style', 'theme', 'vertical']\n        self._type = 'BooleanSwitch'\n        self._namespace = 'dash_daq'\n        self._valid_wildcard_attributes =            []\n        self.available_properties = ['id', 'className', 'color', 'disabled', 'label', 'labelPosition', 'on', 'persisted_props', 'persistence', 'persistence_type', 'size', 'style', 'theme', 'vertical']\n        self.available_wildcard_properties =            []\n        _explicit_args = kwargs.pop('_explicit_args')\n        _locals = locals()\n        _locals.update(kwargs)  # For wildcard attrs\n        args = {k: _locals[k] for k in _explicit_args if k != 'children'}\n        for k in []:\n            if k not in args:\n                raise TypeError(\n                    'Required argument `' + k + '` was not specified.')\n        super(BooleanSwitch, self).__init__(**args)\n"
  },
  {
    "path": "dash_daq/ColorPicker.py",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\nfrom dash.development.base_component import Component, _explicitize_args\n\n\nclass ColorPicker(Component):\n    \"\"\"A ColorPicker component.\nA color picker.\n\nKeyword arguments:\n\n- id (string; optional):\n    The ID used to identify the color picker in Dash callbacks.\n\n- className (string; optional):\n    Class to apply to the root component element.\n\n- disabled (boolean; optional):\n    If True, color cannot be picked.\n\n- label (dict; optional):\n    Description to be displayed alongside the control. To control\n    styling, pass an object with label and style properties.\n\n    `label` is a string | dict with keys:\n\n    - label (string; optional)\n\n    - style (dict; optional)\n\n- labelPosition (a value equal to: 'top', 'bottom'; default 'top'):\n    Where the indicator label is positioned.\n\n- persisted_props (list of a value equal to: 'value's; default ['value']):\n    Properties whose user interactions will persist after refreshing\n    the component or the page. Since only `value` is allowed this prop\n    can normally be ignored.\n\n- persistence (boolean | string | number; optional):\n    Used to allow user interactions in this component to be persisted\n    when the component - or the page - is refreshed. If `persisted` is\n    truthy and hasn't changed from its previous value, a `value` that\n    the user has changed while using the app will keep that change, as\n    long as the new `value` also matches what was given originally.\n    Used in conjunction with `persistence_type`.\n\n- persistence_type (a value equal to: 'local', 'session', 'memory'; default 'local'):\n    Where persisted user changes will be stored: memory: only kept in\n    memory, reset on page refresh. local: window.localStorage, data is\n    kept after the browser quit. session: window.sessionStorage, data\n    is cleared once the browser quit.\n\n- size (number; default 225):\n    Size (width) of the component in pixels.\n\n- style (dict; optional):\n    Style to apply to the root component element.\n\n- theme (dict; default light):\n    Theme configuration to be set by a ThemeProvider.\n\n- value (dict; optional):\n    Color value of the picker.\n\n    `value` is a dict with keys:\n\n    - hex (string; optional):\n        Hex string.\n\n    - rbg (dict; optional):\n        RGB/RGBA object.\n\n        `rbg` is a dict with keys:\n\n        - a (number; optional)\n\n        - b (number; optional)\n\n        - g (number; optional)\n\n        - r (number; optional)\"\"\"\n    @_explicitize_args\n    def __init__(self, id=Component.UNDEFINED, value=Component.UNDEFINED, disabled=Component.UNDEFINED, size=Component.UNDEFINED, theme=Component.UNDEFINED, label=Component.UNDEFINED, labelPosition=Component.UNDEFINED, className=Component.UNDEFINED, style=Component.UNDEFINED, persistence=Component.UNDEFINED, persisted_props=Component.UNDEFINED, persistence_type=Component.UNDEFINED, **kwargs):\n        self._prop_names = ['id', 'className', 'disabled', 'label', 'labelPosition', 'persisted_props', 'persistence', 'persistence_type', 'size', 'style', 'theme', 'value']\n        self._type = 'ColorPicker'\n        self._namespace = 'dash_daq'\n        self._valid_wildcard_attributes =            []\n        self.available_properties = ['id', 'className', 'disabled', 'label', 'labelPosition', 'persisted_props', 'persistence', 'persistence_type', 'size', 'style', 'theme', 'value']\n        self.available_wildcard_properties =            []\n        _explicit_args = kwargs.pop('_explicit_args')\n        _locals = locals()\n        _locals.update(kwargs)  # For wildcard attrs\n        args = {k: _locals[k] for k in _explicit_args if k != 'children'}\n        for k in []:\n            if k not in args:\n                raise TypeError(\n                    'Required argument `' + k + '` was not specified.')\n        super(ColorPicker, self).__init__(**args)\n"
  },
  {
    "path": "dash_daq/DarkThemeProvider.py",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\nfrom dash.development.base_component import Component, _explicitize_args\n\n\nclass DarkThemeProvider(Component):\n    \"\"\"A DarkThemeProvider component.\nDarkThemeProvider is a component that is placed at the root of\nthe component tree to make all components match the dark theme\n\nKeyword arguments:\n\n- children (list of a list of or a singular dash component, string or numbers | a list of or a singular dash component, string or number; optional):\n    The children of this component.\n\n- theme (dict; optional):\n    Theme object to override with a custom theme.\n\n    `theme` is a dict with keys:\n\n    - dark (boolean; optional):\n        True for Dark mode, False for Light.\n\n    - detail (string; optional):\n        Color used for UI details, like borders.\n\n    - primary (string; optional):\n        Highlight color.\n\n    - secondary (string; optional):\n        Supporting color.\"\"\"\n    @_explicitize_args\n    def __init__(self, children=None, theme=Component.UNDEFINED, **kwargs):\n        self._prop_names = ['children', 'theme']\n        self._type = 'DarkThemeProvider'\n        self._namespace = 'dash_daq'\n        self._valid_wildcard_attributes =            []\n        self.available_properties = ['children', 'theme']\n        self.available_wildcard_properties =            []\n        _explicit_args = kwargs.pop('_explicit_args')\n        _locals = locals()\n        _locals.update(kwargs)  # For wildcard attrs\n        args = {k: _locals[k] for k in _explicit_args if k != 'children'}\n        for k in []:\n            if k not in args:\n                raise TypeError(\n                    'Required argument `' + k + '` was not specified.')\n        super(DarkThemeProvider, self).__init__(children=children, **args)\n"
  },
  {
    "path": "dash_daq/Gauge.py",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\nfrom dash.development.base_component import Component, _explicitize_args\n\n\nclass Gauge(Component):\n    \"\"\"A Gauge component.\nA Gauge component that points to\na value between some range.\n\nKeyword arguments:\n\n- id (string; optional):\n    The ID used to identify this compnent in Dash callbacks.\n\n- base (number; default 10):\n    Base to be used in logarithmic scale.\n\n- className (string; optional):\n    Class to apply to the root component element.\n\n- color (dict; optional):\n    Color configuration for the gauge's track.\n\n    `color` is a string | dict with keys:\n\n    - default (string; optional):\n        Color used for current value text and other minor accents.\n\n    - gradient (boolean; optional):\n        Display ranges as a gradient between given colors.\n\n    - ranges (dict; optional):\n        Define multiple color ranges on the gauge's track. The key\n        determines the color of the range and the value is the\n        start,end of the range itself. Ranges must be contiguous along\n        the entirety of the gauge's range of values.\n\n        `ranges` is a dict with keys:\n\n        - color (list of number | list of numberss; optional)\n\n- digits (number; default 1):\n    Number of digits for current value.\n\n- exceedMessage (string; optional):\n    Warning message when value exceed max.\n\n- label (dict; optional):\n    Description to be displayed alongside the control. To control\n    styling, pass an object with label and style properties.\n\n    `label` is a string | dict with keys:\n\n    - label (string; optional)\n\n    - style (dict; optional)\n\n- labelPosition (a value equal to: 'top', 'bottom'; default 'top'):\n    Where the component label is positioned.\n\n- lagingMessage (string; optional):\n    Warning message when value is laging from min.\n\n- logarithmic (boolean; optional):\n    If set to True, a logarithmic scale will be used.\n\n- max (number; default 10):\n    The maximum value of the gauge. If logarithmic, represents the\n    maximum exponent.\n\n- min (number; default 0):\n    The minimum value of the gauge. If logarithmic, represents the\n    minimum exponent.\n\n- scale (dict; optional):\n    Configuration for the component scale.\n\n    `scale` is a dict with keys:\n\n    - custom (dict; optional):\n        Custom scale marks. The key determines the position and the\n        value determines what will show. If you want to set the style\n        of a specific mark point, the value should be an object which\n        contains style and label properties.\n\n        `custom` is a number\n\n      Or dict with keys:\n\n        - label (string; optional)\n\n        - style (string; optional)\n\n    - interval (number; optional):\n        Interval by which the scale goes up. Attempts to dynamically\n        divide min-max range by default.\n\n    - labelInterval (number; optional):\n        Interval by which labels are added to scale marks. Defaults to\n        2 (every other mark has a label).\n\n    - start (number; optional):\n        Value to start the scale from. Defaults to min.\n\n- showCurrentValue (boolean; optional):\n    If True, the current value of the gauge will be displayed.\n\n- size (number; default 208):\n    The size (diameter) of the gauge in pixels.\n\n- style (dict; optional):\n    Style to apply to the root component element.\n\n- textColor (string; optional):\n    text color for theme.\n\n- theme (dict; default light):\n    Theme configuration to be set by a ThemeProvider.\n\n- units (string; optional):\n    Label for the current value.\n\n- value (number; optional):\n    The value of gauge. If logarithmic, the displayed value will be\n    the logarithm of the inputted value.\"\"\"\n    @_explicitize_args\n    def __init__(self, id=Component.UNDEFINED, value=Component.UNDEFINED, size=Component.UNDEFINED, min=Component.UNDEFINED, max=Component.UNDEFINED, base=Component.UNDEFINED, logarithmic=Component.UNDEFINED, showCurrentValue=Component.UNDEFINED, digits=Component.UNDEFINED, units=Component.UNDEFINED, theme=Component.UNDEFINED, label=Component.UNDEFINED, labelPosition=Component.UNDEFINED, scale=Component.UNDEFINED, color=Component.UNDEFINED, className=Component.UNDEFINED, style=Component.UNDEFINED, exceedMessage=Component.UNDEFINED, lagingMessage=Component.UNDEFINED, textColor=Component.UNDEFINED, **kwargs):\n        self._prop_names = ['id', 'base', 'className', 'color', 'digits', 'exceedMessage', 'label', 'labelPosition', 'lagingMessage', 'logarithmic', 'max', 'min', 'scale', 'showCurrentValue', 'size', 'style', 'textColor', 'theme', 'units', 'value']\n        self._type = 'Gauge'\n        self._namespace = 'dash_daq'\n        self._valid_wildcard_attributes =            []\n        self.available_properties = ['id', 'base', 'className', 'color', 'digits', 'exceedMessage', 'label', 'labelPosition', 'lagingMessage', 'logarithmic', 'max', 'min', 'scale', 'showCurrentValue', 'size', 'style', 'textColor', 'theme', 'units', 'value']\n        self.available_wildcard_properties =            []\n        _explicit_args = kwargs.pop('_explicit_args')\n        _locals = locals()\n        _locals.update(kwargs)  # For wildcard attrs\n        args = {k: _locals[k] for k in _explicit_args if k != 'children'}\n        for k in []:\n            if k not in args:\n                raise TypeError(\n                    'Required argument `' + k + '` was not specified.')\n        super(Gauge, self).__init__(**args)\n"
  },
  {
    "path": "dash_daq/GraduatedBar.py",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\nfrom dash.development.base_component import Component, _explicitize_args\n\n\nclass GraduatedBar(Component):\n    \"\"\"A GraduatedBar component.\nA graduated bar component that displays\na value within some range as a\npercentage.\n\nKeyword arguments:\n\n- id (string; optional):\n    The ID used to identify this compnent in Dash callbacks.\n\n- className (string; optional):\n    Class to apply to the root component element.\n\n- color (dict; default light.primary):\n    Color configuration for the graduated bar's progress blocks.\n\n    `color` is a string | dict with keys:\n\n    - default (string; optional):\n        Fallback color to use when color.ranges has gaps.\n\n    - gradient (boolean; optional):\n        Display ranges as a gradient between given colors. Requires\n        color.ranges to be contiguous along the entirety of the\n        graduated bar's range of values.\n\n    - ranges (dict; optional):\n        Define multiple color ranges on the graduated bar's track. The\n        key determines the color of the range and the value is the\n        start,end of the range itself.\n\n        `ranges` is a dict with keys:\n\n        - color (list of numbers; optional)\n\n- label (dict; optional):\n    Description to be displayed alongside the control. To control\n    styling, pass an object with label and style properties.\n\n    `label` is a string | dict with keys:\n\n    - label (string; optional)\n\n    - style (dict; optional)\n\n- labelPosition (a value equal to: 'top', 'bottom'; default 'top'):\n    Where the component label is positioned.\n\n- max (number; default 10):\n    The maximum value of the graduated bar.\n\n- min (number; default 0):\n    The minimum value of the graduated bar.\n\n- showCurrentValue (boolean; optional):\n    If True, the current percentage  of the bar will be displayed.\n\n- size (number; default 250):\n    The size (length) of the graduated bar in pixels.\n\n- step (number; default 0.5):\n    Value by which progress blocks appear.\n\n- style (dict; optional):\n    Style to apply to the root component element.\n\n- theme (dict; default light):\n    Theme configuration to be set by a ThemeProvider.\n\n- value (number; optional):\n    The value of the graduated bar.\n\n- vertical (boolean; optional):\n    If True, will display bar vertically instead of horizontally.\"\"\"\n    @_explicitize_args\n    def __init__(self, id=Component.UNDEFINED, value=Component.UNDEFINED, color=Component.UNDEFINED, size=Component.UNDEFINED, vertical=Component.UNDEFINED, min=Component.UNDEFINED, max=Component.UNDEFINED, step=Component.UNDEFINED, showCurrentValue=Component.UNDEFINED, theme=Component.UNDEFINED, label=Component.UNDEFINED, labelPosition=Component.UNDEFINED, className=Component.UNDEFINED, style=Component.UNDEFINED, **kwargs):\n        self._prop_names = ['id', 'className', 'color', 'label', 'labelPosition', 'max', 'min', 'showCurrentValue', 'size', 'step', 'style', 'theme', 'value', 'vertical']\n        self._type = 'GraduatedBar'\n        self._namespace = 'dash_daq'\n        self._valid_wildcard_attributes =            []\n        self.available_properties = ['id', 'className', 'color', 'label', 'labelPosition', 'max', 'min', 'showCurrentValue', 'size', 'step', 'style', 'theme', 'value', 'vertical']\n        self.available_wildcard_properties =            []\n        _explicit_args = kwargs.pop('_explicit_args')\n        _locals = locals()\n        _locals.update(kwargs)  # For wildcard attrs\n        args = {k: _locals[k] for k in _explicit_args if k != 'children'}\n        for k in []:\n            if k not in args:\n                raise TypeError(\n                    'Required argument `' + k + '` was not specified.')\n        super(GraduatedBar, self).__init__(**args)\n"
  },
  {
    "path": "dash_daq/Indicator.py",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\nfrom dash.development.base_component import Component, _explicitize_args\n\n\nclass Indicator(Component):\n    \"\"\"An Indicator component.\nA boolean indicator LED.\n\nKeyword arguments:\n\n- id (string; optional):\n    The ID used to identify the indicator in Dash callbacks.\n\n- className (string; optional):\n    Class to apply to the root component element.\n\n- color (string; default colors.DARKER_PRIMARY):\n    Color of the indicator.\n\n- height (number; optional):\n    Height of the component. Set both width and height for a\n    rectangular indicator.\n\n- label (dict; optional):\n    Description to be displayed alongside the control. To control\n    styling, pass an object with label and style properties.\n\n    `label` is a string | dict with keys:\n\n    - label (string; optional)\n\n    - style (dict; optional)\n\n- labelPosition (a value equal to: 'top', 'bottom', 'right', 'left'; default 'top'):\n    Where the indicator label is positioned.\n\n- size (number; default 15):\n    Size of the component. Either use this or width and height.\n\n- style (dict; optional):\n    Style to apply to the root component element.\n\n- theme (dict; default light):\n    Theme configuration to be set by a ThemeProvider.\n\n- value (boolean; optional):\n    If True, indicator is illuminated.\n\n- width (number; optional):\n    Width of the component. Set both width and height for a\n    rectangular indicator.\"\"\"\n    @_explicitize_args\n    def __init__(self, id=Component.UNDEFINED, value=Component.UNDEFINED, color=Component.UNDEFINED, size=Component.UNDEFINED, width=Component.UNDEFINED, height=Component.UNDEFINED, theme=Component.UNDEFINED, label=Component.UNDEFINED, labelPosition=Component.UNDEFINED, className=Component.UNDEFINED, style=Component.UNDEFINED, **kwargs):\n        self._prop_names = ['id', 'className', 'color', 'height', 'label', 'labelPosition', 'size', 'style', 'theme', 'value', 'width']\n        self._type = 'Indicator'\n        self._namespace = 'dash_daq'\n        self._valid_wildcard_attributes =            []\n        self.available_properties = ['id', 'className', 'color', 'height', 'label', 'labelPosition', 'size', 'style', 'theme', 'value', 'width']\n        self.available_wildcard_properties =            []\n        _explicit_args = kwargs.pop('_explicit_args')\n        _locals = locals()\n        _locals.update(kwargs)  # For wildcard attrs\n        args = {k: _locals[k] for k in _explicit_args if k != 'children'}\n        for k in []:\n            if k not in args:\n                raise TypeError(\n                    'Required argument `' + k + '` was not specified.')\n        super(Indicator, self).__init__(**args)\n"
  },
  {
    "path": "dash_daq/Joystick.py",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\nfrom dash.development.base_component import Component, _explicitize_args\n\n\nclass Joystick(Component):\n    \"\"\"A Joystick component.\nA joystick.\n\nKeyword arguments:\n\n- id (string; optional):\n    The ID used to identify the Joystick in Dash callbacks.\n\n- angle (number; optional):\n    Joystick angle in degrees, 0 = right, 90 = up, 180 = left, 270 =\n    down.\n\n- className (string; optional):\n    Class to apply to the root component element.\n\n- force (number; optional):\n    Joystick force: distance between cursor and center in big-circle\n    radii.\n\n- label (dict; optional):\n    Description to be displayed alongside the control. To control\n    styling, pass an object with label and style properties.\n\n    `label` is a string | dict with keys:\n\n    - label (string; optional)\n\n    - style (dict; optional)\n\n- labelPosition (a value equal to: 'top', 'bottom'; default 'top'):\n    Where the indicator label is positioned.\n\n- size (number; default 100):\n    Size (width) of the component in pixels.\n\n- style (dict; optional):\n    Style to apply to the root component element.\n\n- theme (dict; default light):\n    Theme configuration to be set by a ThemeProvider.\"\"\"\n    @_explicitize_args\n    def __init__(self, id=Component.UNDEFINED, angle=Component.UNDEFINED, force=Component.UNDEFINED, size=Component.UNDEFINED, theme=Component.UNDEFINED, label=Component.UNDEFINED, labelPosition=Component.UNDEFINED, className=Component.UNDEFINED, style=Component.UNDEFINED, **kwargs):\n        self._prop_names = ['id', 'angle', 'className', 'force', 'label', 'labelPosition', 'size', 'style', 'theme']\n        self._type = 'Joystick'\n        self._namespace = 'dash_daq'\n        self._valid_wildcard_attributes =            []\n        self.available_properties = ['id', 'angle', 'className', 'force', 'label', 'labelPosition', 'size', 'style', 'theme']\n        self.available_wildcard_properties =            []\n        _explicit_args = kwargs.pop('_explicit_args')\n        _locals = locals()\n        _locals.update(kwargs)  # For wildcard attrs\n        args = {k: _locals[k] for k in _explicit_args if k != 'children'}\n        for k in []:\n            if k not in args:\n                raise TypeError(\n                    'Required argument `' + k + '` was not specified.')\n        super(Joystick, self).__init__(**args)\n"
  },
  {
    "path": "dash_daq/Knob.py",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\nfrom dash.development.base_component import Component, _explicitize_args\n\n\nclass Knob(Component):\n    \"\"\"A Knob component.\nA knob component that can be turned\nto a value between some range.\n\nKeyword arguments:\n\n- id (string; optional):\n    The ID used to identify this compnent in Dash callbacks.\n\n- className (string; optional):\n    Class to apply to the root component element.\n\n- color (dict; optional):\n    Color configuration for the knob's track.\n\n    `color` is a string | dict with keys:\n\n    - default (string; optional):\n        Color used for current value text and other minor accents.\n\n    - gradient (boolean; optional):\n        Display ranges as a gradient between given colors.\n\n    - ranges (dict; optional):\n        Define multiple color ranges on the knob's track. The key\n        determines the color of the range and the value is the\n        start,end of the range itself. Ranges must be contiguous along\n        the entirety of the knob's range of values.\n\n        `ranges` is a dict with keys:\n\n        - color (list of numbers; optional)\n\n- digits (number; optional):\n    number of digits to show after decimal places.\n\n- disabled (boolean; optional):\n    If True, knob cannot be moved.\n\n- label (dict; optional):\n    Description to be displayed alongside the control. To control\n    styling, pass an object with label and style properties.\n\n    `label` is a string | dict with keys:\n\n    - label (string; optional)\n\n    - style (dict; optional)\n\n- labelPosition (a value equal to: 'top', 'bottom'; default 'top'):\n    Where the knob label is positioned.\n\n- max (number; default 10):\n    The maximum value of the knob.\n\n- min (number; default 0):\n    The minimum value of the knob.\n\n- persisted_props (list of a value equal to: 'value's; default ['value']):\n    Properties whose user interactions will persist after refreshing\n    the component or the page. Since only `value` is allowed this prop\n    can normally be ignored.\n\n- persistence (boolean | string | number; optional):\n    Used to allow user interactions in this component to be persisted\n    when the component - or the page - is refreshed. If `persisted` is\n    truthy and hasn't changed from its previous value, a `value` that\n    the user has changed while using the app will keep that change, as\n    long as the new `value` also matches what was given originally.\n    Used in conjunction with `persistence_type`.\n\n- persistence_type (a value equal to: 'local', 'session', 'memory'; default 'local'):\n    Where persisted user changes will be stored: memory: only kept in\n    memory, reset on page refresh. local: window.localStorage, data is\n    kept after the browser quit. session: window.sessionStorage, data\n    is cleared once the browser quit.\n\n- scale (dict; optional):\n    Configuration for the component scale.\n\n    `scale` is a dict with keys:\n\n    - custom (dict; optional):\n        Custom scale marks. The key determines the position and the\n        value determines what will show. If you want to set the style\n        of a specific mark point, the value should be an object which\n        contains style and label properties.\n\n        `custom` is a number\n\n      Or dict with keys:\n\n        - label (string; optional)\n\n        - style (string; optional)\n\n    - interval (number; optional):\n        Interval by which the scale goes up. Attempts to dynamically\n        divide min-max range by default.\n\n    - labelInterval (number; optional):\n        Interval by which labels are added to scale marks. Defaults to\n        2 (every other mark has a label).\n\n    - start (number; optional):\n        Value to start the scale from. Defaults to min.\n\n- showCurrentValue (boolean; optional):\n    show current value of knob.\n\n- size (number; default 114):\n    The size (diameter) of the knob in pixels.\n\n- style (dict; optional):\n    Style to apply to the root component element.\n\n- textColor (string; optional):\n    text color of scale.\n\n- theme (dict; default light):\n    Theme configuration to be set by a ThemeProvider.\n\n- value (number; optional):\n    The value of knob.\"\"\"\n    @_explicitize_args\n    def __init__(self, id=Component.UNDEFINED, value=Component.UNDEFINED, color=Component.UNDEFINED, size=Component.UNDEFINED, min=Component.UNDEFINED, max=Component.UNDEFINED, disabled=Component.UNDEFINED, theme=Component.UNDEFINED, label=Component.UNDEFINED, labelPosition=Component.UNDEFINED, scale=Component.UNDEFINED, className=Component.UNDEFINED, style=Component.UNDEFINED, persistence=Component.UNDEFINED, persisted_props=Component.UNDEFINED, persistence_type=Component.UNDEFINED, showCurrentValue=Component.UNDEFINED, textColor=Component.UNDEFINED, digits=Component.UNDEFINED, **kwargs):\n        self._prop_names = ['id', 'className', 'color', 'digits', 'disabled', 'label', 'labelPosition', 'max', 'min', 'persisted_props', 'persistence', 'persistence_type', 'scale', 'showCurrentValue', 'size', 'style', 'textColor', 'theme', 'value']\n        self._type = 'Knob'\n        self._namespace = 'dash_daq'\n        self._valid_wildcard_attributes =            []\n        self.available_properties = ['id', 'className', 'color', 'digits', 'disabled', 'label', 'labelPosition', 'max', 'min', 'persisted_props', 'persistence', 'persistence_type', 'scale', 'showCurrentValue', 'size', 'style', 'textColor', 'theme', 'value']\n        self.available_wildcard_properties =            []\n        _explicit_args = kwargs.pop('_explicit_args')\n        _locals = locals()\n        _locals.update(kwargs)  # For wildcard attrs\n        args = {k: _locals[k] for k in _explicit_args if k != 'children'}\n        for k in []:\n            if k not in args:\n                raise TypeError(\n                    'Required argument `' + k + '` was not specified.')\n        super(Knob, self).__init__(**args)\n"
  },
  {
    "path": "dash_daq/LEDDisplay.py",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\nfrom dash.development.base_component import Component, _explicitize_args\n\n\nclass LEDDisplay(Component):\n    \"\"\"A LEDDisplay component.\nA 7-bar LED display component.\n\nKeyword arguments:\n\n- id (string; optional):\n    The ID used to identify the display in Dash callbacks.\n\n- backgroundColor (string; default '#fff'):\n    Color of the display's background.\n\n- className (string; optional):\n    Class to apply to the root component element.\n\n- color (string; default colors.PRIMARY):\n    Color of the display.\n\n- label (dict; optional):\n    Description to be displayed alongside the control. To control\n    styling, pass an object with label and style properties.\n\n    `label` is a string | dict with keys:\n\n    - label (string; optional)\n\n    - style (dict; optional)\n\n- labelPosition (a value equal to: 'top', 'bottom'; default 'top'):\n    Where the display label is positioned.\n\n- size (number; default 42):\n    Size of the display.\n\n- style (dict; optional):\n    Style to apply to the root component element.\n\n- theme (dict; default light):\n    Theme configuration to be set by a ThemeProvider.\n\n- value (number | string; optional):\n    Value to be displayed. A number or a string containing only digits\n    (0-9), periods, and colons, and possibly starting with a minus\n    sign.\"\"\"\n    @_explicitize_args\n    def __init__(self, id=Component.UNDEFINED, value=Component.UNDEFINED, color=Component.UNDEFINED, backgroundColor=Component.UNDEFINED, size=Component.UNDEFINED, theme=Component.UNDEFINED, label=Component.UNDEFINED, labelPosition=Component.UNDEFINED, className=Component.UNDEFINED, style=Component.UNDEFINED, **kwargs):\n        self._prop_names = ['id', 'backgroundColor', 'className', 'color', 'label', 'labelPosition', 'size', 'style', 'theme', 'value']\n        self._type = 'LEDDisplay'\n        self._namespace = 'dash_daq'\n        self._valid_wildcard_attributes =            []\n        self.available_properties = ['id', 'backgroundColor', 'className', 'color', 'label', 'labelPosition', 'size', 'style', 'theme', 'value']\n        self.available_wildcard_properties =            []\n        _explicit_args = kwargs.pop('_explicit_args')\n        _locals = locals()\n        _locals.update(kwargs)  # For wildcard attrs\n        args = {k: _locals[k] for k in _explicit_args if k != 'children'}\n        for k in []:\n            if k not in args:\n                raise TypeError(\n                    'Required argument `' + k + '` was not specified.')\n        super(LEDDisplay, self).__init__(**args)\n"
  },
  {
    "path": "dash_daq/NumericInput.py",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\nfrom dash.development.base_component import Component, _explicitize_args\n\n\nclass NumericInput(Component):\n    \"\"\"A NumericInput component.\nA numeric input component that can be\nset to a value between some range.\n\nKeyword arguments:\n\n- id (string; optional):\n    The ID used to identify this compnent in Dash callbacks.\n\n- className (string; optional):\n    Class to apply to the root component element.\n\n- disabled (boolean; optional):\n    If True, numeric input cannot changed.\n\n- label (dict; optional):\n    Description to be displayed alongside the control. To control\n    styling, pass an object with label and style properties.\n\n    `label` is a string | dict with keys:\n\n    - label (string; optional)\n\n    - style (dict; optional)\n\n- labelPosition (a value equal to: 'top', 'bottom'; default 'top'):\n    Where the numeric input label is positioned.\n\n- max (number; default 10):\n    The maximum value of the numeric input.\n\n- min (number; default 0):\n    The minimum value of the numeric input.\n\n- persisted_props (list of a value equal to: 'value's; default ['value']):\n    Properties whose user interactions will persist after refreshing\n    the component or the page. Since only `value` is allowed this prop\n    can normally be ignored.\n\n- persistence (boolean | string | number; optional):\n    Used to allow user interactions in this component to be persisted\n    when the component - or the page - is refreshed. If `persisted` is\n    truthy and hasn't changed from its previous value, a `value` that\n    the user has changed while using the app will keep that change, as\n    long as the new `value` also matches what was given originally.\n    Used in conjunction with `persistence_type`.\n\n- persistence_type (a value equal to: 'local', 'session', 'memory'; default 'local'):\n    Where persisted user changes will be stored: memory: only kept in\n    memory, reset on page refresh. local: window.localStorage, data is\n    kept after the browser quit. session: window.sessionStorage, data\n    is cleared once the browser quit.\n\n- size (number; optional):\n    The size (length) of the numeric input in pixels.\n\n- style (dict; default { display: 'flex', justifyContent: 'center' }):\n    Style to apply to the root component element.\n\n- theme (dict; default light):\n    Theme configuration to be set by a ThemeProvider.\n\n- value (number; optional):\n    The value of numeric input.\"\"\"\n    @_explicitize_args\n    def __init__(self, id=Component.UNDEFINED, value=Component.UNDEFINED, size=Component.UNDEFINED, min=Component.UNDEFINED, max=Component.UNDEFINED, disabled=Component.UNDEFINED, theme=Component.UNDEFINED, label=Component.UNDEFINED, labelPosition=Component.UNDEFINED, className=Component.UNDEFINED, style=Component.UNDEFINED, persistence=Component.UNDEFINED, persisted_props=Component.UNDEFINED, persistence_type=Component.UNDEFINED, **kwargs):\n        self._prop_names = ['id', 'className', 'disabled', 'label', 'labelPosition', 'max', 'min', 'persisted_props', 'persistence', 'persistence_type', 'size', 'style', 'theme', 'value']\n        self._type = 'NumericInput'\n        self._namespace = 'dash_daq'\n        self._valid_wildcard_attributes =            []\n        self.available_properties = ['id', 'className', 'disabled', 'label', 'labelPosition', 'max', 'min', 'persisted_props', 'persistence', 'persistence_type', 'size', 'style', 'theme', 'value']\n        self.available_wildcard_properties =            []\n        _explicit_args = kwargs.pop('_explicit_args')\n        _locals = locals()\n        _locals.update(kwargs)  # For wildcard attrs\n        args = {k: _locals[k] for k in _explicit_args if k != 'children'}\n        for k in []:\n            if k not in args:\n                raise TypeError(\n                    'Required argument `' + k + '` was not specified.')\n        super(NumericInput, self).__init__(**args)\n"
  },
  {
    "path": "dash_daq/PowerButton.py",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\nfrom dash.development.base_component import Component, _explicitize_args\n\n\nclass PowerButton(Component):\n    \"\"\"A PowerButton component.\nA power button component can be\nturned on and off.\n\nKeyword arguments:\n\n- id (string; optional):\n    The ID used to identify this compnent in Dash callbacks.\n\n- className (string; optional):\n    Class to apply to the root component element.\n\n- color (string; optional):\n    The indicator color to display when power button is on.\n\n- disabled (boolean; optional):\n    If True, power button cannot be clicked.\n\n- label (dict; optional):\n    Description to be displayed alongside the button. To control\n    styling, pass an object with label and style properties.\n\n    `label` is a string | dict with keys:\n\n    - label (string; optional)\n\n    - style (dict; optional)\n\n- labelPosition (a value equal to: 'top', 'bottom'; default 'top'):\n    Where the button label is positioned.\n\n- offButtonStyle (dict; optional):\n    style to apply on switch off button.\n\n- on (boolean; default False):\n    Whether or not the power button is on.\n\n- onButtonStyle (dict; optional):\n    style to apply on switch on button.\n\n- persisted_props (list of a value equal to: 'on's; default ['on']):\n    Properties whose user interactions will persist after refreshing\n    the component or the page. Since only `on` is allowed this prop\n    can normally be ignored.\n\n- persistence (boolean | string | number; optional):\n    Used to allow user interactions in this component to be persisted\n    when the component - or the page - is refreshed. If `persisted` is\n    truthy and hasn't changed from its previous value, a `value` that\n    the user has changed while using the app will keep that change, as\n    long as the new `value` also matches what was given originally.\n    Used in conjunction with `persistence_type`.\n\n- persistence_type (a value equal to: 'local', 'session', 'memory'; default 'local'):\n    Where persisted user changes will be stored: memory: only kept in\n    memory, reset on page refresh. local: window.localStorage, data is\n    kept after the browser quit. session: window.sessionStorage, data\n    is cleared once the browser quit.\n\n- size (number; default 48):\n    The size (diameter) of the power button in pixels.\n\n- style (dict; optional):\n    Style to apply to the root component element.\n\n- theme (dict; default light):\n    Theme configuration to be set by a ThemeProvider.\"\"\"\n    @_explicitize_args\n    def __init__(self, id=Component.UNDEFINED, on=Component.UNDEFINED, color=Component.UNDEFINED, size=Component.UNDEFINED, disabled=Component.UNDEFINED, theme=Component.UNDEFINED, label=Component.UNDEFINED, labelPosition=Component.UNDEFINED, className=Component.UNDEFINED, style=Component.UNDEFINED, onButtonStyle=Component.UNDEFINED, offButtonStyle=Component.UNDEFINED, persistence=Component.UNDEFINED, persisted_props=Component.UNDEFINED, persistence_type=Component.UNDEFINED, **kwargs):\n        self._prop_names = ['id', 'className', 'color', 'disabled', 'label', 'labelPosition', 'offButtonStyle', 'on', 'onButtonStyle', 'persisted_props', 'persistence', 'persistence_type', 'size', 'style', 'theme']\n        self._type = 'PowerButton'\n        self._namespace = 'dash_daq'\n        self._valid_wildcard_attributes =            []\n        self.available_properties = ['id', 'className', 'color', 'disabled', 'label', 'labelPosition', 'offButtonStyle', 'on', 'onButtonStyle', 'persisted_props', 'persistence', 'persistence_type', 'size', 'style', 'theme']\n        self.available_wildcard_properties =            []\n        _explicit_args = kwargs.pop('_explicit_args')\n        _locals = locals()\n        _locals.update(kwargs)  # For wildcard attrs\n        args = {k: _locals[k] for k in _explicit_args if k != 'children'}\n        for k in []:\n            if k not in args:\n                raise TypeError(\n                    'Required argument `' + k + '` was not specified.')\n        super(PowerButton, self).__init__(**args)\n"
  },
  {
    "path": "dash_daq/PrecisionInput.py",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\nfrom dash.development.base_component import Component, _explicitize_args\n\n\nclass PrecisionInput(Component):\n    \"\"\"A PrecisionInput component.\nA numeric input component that converts\nan input value to the desired precision.\n\nKeyword arguments:\n\n- id (string; optional):\n    The ID used to identify this compnent in Dash callbacks.\n\n- className (string; optional):\n    Class to apply to the root component element.\n\n- disabled (boolean; optional):\n    If True, numeric input cannot be changed.\n\n- label (dict; optional):\n    Description to be displayed alongside the scientific notation. To\n    control styling, pass an object with label and style properties.\n\n    `label` is a string | dict with keys:\n\n    - label (string; optional)\n\n    - style (dict; optional)\n\n- labelPosition (a value equal to: 'top', 'bottom'; default 'top'):\n    Where the numeric input label is positioned.\n\n- max (number; default Number.MAX_SAFE_INTEGER):\n    The maximum value of the numeric input.\n\n- min (number; default 0):\n    The minimum value of the numeric input.\n\n- persisted_props (list of a value equal to: 'value's; default ['value']):\n    Properties whose user interactions will persist after refreshing\n    the component or the page. Since only `value` is allowed this prop\n    can normally be ignored.\n\n- persistence (boolean | string | number; optional):\n    Used to allow user interactions in this component to be persisted\n    when the component - or the page - is refreshed. If `persisted` is\n    truthy and hasn't changed from its previous value, a `value` that\n    the user has changed while using the app will keep that change, as\n    long as the new `value` also matches what was given originally.\n    Used in conjunction with `persistence_type`.\n\n- persistence_type (a value equal to: 'local', 'session', 'memory'; default 'local'):\n    Where persisted user changes will be stored: memory: only kept in\n    memory, reset on page refresh. local: window.localStorage, data is\n    kept after the browser quit. session: window.sessionStorage, data\n    is cleared once the browser quit.\n\n- precision (number; default 2):\n    Number of significant figures.\n\n- size (number; optional):\n    The size (length) of the numeric input in pixels.\n\n- style (dict; optional):\n    Style to apply to the root component element.\n\n- theme (dict; default light):\n    Theme configuration to be set by a ThemeProvider.\n\n- value (number; optional):\n    The value of numeric input.\"\"\"\n    @_explicitize_args\n    def __init__(self, id=Component.UNDEFINED, value=Component.UNDEFINED, size=Component.UNDEFINED, min=Component.UNDEFINED, max=Component.UNDEFINED, precision=Component.UNDEFINED, disabled=Component.UNDEFINED, theme=Component.UNDEFINED, label=Component.UNDEFINED, labelPosition=Component.UNDEFINED, className=Component.UNDEFINED, style=Component.UNDEFINED, persistence=Component.UNDEFINED, persisted_props=Component.UNDEFINED, persistence_type=Component.UNDEFINED, **kwargs):\n        self._prop_names = ['id', 'className', 'disabled', 'label', 'labelPosition', 'max', 'min', 'persisted_props', 'persistence', 'persistence_type', 'precision', 'size', 'style', 'theme', 'value']\n        self._type = 'PrecisionInput'\n        self._namespace = 'dash_daq'\n        self._valid_wildcard_attributes =            []\n        self.available_properties = ['id', 'className', 'disabled', 'label', 'labelPosition', 'max', 'min', 'persisted_props', 'persistence', 'persistence_type', 'precision', 'size', 'style', 'theme', 'value']\n        self.available_wildcard_properties =            []\n        _explicit_args = kwargs.pop('_explicit_args')\n        _locals = locals()\n        _locals.update(kwargs)  # For wildcard attrs\n        args = {k: _locals[k] for k in _explicit_args if k != 'children'}\n        for k in []:\n            if k not in args:\n                raise TypeError(\n                    'Required argument `' + k + '` was not specified.')\n        super(PrecisionInput, self).__init__(**args)\n"
  },
  {
    "path": "dash_daq/Slider.py",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\nfrom dash.development.base_component import Component, _explicitize_args\n\n\nclass Slider(Component):\n    \"\"\"A Slider component.\nA slider component with support for\na target value.\n\nKeyword arguments:\n\n- id (string; optional):\n    The ID used to identify this component in Dash callbacks.\n\n- className (string; optional):\n    Additional CSS class for the root DOM node.\n\n- color (dict; default colors.DARKER_PRIMARY):\n    Color configuration for the slider's track.\n\n    `color` is a string | dict with keys:\n\n    - default (string; optional):\n        Fallback color to use when color.ranges has gaps.\n\n    - gradient (boolean; optional):\n        Display ranges as a gradient between given colors. Requires\n        color.ranges to be contiguous along the entirety of the\n        gauge's range of values.\n\n    - ranges (dict; optional):\n        Define multiple color ranges on the slider's track. The key\n        determines the color of the range and the value is the\n        start,end of the range itself.\n\n        `ranges` is a dict with keys:\n\n        - color (list of numbers; optional)\n\n- disabled (boolean; optional):\n    If True, the handles can't be moved.\n\n- dots (boolean; optional):\n    When the step value is greater than 1, you can set the dots to\n    True if you want to render the slider with dots.  Note: dots are\n    disabled automatically when using color.ranges.\n\n- fullSize (boolean; optional):\n    make slider same size of its parent.\n\n- handleLabel (dict; optional):\n    Configuration of the slider handle's label. Passing falsy value\n    will disable the label.\n\n    `handleLabel` is a string | dict with keys:\n\n    - color (string; optional)\n\n    - label (string; optional)\n\n    - showCurrentValue (boolean; optional)\n\n    - style (dict; optional)\n\n- included (boolean; optional):\n    If the value is True, it means a continuous value is included.\n    Otherwise, it is an independent value.\n\n- labelPosition (a value equal to: 'top', 'bottom'; default 'bottom'):\n    Where the component label is positioned.\n\n- marks (dict; optional):\n    Marks on the slider. The key determines the position, and the\n    value determines what will show. If you want to set the style of a\n    specific mark point, the value should be an object which contains\n    style and label properties.\n\n    `marks` is a dict with keys:\n\n    - number (dict; optional)\n\n        `number` is a string\n\n      Or dict with keys:\n\n        - label (string; optional)\n\n        - style (dict; optional)\n\n- max (number; optional):\n    Maximum allowed value of the slider.\n\n- min (number; default 0):\n    Minimum allowed value of the slider.\n\n- persisted_props (list of a value equal to: 'value's; default ['value']):\n    Properties whose user interactions will persist after refreshing\n    the component or the page. Since only `value` is allowed this prop\n    can normally be ignored.\n\n- persistence (boolean | string | number; optional):\n    Used to allow user interactions in this component to be persisted\n    when the component - or the page - is refreshed. If `persisted` is\n    truthy and hasn't changed from its previous value, a `value` that\n    the user has changed while using the app will keep that change, as\n    long as the new `value` also matches what was given originally.\n    Used in conjunction with `persistence_type`.\n\n- persistence_type (a value equal to: 'local', 'session', 'memory'; default 'local'):\n    Where persisted user changes will be stored: memory: only kept in\n    memory, reset on page refresh. local: window.localStorage, data is\n    kept after the browser quit. session: window.sessionStorage, data\n    is cleared once the browser quit.\n\n- size (number; default 265):\n    Size of the slider in pixels.\n\n- step (number; optional):\n    Value by which increments or decrements are made.\n\n- style (dict; default { display: 'flex', justifyContent: 'center' }):\n    Style to apply to the root component element.\n\n- targets (dict; optional):\n    Targets on the slider. The key determines the position, and the\n    value determines what will show. If you want to set the style of a\n    specific target point, the value should be an object which\n    contains style and label properties.\n\n    `targets` is a dict with keys:\n\n    - number (dict; optional)\n\n        `number` is a string\n\n      Or dict with keys:\n\n        - color (string; optional)\n\n        - label (string; optional)\n\n        - showCurrentValue (boolean; optional)\n\n        - style (dict; optional)\n\n- theme (dict; default light):\n    Theme configuration to be set by a ThemeProvider.\n\n- updatemode (a value equal to: 'mouseup', 'drag'; default 'mouseup'):\n    Determines when the component should update its value. If\n    `mouseup`, then the slider will only trigger its value when the\n    user has finished dragging the slider. If `drag`, then the slider\n    will update its value continuously as it is being dragged. Only\n    use `drag` if your updates are fast.\n\n- value (number; optional):\n    The value of the input.\n\n- vertical (boolean; optional):\n    If True, the slider will be vertical.\"\"\"\n    @_explicitize_args\n    def __init__(self, id=Component.UNDEFINED, style=Component.UNDEFINED, marks=Component.UNDEFINED, color=Component.UNDEFINED, value=Component.UNDEFINED, className=Component.UNDEFINED, labelPosition=Component.UNDEFINED, disabled=Component.UNDEFINED, dots=Component.UNDEFINED, included=Component.UNDEFINED, min=Component.UNDEFINED, max=Component.UNDEFINED, step=Component.UNDEFINED, vertical=Component.UNDEFINED, size=Component.UNDEFINED, targets=Component.UNDEFINED, theme=Component.UNDEFINED, handleLabel=Component.UNDEFINED, updatemode=Component.UNDEFINED, persistence=Component.UNDEFINED, persisted_props=Component.UNDEFINED, persistence_type=Component.UNDEFINED, fullSize=Component.UNDEFINED, **kwargs):\n        self._prop_names = ['id', 'className', 'color', 'disabled', 'dots', 'fullSize', 'handleLabel', 'included', 'labelPosition', 'marks', 'max', 'min', 'persisted_props', 'persistence', 'persistence_type', 'size', 'step', 'style', 'targets', 'theme', 'updatemode', 'value', 'vertical']\n        self._type = 'Slider'\n        self._namespace = 'dash_daq'\n        self._valid_wildcard_attributes =            []\n        self.available_properties = ['id', 'className', 'color', 'disabled', 'dots', 'fullSize', 'handleLabel', 'included', 'labelPosition', 'marks', 'max', 'min', 'persisted_props', 'persistence', 'persistence_type', 'size', 'step', 'style', 'targets', 'theme', 'updatemode', 'value', 'vertical']\n        self.available_wildcard_properties =            []\n        _explicit_args = kwargs.pop('_explicit_args')\n        _locals = locals()\n        _locals.update(kwargs)  # For wildcard attrs\n        args = {k: _locals[k] for k in _explicit_args if k != 'children'}\n        for k in []:\n            if k not in args:\n                raise TypeError(\n                    'Required argument `' + k + '` was not specified.')\n        super(Slider, self).__init__(**args)\n"
  },
  {
    "path": "dash_daq/StopButton.py",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\nfrom dash.development.base_component import Component, _explicitize_args\n\n\nclass StopButton(Component):\n    \"\"\"A StopButton component.\nA Stop button component\n\nKeyword arguments:\n\n- children (a list of or a singular dash component, string or number; optional):\n    The children of the button.\n\n- id (string; optional):\n    The ID used to identify this compnent in Dash callbacks.\n\n- buttonText (string; default 'Stop'):\n    Text displayed in the button.\n\n- className (string; optional):\n    Class to apply to the root component element.\n\n- disabled (boolean; optional):\n    If True, button cannot be pressesd.\n\n- label (dict; optional):\n    Description to be displayed alongside the button. To control\n    styling, pass an object with label and style properties.\n\n    `label` is a string | dict with keys:\n\n    - label (string; optional)\n\n    - style (dict; optional)\n\n- labelPosition (a value equal to: 'top', 'bottom'; default 'top'):\n    Where the  label is positioned.\n\n- n_clicks (number; default 0):\n    Number of times the button was clicked.\n\n- size (number; default 92):\n    The size (width) of the stop button in pixels.\n\n- style (dict; optional):\n    Style to apply to the root component element.\n\n- theme (dict; optional):\n    Theme configuration to be set by a ThemeProvider.\"\"\"\n    @_explicitize_args\n    def __init__(self, children=None, id=Component.UNDEFINED, size=Component.UNDEFINED, buttonText=Component.UNDEFINED, n_clicks=Component.UNDEFINED, disabled=Component.UNDEFINED, theme=Component.UNDEFINED, label=Component.UNDEFINED, labelPosition=Component.UNDEFINED, className=Component.UNDEFINED, style=Component.UNDEFINED, **kwargs):\n        self._prop_names = ['children', 'id', 'buttonText', 'className', 'disabled', 'label', 'labelPosition', 'n_clicks', 'size', 'style', 'theme']\n        self._type = 'StopButton'\n        self._namespace = 'dash_daq'\n        self._valid_wildcard_attributes =            []\n        self.available_properties = ['children', 'id', 'buttonText', 'className', 'disabled', 'label', 'labelPosition', 'n_clicks', 'size', 'style', 'theme']\n        self.available_wildcard_properties =            []\n        _explicit_args = kwargs.pop('_explicit_args')\n        _locals = locals()\n        _locals.update(kwargs)  # For wildcard attrs\n        args = {k: _locals[k] for k in _explicit_args if k != 'children'}\n        for k in []:\n            if k not in args:\n                raise TypeError(\n                    'Required argument `' + k + '` was not specified.')\n        super(StopButton, self).__init__(children=children, **args)\n"
  },
  {
    "path": "dash_daq/Tank.py",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\nfrom dash.development.base_component import Component, _explicitize_args\n\n\nclass Tank(Component):\n    \"\"\"A Tank component.\nA Tank component that fills to\na value between some range.\n\nKeyword arguments:\n\n- id (string; optional):\n    The ID used to identify this component in Dash callbacks.\n\n- base (number; default 10):\n    Base to be used in logarithmic scale.\n\n- className (string; optional):\n    Class to apply to the root component element.\n\n- color (string; optional):\n    The color of tank fill.\n\n- currentValueStyle (dict; optional):\n    text style of current value.\n\n- exceedMessage (string; optional):\n    Warning message when value exceed max.\n\n- height (number; default 192):\n    The height of the tank in pixels.\n\n- label (dict; optional):\n    Description to be displayed alongside the control. To control\n    styling, pass an object with label and style properties.\n\n    `label` is a string | dict with keys:\n\n    - label (string; optional)\n\n    - style (dict; optional)\n\n- labelPosition (a value equal to: 'top', 'bottom'; default 'top'):\n    Where the component label is positioned.\n\n- lagingMessage (string; optional):\n    Warning message when value is laging from min.\n\n- logarithmic (boolean; optional):\n    If set to True, a logarithmic scale will be used.\n\n- max (number; default 10):\n    The maximum value of the tank. If logarithmic, represents the\n    maximum exponent.\n\n- min (number; default 0):\n    The minimum value of the tank. If logarithmic, represents minimum\n    exponent.\n\n- scale (dict; optional):\n    Configuration for the component scale.\n\n    `scale` is a dict with keys:\n\n    - custom (dict; optional):\n        Custom scale marks. The key determines the position and the\n        value determines what will show. If you want to set the style\n        of a specific mark point, the value should be an object which\n        contains style and label properties.\n\n        `custom` is a number\n\n      Or dict with keys:\n\n        - label (string; optional)\n\n        - style (string; optional)\n\n    - interval (number; optional):\n        Interval by which the scale goes up. Attempts to dynamically\n        divide min-max range by default.\n\n    - labelInterval (number; optional):\n        Interval by which labels are added to scale marks. Defaults to\n        2 (every other mark has a label).\n\n    - start (number; optional):\n        Value to start the scale from. Defaults to min.\n\n- showCurrentValue (boolean; optional):\n    If True, the current value of the tank will be displayed.\n\n- style (dict; optional):\n    Style to apply to the root component element.\n\n- textColor (string; optional):\n    text color.\n\n- theme (dict; default light):\n    Theme configuration to be set by a ThemeProvider.\n\n- units (string; optional):\n    Label for the current value.\n\n- value (number; optional):\n    The value of tank. If logarithmic, the displayed value will be the\n    logarithm of the inputted value.\n\n- width (number; default 112):\n    The width of the tank in pixels.\"\"\"\n    @_explicitize_args\n    def __init__(self, id=Component.UNDEFINED, value=Component.UNDEFINED, height=Component.UNDEFINED, width=Component.UNDEFINED, color=Component.UNDEFINED, theme=Component.UNDEFINED, currentValueStyle=Component.UNDEFINED, min=Component.UNDEFINED, max=Component.UNDEFINED, base=Component.UNDEFINED, logarithmic=Component.UNDEFINED, showCurrentValue=Component.UNDEFINED, units=Component.UNDEFINED, label=Component.UNDEFINED, labelPosition=Component.UNDEFINED, scale=Component.UNDEFINED, className=Component.UNDEFINED, style=Component.UNDEFINED, exceedMessage=Component.UNDEFINED, lagingMessage=Component.UNDEFINED, textColor=Component.UNDEFINED, **kwargs):\n        self._prop_names = ['id', 'base', 'className', 'color', 'currentValueStyle', 'exceedMessage', 'height', 'label', 'labelPosition', 'lagingMessage', 'logarithmic', 'max', 'min', 'scale', 'showCurrentValue', 'style', 'textColor', 'theme', 'units', 'value', 'width']\n        self._type = 'Tank'\n        self._namespace = 'dash_daq'\n        self._valid_wildcard_attributes =            []\n        self.available_properties = ['id', 'base', 'className', 'color', 'currentValueStyle', 'exceedMessage', 'height', 'label', 'labelPosition', 'lagingMessage', 'logarithmic', 'max', 'min', 'scale', 'showCurrentValue', 'style', 'textColor', 'theme', 'units', 'value', 'width']\n        self.available_wildcard_properties =            []\n        _explicit_args = kwargs.pop('_explicit_args')\n        _locals = locals()\n        _locals.update(kwargs)  # For wildcard attrs\n        args = {k: _locals[k] for k in _explicit_args if k != 'children'}\n        for k in []:\n            if k not in args:\n                raise TypeError(\n                    'Required argument `' + k + '` was not specified.')\n        super(Tank, self).__init__(**args)\n"
  },
  {
    "path": "dash_daq/Thermometer.py",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\nfrom dash.development.base_component import Component, _explicitize_args\n\n\nclass Thermometer(Component):\n    \"\"\"A Thermometer component.\nA thermometer component that\nfills to a value between some\nrange\n\nKeyword arguments:\n\n- id (string; optional):\n    The ID used to identify this compnent in Dash callbacks.\n\n- base (number; default 10):\n    Base to be used in logarithmic scale.\n\n- className (string; optional):\n    Class to apply to the root component element.\n\n- color (string; optional):\n    The color of the thermometer fill/current value text.\n\n- height (number; default 192):\n    The height of the thermometer in pixels.\n\n- label (dict; optional):\n    Description to be displayed alongside the control. To control\n    styling, pass an object with label and style properties.\n\n    `label` is a string | dict with keys:\n\n    - label (string; optional)\n\n    - style (dict; optional)\n\n- labelPosition (a value equal to: 'top', 'bottom'; default 'top'):\n    Where the component label is positioned.\n\n- logarithmic (boolean; optional):\n    If set to True, a logarithmic scale will be used.\n\n- max (number; default 10):\n    The maximum value of the thermometer. If logarithmic, represents\n    the maximum exponent.\n\n- min (number; default 0):\n    The minimum value of the thermometer. If logarithmic, represents\n    the minimum exponent.\n\n- scale (dict; optional):\n    Configuration for the component scale.\n\n    `scale` is a dict with keys:\n\n    - custom (dict; optional):\n        Custom scale marks. The key determines the position and the\n        value determines what will show. If you want to set the style\n        of a specific mark point, the value should be an object which\n        contains style and label properties.\n\n        `custom` is a number\n\n      Or dict with keys:\n\n        - label (string; optional)\n\n        - style (string; optional)\n\n    - interval (number; optional):\n        Interval by which the scale goes up. Attempts to dynamically\n        divide min-max range by default.\n\n    - labelInterval (number; optional):\n        Interval by which labels are added to scale marks. Defaults to\n        2 (every other mark has a label).\n\n    - start (number; optional):\n        Value to start the scale from. Defaults to min.\n\n- showCurrentValue (boolean; optional):\n    If True, the current value of the thermometer will be displayed.\n\n- style (dict; optional):\n    Style to apply to the root component element.\n\n- theme (dict; default light):\n    Theme configuration to be set by a ThemeProvider.\n\n- units (string; optional):\n    Label for the current value.\n\n- value (number; optional):\n    The value of thermometer. If logarthmic, the value displayed will\n    be the logarithm of the inputted value.\n\n- width (number; default 20):\n    The width of the thermometer in pixels.\"\"\"\n    @_explicitize_args\n    def __init__(self, id=Component.UNDEFINED, value=Component.UNDEFINED, height=Component.UNDEFINED, width=Component.UNDEFINED, color=Component.UNDEFINED, min=Component.UNDEFINED, max=Component.UNDEFINED, base=Component.UNDEFINED, logarithmic=Component.UNDEFINED, showCurrentValue=Component.UNDEFINED, units=Component.UNDEFINED, theme=Component.UNDEFINED, label=Component.UNDEFINED, labelPosition=Component.UNDEFINED, scale=Component.UNDEFINED, className=Component.UNDEFINED, style=Component.UNDEFINED, **kwargs):\n        self._prop_names = ['id', 'base', 'className', 'color', 'height', 'label', 'labelPosition', 'logarithmic', 'max', 'min', 'scale', 'showCurrentValue', 'style', 'theme', 'units', 'value', 'width']\n        self._type = 'Thermometer'\n        self._namespace = 'dash_daq'\n        self._valid_wildcard_attributes =            []\n        self.available_properties = ['id', 'base', 'className', 'color', 'height', 'label', 'labelPosition', 'logarithmic', 'max', 'min', 'scale', 'showCurrentValue', 'style', 'theme', 'units', 'value', 'width']\n        self.available_wildcard_properties =            []\n        _explicit_args = kwargs.pop('_explicit_args')\n        _locals = locals()\n        _locals.update(kwargs)  # For wildcard attrs\n        args = {k: _locals[k] for k in _explicit_args if k != 'children'}\n        for k in []:\n            if k not in args:\n                raise TypeError(\n                    'Required argument `' + k + '` was not specified.')\n        super(Thermometer, self).__init__(**args)\n"
  },
  {
    "path": "dash_daq/ToggleSwitch.py",
    "content": "# AUTO GENERATED FILE - DO NOT EDIT\n\nfrom dash.development.base_component import Component, _explicitize_args\n\n\nclass ToggleSwitch(Component):\n    \"\"\"A ToggleSwitch component.\nA switch component that toggles between\ntwo values.\n\nKeyword arguments:\n\n- id (string; optional):\n    The ID used to identify this compnent in Dash callbacks.\n\n- className (string; optional):\n    Class to apply to the root component element.\n\n- color (string; optional):\n    Color to highlight button/indicator.\n\n- disabled (boolean; optional):\n    If True, switch cannot be clicked.\n\n- label (dict; optional):\n    Description to be displayed alongside the control. To control\n    styling, pass an object with label and style properties.\n\n    `label` is a string | dict with keys:\n\n    - label (string; optional)\n\n    - style (dict; optional)\n\n      Or list of string | dict with keys:\n\n    - label (string; optional)\n\n    - style (dict; optional)s\n\n- labelPosition (a value equal to: 'top', 'bottom'; default 'top'):\n    Where the component label is positioned.\n\n- persisted_props (list of a value equal to: 'value's; default ['value']):\n    Properties whose user interactions will persist after refreshing\n    the component or the page. Since only `value` is allowed this prop\n    can normally be ignored.\n\n- persistence (boolean | string | number; optional):\n    Used to allow user interactions in this component to be persisted\n    when the component - or the page - is refreshed. If `persisted` is\n    truthy and hasn't changed from its previous value, a `value` that\n    the user has changed while using the app will keep that change, as\n    long as the new `value` also matches what was given originally.\n    Used in conjunction with `persistence_type`.\n\n- persistence_type (a value equal to: 'local', 'session', 'memory'; default 'local'):\n    Where persisted user changes will be stored: memory: only kept in\n    memory, reset on page refresh. local: window.localStorage, data is\n    kept after the browser quit. session: window.sessionStorage, data\n    is cleared once the browser quit.\n\n- size (number; optional):\n    The size of the switch.\n\n- style (dict; optional):\n    Style to apply to the root object.\n\n- theme (dict; default light):\n    Theme configuration to be set by a ThemeProvider.\n\n- value (boolean; default False):\n    The state of the switch.\n\n- vertical (boolean; default False):\n    If True, switch will be vertical instead of horizontal.\"\"\"\n    @_explicitize_args\n    def __init__(self, id=Component.UNDEFINED, value=Component.UNDEFINED, size=Component.UNDEFINED, color=Component.UNDEFINED, vertical=Component.UNDEFINED, disabled=Component.UNDEFINED, theme=Component.UNDEFINED, label=Component.UNDEFINED, labelPosition=Component.UNDEFINED, className=Component.UNDEFINED, style=Component.UNDEFINED, persistence=Component.UNDEFINED, persisted_props=Component.UNDEFINED, persistence_type=Component.UNDEFINED, **kwargs):\n        self._prop_names = ['id', 'className', 'color', 'disabled', 'label', 'labelPosition', 'persisted_props', 'persistence', 'persistence_type', 'size', 'style', 'theme', 'value', 'vertical']\n        self._type = 'ToggleSwitch'\n        self._namespace = 'dash_daq'\n        self._valid_wildcard_attributes =            []\n        self.available_properties = ['id', 'className', 'color', 'disabled', 'label', 'labelPosition', 'persisted_props', 'persistence', 'persistence_type', 'size', 'style', 'theme', 'value', 'vertical']\n        self.available_wildcard_properties =            []\n        _explicit_args = kwargs.pop('_explicit_args')\n        _locals = locals()\n        _locals.update(kwargs)  # For wildcard attrs\n        args = {k: _locals[k] for k in _explicit_args if k != 'children'}\n        for k in []:\n            if k not in args:\n                raise TypeError(\n                    'Required argument `' + k + '` was not specified.')\n        super(ToggleSwitch, self).__init__(**args)\n"
  },
  {
    "path": "dash_daq/__init__.py",
    "content": "import os as _os\nimport dash as _dash\nimport sys as _sys\nimport json\n\n_basepath = _os.path.dirname(__file__)\n_filepath = _os.path.abspath(_os.path.join(_basepath, 'package-info.json'))\n\nwith open(_filepath) as f:\n    __version__ = json.loads(f.read())['version']\n\nfrom ._imports_ import *  # noqa: F401, F403, E402\nfrom ._imports_ import __all__  # noqa: E402\n\nasync_resources = [\n    'colorpicker',\n    'slider'\n]\n\n_js_dist = []\n\n_js_dist.extend([{\n        'relative_package_path': 'async-{}.js'.format(async_resource),\n        'external_url': (\n            'https://unpkg.com/dash-daq@{}'\n            '/dash_daq/async-{}.js'\n        ).format(__version__, async_resource),\n        'namespace': 'dash_daq',\n        'async': True\n    } for async_resource in async_resources])\n\n_js_dist.extend([{\n        'relative_package_path': 'async-{}.js.map'.format(async_resource),\n        'external_url': (\n            'https://unpkg.com/dash-daq@{}'\n            '/dash_daq/async-{}.js.map'\n        ).format(__version__, async_resource),\n        'namespace': 'dash_daq',\n        'dynamic': True\n    } for async_resource in async_resources])\n\n_js_dist.extend([\n    {\n        \"relative_package_path\": \"dash_daq.min.js\",\n        \"external_url\": (\n            \"https://unpkg.com/dash-daq@{}\"\n            \"/dash_daq/dash_daq.min.js\"\n        ).format(__version__),\n        \"namespace\": \"dash_daq\"\n    }\n])\n\n_js_dist.extend([\n    {\n        \"relative_package_path\": \"dash_daq.min.js.map\",\n        \"external_url\": (\n            \"https://unpkg.com/dash-daq@{}\"\n            \"/dash_daq/dash_daq.min.js.map\"\n        ).format(__version__),\n        \"namespace\": \"dash_daq\",\n        'dynamic': True\n    }\n])\n_css_dist = []\n\n\nfor _component in __all__:\n    setattr(locals()[_component], '_js_dist', _js_dist)\n"
  },
  {
    "path": "dash_daq/_imports_.py",
    "content": "from .BooleanSwitch import BooleanSwitch\nfrom .ColorPicker import ColorPicker\nfrom .DarkThemeProvider import DarkThemeProvider\nfrom .Gauge import Gauge\nfrom .GraduatedBar import GraduatedBar\nfrom .Indicator import Indicator\nfrom .Joystick import Joystick\nfrom .Knob import Knob\nfrom .LEDDisplay import LEDDisplay\nfrom .NumericInput import NumericInput\nfrom .PowerButton import PowerButton\nfrom .PrecisionInput import PrecisionInput\nfrom .Slider import Slider\nfrom .StopButton import StopButton\nfrom .Tank import Tank\nfrom .Thermometer import Thermometer\nfrom .ToggleSwitch import ToggleSwitch\n\n__all__ = [\n    \"BooleanSwitch\",\n    \"ColorPicker\",\n    \"DarkThemeProvider\",\n    \"Gauge\",\n    \"GraduatedBar\",\n    \"Indicator\",\n    \"Joystick\",\n    \"Knob\",\n    \"LEDDisplay\",\n    \"NumericInput\",\n    \"PowerButton\",\n    \"PrecisionInput\",\n    \"Slider\",\n    \"StopButton\",\n    \"Tank\",\n    \"Thermometer\",\n    \"ToggleSwitch\"\n]"
  },
  {
    "path": "dash_daq/async-colorpicker.js",
    "content": "(window.webpackJsonpdash_daq=window.webpackJsonpdash_daq||[]).push([[0],Array(157).concat([function(e,t,r){\"use strict\";r.r(t);var n=r(1),o=r.n(n),a=r(273),i=r(2),u=r(29),l=r.n(u),c=r(3);function f(){var e=_([\"\\n  box-shadow: 0px 0px 8px 2px rgba(100,100,100,0.075),\\n              0px 0px 32px 2px rgba(255,255,255,0.05),\\n              1px 1px 0px 0px rgba(25,25,25,0.6),\\n              -1px -1px 0px 0px rgba(255,255,255,0.2) !important;\\n\\n  & .chrome-picker > div:first-child {\\n    border-radius: 0 !important;\\n  }\\n\\n  & .chrome-picker > div:nth-child(2) {\\n    background: #0a0a0a !important;\\n    border-top: 1px solid rgba(255,255,255,0.075);\\n  }\\n\\n  \",\"\\n  \",\"\\n  \",\"\\n\"]);return f=function(){return e},e}function s(){var e=_([\"\\n  & .chrome-picker input {\\n    font-family: unset !important;\\n    color: #fff !important;\\n    border-radius: 0px !important;\\n    background-color: #22272a !important;\\n    background-image: linear-gradient(\\n      145deg,\\n      rgba(255, 255, 255, 0.05) 0%,\\n      rgba(0, 0, 0, 0.5) 100%\\n    ) !important;\\n    box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\\n      -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1) !important;\\n  }\\n\\n  & .chrome-picker input:focus {\\n    outline: 0 !important;\\n    border: none !important;\\n    background-image: linear-gradient(\\n      145deg,\\n      rgba(255, 255, 255, 0.2) 0%,\\n      rgba(0, 0, 0, 0.4) 100%\\n    ) !important;\\n    box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.6), inset 0 0 4px 0 rgba(0, 0, 0, 0.6),\\n      -1px -1px 0px 0px rgba(0, 0, 0, 0.6), 1px 1px 0px 0px rgba(255, 255, 255, 0.1) !important;\\n  }\\n\"]);return s=function(){return e},e}function p(){var e=_([\"\\n  .chrome-picker .flexbox-fix div:nth-child(2) > div:nth-child(2) > div {\\n    background: #fff !important;\\n  }\\n\"]);return p=function(){return e},e}function d(){var e=_([\"\\n        box-shadow: inset 0 0 1px 0 rgba(52, 52, 52, 0.4), inset 0 0 0 1px rgba(0, 0, 0, 0.2),\\n          0 0 12px 4px \",\" !important;\\n      \"]);return d=function(){return e},e}function h(){var e=_([\"\\n  & .chrome-picker .hue-horizontal > div > div,\\n  .chrome-picker\\n    > div:nth-child(2)\\n    > div:nth-child(1)\\n    > div:nth-child(2)\\n    > div:nth-child(2)\\n    > div\\n    > div:nth-child(3)\\n    > div\\n    > div {\\n    border-radius: 100% !important;\\n    border: none !important;\\n    background: #101010 !important;\\n    background-image: linear-gradient(\\n      135deg,\\n      rgba(255, 255, 255, 0.3) -50%,\\n      rgba(0, 0, 0, 0.7) 100%\\n    ) !important;\\n    transition: all 0.3s ease-in !important;\\n    \",\";\\n  }\\n\"]);return h=function(){return e},e}function b(){var e=_([\"\\n      border: 1px solid \",\";\\n    \"]);return b=function(){return e},e}function v(){var e=_([\"\\n  border-radius: 3px !important;\\n\\n  \",\" \",\";\\n\"]);return v=function(){return e},e}function g(){var e=_([\"\\n        border: 1px solid \",\" !important;\\n      \"]);return g=function(){return e},e}function x(){var e=_([\"\\n  & .chrome-picker .hue-horizontal > div > div,\\n  .chrome-picker\\n    > div:nth-child(2)\\n    > div:nth-child(1)\\n    > div:nth-child(2)\\n    > div:nth-child(2)\\n    > div\\n    > div:nth-child(3)\\n    > div\\n    > div {\\n    box-shadow: none !important;\\n    background-color: #fff;\\n    border-radius: 100% !important;\\n    \",\";\\n  }\\n\"]);return x=function(){return e},e}function y(){var e=_([\"\\n        width: \",\"px !important;\\n      \"]);return y=function(){return e},e}function m(){var e=_([\"\\n      opacity: \",\";\\n      cursor: not-allowed !important;\\n      & .chrome-picker {\\n        pointer-events: none !important;\\n      }\\n    \"]);return m=function(){return e},e}function w(){var e=_([\"\\n  \",\" & .chrome-picker {\\n    font-family: unset !important;\\n    box-shadow: none !important;\\n    \",\";\\n  }\\n\\n  & .chrome-picker svg {\\n    background: unset !important;\\n  }\\n\\n  & .chrome-picker svg:hover path {\\n    fill: \",\";\\n  }\\n\\n  \",\";\\n\"]);return w=function(){return e},e}function _(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var j=i.c.div(w(),(function(e){var t=e.disabled,r=e.theme;return t&&Object(i.b)(m(),r.dark?1:.65)}),(function(e){var t=e.size;return Object(i.b)(y(),t)}),(function(e){var t=e.theme;return e.color||t.primary}),(function(e){return e.theme.dark?P:E})),O=Object(i.b)(x(),(function(e){var t=e.theme;return Object(i.b)(g(),t.detail)})),E=Object(i.b)(v(),O,(function(e){var t=e.theme;return Object(i.b)(b(),t.detail)})),C=Object(i.b)(h(),(function(e){var t=e.glow;return Object(i.b)(d(),t)})),k=Object(i.b)(p()),S=Object(i.b)(s()),P=Object(i.b)(f(),C,S,k);j.defaultProps={theme:c.e};var M=r(7),B=r(61),A=r(4);function F(e){return(F=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function R(){return(R=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function T(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function z(e){return(z=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function H(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function D(e,t){return(D=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var L=c.c.PRIMARY,G=function(e){if((e=e||{}).rgb){var t=Object.values(e.rgb);return\"rgba(\".concat(t[0],\", \").concat(t[1],\", \").concat(t[2],\", \").concat(t[3],\")\")}return e.hex?l()(e.hex).rgb().string():L},I=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t),(r=function(e,t){return!t||\"object\"!==F(t)&&\"function\"!=typeof t?H(e):t}(this,z(t).call(this,e))).state={value:e.value},r.calcHandleGlow=r.calcHandleGlow.bind(H(r)),r.setValue=r.setValue.bind(H(r)),r}var r,n,i;return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&D(e,t)}(t,e),r=t,(n=[{key:\"UNSAFE_componentWillReceiveProps\",value:function(e){e.value!==this.state.value&&this.setState({value:e.value})}},{key:\"calcHandleGlow\",value:function(){return l()(G(this.state.value)).fade(.5).string()}},{key:\"setValue\",value:function(e){if(null!=e){var t={hex:e.hex,rgb:e.rgb};this.setState({value:t}),this.props.setProps&&this.props.setProps({value:t})}}},{key:\"render\",value:function(){var e=this.props,t=e.id,r=e.className,n=e.style,i=e.theme,u=Object(A.a)(\"colorpicker\",i),l=Object(A.b)(this.props);return o.a.createElement(\"div\",{id:t,className:u+(r?\" \"+r:\"\"),style:n},o.a.createElement(M.a,R({className:u+\"__label\"},l),o.a.createElement(j,R({className:u+\"__container\"},l,{glow:this.calcHandleGlow}),o.a.createElement(a.ChromePicker,{className:u+\"__chromepicker\",color:G(this.state.value),onChangeComplete:this.setValue}))))}}])&&T(r.prototype,n),i&&T(r,i),t}(n.Component);I.defaultProps=B.b,I.propTypes=B.c;t.default=Object(i.d)(I)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ReactCSS=t.loop=t.handleActive=t.handleHover=t.hover=void 0;var n=c(r(275)),o=c(r(351)),a=c(r(377)),i=c(r(378)),u=c(r(379)),l=c(r(380));function c(e){return e&&e.__esModule?e:{default:e}}t.hover=i.default,t.handleHover=i.default,t.handleActive=u.default,t.loop=l.default;var f=t.ReactCSS=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];var u=(0,n.default)(r),l=(0,o.default)(e,u);return(0,a.default)(l)};t.default=f},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=r(381);Object.defineProperty(t,\"Alpha\",{enumerable:!0,get:function(){return s(n).default}});var o=r(212);Object.defineProperty(t,\"Checkboard\",{enumerable:!0,get:function(){return s(o).default}});var a=r(384);Object.defineProperty(t,\"EditableInput\",{enumerable:!0,get:function(){return s(a).default}});var i=r(385);Object.defineProperty(t,\"Hue\",{enumerable:!0,get:function(){return s(i).default}});var u=r(387);Object.defineProperty(t,\"Raised\",{enumerable:!0,get:function(){return s(u).default}});var l=r(447);Object.defineProperty(t,\"Saturation\",{enumerable:!0,get:function(){return s(l).default}});var c=r(263);Object.defineProperty(t,\"ColorWrap\",{enumerable:!0,get:function(){return s(c).default}});var f=r(462);function s(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"Swatch\",{enumerable:!0,get:function(){return s(f).default}})},function(e,t,r){var n=r(388),o=r(438)((function(e,t,r){n(e,t,r)}));e.exports=o},function(e,t){var r=Array.isArray;e.exports=r},function(e,t,r){var n=r(251),o=\"object\"==typeof self&&self&&self.Object===Object&&self,a=n||o||Function(\"return this\")();e.exports=a},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}},function(e,t){var r=Array.isArray;e.exports=r},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.red=t.getContrastingColor=t.isValidHex=t.toState=t.simpleCheckForValidColor=void 0;var n=a(r(454)),o=a(r(62));function a(e){return e&&e.__esModule?e:{default:e}}t.simpleCheckForValidColor=function(e){var t=0,r=0;return(0,n.default)([\"r\",\"g\",\"b\",\"a\",\"h\",\"s\",\"l\",\"v\"],(function(n){if(e[n]&&(t+=1,isNaN(e[n])||(r+=1),\"s\"===n||\"l\"===n)){/^\\d+%$/.test(e[n])&&(r+=1)}})),t===r&&e};var i=t.toState=function(e,t){var r=e.hex?(0,o.default)(e.hex):(0,o.default)(e),n=r.toHsl(),a=r.toHsv(),i=r.toRgb(),u=r.toHex();return 0===n.s&&(n.h=t||0,a.h=t||0),{hsl:n,hex:\"000000\"===u&&0===i.a?\"transparent\":\"#\"+u,rgb:i,hsv:a,oldHue:e.h||t||n.h,source:e.source}};t.isValidHex=function(e){var t=\"#\"===String(e).charAt(0)?1:0;return e.length!==4+t&&e.length<7+t&&(0,o.default)(e).isValid()},t.getContrastingColor=function(e){if(!e)return\"#fff\";var t=i(e);return\"transparent\"===t.hex?\"rgba(0,0,0,0.4)\":(299*t.rgb.r+587*t.rgb.g+114*t.rgb.b)/1e3>=128?\"#000\":\"#fff\"},t.red={hsl:{a:1,h:0,l:.5,s:1},hex:\"#ff0000\",rgb:{r:255,g:0,b:0,a:1},hsv:{h:0,s:1,v:1,a:1}};t.default=t},function(e,t,r){var n=r(226),o=\"object\"==typeof self&&self&&self.Object===Object&&self,a=n||o||Function(\"return this\")();e.exports=a},function(e,t){e.exports=function(e){return null!=e&&\"object\"==typeof e}},function(e,t,r){var n=r(177),o=r(277),a=r(278),i=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?\"[object Undefined]\":\"[object Null]\":i&&i in Object(e)?o(e):a(e)}},function(e,t,r){var n=r(303),o=r(306);e.exports=function(e,t){var r=o(e,t);return n(r)?r:void 0}},function(e,t,r){var n=r(399),o=r(404);e.exports=function(e,t){var r=o(e,t);return n(r)?r:void 0}},function(e,t){e.exports=function(e){return null!=e&&\"object\"==typeof e}},function(e,t,r){var n=r(265),o=r(467),a=r(505),i=r(164);e.exports=function(e,t){return(i(e)?n:a)(e,o(t,3))}},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,\"loaded\",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,\"id\",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}},function(e,t,r){var n=r(190),o=r(400),a=r(401),i=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?\"[object Undefined]\":\"[object Null]\":i&&i in Object(e)?o(e):a(e)}},function(e,t,r){var n=r(215),o=r(220);e.exports=function(e){return null!=e&&o(e.length)&&!n(e)}},function(e,t,r){var n=r(166).Symbol;e.exports=n},function(e,t,r){var n=r(228),o=r(285),a=r(180);e.exports=function(e){return a(e)?n(e):o(e)}},function(e,t){e.exports=function(e,t){return e===t||e!=e&&t!=t}},function(e,t,r){var n=r(233),o=r(198);e.exports=function(e){return null!=e&&o(e.length)&&!n(e)}},function(e,t,r){var n=r(293),o=r(294),a=r(295),i=r(296),u=r(297);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=o,l.prototype.get=a,l.prototype.has=i,l.prototype.set=u,e.exports=l},function(e,t,r){var n=r(204);e.exports=function(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return-1}},function(e,t,r){var n=r(169)(Object,\"create\");e.exports=n},function(e,t,r){var n=r(315);e.exports=function(e,t){var r=e.__data__;return n(t)?r[\"string\"==typeof t?\"string\":\"hash\"]:r.map}},function(e,t,r){var n=r(330),o=r(205),a=r(331),i=r(332),u=r(333),l=r(168),c=r(236),f=c(n),s=c(o),p=c(a),d=c(i),h=c(u),b=l;(n&&\"[object DataView]\"!=b(new n(new ArrayBuffer(1)))||o&&\"[object Map]\"!=b(new o)||a&&\"[object Promise]\"!=b(a.resolve())||i&&\"[object Set]\"!=b(new i)||u&&\"[object WeakMap]\"!=b(new u))&&(b=function(e){var t=l(e),r=\"[object Object]\"==t?e.constructor:void 0,n=r?c(r):\"\";if(n)switch(n){case f:return\"[object DataView]\";case s:return\"[object Map]\";case p:return\"[object Promise]\";case d:return\"[object Set]\";case h:return\"[object WeakMap]\"}return t}),e.exports=b},function(e,t,r){var n=r(209);e.exports=function(e){if(\"string\"==typeof e||n(e))return e;var t=e+\"\";return\"0\"==t&&1/e==-1/0?\"-0\":t}},function(e,t,r){var n=r(248),o=r(249);e.exports=function(e,t,r,a){var i=!r;r||(r={});for(var u=-1,l=t.length;++u<l;){var c=t[u],f=a?a(r[c],e[c],c,r,e):void 0;void 0===f&&(f=e[c]),i?o(r,c,f):n(r,c,f)}return r}},function(e,t,r){var n=r(389),o=r(390),a=r(391),i=r(392),u=r(393);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=o,l.prototype.get=a,l.prototype.has=i,l.prototype.set=u,e.exports=l},function(e,t,r){var n=r(179);e.exports=function(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return-1}},function(e,t,r){var n=r(162).Symbol;e.exports=n},function(e,t,r){var n=r(170)(Object,\"create\");e.exports=n},function(e,t,r){var n=r(413);e.exports=function(e,t){var r=e.__data__;return n(t)?r[\"string\"==typeof t?\"string\":\"hash\"]:r.map}},function(e,t){e.exports=function(e){return e}},function(e,t,r){var n=r(175),o=r(171);e.exports=function(e){return\"symbol\"==typeof e||o(e)&&\"[object Symbol]\"==n(e)}},function(e,t,r){var n=r(194);e.exports=function(e){if(\"string\"==typeof e||n(e))return e;var t=e+\"\";return\"0\"==t&&1/e==-1/0?\"-0\":t}},function(e,t,r){var n=r(227),o=r(287);e.exports=function(e,t){return e&&n(e,o(t))}},function(e,t,r){(function(e){var n=r(166),o=r(283),a=t&&!t.nodeType&&t,i=a&&\"object\"==typeof e&&e&&!e.nodeType&&e,u=i&&i.exports===a?n.Buffer:void 0,l=(u?u.isBuffer:void 0)||o;e.exports=l}).call(this,r(173)(e))},function(e,t){e.exports=function(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},function(e,t){e.exports=function(e){return function(t){return e(t)}}},function(e,t,r){(function(e){var n=r(226),o=t&&!t.nodeType&&t,a=o&&\"object\"==typeof e&&e&&!e.nodeType&&e,i=a&&a.exports===o&&n.process,u=function(){try{var e=a&&a.require&&a.require(\"util\").types;return e||i&&i.binding&&i.binding(\"util\")}catch(e){}}();e.exports=u}).call(this,r(173)(e))},function(e,t){var r=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===(\"function\"==typeof t&&t.prototype||r)}},function(e,t,r){var n=r(232)(Object.getPrototypeOf,Object);e.exports=n},function(e,t,r){var n=r(181),o=r(298),a=r(299),i=r(300),u=r(301),l=r(302);function c(e){var t=this.__data__=new n(e);this.size=t.size}c.prototype.clear=o,c.prototype.delete=a,c.prototype.get=i,c.prototype.has=u,c.prototype.set=l,e.exports=c},function(e,t){e.exports=function(e,t){return e===t||e!=e&&t!=t}},function(e,t,r){var n=r(169)(r(166),\"Map\");e.exports=n},function(e,t,r){var n=r(307),o=r(314),a=r(316),i=r(317),u=r(318);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=o,l.prototype.get=a,l.prototype.has=i,l.prototype.set=u,e.exports=l},function(e,t,r){var n=r(329),o=r(243),a=Object.prototype.propertyIsEnumerable,i=Object.getOwnPropertySymbols,u=i?function(e){return null==e?[]:(e=Object(e),n(i(e),(function(t){return a.call(e,t)})))}:o;e.exports=u},function(e,t,r){var n=r(161),o=r(209),a=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,i=/^\\w*$/;e.exports=function(e,t){if(n(e))return!1;var r=typeof e;return!(\"number\"!=r&&\"symbol\"!=r&&\"boolean\"!=r&&null!=e&&!o(e))||(i.test(e)||!a.test(e)||null!=t&&e in Object(t))}},function(e,t,r){var n=r(168),o=r(167);e.exports=function(e){return\"symbol\"==typeof e||o(e)&&\"[object Symbol]\"==n(e)}},function(e,t,r){var n=r(228),o=r(358),a=r(180);e.exports=function(e){return a(e)?n(e,!0):o(e)}},function(e,t,r){var n=r(239);e.exports=function(e){var t=new e.constructor(e.byteLength);return new n(t).set(new n(e)),t}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Checkboard=void 0;var n=i(r(1)),o=i(r(158)),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(r(383));function i(e){return e&&e.__esModule?e:{default:e}}var u=t.Checkboard=function(e){var t=e.white,r=e.grey,i=e.size,u=e.renderers,l=e.borderRadius,c=e.boxShadow,f=(0,o.default)({default:{grid:{borderRadius:l,boxShadow:c,absolute:\"0px 0px 0px 0px\",background:\"url(\"+a.get(t,r,i,u.canvas)+\") center left\"}}});return n.default.createElement(\"div\",{style:f.grid})};u.defaultProps={size:8,white:\"transparent\",grey:\"rgba(0,0,0,.08)\",renderers:{}},t.default=u},function(e,t,r){var n=r(188),o=r(394),a=r(395),i=r(396),u=r(397),l=r(398);function c(e){var t=this.__data__=new n(e);this.size=t.size}c.prototype.clear=o,c.prototype.delete=a,c.prototype.get=i,c.prototype.has=u,c.prototype.set=l,e.exports=c},function(e,t,r){var n=r(170)(r(162),\"Map\");e.exports=n},function(e,t,r){var n=r(175),o=r(163);e.exports=function(e){if(!o(e))return!1;var t=n(e);return\"[object Function]\"==t||\"[object GeneratorFunction]\"==t||\"[object AsyncFunction]\"==t||\"[object Proxy]\"==t}},function(e,t,r){var n=r(405),o=r(412),a=r(414),i=r(415),u=r(416);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=o,l.prototype.get=a,l.prototype.has=i,l.prototype.set=u,e.exports=l},function(e,t,r){var n=r(254);e.exports=function(e,t,r){\"__proto__\"==t&&n?n(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}},function(e,t){var r=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===(\"function\"==typeof t&&t.prototype||r)}},function(e,t,r){var n=r(425),o=r(171),a=Object.prototype,i=a.hasOwnProperty,u=a.propertyIsEnumerable,l=n(function(){return arguments}())?n:function(e){return o(e)&&i.call(e,\"callee\")&&!u.call(e,\"callee\")};e.exports=l},function(e,t){e.exports=function(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},function(e,t,r){(function(e){var n=r(162),o=r(427),a=t&&!t.nodeType&&t,i=a&&\"object\"==typeof e&&e&&!e.nodeType&&e,u=i&&i.exports===a?n.Buffer:void 0,l=(u?u.isBuffer:void 0)||o;e.exports=l}).call(this,r(173)(e))},function(e,t,r){var n=r(429),o=r(430),a=r(431),i=a&&a.isTypedArray,u=i?o(i):n;e.exports=u},function(e,t){var r=/^(?:0|[1-9]\\d*)$/;e.exports=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&(\"number\"==n||\"symbol\"!=n&&r.test(e))&&e>-1&&e%1==0&&e<t}},function(e,t,r){var n=r(261),o=r(458),a=r(176);e.exports=function(e){return a(e)?n(e):o(e)}},function(e,t,r){var n=r(164),o=r(194),a=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,i=/^\\w*$/;e.exports=function(e,t){if(n(e))return!1;var r=typeof e;return!(\"number\"!=r&&\"symbol\"!=r&&\"boolean\"!=r&&null!=e&&!o(e))||(i.test(e)||!a.test(e)||null!=t&&e in Object(t))}},function(e,t,r){(function(t){var r=\"object\"==typeof t&&t&&t.Object===Object&&t;e.exports=r}).call(this,r(60))},function(e,t,r){var n=r(279),o=r(178);e.exports=function(e,t){return e&&n(e,t,o)}},function(e,t,r){var n=r(281),o=r(229),a=r(161),i=r(197),u=r(230),l=r(231),c=Object.prototype.hasOwnProperty;e.exports=function(e,t){var r=a(e),f=!r&&o(e),s=!r&&!f&&i(e),p=!r&&!f&&!s&&l(e),d=r||f||s||p,h=d?n(e.length,String):[],b=h.length;for(var v in e)!t&&!c.call(e,v)||d&&(\"length\"==v||s&&(\"offset\"==v||\"parent\"==v)||p&&(\"buffer\"==v||\"byteLength\"==v||\"byteOffset\"==v)||u(v,b))||h.push(v);return h}},function(e,t,r){var n=r(282),o=r(167),a=Object.prototype,i=a.hasOwnProperty,u=a.propertyIsEnumerable,l=n(function(){return arguments}())?n:function(e){return o(e)&&i.call(e,\"callee\")&&!u.call(e,\"callee\")};e.exports=l},function(e,t){var r=/^(?:0|[1-9]\\d*)$/;e.exports=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&(\"number\"==n||\"symbol\"!=n&&r.test(e))&&e>-1&&e%1==0&&e<t}},function(e,t,r){var n=r(284),o=r(199),a=r(200),i=a&&a.isTypedArray,u=i?o(i):n;e.exports=u},function(e,t){e.exports=function(e,t){return function(r){return e(t(r))}}},function(e,t,r){var n=r(168),o=r(174);e.exports=function(e){if(!o(e))return!1;var t=n(e);return\"[object Function]\"==t||\"[object GeneratorFunction]\"==t||\"[object AsyncFunction]\"==t||\"[object Proxy]\"==t}},function(e,t){e.exports=function(e){return e}},function(e,t){e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o}},function(e,t){var r=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return r.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}},function(e,t,r){var n=r(319),o=r(167);e.exports=function e(t,r,a,i,u){return t===r||(null==t||null==r||!o(t)&&!o(r)?t!=t&&r!=r:n(t,r,a,i,e,u))}},function(e,t,r){var n=r(320),o=r(323),a=r(324);e.exports=function(e,t,r,i,u,l){var c=1&r,f=e.length,s=t.length;if(f!=s&&!(c&&s>f))return!1;var p=l.get(e),d=l.get(t);if(p&&d)return p==t&&d==e;var h=-1,b=!0,v=2&r?new n:void 0;for(l.set(e,t),l.set(t,e);++h<f;){var g=e[h],x=t[h];if(i)var y=c?i(x,g,h,t,e,l):i(g,x,h,e,t,l);if(void 0!==y){if(y)continue;b=!1;break}if(v){if(!o(t,(function(e,t){if(!a(v,t)&&(g===e||u(g,e,r,i,l)))return v.push(t)}))){b=!1;break}}else if(g!==x&&!u(g,x,r,i,l)){b=!1;break}}return l.delete(e),l.delete(t),b}},function(e,t,r){var n=r(166).Uint8Array;e.exports=n},function(e,t,r){var n=r(241),o=r(207),a=r(178);e.exports=function(e){return n(e,a,o)}},function(e,t,r){var n=r(242),o=r(161);e.exports=function(e,t,r){var a=t(e);return o(e)?a:n(a,r(e))}},function(e,t){e.exports=function(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e}},function(e,t){e.exports=function(){return[]}},function(e,t,r){var n=r(174);e.exports=function(e){return e==e&&!n(e)}},function(e,t){e.exports=function(e,t){return function(r){return null!=r&&(r[e]===t&&(void 0!==t||e in Object(r)))}}},function(e,t,r){var n=r(247),o=r(186);e.exports=function(e,t){for(var r=0,a=(t=n(t,e)).length;null!=e&&r<a;)e=e[o(t[r++])];return r&&r==a?e:void 0}},function(e,t,r){var n=r(161),o=r(208),a=r(337),i=r(340);e.exports=function(e,t){return n(e)?e:o(e,t)?[e]:a(i(e))}},function(e,t,r){var n=r(249),o=r(204),a=Object.prototype.hasOwnProperty;e.exports=function(e,t,r){var i=e[t];a.call(e,t)&&o(i,r)&&(void 0!==r||t in e)||n(e,t,r)}},function(e,t,r){var n=r(355);e.exports=function(e,t,r){\"__proto__\"==t&&n?n(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}},function(e,t,r){var n=r(242),o=r(202),a=r(207),i=r(243),u=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)n(t,a(e)),e=o(e);return t}:i;e.exports=u},function(e,t,r){(function(t){var r=\"object\"==typeof t&&t&&t.Object===Object&&t;e.exports=r}).call(this,r(60))},function(e,t){var r=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return r.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}},function(e,t,r){var n=r(217),o=r(179);e.exports=function(e,t,r){(void 0!==r&&!o(e[t],r)||void 0===r&&!(t in e))&&n(e,t,r)}},function(e,t,r){var n=r(170),o=function(){try{var e=n(Object,\"defineProperty\");return e({},\"\",{}),e}catch(e){}}();e.exports=o},function(e,t,r){var n=r(417)();e.exports=n},function(e,t,r){var n=r(162).Uint8Array;e.exports=n},function(e,t,r){var n=r(258)(Object.getPrototypeOf,Object);e.exports=n},function(e,t){e.exports=function(e,t){return function(r){return e(t(r))}}},function(e,t){e.exports=function(e,t){if((\"constructor\"!==t||\"function\"!=typeof e[t])&&\"__proto__\"!=t)return e[t]}},function(e,t,r){var n=r(261),o=r(436),a=r(176);e.exports=function(e){return a(e)?n(e,!0):o(e)}},function(e,t,r){var n=r(435),o=r(219),a=r(164),i=r(221),u=r(223),l=r(222),c=Object.prototype.hasOwnProperty;e.exports=function(e,t){var r=a(e),f=!r&&o(e),s=!r&&!f&&i(e),p=!r&&!f&&!s&&l(e),d=r||f||s||p,h=d?n(e.length,String):[],b=h.length;for(var v in e)!t&&!c.call(e,v)||d&&(\"length\"==v||s&&(\"offset\"==v||\"parent\"==v)||p&&(\"buffer\"==v||\"byteLength\"==v||\"byteOffset\"==v)||u(v,b))||h.push(v);return h}},function(e,t,r){var n=r(163),o=r(449),a=r(450),i=Math.max,u=Math.min;e.exports=function(e,t,r){var l,c,f,s,p,d,h=0,b=!1,v=!1,g=!0;if(\"function\"!=typeof e)throw new TypeError(\"Expected a function\");function x(t){var r=l,n=c;return l=c=void 0,h=t,s=e.apply(n,r)}function y(e){return h=e,p=setTimeout(w,t),b?x(e):s}function m(e){var r=e-d;return void 0===d||r>=t||r<0||v&&e-h>=f}function w(){var e=o();if(m(e))return _(e);p=setTimeout(w,function(e){var r=t-(e-d);return v?u(r,f-(e-h)):r}(e))}function _(e){return p=void 0,g&&l?x(e):(l=c=void 0,s)}function j(){var e=o(),r=m(e);if(l=arguments,c=this,d=e,r){if(void 0===p)return y(d);if(v)return clearTimeout(p),p=setTimeout(w,t),x(d)}return void 0===p&&(p=setTimeout(w,t)),s}return t=a(t)||0,n(r)&&(b=!!r.leading,f=(v=\"maxWait\"in r)?i(a(r.maxWait)||0,t):f,g=\"trailing\"in r?!!r.trailing:g),j.cancel=function(){void 0!==p&&clearTimeout(p),h=0,l=d=c=p=void 0},j.flush=function(){return void 0===p?s:_(o())},j}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ColorWrap=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),a=r(1),i=c(a),u=c(r(262)),l=c(r(165));function c(e){return e&&e.__esModule?e:{default:e}}var f=t.ColorWrap=function(e){var t=function(t){function r(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,r);var t=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(r.__proto__||Object.getPrototypeOf(r)).call(this));return t.handleChange=function(e,r){if(l.default.simpleCheckForValidColor(e)){var n=l.default.toState(e,e.h||t.state.oldHue);t.setState(n),t.props.onChangeComplete&&t.debounce(t.props.onChangeComplete,n,r),t.props.onChange&&t.props.onChange(n,r)}},t.handleSwatchHover=function(e,r){if(l.default.simpleCheckForValidColor(e)){var n=l.default.toState(e,e.h||t.state.oldHue);t.props.onSwatchHover&&t.props.onSwatchHover(n,r)}},t.state=n({},l.default.toState(e.color,0)),t.debounce=(0,u.default)((function(e,t,r){e(t,r)}),100),t}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(r,t),o(r,[{key:\"render\",value:function(){var t={};return this.props.onSwatchHover&&(t.onSwatchHover=this.handleSwatchHover),i.default.createElement(e,n({},this.props,this.state,{onChange:this.handleChange},t))}}],[{key:\"getDerivedStateFromProps\",value:function(e,t){return n({},l.default.toState(e.color,t.oldHue))}}]),r}(a.PureComponent||a.Component);return t.propTypes=n({},e.propTypes),t.defaultProps=n({},e.defaultProps,{color:{h:250,s:.5,l:.2,a:1}}),t};t.default=f},function(e,t,r){var n=r(457),o=r(460)(n);e.exports=o},function(e,t){e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o}},function(e,t,r){var n=r(470),o=r(171);e.exports=function e(t,r,a,i,u){return t===r||(null==t||null==r||!o(t)&&!o(r)?t!=t&&r!=r:n(t,r,a,i,e,u))}},function(e,t,r){var n=r(471),o=r(474),a=r(475);e.exports=function(e,t,r,i,u,l){var c=1&r,f=e.length,s=t.length;if(f!=s&&!(c&&s>f))return!1;var p=l.get(e),d=l.get(t);if(p&&d)return p==t&&d==e;var h=-1,b=!0,v=2&r?new n:void 0;for(l.set(e,t),l.set(t,e);++h<f;){var g=e[h],x=t[h];if(i)var y=c?i(x,g,h,t,e,l):i(g,x,h,e,t,l);if(void 0!==y){if(y)continue;b=!1;break}if(v){if(!o(t,(function(e,t){if(!a(v,t)&&(g===e||u(g,e,r,i,l)))return v.push(t)}))){b=!1;break}}else if(g!==x&&!u(g,x,r,i,l)){b=!1;break}}return l.delete(e),l.delete(t),b}},function(e,t,r){var n=r(163);e.exports=function(e){return e==e&&!n(e)}},function(e,t){e.exports=function(e,t){return function(r){return null!=r&&(r[e]===t&&(void 0!==t||e in Object(r)))}}},function(e,t,r){var n=r(271),o=r(195);e.exports=function(e,t){for(var r=0,a=(t=n(t,e)).length;null!=e&&r<a;)e=e[o(t[r++])];return r&&r==a?e:void 0}},function(e,t,r){var n=r(164),o=r(225),a=r(494),i=r(497);e.exports=function(e,t){return n(e)?e:o(e,t)?[e]:a(i(e))}},function(e,t,r){\"use strict\";r.r(t),r.d(t,\"red\",(function(){return n})),r.d(t,\"pink\",(function(){return o})),r.d(t,\"purple\",(function(){return a})),r.d(t,\"deepPurple\",(function(){return i})),r.d(t,\"indigo\",(function(){return u})),r.d(t,\"blue\",(function(){return l})),r.d(t,\"lightBlue\",(function(){return c})),r.d(t,\"cyan\",(function(){return f})),r.d(t,\"teal\",(function(){return s})),r.d(t,\"green\",(function(){return p})),r.d(t,\"lightGreen\",(function(){return d})),r.d(t,\"lime\",(function(){return h})),r.d(t,\"yellow\",(function(){return b})),r.d(t,\"amber\",(function(){return v})),r.d(t,\"orange\",(function(){return g})),r.d(t,\"deepOrange\",(function(){return x})),r.d(t,\"brown\",(function(){return y})),r.d(t,\"grey\",(function(){return m})),r.d(t,\"blueGrey\",(function(){return w})),r.d(t,\"darkText\",(function(){return _})),r.d(t,\"lightText\",(function(){return j})),r.d(t,\"darkIcons\",(function(){return O})),r.d(t,\"lightIcons\",(function(){return E})),r.d(t,\"white\",(function(){return C})),r.d(t,\"black\",(function(){return k}));var n={50:\"#ffebee\",100:\"#ffcdd2\",200:\"#ef9a9a\",300:\"#e57373\",400:\"#ef5350\",500:\"#f44336\",600:\"#e53935\",700:\"#d32f2f\",800:\"#c62828\",900:\"#b71c1c\",a100:\"#ff8a80\",a200:\"#ff5252\",a400:\"#ff1744\",a700:\"#d50000\"},o={50:\"#fce4ec\",100:\"#f8bbd0\",200:\"#f48fb1\",300:\"#f06292\",400:\"#ec407a\",500:\"#e91e63\",600:\"#d81b60\",700:\"#c2185b\",800:\"#ad1457\",900:\"#880e4f\",a100:\"#ff80ab\",a200:\"#ff4081\",a400:\"#f50057\",a700:\"#c51162\"},a={50:\"#f3e5f5\",100:\"#e1bee7\",200:\"#ce93d8\",300:\"#ba68c8\",400:\"#ab47bc\",500:\"#9c27b0\",600:\"#8e24aa\",700:\"#7b1fa2\",800:\"#6a1b9a\",900:\"#4a148c\",a100:\"#ea80fc\",a200:\"#e040fb\",a400:\"#d500f9\",a700:\"#aa00ff\"},i={50:\"#ede7f6\",100:\"#d1c4e9\",200:\"#b39ddb\",300:\"#9575cd\",400:\"#7e57c2\",500:\"#673ab7\",600:\"#5e35b1\",700:\"#512da8\",800:\"#4527a0\",900:\"#311b92\",a100:\"#b388ff\",a200:\"#7c4dff\",a400:\"#651fff\",a700:\"#6200ea\"},u={50:\"#e8eaf6\",100:\"#c5cae9\",200:\"#9fa8da\",300:\"#7986cb\",400:\"#5c6bc0\",500:\"#3f51b5\",600:\"#3949ab\",700:\"#303f9f\",800:\"#283593\",900:\"#1a237e\",a100:\"#8c9eff\",a200:\"#536dfe\",a400:\"#3d5afe\",a700:\"#304ffe\"},l={50:\"#e3f2fd\",100:\"#bbdefb\",200:\"#90caf9\",300:\"#64b5f6\",400:\"#42a5f5\",500:\"#2196f3\",600:\"#1e88e5\",700:\"#1976d2\",800:\"#1565c0\",900:\"#0d47a1\",a100:\"#82b1ff\",a200:\"#448aff\",a400:\"#2979ff\",a700:\"#2962ff\"},c={50:\"#e1f5fe\",100:\"#b3e5fc\",200:\"#81d4fa\",300:\"#4fc3f7\",400:\"#29b6f6\",500:\"#03a9f4\",600:\"#039be5\",700:\"#0288d1\",800:\"#0277bd\",900:\"#01579b\",a100:\"#80d8ff\",a200:\"#40c4ff\",a400:\"#00b0ff\",a700:\"#0091ea\"},f={50:\"#e0f7fa\",100:\"#b2ebf2\",200:\"#80deea\",300:\"#4dd0e1\",400:\"#26c6da\",500:\"#00bcd4\",600:\"#00acc1\",700:\"#0097a7\",800:\"#00838f\",900:\"#006064\",a100:\"#84ffff\",a200:\"#18ffff\",a400:\"#00e5ff\",a700:\"#00b8d4\"},s={50:\"#e0f2f1\",100:\"#b2dfdb\",200:\"#80cbc4\",300:\"#4db6ac\",400:\"#26a69a\",500:\"#009688\",600:\"#00897b\",700:\"#00796b\",800:\"#00695c\",900:\"#004d40\",a100:\"#a7ffeb\",a200:\"#64ffda\",a400:\"#1de9b6\",a700:\"#00bfa5\"},p={50:\"#e8f5e9\",100:\"#c8e6c9\",200:\"#a5d6a7\",300:\"#81c784\",400:\"#66bb6a\",500:\"#4caf50\",600:\"#43a047\",700:\"#388e3c\",800:\"#2e7d32\",900:\"#1b5e20\",a100:\"#b9f6ca\",a200:\"#69f0ae\",a400:\"#00e676\",a700:\"#00c853\"},d={50:\"#f1f8e9\",100:\"#dcedc8\",200:\"#c5e1a5\",300:\"#aed581\",400:\"#9ccc65\",500:\"#8bc34a\",600:\"#7cb342\",700:\"#689f38\",800:\"#558b2f\",900:\"#33691e\",a100:\"#ccff90\",a200:\"#b2ff59\",a400:\"#76ff03\",a700:\"#64dd17\"},h={50:\"#f9fbe7\",100:\"#f0f4c3\",200:\"#e6ee9c\",300:\"#dce775\",400:\"#d4e157\",500:\"#cddc39\",600:\"#c0ca33\",700:\"#afb42b\",800:\"#9e9d24\",900:\"#827717\",a100:\"#f4ff81\",a200:\"#eeff41\",a400:\"#c6ff00\",a700:\"#aeea00\"},b={50:\"#fffde7\",100:\"#fff9c4\",200:\"#fff59d\",300:\"#fff176\",400:\"#ffee58\",500:\"#ffeb3b\",600:\"#fdd835\",700:\"#fbc02d\",800:\"#f9a825\",900:\"#f57f17\",a100:\"#ffff8d\",a200:\"#ffff00\",a400:\"#ffea00\",a700:\"#ffd600\"},v={50:\"#fff8e1\",100:\"#ffecb3\",200:\"#ffe082\",300:\"#ffd54f\",400:\"#ffca28\",500:\"#ffc107\",600:\"#ffb300\",700:\"#ffa000\",800:\"#ff8f00\",900:\"#ff6f00\",a100:\"#ffe57f\",a200:\"#ffd740\",a400:\"#ffc400\",a700:\"#ffab00\"},g={50:\"#fff3e0\",100:\"#ffe0b2\",200:\"#ffcc80\",300:\"#ffb74d\",400:\"#ffa726\",500:\"#ff9800\",600:\"#fb8c00\",700:\"#f57c00\",800:\"#ef6c00\",900:\"#e65100\",a100:\"#ffd180\",a200:\"#ffab40\",a400:\"#ff9100\",a700:\"#ff6d00\"},x={50:\"#fbe9e7\",100:\"#ffccbc\",200:\"#ffab91\",300:\"#ff8a65\",400:\"#ff7043\",500:\"#ff5722\",600:\"#f4511e\",700:\"#e64a19\",800:\"#d84315\",900:\"#bf360c\",a100:\"#ff9e80\",a200:\"#ff6e40\",a400:\"#ff3d00\",a700:\"#dd2c00\"},y={50:\"#efebe9\",100:\"#d7ccc8\",200:\"#bcaaa4\",300:\"#a1887f\",400:\"#8d6e63\",500:\"#795548\",600:\"#6d4c41\",700:\"#5d4037\",800:\"#4e342e\",900:\"#3e2723\"},m={50:\"#fafafa\",100:\"#f5f5f5\",200:\"#eeeeee\",300:\"#e0e0e0\",400:\"#bdbdbd\",500:\"#9e9e9e\",600:\"#757575\",700:\"#616161\",800:\"#424242\",900:\"#212121\"},w={50:\"#eceff1\",100:\"#cfd8dc\",200:\"#b0bec5\",300:\"#90a4ae\",400:\"#78909c\",500:\"#607d8b\",600:\"#546e7a\",700:\"#455a64\",800:\"#37474f\",900:\"#263238\"},_={primary:\"rgba(0, 0, 0, 0.87)\",secondary:\"rgba(0, 0, 0, 0.54)\",disabled:\"rgba(0, 0, 0, 0.38)\",dividers:\"rgba(0, 0, 0, 0.12)\"},j={primary:\"rgba(255, 255, 255, 1)\",secondary:\"rgba(255, 255, 255, 0.7)\",disabled:\"rgba(255, 255, 255, 0.5)\",dividers:\"rgba(255, 255, 255, 0.12)\"},O={active:\"rgba(0, 0, 0, 0.54)\",inactive:\"rgba(0, 0, 0, 0.38)\"},E={active:\"rgba(255, 255, 255, 1)\",inactive:\"rgba(255, 255, 255, 0.5)\"},C=\"#ffffff\",k=\"#000000\";t.default={red:n,pink:o,purple:a,deepPurple:i,indigo:u,blue:l,lightBlue:c,cyan:f,teal:s,green:p,lightGreen:d,lime:h,yellow:b,amber:v,orange:g,deepOrange:x,brown:y,grey:m,blueGrey:w,darkText:_,lightText:j,darkIcons:O,lightIcons:E,white:C,black:k}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.CustomPicker=t.TwitterPicker=t.SwatchesPicker=t.SliderPicker=t.SketchPicker=t.PhotoshopPicker=t.MaterialPicker=t.HuePicker=t.GithubPicker=t.CompactPicker=t.ChromePicker=t.default=t.CirclePicker=t.BlockPicker=t.AlphaPicker=void 0;var n=r(274);Object.defineProperty(t,\"AlphaPicker\",{enumerable:!0,get:function(){return x(n).default}});var o=r(465);Object.defineProperty(t,\"BlockPicker\",{enumerable:!0,get:function(){return x(o).default}});var a=r(506);Object.defineProperty(t,\"CirclePicker\",{enumerable:!0,get:function(){return x(a).default}});var i=r(508);Object.defineProperty(t,\"ChromePicker\",{enumerable:!0,get:function(){return x(i).default}});var u=r(513);Object.defineProperty(t,\"CompactPicker\",{enumerable:!0,get:function(){return x(u).default}});var l=r(516);Object.defineProperty(t,\"GithubPicker\",{enumerable:!0,get:function(){return x(l).default}});var c=r(518);Object.defineProperty(t,\"HuePicker\",{enumerable:!0,get:function(){return x(c).default}});var f=r(520);Object.defineProperty(t,\"MaterialPicker\",{enumerable:!0,get:function(){return x(f).default}});var s=r(521);Object.defineProperty(t,\"PhotoshopPicker\",{enumerable:!0,get:function(){return x(s).default}});var p=r(527);Object.defineProperty(t,\"SketchPicker\",{enumerable:!0,get:function(){return x(p).default}});var d=r(530);Object.defineProperty(t,\"SliderPicker\",{enumerable:!0,get:function(){return x(d).default}});var h=r(534);Object.defineProperty(t,\"SwatchesPicker\",{enumerable:!0,get:function(){return x(h).default}});var b=r(538);Object.defineProperty(t,\"TwitterPicker\",{enumerable:!0,get:function(){return x(b).default}});var v=r(263);Object.defineProperty(t,\"CustomPicker\",{enumerable:!0,get:function(){return x(v).default}});var g=x(i);function x(e){return e&&e.__esModule?e:{default:e}}t.default=g.default},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.AlphaPicker=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o=l(r(1)),a=l(r(158)),i=r(159),u=l(r(464));function l(e){return e&&e.__esModule?e:{default:e}}var c=t.AlphaPicker=function(e){var t=e.rgb,r=e.hsl,u=e.width,l=e.height,c=e.onChange,f=e.direction,s=e.style,p=e.renderers,d=e.pointer,h=e.className,b=void 0===h?\"\":h,v=(0,a.default)({default:{picker:{position:\"relative\",width:u,height:l},alpha:{radius:\"2px\",style:s}}});return o.default.createElement(\"div\",{style:v.picker,className:\"alpha-picker \"+b},o.default.createElement(i.Alpha,n({},v.alpha,{rgb:t,hsl:r,pointer:d,renderers:p,onChange:c,direction:f})))};c.defaultProps={width:\"316px\",height:\"16px\",direction:\"horizontal\",pointer:u.default},t.default=(0,i.ColorWrap)(c)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.flattenNames=void 0;var n=u(r(276)),o=u(r(196)),a=u(r(288)),i=u(r(289));function u(e){return e&&e.__esModule?e:{default:e}}var l=t.flattenNames=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=[];return(0,i.default)(t,(function(t){Array.isArray(t)?e(t).map((function(e){return r.push(e)})):(0,a.default)(t)?(0,o.default)(t,(function(e,t){!0===e&&r.push(t),r.push(t+\"-\"+e)})):(0,n.default)(t)&&r.push(t)})),r};t.default=l},function(e,t,r){var n=r(168),o=r(161),a=r(167);e.exports=function(e){return\"string\"==typeof e||!o(e)&&a(e)&&\"[object String]\"==n(e)}},function(e,t,r){var n=r(177),o=Object.prototype,a=o.hasOwnProperty,i=o.toString,u=n?n.toStringTag:void 0;e.exports=function(e){var t=a.call(e,u),r=e[u];try{e[u]=void 0;var n=!0}catch(e){}var o=i.call(e);return n&&(t?e[u]=r:delete e[u]),o}},function(e,t){var r=Object.prototype.toString;e.exports=function(e){return r.call(e)}},function(e,t,r){var n=r(280)();e.exports=n},function(e,t){e.exports=function(e){return function(t,r,n){for(var o=-1,a=Object(t),i=n(t),u=i.length;u--;){var l=i[e?u:++o];if(!1===r(a[l],l,a))break}return t}}},function(e,t){e.exports=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}},function(e,t,r){var n=r(168),o=r(167);e.exports=function(e){return o(e)&&\"[object Arguments]\"==n(e)}},function(e,t){e.exports=function(){return!1}},function(e,t,r){var n=r(168),o=r(198),a=r(167),i={};i[\"[object Float32Array]\"]=i[\"[object Float64Array]\"]=i[\"[object Int8Array]\"]=i[\"[object Int16Array]\"]=i[\"[object Int32Array]\"]=i[\"[object Uint8Array]\"]=i[\"[object Uint8ClampedArray]\"]=i[\"[object Uint16Array]\"]=i[\"[object Uint32Array]\"]=!0,i[\"[object Arguments]\"]=i[\"[object Array]\"]=i[\"[object ArrayBuffer]\"]=i[\"[object Boolean]\"]=i[\"[object DataView]\"]=i[\"[object Date]\"]=i[\"[object Error]\"]=i[\"[object Function]\"]=i[\"[object Map]\"]=i[\"[object Number]\"]=i[\"[object Object]\"]=i[\"[object RegExp]\"]=i[\"[object Set]\"]=i[\"[object String]\"]=i[\"[object WeakMap]\"]=!1,e.exports=function(e){return a(e)&&o(e.length)&&!!i[n(e)]}},function(e,t,r){var n=r(201),o=r(286),a=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return o(e);var t=[];for(var r in Object(e))a.call(e,r)&&\"constructor\"!=r&&t.push(r);return t}},function(e,t,r){var n=r(232)(Object.keys,Object);e.exports=n},function(e,t,r){var n=r(234);e.exports=function(e){return\"function\"==typeof e?e:n}},function(e,t,r){var n=r(168),o=r(202),a=r(167),i=Function.prototype,u=Object.prototype,l=i.toString,c=u.hasOwnProperty,f=l.call(Object);e.exports=function(e){if(!a(e)||\"[object Object]\"!=n(e))return!1;var t=o(e);if(null===t)return!0;var r=c.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof r&&r instanceof r&&l.call(r)==f}},function(e,t,r){var n=r(235),o=r(290),a=r(348),i=r(161);e.exports=function(e,t){return(i(e)?n:a)(e,o(t,3))}},function(e,t,r){var n=r(291),o=r(335),a=r(234),i=r(161),u=r(345);e.exports=function(e){return\"function\"==typeof e?e:null==e?a:\"object\"==typeof e?i(e)?o(e[0],e[1]):n(e):u(e)}},function(e,t,r){var n=r(292),o=r(334),a=r(245);e.exports=function(e){var t=o(e);return 1==t.length&&t[0][2]?a(t[0][0],t[0][1]):function(r){return r===e||n(r,e,t)}}},function(e,t,r){var n=r(203),o=r(237);e.exports=function(e,t,r,a){var i=r.length,u=i,l=!a;if(null==e)return!u;for(e=Object(e);i--;){var c=r[i];if(l&&c[2]?c[1]!==e[c[0]]:!(c[0]in e))return!1}for(;++i<u;){var f=(c=r[i])[0],s=e[f],p=c[1];if(l&&c[2]){if(void 0===s&&!(f in e))return!1}else{var d=new n;if(a)var h=a(s,p,f,e,t,d);if(!(void 0===h?o(p,s,3,a,d):h))return!1}}return!0}},function(e,t){e.exports=function(){this.__data__=[],this.size=0}},function(e,t,r){var n=r(182),o=Array.prototype.splice;e.exports=function(e){var t=this.__data__,r=n(t,e);return!(r<0)&&(r==t.length-1?t.pop():o.call(t,r,1),--this.size,!0)}},function(e,t,r){var n=r(182);e.exports=function(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}},function(e,t,r){var n=r(182);e.exports=function(e){return n(this.__data__,e)>-1}},function(e,t,r){var n=r(182);e.exports=function(e,t){var r=this.__data__,o=n(r,e);return o<0?(++this.size,r.push([e,t])):r[o][1]=t,this}},function(e,t,r){var n=r(181);e.exports=function(){this.__data__=new n,this.size=0}},function(e,t){e.exports=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}},function(e,t){e.exports=function(e){return this.__data__.get(e)}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t,r){var n=r(181),o=r(205),a=r(206);e.exports=function(e,t){var r=this.__data__;if(r instanceof n){var i=r.__data__;if(!o||i.length<199)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new a(i)}return r.set(e,t),this.size=r.size,this}},function(e,t,r){var n=r(233),o=r(304),a=r(174),i=r(236),u=/^\\[object .+?Constructor\\]$/,l=Function.prototype,c=Object.prototype,f=l.toString,s=c.hasOwnProperty,p=RegExp(\"^\"+f.call(s).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");e.exports=function(e){return!(!a(e)||o(e))&&(n(e)?p:u).test(i(e))}},function(e,t,r){var n,o=r(305),a=(n=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+n:\"\";e.exports=function(e){return!!a&&a in e}},function(e,t,r){var n=r(166)[\"__core-js_shared__\"];e.exports=n},function(e,t){e.exports=function(e,t){return null==e?void 0:e[t]}},function(e,t,r){var n=r(308),o=r(181),a=r(205);e.exports=function(){this.size=0,this.__data__={hash:new n,map:new(a||o),string:new n}}},function(e,t,r){var n=r(309),o=r(310),a=r(311),i=r(312),u=r(313);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=o,l.prototype.get=a,l.prototype.has=i,l.prototype.set=u,e.exports=l},function(e,t,r){var n=r(183);e.exports=function(){this.__data__=n?n(null):{},this.size=0}},function(e,t){e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},function(e,t,r){var n=r(183),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(n){var r=t[e];return\"__lodash_hash_undefined__\"===r?void 0:r}return o.call(t,e)?t[e]:void 0}},function(e,t,r){var n=r(183),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return n?void 0!==t[e]:o.call(t,e)}},function(e,t,r){var n=r(183);e.exports=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=n&&void 0===t?\"__lodash_hash_undefined__\":t,this}},function(e,t,r){var n=r(184);e.exports=function(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}},function(e,t){e.exports=function(e){var t=typeof e;return\"string\"==t||\"number\"==t||\"symbol\"==t||\"boolean\"==t?\"__proto__\"!==e:null===e}},function(e,t,r){var n=r(184);e.exports=function(e){return n(this,e).get(e)}},function(e,t,r){var n=r(184);e.exports=function(e){return n(this,e).has(e)}},function(e,t,r){var n=r(184);e.exports=function(e,t){var r=n(this,e),o=r.size;return r.set(e,t),this.size+=r.size==o?0:1,this}},function(e,t,r){var n=r(203),o=r(238),a=r(325),i=r(328),u=r(185),l=r(161),c=r(197),f=r(231),s=\"[object Object]\",p=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,d,h,b){var v=l(e),g=l(t),x=v?\"[object Array]\":u(e),y=g?\"[object Array]\":u(t),m=(x=\"[object Arguments]\"==x?s:x)==s,w=(y=\"[object Arguments]\"==y?s:y)==s,_=x==y;if(_&&c(e)){if(!c(t))return!1;v=!0,m=!1}if(_&&!m)return b||(b=new n),v||f(e)?o(e,t,r,d,h,b):a(e,t,x,r,d,h,b);if(!(1&r)){var j=m&&p.call(e,\"__wrapped__\"),O=w&&p.call(t,\"__wrapped__\");if(j||O){var E=j?e.value():e,C=O?t.value():t;return b||(b=new n),h(E,C,r,d,b)}}return!!_&&(b||(b=new n),i(e,t,r,d,h,b))}},function(e,t,r){var n=r(206),o=r(321),a=r(322);function i(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new n;++t<r;)this.add(e[t])}i.prototype.add=i.prototype.push=o,i.prototype.has=a,e.exports=i},function(e,t){e.exports=function(e){return this.__data__.set(e,\"__lodash_hash_undefined__\"),this}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t){e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}},function(e,t){e.exports=function(e,t){return e.has(t)}},function(e,t,r){var n=r(177),o=r(239),a=r(204),i=r(238),u=r(326),l=r(327),c=n?n.prototype:void 0,f=c?c.valueOf:void 0;e.exports=function(e,t,r,n,c,s,p){switch(r){case\"[object DataView]\":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case\"[object ArrayBuffer]\":return!(e.byteLength!=t.byteLength||!s(new o(e),new o(t)));case\"[object Boolean]\":case\"[object Date]\":case\"[object Number]\":return a(+e,+t);case\"[object Error]\":return e.name==t.name&&e.message==t.message;case\"[object RegExp]\":case\"[object String]\":return e==t+\"\";case\"[object Map]\":var d=u;case\"[object Set]\":var h=1&n;if(d||(d=l),e.size!=t.size&&!h)return!1;var b=p.get(e);if(b)return b==t;n|=2,p.set(e,t);var v=i(d(e),d(t),n,c,s,p);return p.delete(e),v;case\"[object Symbol]\":if(f)return f.call(e)==f.call(t)}return!1}},function(e,t){e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}},function(e,t){e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}},function(e,t,r){var n=r(240),o=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,a,i,u){var l=1&r,c=n(e),f=c.length;if(f!=n(t).length&&!l)return!1;for(var s=f;s--;){var p=c[s];if(!(l?p in t:o.call(t,p)))return!1}var d=u.get(e),h=u.get(t);if(d&&h)return d==t&&h==e;var b=!0;u.set(e,t),u.set(t,e);for(var v=l;++s<f;){var g=e[p=c[s]],x=t[p];if(a)var y=l?a(x,g,p,t,e,u):a(g,x,p,e,t,u);if(!(void 0===y?g===x||i(g,x,r,a,u):y)){b=!1;break}v||(v=\"constructor\"==p)}if(b&&!v){var m=e.constructor,w=t.constructor;m==w||!(\"constructor\"in e)||!(\"constructor\"in t)||\"function\"==typeof m&&m instanceof m&&\"function\"==typeof w&&w instanceof w||(b=!1)}return u.delete(e),u.delete(t),b}},function(e,t){e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,o=0,a=[];++r<n;){var i=e[r];t(i,r,e)&&(a[o++]=i)}return a}},function(e,t,r){var n=r(169)(r(166),\"DataView\");e.exports=n},function(e,t,r){var n=r(169)(r(166),\"Promise\");e.exports=n},function(e,t,r){var n=r(169)(r(166),\"Set\");e.exports=n},function(e,t,r){var n=r(169)(r(166),\"WeakMap\");e.exports=n},function(e,t,r){var n=r(244),o=r(178);e.exports=function(e){for(var t=o(e),r=t.length;r--;){var a=t[r],i=e[a];t[r]=[a,i,n(i)]}return t}},function(e,t,r){var n=r(237),o=r(336),a=r(342),i=r(208),u=r(244),l=r(245),c=r(186);e.exports=function(e,t){return i(e)&&u(t)?l(c(e),t):function(r){var i=o(r,e);return void 0===i&&i===t?a(r,e):n(t,i,3)}}},function(e,t,r){var n=r(246);e.exports=function(e,t,r){var o=null==e?void 0:n(e,t);return void 0===o?r:o}},function(e,t,r){var n=r(338),o=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,a=/\\\\(\\\\)?/g,i=n((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(\"\"),e.replace(o,(function(e,r,n,o){t.push(n?o.replace(a,\"$1\"):r||e)})),t}));e.exports=i},function(e,t,r){var n=r(339);e.exports=function(e){var t=n(e,(function(e){return 500===r.size&&r.clear(),e})),r=t.cache;return t}},function(e,t,r){var n=r(206);function o(e,t){if(\"function\"!=typeof e||null!=t&&\"function\"!=typeof t)throw new TypeError(\"Expected a function\");var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],a=r.cache;if(a.has(o))return a.get(o);var i=e.apply(this,n);return r.cache=a.set(o,i)||a,i};return r.cache=new(o.Cache||n),r}o.Cache=n,e.exports=o},function(e,t,r){var n=r(341);e.exports=function(e){return null==e?\"\":n(e)}},function(e,t,r){var n=r(177),o=r(235),a=r(161),i=r(209),u=n?n.prototype:void 0,l=u?u.toString:void 0;e.exports=function e(t){if(\"string\"==typeof t)return t;if(a(t))return o(t,e)+\"\";if(i(t))return l?l.call(t):\"\";var r=t+\"\";return\"0\"==r&&1/t==-1/0?\"-0\":r}},function(e,t,r){var n=r(343),o=r(344);e.exports=function(e,t){return null!=e&&o(e,t,n)}},function(e,t){e.exports=function(e,t){return null!=e&&t in Object(e)}},function(e,t,r){var n=r(247),o=r(229),a=r(161),i=r(230),u=r(198),l=r(186);e.exports=function(e,t,r){for(var c=-1,f=(t=n(t,e)).length,s=!1;++c<f;){var p=l(t[c]);if(!(s=null!=e&&r(e,p)))break;e=e[p]}return s||++c!=f?s:!!(f=null==e?0:e.length)&&u(f)&&i(p,f)&&(a(e)||o(e))}},function(e,t,r){var n=r(346),o=r(347),a=r(208),i=r(186);e.exports=function(e){return a(e)?n(i(e)):o(e)}},function(e,t){e.exports=function(e){return function(t){return null==t?void 0:t[e]}}},function(e,t,r){var n=r(246);e.exports=function(e){return function(t){return n(t,e)}}},function(e,t,r){var n=r(349),o=r(180);e.exports=function(e,t){var r=-1,a=o(e)?Array(e.length):[];return n(e,(function(e,n,o){a[++r]=t(e,n,o)})),a}},function(e,t,r){var n=r(227),o=r(350)(n);e.exports=o},function(e,t,r){var n=r(180);e.exports=function(e,t){return function(r,o){if(null==r)return r;if(!n(r))return e(r,o);for(var a=r.length,i=t?a:-1,u=Object(r);(t?i--:++i<a)&&!1!==o(u[i],i,u););return r}}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.mergeClasses=void 0;var n=i(r(196)),o=i(r(352)),a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e};function i(e){return e&&e.__esModule?e:{default:e}}var u=t.mergeClasses=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=e.default&&(0,o.default)(e.default)||{};return t.map((function(t){var o=e[t];return o&&(0,n.default)(o,(function(e,t){r[t]||(r[t]={}),r[t]=a({},r[t],o[t])})),t})),r};t.default=u},function(e,t,r){var n=r(353);e.exports=function(e){return n(e,5)}},function(e,t,r){var n=r(203),o=r(354),a=r(248),i=r(356),u=r(357),l=r(360),c=r(361),f=r(362),s=r(363),p=r(240),d=r(364),h=r(185),b=r(365),v=r(366),g=r(371),x=r(161),y=r(197),m=r(373),w=r(174),_=r(375),j=r(178),O=r(210),E={};E[\"[object Arguments]\"]=E[\"[object Array]\"]=E[\"[object ArrayBuffer]\"]=E[\"[object DataView]\"]=E[\"[object Boolean]\"]=E[\"[object Date]\"]=E[\"[object Float32Array]\"]=E[\"[object Float64Array]\"]=E[\"[object Int8Array]\"]=E[\"[object Int16Array]\"]=E[\"[object Int32Array]\"]=E[\"[object Map]\"]=E[\"[object Number]\"]=E[\"[object Object]\"]=E[\"[object RegExp]\"]=E[\"[object Set]\"]=E[\"[object String]\"]=E[\"[object Symbol]\"]=E[\"[object Uint8Array]\"]=E[\"[object Uint8ClampedArray]\"]=E[\"[object Uint16Array]\"]=E[\"[object Uint32Array]\"]=!0,E[\"[object Error]\"]=E[\"[object Function]\"]=E[\"[object WeakMap]\"]=!1,e.exports=function e(t,r,C,k,S,P){var M,B=1&r,A=2&r,F=4&r;if(C&&(M=S?C(t,k,S,P):C(t)),void 0!==M)return M;if(!w(t))return t;var R=x(t);if(R){if(M=b(t),!B)return c(t,M)}else{var T=h(t),z=\"[object Function]\"==T||\"[object GeneratorFunction]\"==T;if(y(t))return l(t,B);if(\"[object Object]\"==T||\"[object Arguments]\"==T||z&&!S){if(M=A||z?{}:g(t),!B)return A?s(t,u(M,t)):f(t,i(M,t))}else{if(!E[T])return S?t:{};M=v(t,T,B)}}P||(P=new n);var H=P.get(t);if(H)return H;P.set(t,M),_(t)?t.forEach((function(n){M.add(e(n,r,C,n,t,P))})):m(t)&&t.forEach((function(n,o){M.set(o,e(n,r,C,o,t,P))}));var D=R?void 0:(F?A?d:p:A?O:j)(t);return o(D||t,(function(n,o){D&&(n=t[o=n]),a(M,o,e(n,r,C,o,t,P))})),M}},function(e,t){e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}},function(e,t,r){var n=r(169),o=function(){try{var e=n(Object,\"defineProperty\");return e({},\"\",{}),e}catch(e){}}();e.exports=o},function(e,t,r){var n=r(187),o=r(178);e.exports=function(e,t){return e&&n(t,o(t),e)}},function(e,t,r){var n=r(187),o=r(210);e.exports=function(e,t){return e&&n(t,o(t),e)}},function(e,t,r){var n=r(174),o=r(201),a=r(359),i=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return a(e);var t=o(e),r=[];for(var u in e)(\"constructor\"!=u||!t&&i.call(e,u))&&r.push(u);return r}},function(e,t){e.exports=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}},function(e,t,r){(function(e){var n=r(166),o=t&&!t.nodeType&&t,a=o&&\"object\"==typeof e&&e&&!e.nodeType&&e,i=a&&a.exports===o?n.Buffer:void 0,u=i?i.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var r=e.length,n=u?u(r):new e.constructor(r);return e.copy(n),n}}).call(this,r(173)(e))},function(e,t){e.exports=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}},function(e,t,r){var n=r(187),o=r(207);e.exports=function(e,t){return n(e,o(e),t)}},function(e,t,r){var n=r(187),o=r(250);e.exports=function(e,t){return n(e,o(e),t)}},function(e,t,r){var n=r(241),o=r(250),a=r(210);e.exports=function(e){return n(e,a,o)}},function(e,t){var r=Object.prototype.hasOwnProperty;e.exports=function(e){var t=e.length,n=new e.constructor(t);return t&&\"string\"==typeof e[0]&&r.call(e,\"index\")&&(n.index=e.index,n.input=e.input),n}},function(e,t,r){var n=r(211),o=r(367),a=r(368),i=r(369),u=r(370);e.exports=function(e,t,r){var l=e.constructor;switch(t){case\"[object ArrayBuffer]\":return n(e);case\"[object Boolean]\":case\"[object Date]\":return new l(+e);case\"[object DataView]\":return o(e,r);case\"[object Float32Array]\":case\"[object Float64Array]\":case\"[object Int8Array]\":case\"[object Int16Array]\":case\"[object Int32Array]\":case\"[object Uint8Array]\":case\"[object Uint8ClampedArray]\":case\"[object Uint16Array]\":case\"[object Uint32Array]\":return u(e,r);case\"[object Map]\":return new l;case\"[object Number]\":case\"[object String]\":return new l(e);case\"[object RegExp]\":return a(e);case\"[object Set]\":return new l;case\"[object Symbol]\":return i(e)}}},function(e,t,r){var n=r(211);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}},function(e,t){var r=/\\w*$/;e.exports=function(e){var t=new e.constructor(e.source,r.exec(e));return t.lastIndex=e.lastIndex,t}},function(e,t,r){var n=r(177),o=n?n.prototype:void 0,a=o?o.valueOf:void 0;e.exports=function(e){return a?Object(a.call(e)):{}}},function(e,t,r){var n=r(211);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}},function(e,t,r){var n=r(372),o=r(202),a=r(201);e.exports=function(e){return\"function\"!=typeof e.constructor||a(e)?{}:n(o(e))}},function(e,t,r){var n=r(174),o=Object.create,a=function(){function e(){}return function(t){if(!n(t))return{};if(o)return o(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();e.exports=a},function(e,t,r){var n=r(374),o=r(199),a=r(200),i=a&&a.isMap,u=i?o(i):n;e.exports=u},function(e,t,r){var n=r(185),o=r(167);e.exports=function(e){return o(e)&&\"[object Map]\"==n(e)}},function(e,t,r){var n=r(376),o=r(199),a=r(200),i=a&&a.isSet,u=i?o(i):n;e.exports=u},function(e,t,r){var n=r(185),o=r(167);e.exports=function(e){return o(e)&&\"[object Set]\"==n(e)}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.autoprefix=void 0;var n,o=r(196),a=(n=o)&&n.__esModule?n:{default:n},i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e};var u={borderRadius:function(e){return{msBorderRadius:e,MozBorderRadius:e,OBorderRadius:e,WebkitBorderRadius:e,borderRadius:e}},boxShadow:function(e){return{msBoxShadow:e,MozBoxShadow:e,OBoxShadow:e,WebkitBoxShadow:e,boxShadow:e}},userSelect:function(e){return{WebkitTouchCallout:e,KhtmlUserSelect:e,MozUserSelect:e,msUserSelect:e,WebkitUserSelect:e,userSelect:e}},flex:function(e){return{WebkitBoxFlex:e,MozBoxFlex:e,WebkitFlex:e,msFlex:e,flex:e}},flexBasis:function(e){return{WebkitFlexBasis:e,flexBasis:e}},justifyContent:function(e){return{WebkitJustifyContent:e,justifyContent:e}},transition:function(e){return{msTransition:e,MozTransition:e,OTransition:e,WebkitTransition:e,transition:e}},transform:function(e){return{msTransform:e,MozTransform:e,OTransform:e,WebkitTransform:e,transform:e}},absolute:function(e){var t=e&&e.split(\" \");return{position:\"absolute\",top:t&&t[0],right:t&&t[1],bottom:t&&t[2],left:t&&t[3]}},extend:function(e,t){var r=t[e];return r||{extend:e}}},l=t.autoprefix=function(e){var t={};return(0,a.default)(e,(function(e,r){var n={};(0,a.default)(e,(function(e,t){var r=u[t];r?n=i({},n,r(e)):n[t]=e})),t[r]=n})),t};t.default=l},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.hover=void 0;var n,o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=r(1),i=(n=a)&&n.__esModule?n:{default:n};function u(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function l(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function c(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var f=t.hover=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"span\";return function(r){function n(){var r,a,c;u(this,n);for(var f=arguments.length,s=Array(f),p=0;p<f;p++)s[p]=arguments[p];return a=c=l(this,(r=n.__proto__||Object.getPrototypeOf(n)).call.apply(r,[this].concat(s))),c.state={hover:!1},c.handleMouseOver=function(){return c.setState({hover:!0})},c.handleMouseOut=function(){return c.setState({hover:!1})},c.render=function(){return i.default.createElement(t,{onMouseOver:c.handleMouseOver,onMouseOut:c.handleMouseOut},i.default.createElement(e,o({},c.props,c.state)))},l(c,a)}return c(n,r),n}(i.default.Component)};t.default=f},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.active=void 0;var n,o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=r(1),i=(n=a)&&n.__esModule?n:{default:n};function u(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function l(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function c(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var f=t.active=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"span\";return function(r){function n(){var r,a,c;u(this,n);for(var f=arguments.length,s=Array(f),p=0;p<f;p++)s[p]=arguments[p];return a=c=l(this,(r=n.__proto__||Object.getPrototypeOf(n)).call.apply(r,[this].concat(s))),c.state={active:!1},c.handleMouseDown=function(){return c.setState({active:!0})},c.handleMouseUp=function(){return c.setState({active:!1})},c.render=function(){return i.default.createElement(t,{onMouseDown:c.handleMouseDown,onMouseUp:c.handleMouseUp},i.default.createElement(e,o({},c.props,c.state)))},l(c,a)}return c(n,r),n}(i.default.Component)};t.default=f},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.default=function(e,t){var r={},n=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];r[e]=t};return 0===e&&n(\"first-child\"),e===t-1&&n(\"last-child\"),(0===e||e%2==0)&&n(\"even\"),1===Math.abs(e%2)&&n(\"odd\"),n(\"nth-child\",e),r}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Alpha=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),a=r(1),i=f(a),u=f(r(158)),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(r(382)),c=f(r(212));function f(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function p(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}var d=t.Alpha=function(e){function t(){var e,r,n;s(this,t);for(var o=arguments.length,a=Array(o),i=0;i<o;i++)a[i]=arguments[i];return r=n=p(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(a))),n.handleChange=function(e){var t=l.calculateChange(e,n.props.hsl,n.props.direction,n.props.a,n.container);t&&\"function\"==typeof n.props.onChange&&n.props.onChange(t,e)},n.handleMouseDown=function(e){n.handleChange(e),window.addEventListener(\"mousemove\",n.handleChange),window.addEventListener(\"mouseup\",n.handleMouseUp)},n.handleMouseUp=function(){n.unbindEventListeners()},n.unbindEventListeners=function(){window.removeEventListener(\"mousemove\",n.handleChange),window.removeEventListener(\"mouseup\",n.handleMouseUp)},p(n,r)}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),o(t,[{key:\"componentWillUnmount\",value:function(){this.unbindEventListeners()}},{key:\"render\",value:function(){var e=this,t=this.props.rgb,r=(0,u.default)({default:{alpha:{absolute:\"0px 0px 0px 0px\",borderRadius:this.props.radius},checkboard:{absolute:\"0px 0px 0px 0px\",overflow:\"hidden\",borderRadius:this.props.radius},gradient:{absolute:\"0px 0px 0px 0px\",background:\"linear-gradient(to right, rgba(\"+t.r+\",\"+t.g+\",\"+t.b+\", 0) 0%,\\n           rgba(\"+t.r+\",\"+t.g+\",\"+t.b+\", 1) 100%)\",boxShadow:this.props.shadow,borderRadius:this.props.radius},container:{position:\"relative\",height:\"100%\",margin:\"0 3px\"},pointer:{position:\"absolute\",left:100*t.a+\"%\"},slider:{width:\"4px\",borderRadius:\"1px\",height:\"8px\",boxShadow:\"0 0 2px rgba(0, 0, 0, .6)\",background:\"#fff\",marginTop:\"1px\",transform:\"translateX(-2px)\"}},vertical:{gradient:{background:\"linear-gradient(to bottom, rgba(\"+t.r+\",\"+t.g+\",\"+t.b+\", 0) 0%,\\n           rgba(\"+t.r+\",\"+t.g+\",\"+t.b+\", 1) 100%)\"},pointer:{left:0,top:100*t.a+\"%\"}},overwrite:n({},this.props.style)},{vertical:\"vertical\"===this.props.direction,overwrite:!0});return i.default.createElement(\"div\",{style:r.alpha},i.default.createElement(\"div\",{style:r.checkboard},i.default.createElement(c.default,{renderers:this.props.renderers})),i.default.createElement(\"div\",{style:r.gradient}),i.default.createElement(\"div\",{style:r.container,ref:function(t){return e.container=t},onMouseDown:this.handleMouseDown,onTouchMove:this.handleChange,onTouchStart:this.handleChange},i.default.createElement(\"div\",{style:r.pointer},this.props.pointer?i.default.createElement(this.props.pointer,this.props):i.default.createElement(\"div\",{style:r.slider}))))}}]),t}(a.PureComponent||a.Component);t.default=d},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.calculateChange=function(e,t,r,n,o){var a=o.clientWidth,i=o.clientHeight,u=\"number\"==typeof e.pageX?e.pageX:e.touches[0].pageX,l=\"number\"==typeof e.pageY?e.pageY:e.touches[0].pageY,c=u-(o.getBoundingClientRect().left+window.pageXOffset),f=l-(o.getBoundingClientRect().top+window.pageYOffset);if(\"vertical\"===r){var s=void 0;if(s=f<0?0:f>i?1:Math.round(100*f/i)/100,t.a!==s)return{h:t.h,s:t.s,l:t.l,a:s,source:\"rgb\"}}else{var p=void 0;if(n!==(p=c<0?0:c>a?1:Math.round(100*c/a)/100))return{h:t.h,s:t.s,l:t.l,a:p,source:\"rgb\"}}return null}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n={},o=t.render=function(e,t,r,n){if(\"undefined\"==typeof document&&!n)return null;var o=n?new n:document.createElement(\"canvas\");o.width=2*r,o.height=2*r;var a=o.getContext(\"2d\");return a?(a.fillStyle=e,a.fillRect(0,0,o.width,o.height),a.fillStyle=t,a.fillRect(0,0,r,r),a.translate(r,r),a.fillRect(0,0,r,r),o.toDataURL()):null};t.get=function(e,t,r,a){var i=e+\"-\"+t+\"-\"+r+(a?\"-server\":\"\");if(n[i])return n[i];var u=o(e,t,r,a);return n[i]=u,u}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.EditableInput=void 0;var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=r(1),a=u(o),i=u(r(158));function u(e){return e&&e.__esModule?e:{default:e}}var l=[38,40],c=t.EditableInput=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.handleBlur=function(){r.state.blurValue&&r.setState({value:r.state.blurValue,blurValue:null})},r.handleChange=function(e){r.setUpdatedValue(e.target.value,e)},r.handleKeyDown=function(e){var t,n=function(e){return Number(String(e).replace(/%/g,\"\"))}(e.target.value);if(!isNaN(n)&&(t=e.keyCode,l.indexOf(t)>-1)){var o=r.getArrowOffset(),a=38===e.keyCode?n+o:n-o;r.setUpdatedValue(a,e)}},r.handleDrag=function(e){if(r.props.dragLabel){var t=Math.round(r.props.value+e.movementX);t>=0&&t<=r.props.dragMax&&r.props.onChange&&r.props.onChange(r.getValueObjectWithLabel(t),e)}},r.handleMouseDown=function(e){r.props.dragLabel&&(e.preventDefault(),r.handleDrag(e),window.addEventListener(\"mousemove\",r.handleDrag),window.addEventListener(\"mouseup\",r.handleMouseUp))},r.handleMouseUp=function(){r.unbindEventListeners()},r.unbindEventListeners=function(){window.removeEventListener(\"mousemove\",r.handleDrag),window.removeEventListener(\"mouseup\",r.handleMouseUp)},r.state={value:String(e.value).toUpperCase(),blurValue:String(e.value).toUpperCase()},r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),n(t,[{key:\"componentDidUpdate\",value:function(e,t){this.props.value===this.state.value||e.value===this.props.value&&t.value===this.state.value||(this.input===document.activeElement?this.setState({blurValue:String(this.props.value).toUpperCase()}):this.setState({value:String(this.props.value).toUpperCase(),blurValue:!this.state.blurValue&&String(this.props.value).toUpperCase()}))}},{key:\"componentWillUnmount\",value:function(){this.unbindEventListeners()}},{key:\"getValueObjectWithLabel\",value:function(e){return function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}({},this.props.label,e)}},{key:\"getArrowOffset\",value:function(){return this.props.arrowOffset||1}},{key:\"setUpdatedValue\",value:function(e,t){var r=this.props.label?this.getValueObjectWithLabel(e):e;this.props.onChange&&this.props.onChange(r,t);var n,o=function(e){return String(e).indexOf(\"%\")>-1}(t.target.value);this.setState({value:o?(n=e,n+\"%\"):e})}},{key:\"render\",value:function(){var e=this,t=(0,i.default)({default:{wrap:{position:\"relative\"}},\"user-override\":{wrap:this.props.style&&this.props.style.wrap?this.props.style.wrap:{},input:this.props.style&&this.props.style.input?this.props.style.input:{},label:this.props.style&&this.props.style.label?this.props.style.label:{}},\"dragLabel-true\":{label:{cursor:\"ew-resize\"}}},{\"user-override\":!0},this.props);return a.default.createElement(\"div\",{style:t.wrap},a.default.createElement(\"input\",{style:t.input,ref:function(t){return e.input=t},value:this.state.value,onKeyDown:this.handleKeyDown,onChange:this.handleChange,onBlur:this.handleBlur,placeholder:this.props.placeholder,spellCheck:\"false\"}),this.props.label&&!this.props.hideLabel?a.default.createElement(\"span\",{style:t.label,onMouseDown:this.handleMouseDown},this.props.label):null)}}]),t}(o.PureComponent||o.Component);t.default=c},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Hue=void 0;var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=r(1),a=l(o),i=l(r(158)),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(r(386));function l(e){return e&&e.__esModule?e:{default:e}}function c(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function f(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}var s=t.Hue=function(e){function t(){var e,r,n;c(this,t);for(var o=arguments.length,a=Array(o),i=0;i<o;i++)a[i]=arguments[i];return r=n=f(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(a))),n.handleChange=function(e){var t=u.calculateChange(e,n.props.direction,n.props.hsl,n.container);t&&\"function\"==typeof n.props.onChange&&n.props.onChange(t,e)},n.handleMouseDown=function(e){n.handleChange(e),window.addEventListener(\"mousemove\",n.handleChange),window.addEventListener(\"mouseup\",n.handleMouseUp)},n.handleMouseUp=function(){n.unbindEventListeners()},f(n,r)}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),n(t,[{key:\"componentWillUnmount\",value:function(){this.unbindEventListeners()}},{key:\"unbindEventListeners\",value:function(){window.removeEventListener(\"mousemove\",this.handleChange),window.removeEventListener(\"mouseup\",this.handleMouseUp)}},{key:\"render\",value:function(){var e=this,t=this.props.direction,r=void 0===t?\"horizontal\":t,n=(0,i.default)({default:{hue:{absolute:\"0px 0px 0px 0px\",borderRadius:this.props.radius,boxShadow:this.props.shadow},container:{padding:\"0 2px\",position:\"relative\",height:\"100%\",borderRadius:this.props.radius},pointer:{position:\"absolute\",left:100*this.props.hsl.h/360+\"%\"},slider:{marginTop:\"1px\",width:\"4px\",borderRadius:\"1px\",height:\"8px\",boxShadow:\"0 0 2px rgba(0, 0, 0, .6)\",background:\"#fff\",transform:\"translateX(-2px)\"}},vertical:{pointer:{left:\"0px\",top:-100*this.props.hsl.h/360+100+\"%\"}}},{vertical:\"vertical\"===r});return a.default.createElement(\"div\",{style:n.hue},a.default.createElement(\"div\",{className:\"hue-\"+r,style:n.container,ref:function(t){return e.container=t},onMouseDown:this.handleMouseDown,onTouchMove:this.handleChange,onTouchStart:this.handleChange},a.default.createElement(\"style\",null,\"\\n            .hue-horizontal {\\n              background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0\\n                33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n              background: -webkit-linear-gradient(to right, #f00 0%, #ff0\\n                17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n            }\\n\\n            .hue-vertical {\\n              background: linear-gradient(to top, #f00 0%, #ff0 17%, #0f0 33%,\\n                #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n              background: -webkit-linear-gradient(to top, #f00 0%, #ff0 17%,\\n                #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n            }\\n          \"),a.default.createElement(\"div\",{style:n.pointer},this.props.pointer?a.default.createElement(this.props.pointer,this.props):a.default.createElement(\"div\",{style:n.slider}))))}}]),t}(o.PureComponent||o.Component);t.default=s},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.calculateChange=function(e,t,r,n){var o=n.clientWidth,a=n.clientHeight,i=\"number\"==typeof e.pageX?e.pageX:e.touches[0].pageX,u=\"number\"==typeof e.pageY?e.pageY:e.touches[0].pageY,l=i-(n.getBoundingClientRect().left+window.pageXOffset),c=u-(n.getBoundingClientRect().top+window.pageYOffset);if(\"vertical\"===t){var f=void 0;if(c<0)f=359;else if(c>a)f=0;else{f=360*(-100*c/a+100)/100}if(r.h!==f)return{h:f,s:r.s,l:r.l,a:r.a,source:\"rgb\"}}else{var s=void 0;if(l<0)s=0;else if(l>o)s=359;else{s=360*(100*l/o)/100}if(r.h!==s)return{h:s,s:r.s,l:r.l,a:r.a,source:\"rgb\"}}return null}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Raised=void 0;var n=u(r(1)),o=u(r(0)),a=u(r(158)),i=u(r(160));function u(e){return e&&e.__esModule?e:{default:e}}var l=t.Raised=function(e){var t=e.zDepth,r=e.radius,o=e.background,u=e.children,l=e.styles,c=void 0===l?{}:l,f=(0,a.default)((0,i.default)({default:{wrap:{position:\"relative\",display:\"inline-block\"},content:{position:\"relative\"},bg:{absolute:\"0px 0px 0px 0px\",boxShadow:\"0 \"+t+\"px \"+4*t+\"px rgba(0,0,0,.24)\",borderRadius:r,background:o}},\"zDepth-0\":{bg:{boxShadow:\"none\"}},\"zDepth-1\":{bg:{boxShadow:\"0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16)\"}},\"zDepth-2\":{bg:{boxShadow:\"0 6px 20px rgba(0,0,0,.19), 0 8px 17px rgba(0,0,0,.2)\"}},\"zDepth-3\":{bg:{boxShadow:\"0 17px 50px rgba(0,0,0,.19), 0 12px 15px rgba(0,0,0,.24)\"}},\"zDepth-4\":{bg:{boxShadow:\"0 25px 55px rgba(0,0,0,.21), 0 16px 28px rgba(0,0,0,.22)\"}},\"zDepth-5\":{bg:{boxShadow:\"0 40px 77px rgba(0,0,0,.22), 0 27px 24px rgba(0,0,0,.2)\"}},square:{bg:{borderRadius:\"0\"}},circle:{bg:{borderRadius:\"50%\"}}},c),{\"zDepth-1\":1===t});return n.default.createElement(\"div\",{style:f.wrap},n.default.createElement(\"div\",{style:f.bg}),n.default.createElement(\"div\",{style:f.content},u))};l.propTypes={background:o.default.string,zDepth:o.default.oneOf([0,1,2,3,4,5]),radius:o.default.number,styles:o.default.object},l.defaultProps={background:\"#fff\",zDepth:1,radius:2,styles:{}},t.default=l},function(e,t,r){var n=r(213),o=r(253),a=r(255),i=r(418),u=r(163),l=r(260),c=r(259);e.exports=function e(t,r,f,s,p){t!==r&&a(r,(function(a,l){if(p||(p=new n),u(a))i(t,r,l,f,e,s,p);else{var d=s?s(c(t,l),a,l+\"\",t,r,p):void 0;void 0===d&&(d=a),o(t,l,d)}}),l)}},function(e,t){e.exports=function(){this.__data__=[],this.size=0}},function(e,t,r){var n=r(189),o=Array.prototype.splice;e.exports=function(e){var t=this.__data__,r=n(t,e);return!(r<0)&&(r==t.length-1?t.pop():o.call(t,r,1),--this.size,!0)}},function(e,t,r){var n=r(189);e.exports=function(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}},function(e,t,r){var n=r(189);e.exports=function(e){return n(this.__data__,e)>-1}},function(e,t,r){var n=r(189);e.exports=function(e,t){var r=this.__data__,o=n(r,e);return o<0?(++this.size,r.push([e,t])):r[o][1]=t,this}},function(e,t,r){var n=r(188);e.exports=function(){this.__data__=new n,this.size=0}},function(e,t){e.exports=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}},function(e,t){e.exports=function(e){return this.__data__.get(e)}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t,r){var n=r(188),o=r(214),a=r(216);e.exports=function(e,t){var r=this.__data__;if(r instanceof n){var i=r.__data__;if(!o||i.length<199)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new a(i)}return r.set(e,t),this.size=r.size,this}},function(e,t,r){var n=r(215),o=r(402),a=r(163),i=r(252),u=/^\\[object .+?Constructor\\]$/,l=Function.prototype,c=Object.prototype,f=l.toString,s=c.hasOwnProperty,p=RegExp(\"^\"+f.call(s).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");e.exports=function(e){return!(!a(e)||o(e))&&(n(e)?p:u).test(i(e))}},function(e,t,r){var n=r(190),o=Object.prototype,a=o.hasOwnProperty,i=o.toString,u=n?n.toStringTag:void 0;e.exports=function(e){var t=a.call(e,u),r=e[u];try{e[u]=void 0;var n=!0}catch(e){}var o=i.call(e);return n&&(t?e[u]=r:delete e[u]),o}},function(e,t){var r=Object.prototype.toString;e.exports=function(e){return r.call(e)}},function(e,t,r){var n,o=r(403),a=(n=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+n:\"\";e.exports=function(e){return!!a&&a in e}},function(e,t,r){var n=r(162)[\"__core-js_shared__\"];e.exports=n},function(e,t){e.exports=function(e,t){return null==e?void 0:e[t]}},function(e,t,r){var n=r(406),o=r(188),a=r(214);e.exports=function(){this.size=0,this.__data__={hash:new n,map:new(a||o),string:new n}}},function(e,t,r){var n=r(407),o=r(408),a=r(409),i=r(410),u=r(411);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=o,l.prototype.get=a,l.prototype.has=i,l.prototype.set=u,e.exports=l},function(e,t,r){var n=r(191);e.exports=function(){this.__data__=n?n(null):{},this.size=0}},function(e,t){e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},function(e,t,r){var n=r(191),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(n){var r=t[e];return\"__lodash_hash_undefined__\"===r?void 0:r}return o.call(t,e)?t[e]:void 0}},function(e,t,r){var n=r(191),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return n?void 0!==t[e]:o.call(t,e)}},function(e,t,r){var n=r(191);e.exports=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=n&&void 0===t?\"__lodash_hash_undefined__\":t,this}},function(e,t,r){var n=r(192);e.exports=function(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}},function(e,t){e.exports=function(e){var t=typeof e;return\"string\"==t||\"number\"==t||\"symbol\"==t||\"boolean\"==t?\"__proto__\"!==e:null===e}},function(e,t,r){var n=r(192);e.exports=function(e){return n(this,e).get(e)}},function(e,t,r){var n=r(192);e.exports=function(e){return n(this,e).has(e)}},function(e,t,r){var n=r(192);e.exports=function(e,t){var r=n(this,e),o=r.size;return r.set(e,t),this.size+=r.size==o?0:1,this}},function(e,t){e.exports=function(e){return function(t,r,n){for(var o=-1,a=Object(t),i=n(t),u=i.length;u--;){var l=i[e?u:++o];if(!1===r(a[l],l,a))break}return t}}},function(e,t,r){var n=r(253),o=r(419),a=r(420),i=r(422),u=r(423),l=r(219),c=r(164),f=r(426),s=r(221),p=r(215),d=r(163),h=r(428),b=r(222),v=r(259),g=r(432);e.exports=function(e,t,r,x,y,m,w){var _=v(e,r),j=v(t,r),O=w.get(j);if(O)n(e,r,O);else{var E=m?m(_,j,r+\"\",e,t,w):void 0,C=void 0===E;if(C){var k=c(j),S=!k&&s(j),P=!k&&!S&&b(j);E=j,k||S||P?c(_)?E=_:f(_)?E=i(_):S?(C=!1,E=o(j,!0)):P?(C=!1,E=a(j,!0)):E=[]:h(j)||l(j)?(E=_,l(_)?E=g(_):d(_)&&!p(_)||(E=u(j))):C=!1}C&&(w.set(j,E),y(E,j,x,m,w),w.delete(j)),n(e,r,E)}}},function(e,t,r){(function(e){var n=r(162),o=t&&!t.nodeType&&t,a=o&&\"object\"==typeof e&&e&&!e.nodeType&&e,i=a&&a.exports===o?n.Buffer:void 0,u=i?i.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var r=e.length,n=u?u(r):new e.constructor(r);return e.copy(n),n}}).call(this,r(173)(e))},function(e,t,r){var n=r(421);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}},function(e,t,r){var n=r(256);e.exports=function(e){var t=new e.constructor(e.byteLength);return new n(t).set(new n(e)),t}},function(e,t){e.exports=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}},function(e,t,r){var n=r(424),o=r(257),a=r(218);e.exports=function(e){return\"function\"!=typeof e.constructor||a(e)?{}:n(o(e))}},function(e,t,r){var n=r(163),o=Object.create,a=function(){function e(){}return function(t){if(!n(t))return{};if(o)return o(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();e.exports=a},function(e,t,r){var n=r(175),o=r(171);e.exports=function(e){return o(e)&&\"[object Arguments]\"==n(e)}},function(e,t,r){var n=r(176),o=r(171);e.exports=function(e){return o(e)&&n(e)}},function(e,t){e.exports=function(){return!1}},function(e,t,r){var n=r(175),o=r(257),a=r(171),i=Function.prototype,u=Object.prototype,l=i.toString,c=u.hasOwnProperty,f=l.call(Object);e.exports=function(e){if(!a(e)||\"[object Object]\"!=n(e))return!1;var t=o(e);if(null===t)return!0;var r=c.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof r&&r instanceof r&&l.call(r)==f}},function(e,t,r){var n=r(175),o=r(220),a=r(171),i={};i[\"[object Float32Array]\"]=i[\"[object Float64Array]\"]=i[\"[object Int8Array]\"]=i[\"[object Int16Array]\"]=i[\"[object Int32Array]\"]=i[\"[object Uint8Array]\"]=i[\"[object Uint8ClampedArray]\"]=i[\"[object Uint16Array]\"]=i[\"[object Uint32Array]\"]=!0,i[\"[object Arguments]\"]=i[\"[object Array]\"]=i[\"[object ArrayBuffer]\"]=i[\"[object Boolean]\"]=i[\"[object DataView]\"]=i[\"[object Date]\"]=i[\"[object Error]\"]=i[\"[object Function]\"]=i[\"[object Map]\"]=i[\"[object Number]\"]=i[\"[object Object]\"]=i[\"[object RegExp]\"]=i[\"[object Set]\"]=i[\"[object String]\"]=i[\"[object WeakMap]\"]=!1,e.exports=function(e){return a(e)&&o(e.length)&&!!i[n(e)]}},function(e,t){e.exports=function(e){return function(t){return e(t)}}},function(e,t,r){(function(e){var n=r(251),o=t&&!t.nodeType&&t,a=o&&\"object\"==typeof e&&e&&!e.nodeType&&e,i=a&&a.exports===o&&n.process,u=function(){try{var e=a&&a.require&&a.require(\"util\").types;return e||i&&i.binding&&i.binding(\"util\")}catch(e){}}();e.exports=u}).call(this,r(173)(e))},function(e,t,r){var n=r(433),o=r(260);e.exports=function(e){return n(e,o(e))}},function(e,t,r){var n=r(434),o=r(217);e.exports=function(e,t,r,a){var i=!r;r||(r={});for(var u=-1,l=t.length;++u<l;){var c=t[u],f=a?a(r[c],e[c],c,r,e):void 0;void 0===f&&(f=e[c]),i?o(r,c,f):n(r,c,f)}return r}},function(e,t,r){var n=r(217),o=r(179),a=Object.prototype.hasOwnProperty;e.exports=function(e,t,r){var i=e[t];a.call(e,t)&&o(i,r)&&(void 0!==r||t in e)||n(e,t,r)}},function(e,t){e.exports=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}},function(e,t,r){var n=r(163),o=r(218),a=r(437),i=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return a(e);var t=o(e),r=[];for(var u in e)(\"constructor\"!=u||!t&&i.call(e,u))&&r.push(u);return r}},function(e,t){e.exports=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}},function(e,t,r){var n=r(439),o=r(446);e.exports=function(e){return n((function(t,r){var n=-1,a=r.length,i=a>1?r[a-1]:void 0,u=a>2?r[2]:void 0;for(i=e.length>3&&\"function\"==typeof i?(a--,i):void 0,u&&o(r[0],r[1],u)&&(i=a<3?void 0:i,a=1),t=Object(t);++n<a;){var l=r[n];l&&e(t,l,n,i)}return t}))}},function(e,t,r){var n=r(193),o=r(440),a=r(442);e.exports=function(e,t){return a(o(e,t,n),e+\"\")}},function(e,t,r){var n=r(441),o=Math.max;e.exports=function(e,t,r){return t=o(void 0===t?e.length-1:t,0),function(){for(var a=arguments,i=-1,u=o(a.length-t,0),l=Array(u);++i<u;)l[i]=a[t+i];i=-1;for(var c=Array(t+1);++i<t;)c[i]=a[i];return c[t]=r(l),n(e,this,c)}}},function(e,t){e.exports=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}},function(e,t,r){var n=r(443),o=r(445)(n);e.exports=o},function(e,t,r){var n=r(444),o=r(254),a=r(193),i=o?function(e,t){return o(e,\"toString\",{configurable:!0,enumerable:!1,value:n(t),writable:!0})}:a;e.exports=i},function(e,t){e.exports=function(e){return function(){return e}}},function(e,t){var r=Date.now;e.exports=function(e){var t=0,n=0;return function(){var o=r(),a=16-(o-n);if(n=o,a>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}},function(e,t,r){var n=r(179),o=r(176),a=r(223),i=r(163);e.exports=function(e,t,r){if(!i(r))return!1;var u=typeof t;return!!(\"number\"==u?o(r)&&a(t,r.length):\"string\"==u&&t in r)&&n(r[t],e)}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Saturation=void 0;var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=r(1),a=c(o),i=c(r(158)),u=c(r(448)),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(r(453));function c(e){return e&&e.__esModule?e:{default:e}}var f=t.Saturation=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.handleChange=function(e){\"function\"==typeof r.props.onChange&&r.throttle(r.props.onChange,l.calculateChange(e,r.props.hsl,r.container),e)},r.handleMouseDown=function(e){r.handleChange(e),window.addEventListener(\"mousemove\",r.handleChange),window.addEventListener(\"mouseup\",r.handleMouseUp)},r.handleMouseUp=function(){r.unbindEventListeners()},r.throttle=(0,u.default)((function(e,t,r){e(t,r)}),50),r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),n(t,[{key:\"componentWillUnmount\",value:function(){this.throttle.cancel(),this.unbindEventListeners()}},{key:\"unbindEventListeners\",value:function(){window.removeEventListener(\"mousemove\",this.handleChange),window.removeEventListener(\"mouseup\",this.handleMouseUp)}},{key:\"render\",value:function(){var e=this,t=this.props.style||{},r=t.color,n=t.white,o=t.black,u=t.pointer,l=t.circle,c=(0,i.default)({default:{color:{absolute:\"0px 0px 0px 0px\",background:\"hsl(\"+this.props.hsl.h+\",100%, 50%)\",borderRadius:this.props.radius},white:{absolute:\"0px 0px 0px 0px\",borderRadius:this.props.radius},black:{absolute:\"0px 0px 0px 0px\",boxShadow:this.props.shadow,borderRadius:this.props.radius},pointer:{position:\"absolute\",top:-100*this.props.hsv.v+100+\"%\",left:100*this.props.hsv.s+\"%\",cursor:\"default\"},circle:{width:\"4px\",height:\"4px\",boxShadow:\"0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0,0,0,.3),\\n            0 0 1px 2px rgba(0,0,0,.4)\",borderRadius:\"50%\",cursor:\"hand\",transform:\"translate(-2px, -2px)\"}},custom:{color:r,white:n,black:o,pointer:u,circle:l}},{custom:!!this.props.style});return a.default.createElement(\"div\",{style:c.color,ref:function(t){return e.container=t},onMouseDown:this.handleMouseDown,onTouchMove:this.handleChange,onTouchStart:this.handleChange},a.default.createElement(\"style\",null,\"\\n          .saturation-white {\\n            background: -webkit-linear-gradient(to right, #fff, rgba(255,255,255,0));\\n            background: linear-gradient(to right, #fff, rgba(255,255,255,0));\\n          }\\n          .saturation-black {\\n            background: -webkit-linear-gradient(to top, #000, rgba(0,0,0,0));\\n            background: linear-gradient(to top, #000, rgba(0,0,0,0));\\n          }\\n        \"),a.default.createElement(\"div\",{style:c.white,className:\"saturation-white\"},a.default.createElement(\"div\",{style:c.black,className:\"saturation-black\"}),a.default.createElement(\"div\",{style:c.pointer},this.props.pointer?a.default.createElement(this.props.pointer,this.props):a.default.createElement(\"div\",{style:c.circle}))))}}]),t}(o.PureComponent||o.Component);t.default=f},function(e,t,r){var n=r(262),o=r(163);e.exports=function(e,t,r){var a=!0,i=!0;if(\"function\"!=typeof e)throw new TypeError(\"Expected a function\");return o(r)&&(a=\"leading\"in r?!!r.leading:a,i=\"trailing\"in r?!!r.trailing:i),n(e,t,{leading:a,maxWait:t,trailing:i})}},function(e,t,r){var n=r(162);e.exports=function(){return n.Date.now()}},function(e,t,r){var n=r(451),o=r(163),a=r(194),i=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt;e.exports=function(e){if(\"number\"==typeof e)return e;if(a(e))return NaN;if(o(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=o(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=n(e);var r=u.test(e);return r||l.test(e)?c(e.slice(2),r?2:8):i.test(e)?NaN:+e}},function(e,t,r){var n=r(452),o=/^\\s+/;e.exports=function(e){return e?e.slice(0,n(e)+1).replace(o,\"\"):e}},function(e,t){var r=/\\s/;e.exports=function(e){for(var t=e.length;t--&&r.test(e.charAt(t)););return t}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.calculateChange=function(e,t,r){var n=r.getBoundingClientRect(),o=n.width,a=n.height,i=\"number\"==typeof e.pageX?e.pageX:e.touches[0].pageX,u=\"number\"==typeof e.pageY?e.pageY:e.touches[0].pageY,l=i-(r.getBoundingClientRect().left+window.pageXOffset),c=u-(r.getBoundingClientRect().top+window.pageYOffset);l<0?l=0:l>o&&(l=o),c<0?c=0:c>a&&(c=a);var f=l/o,s=1-c/a;return{h:t.h,s:f,v:s,a:t.a,source:\"rgb\"}}},function(e,t,r){e.exports=r(455)},function(e,t,r){var n=r(456),o=r(264),a=r(461),i=r(164);e.exports=function(e,t){return(i(e)?n:o)(e,a(t))}},function(e,t){e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}},function(e,t,r){var n=r(255),o=r(224);e.exports=function(e,t){return e&&n(e,t,o)}},function(e,t,r){var n=r(218),o=r(459),a=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return o(e);var t=[];for(var r in Object(e))a.call(e,r)&&\"constructor\"!=r&&t.push(r);return t}},function(e,t,r){var n=r(258)(Object.keys,Object);e.exports=n},function(e,t,r){var n=r(176);e.exports=function(e,t){return function(r,o){if(null==r)return r;if(!n(r))return e(r,o);for(var a=r.length,i=t?a:-1,u=Object(r);(t?i--:++i<a)&&!1!==o(u[i],i,u););return r}}},function(e,t,r){var n=r(193);e.exports=function(e){return\"function\"==typeof e?e:n}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Swatch=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o=l(r(1)),a=l(r(158)),i=r(463),u=l(r(212));function l(e){return e&&e.__esModule?e:{default:e}}var c=t.Swatch=function(e){var t=e.color,r=e.style,i=e.onClick,l=void 0===i?function(){}:i,c=e.onHover,f=e.title,s=void 0===f?t:f,p=e.children,d=e.focus,h=e.focusStyle,b=void 0===h?{}:h,v=\"transparent\"===t,g=(0,a.default)({default:{swatch:n({background:t,height:\"100%\",width:\"100%\",cursor:\"pointer\",position:\"relative\",outline:\"none\"},r,d?b:{})}}),x={};return c&&(x.onMouseOver=function(e){return c(t,e)}),o.default.createElement(\"div\",n({style:g.swatch,onClick:function(e){return l(t,e)},title:s,tabIndex:0,onKeyDown:function(e){return 13===e.keyCode&&l(t,e)}},x),p,v&&o.default.createElement(u.default,{borderRadius:g.swatch.borderRadius,boxShadow:\"inset 0 0 0 1px rgba(0,0,0,0.1)\"}))};t.default=(0,i.handleFocus)(c)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.handleFocus=void 0;var n,o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),i=r(1),u=(n=i)&&n.__esModule?n:{default:n};function l(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function c(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function f(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.handleFocus=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"span\";return function(r){function n(){var e,t,r;l(this,n);for(var o=arguments.length,a=Array(o),i=0;i<o;i++)a[i]=arguments[i];return t=r=c(this,(e=n.__proto__||Object.getPrototypeOf(n)).call.apply(e,[this].concat(a))),r.state={focus:!1},r.handleFocus=function(){return r.setState({focus:!0})},r.handleBlur=function(){return r.setState({focus:!1})},c(r,t)}return f(n,r),a(n,[{key:\"render\",value:function(){return u.default.createElement(t,{onFocus:this.handleFocus,onBlur:this.handleBlur},u.default.createElement(e,o({},this.props,this.state)))}}]),n}(u.default.Component)}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.AlphaPointer=void 0;var n=a(r(1)),o=a(r(158));function a(e){return e&&e.__esModule?e:{default:e}}var i=t.AlphaPointer=function(e){var t=e.direction,r=(0,o.default)({default:{picker:{width:\"18px\",height:\"18px\",borderRadius:\"50%\",transform:\"translate(-9px, -1px)\",backgroundColor:\"rgb(248, 248, 248)\",boxShadow:\"0 1px 4px 0 rgba(0, 0, 0, 0.37)\"}},vertical:{picker:{transform:\"translate(-3px, -9px)\"}}},{vertical:\"vertical\"===t});return n.default.createElement(\"div\",{style:r.picker})};t.default=i},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Block=void 0;var n=f(r(1)),o=f(r(0)),a=f(r(158)),i=f(r(160)),u=f(r(165)),l=r(159),c=f(r(466));function f(e){return e&&e.__esModule?e:{default:e}}var s=t.Block=function(e){var t=e.onChange,r=e.onSwatchHover,o=e.hex,f=e.colors,s=e.width,p=e.triangle,d=e.styles,h=void 0===d?{}:d,b=e.className,v=void 0===b?\"\":b,g=\"transparent\"===o,x=function(e,r){u.default.isValidHex(e)&&t({hex:e,source:\"hex\"},r)},y=(0,a.default)((0,i.default)({default:{card:{width:s,background:\"#fff\",boxShadow:\"0 1px rgba(0,0,0,.1)\",borderRadius:\"6px\",position:\"relative\"},head:{height:\"110px\",background:o,borderRadius:\"6px 6px 0 0\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",position:\"relative\"},body:{padding:\"10px\"},label:{fontSize:\"18px\",color:u.default.getContrastingColor(o),position:\"relative\"},triangle:{width:\"0px\",height:\"0px\",borderStyle:\"solid\",borderWidth:\"0 10px 10px 10px\",borderColor:\"transparent transparent \"+o+\" transparent\",position:\"absolute\",top:\"-10px\",left:\"50%\",marginLeft:\"-10px\"},input:{width:\"100%\",fontSize:\"12px\",color:\"#666\",border:\"0px\",outline:\"none\",height:\"22px\",boxShadow:\"inset 0 0 0 1px #ddd\",borderRadius:\"4px\",padding:\"0 7px\",boxSizing:\"border-box\"}},\"hide-triangle\":{triangle:{display:\"none\"}}},h),{\"hide-triangle\":\"hide\"===p});return n.default.createElement(\"div\",{style:y.card,className:\"block-picker \"+v},n.default.createElement(\"div\",{style:y.triangle}),n.default.createElement(\"div\",{style:y.head},g&&n.default.createElement(l.Checkboard,{borderRadius:\"6px 6px 0 0\"}),n.default.createElement(\"div\",{style:y.label},o)),n.default.createElement(\"div\",{style:y.body},n.default.createElement(c.default,{colors:f,onClick:x,onSwatchHover:r}),n.default.createElement(l.EditableInput,{style:{input:y.input},value:o,onChange:x})))};s.propTypes={width:o.default.oneOfType([o.default.string,o.default.number]),colors:o.default.arrayOf(o.default.string),triangle:o.default.oneOf([\"top\",\"hide\"]),styles:o.default.object},s.defaultProps={width:170,colors:[\"#D9E3F0\",\"#F47373\",\"#697689\",\"#37D67A\",\"#2CCCE4\",\"#555555\",\"#dce775\",\"#ff8a65\",\"#ba68c8\"],triangle:\"top\",styles:{}},t.default=(0,l.ColorWrap)(s)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.BlockSwatches=void 0;var n=u(r(1)),o=u(r(158)),a=u(r(172)),i=r(159);function u(e){return e&&e.__esModule?e:{default:e}}var l=t.BlockSwatches=function(e){var t=e.colors,r=e.onClick,u=e.onSwatchHover,l=(0,o.default)({default:{swatches:{marginRight:\"-10px\"},swatch:{width:\"22px\",height:\"22px\",float:\"left\",marginRight:\"10px\",marginBottom:\"10px\",borderRadius:\"4px\"},clear:{clear:\"both\"}}});return n.default.createElement(\"div\",{style:l.swatches},(0,a.default)(t,(function(e){return n.default.createElement(i.Swatch,{key:e,color:e,style:l.swatch,onClick:r,onHover:u,focusStyle:{boxShadow:\"0 0 4px \"+e}})})),n.default.createElement(\"div\",{style:l.clear}))};t.default=l},function(e,t,r){var n=r(468),o=r(492),a=r(193),i=r(164),u=r(502);e.exports=function(e){return\"function\"==typeof e?e:null==e?a:\"object\"==typeof e?i(e)?o(e[0],e[1]):n(e):u(e)}},function(e,t,r){var n=r(469),o=r(491),a=r(269);e.exports=function(e){var t=o(e);return 1==t.length&&t[0][2]?a(t[0][0],t[0][1]):function(r){return r===e||n(r,e,t)}}},function(e,t,r){var n=r(213),o=r(266);e.exports=function(e,t,r,a){var i=r.length,u=i,l=!a;if(null==e)return!u;for(e=Object(e);i--;){var c=r[i];if(l&&c[2]?c[1]!==e[c[0]]:!(c[0]in e))return!1}for(;++i<u;){var f=(c=r[i])[0],s=e[f],p=c[1];if(l&&c[2]){if(void 0===s&&!(f in e))return!1}else{var d=new n;if(a)var h=a(s,p,f,e,t,d);if(!(void 0===h?o(p,s,3,a,d):h))return!1}}return!0}},function(e,t,r){var n=r(213),o=r(267),a=r(476),i=r(479),u=r(486),l=r(164),c=r(221),f=r(222),s=\"[object Object]\",p=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,d,h,b){var v=l(e),g=l(t),x=v?\"[object Array]\":u(e),y=g?\"[object Array]\":u(t),m=(x=\"[object Arguments]\"==x?s:x)==s,w=(y=\"[object Arguments]\"==y?s:y)==s,_=x==y;if(_&&c(e)){if(!c(t))return!1;v=!0,m=!1}if(_&&!m)return b||(b=new n),v||f(e)?o(e,t,r,d,h,b):a(e,t,x,r,d,h,b);if(!(1&r)){var j=m&&p.call(e,\"__wrapped__\"),O=w&&p.call(t,\"__wrapped__\");if(j||O){var E=j?e.value():e,C=O?t.value():t;return b||(b=new n),h(E,C,r,d,b)}}return!!_&&(b||(b=new n),i(e,t,r,d,h,b))}},function(e,t,r){var n=r(216),o=r(472),a=r(473);function i(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new n;++t<r;)this.add(e[t])}i.prototype.add=i.prototype.push=o,i.prototype.has=a,e.exports=i},function(e,t){e.exports=function(e){return this.__data__.set(e,\"__lodash_hash_undefined__\"),this}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t){e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}},function(e,t){e.exports=function(e,t){return e.has(t)}},function(e,t,r){var n=r(190),o=r(256),a=r(179),i=r(267),u=r(477),l=r(478),c=n?n.prototype:void 0,f=c?c.valueOf:void 0;e.exports=function(e,t,r,n,c,s,p){switch(r){case\"[object DataView]\":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case\"[object ArrayBuffer]\":return!(e.byteLength!=t.byteLength||!s(new o(e),new o(t)));case\"[object Boolean]\":case\"[object Date]\":case\"[object Number]\":return a(+e,+t);case\"[object Error]\":return e.name==t.name&&e.message==t.message;case\"[object RegExp]\":case\"[object String]\":return e==t+\"\";case\"[object Map]\":var d=u;case\"[object Set]\":var h=1&n;if(d||(d=l),e.size!=t.size&&!h)return!1;var b=p.get(e);if(b)return b==t;n|=2,p.set(e,t);var v=i(d(e),d(t),n,c,s,p);return p.delete(e),v;case\"[object Symbol]\":if(f)return f.call(e)==f.call(t)}return!1}},function(e,t){e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}},function(e,t){e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}},function(e,t,r){var n=r(480),o=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,a,i,u){var l=1&r,c=n(e),f=c.length;if(f!=n(t).length&&!l)return!1;for(var s=f;s--;){var p=c[s];if(!(l?p in t:o.call(t,p)))return!1}var d=u.get(e),h=u.get(t);if(d&&h)return d==t&&h==e;var b=!0;u.set(e,t),u.set(t,e);for(var v=l;++s<f;){var g=e[p=c[s]],x=t[p];if(a)var y=l?a(x,g,p,t,e,u):a(g,x,p,e,t,u);if(!(void 0===y?g===x||i(g,x,r,a,u):y)){b=!1;break}v||(v=\"constructor\"==p)}if(b&&!v){var m=e.constructor,w=t.constructor;m==w||!(\"constructor\"in e)||!(\"constructor\"in t)||\"function\"==typeof m&&m instanceof m&&\"function\"==typeof w&&w instanceof w||(b=!1)}return u.delete(e),u.delete(t),b}},function(e,t,r){var n=r(481),o=r(483),a=r(224);e.exports=function(e){return n(e,a,o)}},function(e,t,r){var n=r(482),o=r(164);e.exports=function(e,t,r){var a=t(e);return o(e)?a:n(a,r(e))}},function(e,t){e.exports=function(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e}},function(e,t,r){var n=r(484),o=r(485),a=Object.prototype.propertyIsEnumerable,i=Object.getOwnPropertySymbols,u=i?function(e){return null==e?[]:(e=Object(e),n(i(e),(function(t){return a.call(e,t)})))}:o;e.exports=u},function(e,t){e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,o=0,a=[];++r<n;){var i=e[r];t(i,r,e)&&(a[o++]=i)}return a}},function(e,t){e.exports=function(){return[]}},function(e,t,r){var n=r(487),o=r(214),a=r(488),i=r(489),u=r(490),l=r(175),c=r(252),f=c(n),s=c(o),p=c(a),d=c(i),h=c(u),b=l;(n&&\"[object DataView]\"!=b(new n(new ArrayBuffer(1)))||o&&\"[object Map]\"!=b(new o)||a&&\"[object Promise]\"!=b(a.resolve())||i&&\"[object Set]\"!=b(new i)||u&&\"[object WeakMap]\"!=b(new u))&&(b=function(e){var t=l(e),r=\"[object Object]\"==t?e.constructor:void 0,n=r?c(r):\"\";if(n)switch(n){case f:return\"[object DataView]\";case s:return\"[object Map]\";case p:return\"[object Promise]\";case d:return\"[object Set]\";case h:return\"[object WeakMap]\"}return t}),e.exports=b},function(e,t,r){var n=r(170)(r(162),\"DataView\");e.exports=n},function(e,t,r){var n=r(170)(r(162),\"Promise\");e.exports=n},function(e,t,r){var n=r(170)(r(162),\"Set\");e.exports=n},function(e,t,r){var n=r(170)(r(162),\"WeakMap\");e.exports=n},function(e,t,r){var n=r(268),o=r(224);e.exports=function(e){for(var t=o(e),r=t.length;r--;){var a=t[r],i=e[a];t[r]=[a,i,n(i)]}return t}},function(e,t,r){var n=r(266),o=r(493),a=r(499),i=r(225),u=r(268),l=r(269),c=r(195);e.exports=function(e,t){return i(e)&&u(t)?l(c(e),t):function(r){var i=o(r,e);return void 0===i&&i===t?a(r,e):n(t,i,3)}}},function(e,t,r){var n=r(270);e.exports=function(e,t,r){var o=null==e?void 0:n(e,t);return void 0===o?r:o}},function(e,t,r){var n=r(495),o=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,a=/\\\\(\\\\)?/g,i=n((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(\"\"),e.replace(o,(function(e,r,n,o){t.push(n?o.replace(a,\"$1\"):r||e)})),t}));e.exports=i},function(e,t,r){var n=r(496);e.exports=function(e){var t=n(e,(function(e){return 500===r.size&&r.clear(),e})),r=t.cache;return t}},function(e,t,r){var n=r(216);function o(e,t){if(\"function\"!=typeof e||null!=t&&\"function\"!=typeof t)throw new TypeError(\"Expected a function\");var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],a=r.cache;if(a.has(o))return a.get(o);var i=e.apply(this,n);return r.cache=a.set(o,i)||a,i};return r.cache=new(o.Cache||n),r}o.Cache=n,e.exports=o},function(e,t,r){var n=r(498);e.exports=function(e){return null==e?\"\":n(e)}},function(e,t,r){var n=r(190),o=r(265),a=r(164),i=r(194),u=n?n.prototype:void 0,l=u?u.toString:void 0;e.exports=function e(t){if(\"string\"==typeof t)return t;if(a(t))return o(t,e)+\"\";if(i(t))return l?l.call(t):\"\";var r=t+\"\";return\"0\"==r&&1/t==-1/0?\"-0\":r}},function(e,t,r){var n=r(500),o=r(501);e.exports=function(e,t){return null!=e&&o(e,t,n)}},function(e,t){e.exports=function(e,t){return null!=e&&t in Object(e)}},function(e,t,r){var n=r(271),o=r(219),a=r(164),i=r(223),u=r(220),l=r(195);e.exports=function(e,t,r){for(var c=-1,f=(t=n(t,e)).length,s=!1;++c<f;){var p=l(t[c]);if(!(s=null!=e&&r(e,p)))break;e=e[p]}return s||++c!=f?s:!!(f=null==e?0:e.length)&&u(f)&&i(p,f)&&(a(e)||o(e))}},function(e,t,r){var n=r(503),o=r(504),a=r(225),i=r(195);e.exports=function(e){return a(e)?n(i(e)):o(e)}},function(e,t){e.exports=function(e){return function(t){return null==t?void 0:t[e]}}},function(e,t,r){var n=r(270);e.exports=function(e){return function(t){return n(t,e)}}},function(e,t,r){var n=r(264),o=r(176);e.exports=function(e,t){var r=-1,a=o(e)?Array(e.length):[];return n(e,(function(e,n,o){a[++r]=t(e,n,o)})),a}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Circle=void 0;var n=s(r(1)),o=s(r(0)),a=s(r(158)),i=s(r(172)),u=s(r(160)),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(r(272)),c=r(159),f=s(r(507));function s(e){return e&&e.__esModule?e:{default:e}}var p=t.Circle=function(e){var t=e.width,r=e.onChange,o=e.onSwatchHover,l=e.colors,c=e.hex,s=e.circleSize,p=e.styles,d=void 0===p?{}:p,h=e.circleSpacing,b=e.className,v=void 0===b?\"\":b,g=(0,a.default)((0,u.default)({default:{card:{width:t,display:\"flex\",flexWrap:\"wrap\",marginRight:-h,marginBottom:-h}}},d)),x=function(e,t){return r({hex:e,source:\"hex\"},t)};return n.default.createElement(\"div\",{style:g.card,className:\"circle-picker \"+v},(0,i.default)(l,(function(e){return n.default.createElement(f.default,{key:e,color:e,onClick:x,onSwatchHover:o,active:c===e.toLowerCase(),circleSize:s,circleSpacing:h})})))};p.propTypes={width:o.default.oneOfType([o.default.string,o.default.number]),circleSize:o.default.number,circleSpacing:o.default.number,styles:o.default.object},p.defaultProps={width:252,circleSize:28,circleSpacing:14,colors:[l.red[500],l.pink[500],l.purple[500],l.deepPurple[500],l.indigo[500],l.blue[500],l.lightBlue[500],l.cyan[500],l.teal[500],l.green[500],l.lightGreen[500],l.lime[500],l.yellow[500],l.amber[500],l.orange[500],l.deepOrange[500],l.brown[500],l.blueGrey[500]],styles:{}},t.default=(0,c.ColorWrap)(p)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.CircleSwatch=void 0;var n=u(r(1)),o=r(158),a=u(o),i=r(159);function u(e){return e&&e.__esModule?e:{default:e}}var l=t.CircleSwatch=function(e){var t=e.color,r=e.onClick,o=e.onSwatchHover,u=e.hover,l=e.active,c=e.circleSize,f=e.circleSpacing,s=(0,a.default)({default:{swatch:{width:c,height:c,marginRight:f,marginBottom:f,transform:\"scale(1)\",transition:\"100ms transform ease\"},Swatch:{borderRadius:\"50%\",background:\"transparent\",boxShadow:\"inset 0 0 0 \"+c/2+\"px \"+t,transition:\"100ms box-shadow ease\"}},hover:{swatch:{transform:\"scale(1.2)\"}},active:{Swatch:{boxShadow:\"inset 0 0 0 3px \"+t}}},{hover:u,active:l});return n.default.createElement(\"div\",{style:s.swatch},n.default.createElement(i.Swatch,{style:s.Swatch,color:t,onClick:r,onHover:o,focusStyle:{boxShadow:s.Swatch.boxShadow+\", 0 0 5px \"+t}}))};l.defaultProps={circleSize:28,circleSpacing:14},t.default=(0,o.handleHover)(l)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Chrome=void 0;var n=s(r(1)),o=s(r(0)),a=s(r(158)),i=s(r(160)),u=r(159),l=s(r(509)),c=s(r(511)),f=s(r(512));function s(e){return e&&e.__esModule?e:{default:e}}var p=t.Chrome=function(e){var t=e.width,r=e.onChange,o=e.disableAlpha,s=e.rgb,p=e.hsl,d=e.hsv,h=e.hex,b=e.renderers,v=e.styles,g=void 0===v?{}:v,x=e.className,y=void 0===x?\"\":x,m=e.defaultView,w=(0,a.default)((0,i.default)({default:{picker:{width:t,background:\"#fff\",borderRadius:\"2px\",boxShadow:\"0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3)\",boxSizing:\"initial\",fontFamily:\"Menlo\"},saturation:{width:\"100%\",paddingBottom:\"55%\",position:\"relative\",borderRadius:\"2px 2px 0 0\",overflow:\"hidden\"},Saturation:{radius:\"2px 2px 0 0\"},body:{padding:\"16px 16px 12px\"},controls:{display:\"flex\"},color:{width:\"32px\"},swatch:{marginTop:\"6px\",width:\"16px\",height:\"16px\",borderRadius:\"8px\",position:\"relative\",overflow:\"hidden\"},active:{absolute:\"0px 0px 0px 0px\",borderRadius:\"8px\",boxShadow:\"inset 0 0 0 1px rgba(0,0,0,.1)\",background:\"rgba(\"+s.r+\", \"+s.g+\", \"+s.b+\", \"+s.a+\")\",zIndex:\"2\"},toggles:{flex:\"1\"},hue:{height:\"10px\",position:\"relative\",marginBottom:\"8px\"},Hue:{radius:\"2px\"},alpha:{height:\"10px\",position:\"relative\"},Alpha:{radius:\"2px\"}},disableAlpha:{color:{width:\"22px\"},alpha:{display:\"none\"},hue:{marginBottom:\"0px\"},swatch:{width:\"10px\",height:\"10px\",marginTop:\"0px\"}}},g),{disableAlpha:o});return n.default.createElement(\"div\",{style:w.picker,className:\"chrome-picker \"+y},n.default.createElement(\"div\",{style:w.saturation},n.default.createElement(u.Saturation,{style:w.Saturation,hsl:p,hsv:d,pointer:f.default,onChange:r})),n.default.createElement(\"div\",{style:w.body},n.default.createElement(\"div\",{style:w.controls,className:\"flexbox-fix\"},n.default.createElement(\"div\",{style:w.color},n.default.createElement(\"div\",{style:w.swatch},n.default.createElement(\"div\",{style:w.active}),n.default.createElement(u.Checkboard,{renderers:b}))),n.default.createElement(\"div\",{style:w.toggles},n.default.createElement(\"div\",{style:w.hue},n.default.createElement(u.Hue,{style:w.Hue,hsl:p,pointer:c.default,onChange:r})),n.default.createElement(\"div\",{style:w.alpha},n.default.createElement(u.Alpha,{style:w.Alpha,rgb:s,hsl:p,pointer:c.default,renderers:b,onChange:r})))),n.default.createElement(l.default,{rgb:s,hsl:p,hex:h,view:m,onChange:r,disableAlpha:o})))};p.propTypes={width:o.default.oneOfType([o.default.string,o.default.number]),disableAlpha:o.default.bool,styles:o.default.object,defaultView:o.default.oneOf([\"hex\",\"rgb\",\"hsl\"])},p.defaultProps={width:225,disableAlpha:!1,styles:{}},t.default=(0,u.ColorWrap)(p)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ChromeFields=void 0;var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=c(r(1)),a=c(r(158)),i=c(r(165)),u=r(159),l=c(r(510));function c(e){return e&&e.__esModule?e:{default:e}}var f=t.ChromeFields=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.toggleViews=function(){\"hex\"===r.state.view?r.setState({view:\"rgb\"}):\"rgb\"===r.state.view?r.setState({view:\"hsl\"}):\"hsl\"===r.state.view&&(1===r.props.hsl.a?r.setState({view:\"hex\"}):r.setState({view:\"rgb\"}))},r.handleChange=function(e,t){e.hex?i.default.isValidHex(e.hex)&&r.props.onChange({hex:e.hex,source:\"hex\"},t):e.r||e.g||e.b?r.props.onChange({r:e.r||r.props.rgb.r,g:e.g||r.props.rgb.g,b:e.b||r.props.rgb.b,source:\"rgb\"},t):e.a?(e.a<0?e.a=0:e.a>1&&(e.a=1),r.props.onChange({h:r.props.hsl.h,s:r.props.hsl.s,l:r.props.hsl.l,a:Math.round(100*e.a)/100,source:\"rgb\"},t)):(e.h||e.s||e.l)&&(\"string\"==typeof e.s&&e.s.includes(\"%\")&&(e.s=e.s.replace(\"%\",\"\")),\"string\"==typeof e.l&&e.l.includes(\"%\")&&(e.l=e.l.replace(\"%\",\"\")),r.props.onChange({h:e.h||r.props.hsl.h,s:Number(e.s&&e.s||r.props.hsl.s),l:Number(e.l&&e.l||r.props.hsl.l),source:\"hsl\"},t))},r.showHighlight=function(e){e.currentTarget.style.background=\"#eee\"},r.hideHighlight=function(e){e.currentTarget.style.background=\"transparent\"},1!==e.hsl.a&&\"hex\"===e.view?r.state={view:\"rgb\"}:r.state={view:e.view},r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),n(t,[{key:\"render\",value:function(){var e=this,t=(0,a.default)({default:{wrap:{paddingTop:\"16px\",display:\"flex\"},fields:{flex:\"1\",display:\"flex\",marginLeft:\"-6px\"},field:{paddingLeft:\"6px\",width:\"100%\"},alpha:{paddingLeft:\"6px\",width:\"100%\"},toggle:{width:\"32px\",textAlign:\"right\",position:\"relative\"},icon:{marginRight:\"-4px\",marginTop:\"12px\",cursor:\"pointer\",position:\"relative\"},iconHighlight:{position:\"absolute\",width:\"24px\",height:\"28px\",background:\"#eee\",borderRadius:\"4px\",top:\"10px\",left:\"12px\",display:\"none\"},input:{fontSize:\"11px\",color:\"#333\",width:\"100%\",borderRadius:\"2px\",border:\"none\",boxShadow:\"inset 0 0 0 1px #dadada\",height:\"21px\",textAlign:\"center\"},label:{textTransform:\"uppercase\",fontSize:\"11px\",lineHeight:\"11px\",color:\"#969696\",textAlign:\"center\",display:\"block\",marginTop:\"12px\"},svg:{fill:\"#333\",width:\"24px\",height:\"24px\",border:\"1px transparent solid\",borderRadius:\"5px\"}},disableAlpha:{alpha:{display:\"none\"}}},this.props,this.state),r=void 0;return\"hex\"===this.state.view?r=o.default.createElement(\"div\",{style:t.fields,className:\"flexbox-fix\"},o.default.createElement(\"div\",{style:t.field},o.default.createElement(u.EditableInput,{style:{input:t.input,label:t.label},label:\"hex\",value:this.props.hex,onChange:this.handleChange}))):\"rgb\"===this.state.view?r=o.default.createElement(\"div\",{style:t.fields,className:\"flexbox-fix\"},o.default.createElement(\"div\",{style:t.field},o.default.createElement(u.EditableInput,{style:{input:t.input,label:t.label},label:\"r\",value:this.props.rgb.r,onChange:this.handleChange})),o.default.createElement(\"div\",{style:t.field},o.default.createElement(u.EditableInput,{style:{input:t.input,label:t.label},label:\"g\",value:this.props.rgb.g,onChange:this.handleChange})),o.default.createElement(\"div\",{style:t.field},o.default.createElement(u.EditableInput,{style:{input:t.input,label:t.label},label:\"b\",value:this.props.rgb.b,onChange:this.handleChange})),o.default.createElement(\"div\",{style:t.alpha},o.default.createElement(u.EditableInput,{style:{input:t.input,label:t.label},label:\"a\",value:this.props.rgb.a,arrowOffset:.01,onChange:this.handleChange}))):\"hsl\"===this.state.view&&(r=o.default.createElement(\"div\",{style:t.fields,className:\"flexbox-fix\"},o.default.createElement(\"div\",{style:t.field},o.default.createElement(u.EditableInput,{style:{input:t.input,label:t.label},label:\"h\",value:Math.round(this.props.hsl.h),onChange:this.handleChange})),o.default.createElement(\"div\",{style:t.field},o.default.createElement(u.EditableInput,{style:{input:t.input,label:t.label},label:\"s\",value:Math.round(100*this.props.hsl.s)+\"%\",onChange:this.handleChange})),o.default.createElement(\"div\",{style:t.field},o.default.createElement(u.EditableInput,{style:{input:t.input,label:t.label},label:\"l\",value:Math.round(100*this.props.hsl.l)+\"%\",onChange:this.handleChange})),o.default.createElement(\"div\",{style:t.alpha},o.default.createElement(u.EditableInput,{style:{input:t.input,label:t.label},label:\"a\",value:this.props.hsl.a,arrowOffset:.01,onChange:this.handleChange})))),o.default.createElement(\"div\",{style:t.wrap,className:\"flexbox-fix\"},r,o.default.createElement(\"div\",{style:t.toggle},o.default.createElement(\"div\",{style:t.icon,onClick:this.toggleViews,ref:function(t){return e.icon=t}},o.default.createElement(l.default,{style:t.svg,onMouseOver:this.showHighlight,onMouseEnter:this.showHighlight,onMouseOut:this.hideHighlight}))))}}],[{key:\"getDerivedStateFromProps\",value:function(e,t){return 1!==e.hsl.a&&\"hex\"===t.view?{view:\"rgb\"}:null}}]),t}(o.default.Component);f.defaultProps={view:\"hex\"},t.default=f},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n,o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=r(1),i=(n=a)&&n.__esModule?n:{default:n};t.default=function(e){var t=e.fill,r=void 0===t?\"currentColor\":t,n=e.width,a=void 0===n?24:n,u=e.height,l=void 0===u?24:u,c=e.style,f=void 0===c?{}:c,s=function(e,t){var r={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}(e,[\"fill\",\"width\",\"height\",\"style\"]);return i.default.createElement(\"svg\",o({viewBox:\"0 0 24 24\",style:o({fill:r,width:a,height:l},f)},s),i.default.createElement(\"path\",{d:\"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z\"}))}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ChromePointer=void 0;var n=a(r(1)),o=a(r(158));function a(e){return e&&e.__esModule?e:{default:e}}var i=t.ChromePointer=function(){var e=(0,o.default)({default:{picker:{width:\"12px\",height:\"12px\",borderRadius:\"6px\",transform:\"translate(-6px, -1px)\",backgroundColor:\"rgb(248, 248, 248)\",boxShadow:\"0 1px 4px 0 rgba(0, 0, 0, 0.37)\"}}});return n.default.createElement(\"div\",{style:e.picker})};t.default=i},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ChromePointerCircle=void 0;var n=a(r(1)),o=a(r(158));function a(e){return e&&e.__esModule?e:{default:e}}var i=t.ChromePointerCircle=function(){var e=(0,o.default)({default:{picker:{width:\"12px\",height:\"12px\",borderRadius:\"6px\",boxShadow:\"inset 0 0 0 1px #fff\",transform:\"translate(-6px, -6px)\"}}});return n.default.createElement(\"div\",{style:e.picker})};t.default=i},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Compact=void 0;var n=p(r(1)),o=p(r(0)),a=p(r(158)),i=p(r(172)),u=p(r(160)),l=p(r(165)),c=r(159),f=p(r(514)),s=p(r(515));function p(e){return e&&e.__esModule?e:{default:e}}var d=t.Compact=function(e){var t=e.onChange,r=e.onSwatchHover,o=e.colors,p=e.hex,d=e.rgb,h=e.styles,b=void 0===h?{}:h,v=e.className,g=void 0===v?\"\":v,x=(0,a.default)((0,u.default)({default:{Compact:{background:\"#f6f6f6\",radius:\"4px\"},compact:{paddingTop:\"5px\",paddingLeft:\"5px\",boxSizing:\"initial\",width:\"240px\"},clear:{clear:\"both\"}}},b)),y=function(e,r){e.hex?l.default.isValidHex(e.hex)&&t({hex:e.hex,source:\"hex\"},r):t(e,r)};return n.default.createElement(c.Raised,{style:x.Compact,styles:b},n.default.createElement(\"div\",{style:x.compact,className:\"compact-picker \"+g},n.default.createElement(\"div\",null,(0,i.default)(o,(function(e){return n.default.createElement(f.default,{key:e,color:e,active:e.toLowerCase()===p,onClick:y,onSwatchHover:r})})),n.default.createElement(\"div\",{style:x.clear})),n.default.createElement(s.default,{hex:p,rgb:d,onChange:y})))};d.propTypes={colors:o.default.arrayOf(o.default.string),styles:o.default.object},d.defaultProps={colors:[\"#4D4D4D\",\"#999999\",\"#FFFFFF\",\"#F44E3B\",\"#FE9200\",\"#FCDC00\",\"#DBDF00\",\"#A4DD00\",\"#68CCCA\",\"#73D8FF\",\"#AEA1FF\",\"#FDA1FF\",\"#333333\",\"#808080\",\"#cccccc\",\"#D33115\",\"#E27300\",\"#FCC400\",\"#B0BC00\",\"#68BC00\",\"#16A5A5\",\"#009CE0\",\"#7B64FF\",\"#FA28FF\",\"#000000\",\"#666666\",\"#B3B3B3\",\"#9F0500\",\"#C45100\",\"#FB9E00\",\"#808900\",\"#194D33\",\"#0C797D\",\"#0062B1\",\"#653294\",\"#AB149E\"],styles:{}},t.default=(0,c.ColorWrap)(d)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.CompactColor=void 0;var n=u(r(1)),o=u(r(158)),a=u(r(165)),i=r(159);function u(e){return e&&e.__esModule?e:{default:e}}var l=t.CompactColor=function(e){var t=e.color,r=e.onClick,u=void 0===r?function(){}:r,l=e.onSwatchHover,c=e.active,f=(0,o.default)({default:{color:{background:t,width:\"15px\",height:\"15px\",float:\"left\",marginRight:\"5px\",marginBottom:\"5px\",position:\"relative\",cursor:\"pointer\"},dot:{absolute:\"5px 5px 5px 5px\",background:a.default.getContrastingColor(t),borderRadius:\"50%\",opacity:\"0\"}},active:{dot:{opacity:\"1\"}},\"color-#FFFFFF\":{color:{boxShadow:\"inset 0 0 0 1px #ddd\"},dot:{background:\"#000\"}},transparent:{dot:{background:\"#000\"}}},{active:c,\"color-#FFFFFF\":\"#FFFFFF\"===t,transparent:\"transparent\"===t});return n.default.createElement(i.Swatch,{style:f.color,color:t,onClick:u,onHover:l,focusStyle:{boxShadow:\"0 0 4px \"+t}},n.default.createElement(\"div\",{style:f.dot}))};t.default=l},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.CompactFields=void 0;var n=i(r(1)),o=i(r(158)),a=r(159);function i(e){return e&&e.__esModule?e:{default:e}}var u=t.CompactFields=function(e){var t=e.hex,r=e.rgb,i=e.onChange,u=(0,o.default)({default:{fields:{display:\"flex\",paddingBottom:\"6px\",paddingRight:\"5px\",position:\"relative\"},active:{position:\"absolute\",top:\"6px\",left:\"5px\",height:\"9px\",width:\"9px\",background:t},HEXwrap:{flex:\"6\",position:\"relative\"},HEXinput:{width:\"80%\",padding:\"0px\",paddingLeft:\"20%\",border:\"none\",outline:\"none\",background:\"none\",fontSize:\"12px\",color:\"#333\",height:\"16px\"},HEXlabel:{display:\"none\"},RGBwrap:{flex:\"3\",position:\"relative\"},RGBinput:{width:\"70%\",padding:\"0px\",paddingLeft:\"30%\",border:\"none\",outline:\"none\",background:\"none\",fontSize:\"12px\",color:\"#333\",height:\"16px\"},RGBlabel:{position:\"absolute\",top:\"3px\",left:\"0px\",lineHeight:\"16px\",textTransform:\"uppercase\",fontSize:\"12px\",color:\"#999\"}}}),l=function(e,t){e.r||e.g||e.b?i({r:e.r||r.r,g:e.g||r.g,b:e.b||r.b,source:\"rgb\"},t):i({hex:e.hex,source:\"hex\"},t)};return n.default.createElement(\"div\",{style:u.fields,className:\"flexbox-fix\"},n.default.createElement(\"div\",{style:u.active}),n.default.createElement(a.EditableInput,{style:{wrap:u.HEXwrap,input:u.HEXinput,label:u.HEXlabel},label:\"hex\",value:t,onChange:l}),n.default.createElement(a.EditableInput,{style:{wrap:u.RGBwrap,input:u.RGBinput,label:u.RGBlabel},label:\"r\",value:r.r,onChange:l}),n.default.createElement(a.EditableInput,{style:{wrap:u.RGBwrap,input:u.RGBinput,label:u.RGBlabel},label:\"g\",value:r.g,onChange:l}),n.default.createElement(a.EditableInput,{style:{wrap:u.RGBwrap,input:u.RGBinput,label:u.RGBlabel},label:\"b\",value:r.b,onChange:l}))};t.default=u},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Github=void 0;var n=f(r(1)),o=f(r(0)),a=f(r(158)),i=f(r(172)),u=f(r(160)),l=r(159),c=f(r(517));function f(e){return e&&e.__esModule?e:{default:e}}var s=t.Github=function(e){var t=e.width,r=e.colors,o=e.onChange,l=e.onSwatchHover,f=e.triangle,s=e.styles,p=void 0===s?{}:s,d=e.className,h=void 0===d?\"\":d,b=(0,a.default)((0,u.default)({default:{card:{width:t,background:\"#fff\",border:\"1px solid rgba(0,0,0,0.2)\",boxShadow:\"0 3px 12px rgba(0,0,0,0.15)\",borderRadius:\"4px\",position:\"relative\",padding:\"5px\",display:\"flex\",flexWrap:\"wrap\"},triangle:{position:\"absolute\",border:\"7px solid transparent\",borderBottomColor:\"#fff\"},triangleShadow:{position:\"absolute\",border:\"8px solid transparent\",borderBottomColor:\"rgba(0,0,0,0.15)\"}},\"hide-triangle\":{triangle:{display:\"none\"},triangleShadow:{display:\"none\"}},\"top-left-triangle\":{triangle:{top:\"-14px\",left:\"10px\"},triangleShadow:{top:\"-16px\",left:\"9px\"}},\"top-right-triangle\":{triangle:{top:\"-14px\",right:\"10px\"},triangleShadow:{top:\"-16px\",right:\"9px\"}},\"bottom-left-triangle\":{triangle:{top:\"35px\",left:\"10px\",transform:\"rotate(180deg)\"},triangleShadow:{top:\"37px\",left:\"9px\",transform:\"rotate(180deg)\"}},\"bottom-right-triangle\":{triangle:{top:\"35px\",right:\"10px\",transform:\"rotate(180deg)\"},triangleShadow:{top:\"37px\",right:\"9px\",transform:\"rotate(180deg)\"}}},p),{\"hide-triangle\":\"hide\"===f,\"top-left-triangle\":\"top-left\"===f,\"top-right-triangle\":\"top-right\"===f,\"bottom-left-triangle\":\"bottom-left\"===f,\"bottom-right-triangle\":\"bottom-right\"===f}),v=function(e,t){return o({hex:e,source:\"hex\"},t)};return n.default.createElement(\"div\",{style:b.card,className:\"github-picker \"+h},n.default.createElement(\"div\",{style:b.triangleShadow}),n.default.createElement(\"div\",{style:b.triangle}),(0,i.default)(r,(function(e){return n.default.createElement(c.default,{color:e,key:e,onClick:v,onSwatchHover:l})})))};s.propTypes={width:o.default.oneOfType([o.default.string,o.default.number]),colors:o.default.arrayOf(o.default.string),triangle:o.default.oneOf([\"hide\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"]),styles:o.default.object},s.defaultProps={width:200,colors:[\"#B80000\",\"#DB3E00\",\"#FCCB00\",\"#008B02\",\"#006B76\",\"#1273DE\",\"#004DCF\",\"#5300EB\",\"#EB9694\",\"#FAD0C3\",\"#FEF3BD\",\"#C1E1C5\",\"#BEDADC\",\"#C4DEF6\",\"#BED3F3\",\"#D4C4FB\"],triangle:\"top-left\",styles:{}},t.default=(0,l.ColorWrap)(s)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.GithubSwatch=void 0;var n=u(r(1)),o=r(158),a=u(o),i=r(159);function u(e){return e&&e.__esModule?e:{default:e}}var l=t.GithubSwatch=function(e){var t=e.hover,r=e.color,o=e.onClick,u=e.onSwatchHover,l={position:\"relative\",zIndex:\"2\",outline:\"2px solid #fff\",boxShadow:\"0 0 5px 2px rgba(0,0,0,0.25)\"},c=(0,a.default)({default:{swatch:{width:\"25px\",height:\"25px\",fontSize:\"0\"}},hover:{swatch:l}},{hover:t});return n.default.createElement(\"div\",{style:c.swatch},n.default.createElement(i.Swatch,{color:r,onClick:o,onHover:u,focusStyle:l}))};t.default=(0,o.handleHover)(l)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.HuePicker=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o=f(r(1)),a=f(r(0)),i=f(r(158)),u=f(r(160)),l=r(159),c=f(r(519));function f(e){return e&&e.__esModule?e:{default:e}}var s=t.HuePicker=function(e){var t=e.width,r=e.height,a=e.onChange,c=e.hsl,f=e.direction,s=e.pointer,p=e.styles,d=void 0===p?{}:p,h=e.className,b=void 0===h?\"\":h,v=(0,i.default)((0,u.default)({default:{picker:{position:\"relative\",width:t,height:r},hue:{radius:\"2px\"}}},d));return o.default.createElement(\"div\",{style:v.picker,className:\"hue-picker \"+b},o.default.createElement(l.Hue,n({},v.hue,{hsl:c,pointer:s,onChange:function(e){return a({a:1,h:e.h,l:.5,s:1})},direction:f})))};s.propTypes={styles:a.default.object},s.defaultProps={width:\"316px\",height:\"16px\",direction:\"horizontal\",pointer:c.default,styles:{}},t.default=(0,l.ColorWrap)(s)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.SliderPointer=void 0;var n=a(r(1)),o=a(r(158));function a(e){return e&&e.__esModule?e:{default:e}}var i=t.SliderPointer=function(e){var t=e.direction,r=(0,o.default)({default:{picker:{width:\"18px\",height:\"18px\",borderRadius:\"50%\",transform:\"translate(-9px, -1px)\",backgroundColor:\"rgb(248, 248, 248)\",boxShadow:\"0 1px 4px 0 rgba(0, 0, 0, 0.37)\"}},vertical:{picker:{transform:\"translate(-3px, -9px)\"}}},{vertical:\"vertical\"===t});return n.default.createElement(\"div\",{style:r.picker})};t.default=i},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Material=void 0;var n=l(r(1)),o=l(r(158)),a=l(r(160)),i=l(r(165)),u=r(159);function l(e){return e&&e.__esModule?e:{default:e}}var c=t.Material=function(e){var t=e.onChange,r=e.hex,l=e.rgb,c=e.styles,f=void 0===c?{}:c,s=e.className,p=void 0===s?\"\":s,d=(0,o.default)((0,a.default)({default:{material:{width:\"98px\",height:\"98px\",padding:\"16px\",fontFamily:\"Roboto\"},HEXwrap:{position:\"relative\"},HEXinput:{width:\"100%\",marginTop:\"12px\",fontSize:\"15px\",color:\"#333\",padding:\"0px\",border:\"0px\",borderBottom:\"2px solid \"+r,outline:\"none\",height:\"30px\"},HEXlabel:{position:\"absolute\",top:\"0px\",left:\"0px\",fontSize:\"11px\",color:\"#999999\",textTransform:\"capitalize\"},Hex:{style:{}},RGBwrap:{position:\"relative\"},RGBinput:{width:\"100%\",marginTop:\"12px\",fontSize:\"15px\",color:\"#333\",padding:\"0px\",border:\"0px\",borderBottom:\"1px solid #eee\",outline:\"none\",height:\"30px\"},RGBlabel:{position:\"absolute\",top:\"0px\",left:\"0px\",fontSize:\"11px\",color:\"#999999\",textTransform:\"capitalize\"},split:{display:\"flex\",marginRight:\"-10px\",paddingTop:\"11px\"},third:{flex:\"1\",paddingRight:\"10px\"}}},f)),h=function(e,r){e.hex?i.default.isValidHex(e.hex)&&t({hex:e.hex,source:\"hex\"},r):(e.r||e.g||e.b)&&t({r:e.r||l.r,g:e.g||l.g,b:e.b||l.b,source:\"rgb\"},r)};return n.default.createElement(u.Raised,{styles:f},n.default.createElement(\"div\",{style:d.material,className:\"material-picker \"+p},n.default.createElement(u.EditableInput,{style:{wrap:d.HEXwrap,input:d.HEXinput,label:d.HEXlabel},label:\"hex\",value:r,onChange:h}),n.default.createElement(\"div\",{style:d.split,className:\"flexbox-fix\"},n.default.createElement(\"div\",{style:d.third},n.default.createElement(u.EditableInput,{style:{wrap:d.RGBwrap,input:d.RGBinput,label:d.RGBlabel},label:\"r\",value:l.r,onChange:h})),n.default.createElement(\"div\",{style:d.third},n.default.createElement(u.EditableInput,{style:{wrap:d.RGBwrap,input:d.RGBinput,label:d.RGBlabel},label:\"g\",value:l.g,onChange:h})),n.default.createElement(\"div\",{style:d.third},n.default.createElement(u.EditableInput,{style:{wrap:d.RGBwrap,input:d.RGBinput,label:d.RGBlabel},label:\"b\",value:l.b,onChange:h})))))};t.default=(0,u.ColorWrap)(c)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Photoshop=void 0;var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=h(r(1)),a=h(r(0)),i=h(r(158)),u=h(r(160)),l=r(159),c=h(r(522)),f=h(r(523)),s=h(r(524)),p=h(r(525)),d=h(r(526));function h(e){return e&&e.__esModule?e:{default:e}}var b=t.Photoshop=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.state={currentColor:e.hex},r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),n(t,[{key:\"render\",value:function(){var e=this.props,t=e.styles,r=void 0===t?{}:t,n=e.className,a=void 0===n?\"\":n,h=(0,i.default)((0,u.default)({default:{picker:{background:\"#DCDCDC\",borderRadius:\"4px\",boxShadow:\"0 0 0 1px rgba(0,0,0,.25), 0 8px 16px rgba(0,0,0,.15)\",boxSizing:\"initial\",width:\"513px\"},head:{backgroundImage:\"linear-gradient(-180deg, #F0F0F0 0%, #D4D4D4 100%)\",borderBottom:\"1px solid #B1B1B1\",boxShadow:\"inset 0 1px 0 0 rgba(255,255,255,.2), inset 0 -1px 0 0 rgba(0,0,0,.02)\",height:\"23px\",lineHeight:\"24px\",borderRadius:\"4px 4px 0 0\",fontSize:\"13px\",color:\"#4D4D4D\",textAlign:\"center\"},body:{padding:\"15px 15px 0\",display:\"flex\"},saturation:{width:\"256px\",height:\"256px\",position:\"relative\",border:\"2px solid #B3B3B3\",borderBottom:\"2px solid #F0F0F0\",overflow:\"hidden\"},hue:{position:\"relative\",height:\"256px\",width:\"19px\",marginLeft:\"10px\",border:\"2px solid #B3B3B3\",borderBottom:\"2px solid #F0F0F0\"},controls:{width:\"180px\",marginLeft:\"10px\"},top:{display:\"flex\"},previews:{width:\"60px\"},actions:{flex:\"1\",marginLeft:\"20px\"}}},r));return o.default.createElement(\"div\",{style:h.picker,className:\"photoshop-picker \"+a},o.default.createElement(\"div\",{style:h.head},this.props.header),o.default.createElement(\"div\",{style:h.body,className:\"flexbox-fix\"},o.default.createElement(\"div\",{style:h.saturation},o.default.createElement(l.Saturation,{hsl:this.props.hsl,hsv:this.props.hsv,pointer:f.default,onChange:this.props.onChange})),o.default.createElement(\"div\",{style:h.hue},o.default.createElement(l.Hue,{direction:\"vertical\",hsl:this.props.hsl,pointer:s.default,onChange:this.props.onChange})),o.default.createElement(\"div\",{style:h.controls},o.default.createElement(\"div\",{style:h.top,className:\"flexbox-fix\"},o.default.createElement(\"div\",{style:h.previews},o.default.createElement(d.default,{rgb:this.props.rgb,currentColor:this.state.currentColor})),o.default.createElement(\"div\",{style:h.actions},o.default.createElement(p.default,{label:\"OK\",onClick:this.props.onAccept,active:!0}),o.default.createElement(p.default,{label:\"Cancel\",onClick:this.props.onCancel}),o.default.createElement(c.default,{onChange:this.props.onChange,rgb:this.props.rgb,hsv:this.props.hsv,hex:this.props.hex}))))))}}]),t}(o.default.Component);b.propTypes={header:a.default.string,styles:a.default.object},b.defaultProps={header:\"Color Picker\",styles:{}},t.default=(0,l.ColorWrap)(b)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PhotoshopPicker=void 0;var n=u(r(1)),o=u(r(158)),a=u(r(165)),i=r(159);function u(e){return e&&e.__esModule?e:{default:e}}var l=t.PhotoshopPicker=function(e){var t=e.onChange,r=e.rgb,u=e.hsv,l=e.hex,c=(0,o.default)({default:{fields:{paddingTop:\"5px\",paddingBottom:\"9px\",width:\"80px\",position:\"relative\"},divider:{height:\"5px\"},RGBwrap:{position:\"relative\"},RGBinput:{marginLeft:\"40%\",width:\"40%\",height:\"18px\",border:\"1px solid #888888\",boxShadow:\"inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC\",marginBottom:\"5px\",fontSize:\"13px\",paddingLeft:\"3px\",marginRight:\"10px\"},RGBlabel:{left:\"0px\",width:\"34px\",textTransform:\"uppercase\",fontSize:\"13px\",height:\"18px\",lineHeight:\"22px\",position:\"absolute\"},HEXwrap:{position:\"relative\"},HEXinput:{marginLeft:\"20%\",width:\"80%\",height:\"18px\",border:\"1px solid #888888\",boxShadow:\"inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC\",marginBottom:\"6px\",fontSize:\"13px\",paddingLeft:\"3px\"},HEXlabel:{position:\"absolute\",top:\"0px\",left:\"0px\",width:\"14px\",textTransform:\"uppercase\",fontSize:\"13px\",height:\"18px\",lineHeight:\"22px\"},fieldSymbols:{position:\"absolute\",top:\"5px\",right:\"-7px\",fontSize:\"13px\"},symbol:{height:\"20px\",lineHeight:\"22px\",paddingBottom:\"7px\"}}}),f=function(e,n){e[\"#\"]?a.default.isValidHex(e[\"#\"])&&t({hex:e[\"#\"],source:\"hex\"},n):e.r||e.g||e.b?t({r:e.r||r.r,g:e.g||r.g,b:e.b||r.b,source:\"rgb\"},n):(e.h||e.s||e.v)&&t({h:e.h||u.h,s:e.s||u.s,v:e.v||u.v,source:\"hsv\"},n)};return n.default.createElement(\"div\",{style:c.fields},n.default.createElement(i.EditableInput,{style:{wrap:c.RGBwrap,input:c.RGBinput,label:c.RGBlabel},label:\"h\",value:Math.round(u.h),onChange:f}),n.default.createElement(i.EditableInput,{style:{wrap:c.RGBwrap,input:c.RGBinput,label:c.RGBlabel},label:\"s\",value:Math.round(100*u.s),onChange:f}),n.default.createElement(i.EditableInput,{style:{wrap:c.RGBwrap,input:c.RGBinput,label:c.RGBlabel},label:\"v\",value:Math.round(100*u.v),onChange:f}),n.default.createElement(\"div\",{style:c.divider}),n.default.createElement(i.EditableInput,{style:{wrap:c.RGBwrap,input:c.RGBinput,label:c.RGBlabel},label:\"r\",value:r.r,onChange:f}),n.default.createElement(i.EditableInput,{style:{wrap:c.RGBwrap,input:c.RGBinput,label:c.RGBlabel},label:\"g\",value:r.g,onChange:f}),n.default.createElement(i.EditableInput,{style:{wrap:c.RGBwrap,input:c.RGBinput,label:c.RGBlabel},label:\"b\",value:r.b,onChange:f}),n.default.createElement(\"div\",{style:c.divider}),n.default.createElement(i.EditableInput,{style:{wrap:c.HEXwrap,input:c.HEXinput,label:c.HEXlabel},label:\"#\",value:l.replace(\"#\",\"\"),onChange:f}),n.default.createElement(\"div\",{style:c.fieldSymbols},n.default.createElement(\"div\",{style:c.symbol},\"°\"),n.default.createElement(\"div\",{style:c.symbol},\"%\"),n.default.createElement(\"div\",{style:c.symbol},\"%\")))};t.default=l},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PhotoshopPointerCircle=void 0;var n=a(r(1)),o=a(r(158));function a(e){return e&&e.__esModule?e:{default:e}}var i=t.PhotoshopPointerCircle=function(e){var t=e.hsl,r=(0,o.default)({default:{picker:{width:\"12px\",height:\"12px\",borderRadius:\"6px\",boxShadow:\"inset 0 0 0 1px #fff\",transform:\"translate(-6px, -6px)\"}},\"black-outline\":{picker:{boxShadow:\"inset 0 0 0 1px #000\"}}},{\"black-outline\":t.l>.5});return n.default.createElement(\"div\",{style:r.picker})};t.default=i},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PhotoshopPointerCircle=void 0;var n=a(r(1)),o=a(r(158));function a(e){return e&&e.__esModule?e:{default:e}}var i=t.PhotoshopPointerCircle=function(){var e=(0,o.default)({default:{triangle:{width:0,height:0,borderStyle:\"solid\",borderWidth:\"4px 0 4px 6px\",borderColor:\"transparent transparent transparent #fff\",position:\"absolute\",top:\"1px\",left:\"1px\"},triangleBorder:{width:0,height:0,borderStyle:\"solid\",borderWidth:\"5px 0 5px 8px\",borderColor:\"transparent transparent transparent #555\"},left:{Extend:\"triangleBorder\",transform:\"translate(-13px, -4px)\"},leftInside:{Extend:\"triangle\",transform:\"translate(-8px, -5px)\"},right:{Extend:\"triangleBorder\",transform:\"translate(20px, -14px) rotate(180deg)\"},rightInside:{Extend:\"triangle\",transform:\"translate(-8px, -5px)\"}}});return n.default.createElement(\"div\",{style:e.pointer},n.default.createElement(\"div\",{style:e.left},n.default.createElement(\"div\",{style:e.leftInside})),n.default.createElement(\"div\",{style:e.right},n.default.createElement(\"div\",{style:e.rightInside})))};t.default=i},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PhotoshopButton=void 0;var n=a(r(1)),o=a(r(158));function a(e){return e&&e.__esModule?e:{default:e}}var i=t.PhotoshopButton=function(e){var t=e.onClick,r=e.label,a=e.children,i=e.active,u=(0,o.default)({default:{button:{backgroundImage:\"linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%)\",border:\"1px solid #878787\",borderRadius:\"2px\",height:\"20px\",boxShadow:\"0 1px 0 0 #EAEAEA\",fontSize:\"14px\",color:\"#000\",lineHeight:\"20px\",textAlign:\"center\",marginBottom:\"10px\",cursor:\"pointer\"}},active:{button:{boxShadow:\"0 0 0 1px #878787\"}}},{active:i});return n.default.createElement(\"div\",{style:u.button,onClick:t},r||a)};t.default=i},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PhotoshopPreviews=void 0;var n=a(r(1)),o=a(r(158));function a(e){return e&&e.__esModule?e:{default:e}}var i=t.PhotoshopPreviews=function(e){var t=e.rgb,r=e.currentColor,a=(0,o.default)({default:{swatches:{border:\"1px solid #B3B3B3\",borderBottom:\"1px solid #F0F0F0\",marginBottom:\"2px\",marginTop:\"1px\"},new:{height:\"34px\",background:\"rgb(\"+t.r+\",\"+t.g+\", \"+t.b+\")\",boxShadow:\"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000\"},current:{height:\"34px\",background:r,boxShadow:\"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 -1px 0 #000\"},label:{fontSize:\"14px\",color:\"#000\",textAlign:\"center\"}}});return n.default.createElement(\"div\",null,n.default.createElement(\"div\",{style:a.label},\"new\"),n.default.createElement(\"div\",{style:a.swatches},n.default.createElement(\"div\",{style:a.new}),n.default.createElement(\"div\",{style:a.current})),n.default.createElement(\"div\",{style:a.label},\"current\"))};t.default=i},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Sketch=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o=s(r(1)),a=s(r(0)),i=s(r(158)),u=s(r(160)),l=r(159),c=s(r(528)),f=s(r(529));function s(e){return e&&e.__esModule?e:{default:e}}var p=t.Sketch=function(e){var t=e.width,r=e.rgb,a=e.hex,s=e.hsv,p=e.hsl,d=e.onChange,h=e.onSwatchHover,b=e.disableAlpha,v=e.presetColors,g=e.renderers,x=e.styles,y=void 0===x?{}:x,m=e.className,w=void 0===m?\"\":m,_=(0,i.default)((0,u.default)({default:n({picker:{width:t,padding:\"10px 10px 0\",boxSizing:\"initial\",background:\"#fff\",borderRadius:\"4px\",boxShadow:\"0 0 0 1px rgba(0,0,0,.15), 0 8px 16px rgba(0,0,0,.15)\"},saturation:{width:\"100%\",paddingBottom:\"75%\",position:\"relative\",overflow:\"hidden\"},Saturation:{radius:\"3px\",shadow:\"inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)\"},controls:{display:\"flex\"},sliders:{padding:\"4px 0\",flex:\"1\"},color:{width:\"24px\",height:\"24px\",position:\"relative\",marginTop:\"4px\",marginLeft:\"4px\",borderRadius:\"3px\"},activeColor:{absolute:\"0px 0px 0px 0px\",borderRadius:\"2px\",background:\"rgba(\"+r.r+\",\"+r.g+\",\"+r.b+\",\"+r.a+\")\",boxShadow:\"inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)\"},hue:{position:\"relative\",height:\"10px\",overflow:\"hidden\"},Hue:{radius:\"2px\",shadow:\"inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)\"},alpha:{position:\"relative\",height:\"10px\",marginTop:\"4px\",overflow:\"hidden\"},Alpha:{radius:\"2px\",shadow:\"inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)\"}},y),disableAlpha:{color:{height:\"10px\"},hue:{height:\"10px\"},alpha:{display:\"none\"}}},y),{disableAlpha:b});return o.default.createElement(\"div\",{style:_.picker,className:\"sketch-picker \"+w},o.default.createElement(\"div\",{style:_.saturation},o.default.createElement(l.Saturation,{style:_.Saturation,hsl:p,hsv:s,onChange:d})),o.default.createElement(\"div\",{style:_.controls,className:\"flexbox-fix\"},o.default.createElement(\"div\",{style:_.sliders},o.default.createElement(\"div\",{style:_.hue},o.default.createElement(l.Hue,{style:_.Hue,hsl:p,onChange:d})),o.default.createElement(\"div\",{style:_.alpha},o.default.createElement(l.Alpha,{style:_.Alpha,rgb:r,hsl:p,renderers:g,onChange:d}))),o.default.createElement(\"div\",{style:_.color},o.default.createElement(l.Checkboard,null),o.default.createElement(\"div\",{style:_.activeColor}))),o.default.createElement(c.default,{rgb:r,hsl:p,hex:a,onChange:d,disableAlpha:b}),o.default.createElement(f.default,{colors:v,onClick:d,onSwatchHover:h}))};p.propTypes={disableAlpha:a.default.bool,width:a.default.oneOfType([a.default.string,a.default.number]),styles:a.default.object},p.defaultProps={disableAlpha:!1,width:200,styles:{},presetColors:[\"#D0021B\",\"#F5A623\",\"#F8E71C\",\"#8B572A\",\"#7ED321\",\"#417505\",\"#BD10E0\",\"#9013FE\",\"#4A90E2\",\"#50E3C2\",\"#B8E986\",\"#000000\",\"#4A4A4A\",\"#9B9B9B\",\"#FFFFFF\"]},t.default=(0,l.ColorWrap)(p)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.SketchFields=void 0;var n=u(r(1)),o=u(r(158)),a=u(r(165)),i=r(159);function u(e){return e&&e.__esModule?e:{default:e}}var l=t.SketchFields=function(e){var t=e.onChange,r=e.rgb,u=e.hsl,l=e.hex,c=e.disableAlpha,f=(0,o.default)({default:{fields:{display:\"flex\",paddingTop:\"4px\"},single:{flex:\"1\",paddingLeft:\"6px\"},alpha:{flex:\"1\",paddingLeft:\"6px\"},double:{flex:\"2\"},input:{width:\"80%\",padding:\"4px 10% 3px\",border:\"none\",boxShadow:\"inset 0 0 0 1px #ccc\",fontSize:\"11px\"},label:{display:\"block\",textAlign:\"center\",fontSize:\"11px\",color:\"#222\",paddingTop:\"3px\",paddingBottom:\"4px\",textTransform:\"capitalize\"}},disableAlpha:{alpha:{display:\"none\"}}},{disableAlpha:c}),s=function(e,n){e.hex?a.default.isValidHex(e.hex)&&t({hex:e.hex,source:\"hex\"},n):e.r||e.g||e.b?t({r:e.r||r.r,g:e.g||r.g,b:e.b||r.b,a:r.a,source:\"rgb\"},n):e.a&&(e.a<0?e.a=0:e.a>100&&(e.a=100),e.a/=100,t({h:u.h,s:u.s,l:u.l,a:e.a,source:\"rgb\"},n))};return n.default.createElement(\"div\",{style:f.fields,className:\"flexbox-fix\"},n.default.createElement(\"div\",{style:f.double},n.default.createElement(i.EditableInput,{style:{input:f.input,label:f.label},label:\"hex\",value:l.replace(\"#\",\"\"),onChange:s})),n.default.createElement(\"div\",{style:f.single},n.default.createElement(i.EditableInput,{style:{input:f.input,label:f.label},label:\"r\",value:r.r,onChange:s,dragLabel:\"true\",dragMax:\"255\"})),n.default.createElement(\"div\",{style:f.single},n.default.createElement(i.EditableInput,{style:{input:f.input,label:f.label},label:\"g\",value:r.g,onChange:s,dragLabel:\"true\",dragMax:\"255\"})),n.default.createElement(\"div\",{style:f.single},n.default.createElement(i.EditableInput,{style:{input:f.input,label:f.label},label:\"b\",value:r.b,onChange:s,dragLabel:\"true\",dragMax:\"255\"})),n.default.createElement(\"div\",{style:f.alpha},n.default.createElement(i.EditableInput,{style:{input:f.input,label:f.label},label:\"a\",value:Math.round(100*r.a),onChange:s,dragLabel:\"true\",dragMax:\"100\"})))};t.default=l},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.SketchPresetColors=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o=l(r(1)),a=l(r(0)),i=l(r(158)),u=r(159);function l(e){return e&&e.__esModule?e:{default:e}}var c=t.SketchPresetColors=function(e){var t=e.colors,r=e.onClick,a=void 0===r?function(){}:r,l=e.onSwatchHover,c=(0,i.default)({default:{colors:{margin:\"0 -10px\",padding:\"10px 0 0 10px\",borderTop:\"1px solid #eee\",display:\"flex\",flexWrap:\"wrap\",position:\"relative\"},swatchWrap:{width:\"16px\",height:\"16px\",margin:\"0 10px 10px 0\"},swatch:{borderRadius:\"3px\",boxShadow:\"inset 0 0 0 1px rgba(0,0,0,.15)\"}},\"no-presets\":{colors:{display:\"none\"}}},{\"no-presets\":!t||!t.length}),f=function(e,t){a({hex:e,source:\"hex\"},t)};return o.default.createElement(\"div\",{style:c.colors,className:\"flexbox-fix\"},t.map((function(e){var t=\"string\"==typeof e?{color:e}:e,r=\"\"+t.color+(t.title||\"\");return o.default.createElement(\"div\",{key:r,style:c.swatchWrap},o.default.createElement(u.Swatch,n({},t,{style:c.swatch,onClick:f,onHover:l,focusStyle:{boxShadow:\"inset 0 0 0 1px rgba(0,0,0,.15), 0 0 4px \"+t.color}})))})))};c.propTypes={colors:a.default.arrayOf(a.default.oneOfType([a.default.string,a.default.shape({color:a.default.string,title:a.default.string})])).isRequired},t.default=c},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Slider=void 0;var n=f(r(1)),o=f(r(0)),a=f(r(158)),i=f(r(160)),u=r(159),l=f(r(531)),c=f(r(533));function f(e){return e&&e.__esModule?e:{default:e}}var s=t.Slider=function(e){var t=e.hsl,r=e.onChange,o=e.pointer,c=e.styles,f=void 0===c?{}:c,s=e.className,p=void 0===s?\"\":s,d=(0,a.default)((0,i.default)({default:{hue:{height:\"12px\",position:\"relative\"},Hue:{radius:\"2px\"}}},f));return n.default.createElement(\"div\",{style:d.wrap||{},className:\"slider-picker \"+p},n.default.createElement(\"div\",{style:d.hue},n.default.createElement(u.Hue,{style:d.Hue,hsl:t,pointer:o,onChange:r})),n.default.createElement(\"div\",{style:d.swatches},n.default.createElement(l.default,{hsl:t,onClick:r})))};s.propTypes={styles:o.default.object},s.defaultProps={pointer:c.default,styles:{}},t.default=(0,u.ColorWrap)(s)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.SliderSwatches=void 0;var n=i(r(1)),o=i(r(158)),a=i(r(532));function i(e){return e&&e.__esModule?e:{default:e}}var u=t.SliderSwatches=function(e){var t=e.onClick,r=e.hsl,i=(0,o.default)({default:{swatches:{marginTop:\"20px\"},swatch:{boxSizing:\"border-box\",width:\"20%\",paddingRight:\"1px\",float:\"left\"},clear:{clear:\"both\"}}});return n.default.createElement(\"div\",{style:i.swatches},n.default.createElement(\"div\",{style:i.swatch},n.default.createElement(a.default,{hsl:r,offset:\".80\",active:Math.abs(r.l-.8)<.1&&Math.abs(r.s-.5)<.1,onClick:t,first:!0})),n.default.createElement(\"div\",{style:i.swatch},n.default.createElement(a.default,{hsl:r,offset:\".65\",active:Math.abs(r.l-.65)<.1&&Math.abs(r.s-.5)<.1,onClick:t})),n.default.createElement(\"div\",{style:i.swatch},n.default.createElement(a.default,{hsl:r,offset:\".50\",active:Math.abs(r.l-.5)<.1&&Math.abs(r.s-.5)<.1,onClick:t})),n.default.createElement(\"div\",{style:i.swatch},n.default.createElement(a.default,{hsl:r,offset:\".35\",active:Math.abs(r.l-.35)<.1&&Math.abs(r.s-.5)<.1,onClick:t})),n.default.createElement(\"div\",{style:i.swatch},n.default.createElement(a.default,{hsl:r,offset:\".20\",active:Math.abs(r.l-.2)<.1&&Math.abs(r.s-.5)<.1,onClick:t,last:!0})),n.default.createElement(\"div\",{style:i.clear}))};t.default=u},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.SliderSwatch=void 0;var n=a(r(1)),o=a(r(158));function a(e){return e&&e.__esModule?e:{default:e}}var i=t.SliderSwatch=function(e){var t=e.hsl,r=e.offset,a=e.onClick,i=void 0===a?function(){}:a,u=e.active,l=e.first,c=e.last,f=(0,o.default)({default:{swatch:{height:\"12px\",background:\"hsl(\"+t.h+\", 50%, \"+100*r+\"%)\",cursor:\"pointer\"}},first:{swatch:{borderRadius:\"2px 0 0 2px\"}},last:{swatch:{borderRadius:\"0 2px 2px 0\"}},active:{swatch:{transform:\"scaleY(1.8)\",borderRadius:\"3.6px/2px\"}}},{active:u,first:l,last:c});return n.default.createElement(\"div\",{style:f.swatch,onClick:function(e){return i({h:t.h,s:.5,l:r,source:\"hsl\"},e)}})};t.default=i},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.SliderPointer=void 0;var n=a(r(1)),o=a(r(158));function a(e){return e&&e.__esModule?e:{default:e}}var i=t.SliderPointer=function(){var e=(0,o.default)({default:{picker:{width:\"14px\",height:\"14px\",borderRadius:\"6px\",transform:\"translate(-7px, -1px)\",backgroundColor:\"rgb(248, 248, 248)\",boxShadow:\"0 1px 4px 0 rgba(0, 0, 0, 0.37)\"}}});return n.default.createElement(\"div\",{style:e.picker})};t.default=i},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Swatches=void 0;var n=p(r(1)),o=p(r(0)),a=p(r(158)),i=p(r(172)),u=p(r(160)),l=p(r(165)),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(r(272)),f=r(159),s=p(r(535));function p(e){return e&&e.__esModule?e:{default:e}}var d=t.Swatches=function(e){var t=e.width,r=e.height,o=e.onChange,c=e.onSwatchHover,p=e.colors,d=e.hex,h=e.styles,b=void 0===h?{}:h,v=e.className,g=void 0===v?\"\":v,x=(0,a.default)((0,u.default)({default:{picker:{width:t,height:r},overflow:{height:r,overflowY:\"scroll\"},body:{padding:\"16px 0 6px 16px\"},clear:{clear:\"both\"}}},b)),y=function(e,t){l.default.isValidHex(e)&&o({hex:e,source:\"hex\"},t)};return n.default.createElement(\"div\",{style:x.picker,className:\"swatches-picker \"+g},n.default.createElement(f.Raised,null,n.default.createElement(\"div\",{style:x.overflow},n.default.createElement(\"div\",{style:x.body},(0,i.default)(p,(function(e){return n.default.createElement(s.default,{key:e.toString(),group:e,active:d,onClick:y,onSwatchHover:c})})),n.default.createElement(\"div\",{style:x.clear})))))};d.propTypes={width:o.default.oneOfType([o.default.string,o.default.number]),height:o.default.oneOfType([o.default.string,o.default.number]),colors:o.default.arrayOf(o.default.arrayOf(o.default.string)),styles:o.default.object},d.defaultProps={width:320,height:240,colors:[[c.red[900],c.red[700],c.red[500],c.red[300],c.red[100]],[c.pink[900],c.pink[700],c.pink[500],c.pink[300],c.pink[100]],[c.purple[900],c.purple[700],c.purple[500],c.purple[300],c.purple[100]],[c.deepPurple[900],c.deepPurple[700],c.deepPurple[500],c.deepPurple[300],c.deepPurple[100]],[c.indigo[900],c.indigo[700],c.indigo[500],c.indigo[300],c.indigo[100]],[c.blue[900],c.blue[700],c.blue[500],c.blue[300],c.blue[100]],[c.lightBlue[900],c.lightBlue[700],c.lightBlue[500],c.lightBlue[300],c.lightBlue[100]],[c.cyan[900],c.cyan[700],c.cyan[500],c.cyan[300],c.cyan[100]],[c.teal[900],c.teal[700],c.teal[500],c.teal[300],c.teal[100]],[\"#194D33\",c.green[700],c.green[500],c.green[300],c.green[100]],[c.lightGreen[900],c.lightGreen[700],c.lightGreen[500],c.lightGreen[300],c.lightGreen[100]],[c.lime[900],c.lime[700],c.lime[500],c.lime[300],c.lime[100]],[c.yellow[900],c.yellow[700],c.yellow[500],c.yellow[300],c.yellow[100]],[c.amber[900],c.amber[700],c.amber[500],c.amber[300],c.amber[100]],[c.orange[900],c.orange[700],c.orange[500],c.orange[300],c.orange[100]],[c.deepOrange[900],c.deepOrange[700],c.deepOrange[500],c.deepOrange[300],c.deepOrange[100]],[c.brown[900],c.brown[700],c.brown[500],c.brown[300],c.brown[100]],[c.blueGrey[900],c.blueGrey[700],c.blueGrey[500],c.blueGrey[300],c.blueGrey[100]],[\"#000000\",\"#525252\",\"#969696\",\"#D9D9D9\",\"#FFFFFF\"]],styles:{}},t.default=(0,f.ColorWrap)(d)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.SwatchesGroup=void 0;var n=u(r(1)),o=u(r(158)),a=u(r(172)),i=u(r(536));function u(e){return e&&e.__esModule?e:{default:e}}var l=t.SwatchesGroup=function(e){var t=e.onClick,r=e.onSwatchHover,u=e.group,l=e.active,c=(0,o.default)({default:{group:{paddingBottom:\"10px\",width:\"40px\",float:\"left\",marginRight:\"10px\"}}});return n.default.createElement(\"div\",{style:c.group},(0,a.default)(u,(function(e,o){return n.default.createElement(i.default,{key:e,color:e,active:e.toLowerCase()===l,first:0===o,last:o===u.length-1,onClick:t,onSwatchHover:r})})))};t.default=l},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.SwatchesColor=void 0;var n=l(r(1)),o=l(r(158)),a=l(r(165)),i=r(159),u=l(r(537));function l(e){return e&&e.__esModule?e:{default:e}}var c=t.SwatchesColor=function(e){var t=e.color,r=e.onClick,l=void 0===r?function(){}:r,c=e.onSwatchHover,f=e.first,s=e.last,p=e.active,d=(0,o.default)({default:{color:{width:\"40px\",height:\"24px\",cursor:\"pointer\",background:t,marginBottom:\"1px\"},check:{color:a.default.getContrastingColor(t),marginLeft:\"8px\",display:\"none\"}},first:{color:{overflow:\"hidden\",borderRadius:\"2px 2px 0 0\"}},last:{color:{overflow:\"hidden\",borderRadius:\"0 0 2px 2px\"}},active:{check:{display:\"block\"}},\"color-#FFFFFF\":{color:{boxShadow:\"inset 0 0 0 1px #ddd\"},check:{color:\"#333\"}},transparent:{check:{color:\"#333\"}}},{first:f,last:s,active:p,\"color-#FFFFFF\":\"#FFFFFF\"===t,transparent:\"transparent\"===t});return n.default.createElement(i.Swatch,{color:t,style:d.color,onClick:l,onHover:c,focusStyle:{boxShadow:\"0 0 4px \"+t}},n.default.createElement(\"div\",{style:d.check},n.default.createElement(u.default,null)))};t.default=c},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n,o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=r(1),i=(n=a)&&n.__esModule?n:{default:n};t.default=function(e){var t=e.fill,r=void 0===t?\"currentColor\":t,n=e.width,a=void 0===n?24:n,u=e.height,l=void 0===u?24:u,c=e.style,f=void 0===c?{}:c,s=function(e,t){var r={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}(e,[\"fill\",\"width\",\"height\",\"style\"]);return i.default.createElement(\"svg\",o({viewBox:\"0 0 24 24\",style:o({fill:r,width:a,height:l},f)},s),i.default.createElement(\"path\",{d:\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\"}))}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Twitter=void 0;var n=f(r(1)),o=f(r(0)),a=f(r(158)),i=f(r(172)),u=f(r(160)),l=f(r(165)),c=r(159);function f(e){return e&&e.__esModule?e:{default:e}}var s=t.Twitter=function(e){var t=e.onChange,r=e.onSwatchHover,o=e.hex,f=e.colors,s=e.width,p=e.triangle,d=e.styles,h=void 0===d?{}:d,b=e.className,v=void 0===b?\"\":b,g=(0,a.default)((0,u.default)({default:{card:{width:s,background:\"#fff\",border:\"0 solid rgba(0,0,0,0.25)\",boxShadow:\"0 1px 4px rgba(0,0,0,0.25)\",borderRadius:\"4px\",position:\"relative\"},body:{padding:\"15px 9px 9px 15px\"},label:{fontSize:\"18px\",color:\"#fff\"},triangle:{width:\"0px\",height:\"0px\",borderStyle:\"solid\",borderWidth:\"0 9px 10px 9px\",borderColor:\"transparent transparent #fff transparent\",position:\"absolute\"},triangleShadow:{width:\"0px\",height:\"0px\",borderStyle:\"solid\",borderWidth:\"0 9px 10px 9px\",borderColor:\"transparent transparent rgba(0,0,0,.1) transparent\",position:\"absolute\"},hash:{background:\"#F0F0F0\",height:\"30px\",width:\"30px\",borderRadius:\"4px 0 0 4px\",float:\"left\",color:\"#98A1A4\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},input:{width:\"100px\",fontSize:\"14px\",color:\"#666\",border:\"0px\",outline:\"none\",height:\"28px\",boxShadow:\"inset 0 0 0 1px #F0F0F0\",boxSizing:\"content-box\",borderRadius:\"0 4px 4px 0\",float:\"left\",paddingLeft:\"8px\"},swatch:{width:\"30px\",height:\"30px\",float:\"left\",borderRadius:\"4px\",margin:\"0 6px 6px 0\"},clear:{clear:\"both\"}},\"hide-triangle\":{triangle:{display:\"none\"},triangleShadow:{display:\"none\"}},\"top-left-triangle\":{triangle:{top:\"-10px\",left:\"12px\"},triangleShadow:{top:\"-11px\",left:\"12px\"}},\"top-right-triangle\":{triangle:{top:\"-10px\",right:\"12px\"},triangleShadow:{top:\"-11px\",right:\"12px\"}}},h),{\"hide-triangle\":\"hide\"===p,\"top-left-triangle\":\"top-left\"===p,\"top-right-triangle\":\"top-right\"===p}),x=function(e,r){l.default.isValidHex(e)&&t({hex:e,source:\"hex\"},r)};return n.default.createElement(\"div\",{style:g.card,className:\"twitter-picker \"+v},n.default.createElement(\"div\",{style:g.triangleShadow}),n.default.createElement(\"div\",{style:g.triangle}),n.default.createElement(\"div\",{style:g.body},(0,i.default)(f,(function(e,t){return n.default.createElement(c.Swatch,{key:t,color:e,hex:e,style:g.swatch,onClick:x,onHover:r,focusStyle:{boxShadow:\"0 0 4px \"+e}})})),n.default.createElement(\"div\",{style:g.hash},\"#\"),n.default.createElement(c.EditableInput,{label:null,style:{input:g.input},value:o.replace(\"#\",\"\"),onChange:x}),n.default.createElement(\"div\",{style:g.clear})))};s.propTypes={width:o.default.oneOfType([o.default.string,o.default.number]),triangle:o.default.oneOf([\"hide\",\"top-left\",\"top-right\"]),colors:o.default.arrayOf(o.default.string),styles:o.default.object},s.defaultProps={width:276,colors:[\"#FF6900\",\"#FCB900\",\"#7BDCB5\",\"#00D084\",\"#8ED1FC\",\"#0693E3\",\"#ABB8C3\",\"#EB144C\",\"#F78DA7\",\"#9900EF\"],triangle:\"top-left\",styles:{}},t.default=(0,c.ColorWrap)(s)}])]);\n//# sourceMappingURL=async-colorpicker.js.map"
  },
  {
    "path": "dash_daq/dash_daq.dev.js",
    "content": "window[\"dash_daq\"] =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// install a JSONP callback for chunk loading\n/******/ \tfunction webpackJsonpCallback(data) {\n/******/ \t\tvar chunkIds = data[0];\n/******/ \t\tvar moreModules = data[1];\n/******/\n/******/\n/******/ \t\t// add \"moreModules\" to the modules object,\n/******/ \t\t// then flag all \"chunkIds\" as loaded and fire callback\n/******/ \t\tvar moduleId, chunkId, i = 0, resolves = [];\n/******/ \t\tfor(;i < chunkIds.length; i++) {\n/******/ \t\t\tchunkId = chunkIds[i];\n/******/ \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n/******/ \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n/******/ \t\t\t}\n/******/ \t\t\tinstalledChunks[chunkId] = 0;\n/******/ \t\t}\n/******/ \t\tfor(moduleId in moreModules) {\n/******/ \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n/******/ \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n/******/\n/******/ \t\twhile(resolves.length) {\n/******/ \t\t\tresolves.shift()();\n/******/ \t\t}\n/******/\n/******/ \t};\n/******/\n/******/\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// object to store loaded and loading chunks\n/******/ \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n/******/ \t// Promise = chunk loading, 0 = chunk loaded\n/******/ \tvar installedChunks = {\n/******/ \t\t\"main\": 0\n/******/ \t};\n/******/\n/******/\n/******/\n/******/ \t// script path function\n/******/ \tfunction jsonpScriptSrc(chunkId) {\n/******/ \t\treturn __webpack_require__.p + \"\" + ({\"async-colorpicker\":\"async-colorpicker\"}[chunkId]||chunkId) + \".js\"\n/******/ \t}\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/ \t// This file contains only the entry chunk.\n/******/ \t// The chunk loading function for additional chunks\n/******/ \t__webpack_require__.e = function requireEnsure(chunkId) {\n/******/ \t\tvar promises = [];\n/******/\n/******/\n/******/ \t\t// JSONP chunk loading for javascript\n/******/\n/******/ \t\tvar installedChunkData = installedChunks[chunkId];\n/******/ \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n/******/\n/******/ \t\t\t// a Promise means \"currently loading\".\n/******/ \t\t\tif(installedChunkData) {\n/******/ \t\t\t\tpromises.push(installedChunkData[2]);\n/******/ \t\t\t} else {\n/******/ \t\t\t\t// setup Promise in chunk cache\n/******/ \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n/******/ \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n/******/ \t\t\t\t});\n/******/ \t\t\t\tpromises.push(installedChunkData[2] = promise);\n/******/\n/******/ \t\t\t\t// start chunk loading\n/******/ \t\t\t\tvar script = document.createElement('script');\n/******/ \t\t\t\tvar onScriptComplete;\n/******/\n/******/ \t\t\t\tscript.charset = 'utf-8';\n/******/ \t\t\t\tscript.timeout = 120;\n/******/ \t\t\t\tif (__webpack_require__.nc) {\n/******/ \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n/******/ \t\t\t\t}\n/******/ \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n/******/\n/******/ \t\t\t\t// create error before stack unwound to get useful stacktrace later\n/******/ \t\t\t\tvar error = new Error();\n/******/ \t\t\t\tonScriptComplete = function (event) {\n/******/ \t\t\t\t\t// avoid mem leaks in IE.\n/******/ \t\t\t\t\tscript.onerror = script.onload = null;\n/******/ \t\t\t\t\tclearTimeout(timeout);\n/******/ \t\t\t\t\tvar chunk = installedChunks[chunkId];\n/******/ \t\t\t\t\tif(chunk !== 0) {\n/******/ \t\t\t\t\t\tif(chunk) {\n/******/ \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n/******/ \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n/******/ \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n/******/ \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n/******/ \t\t\t\t\t\t\terror.type = errorType;\n/******/ \t\t\t\t\t\t\terror.request = realSrc;\n/******/ \t\t\t\t\t\t\tchunk[1](error);\n/******/ \t\t\t\t\t\t}\n/******/ \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n/******/ \t\t\t\t\t}\n/******/ \t\t\t\t};\n/******/ \t\t\t\tvar timeout = setTimeout(function(){\n/******/ \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n/******/ \t\t\t\t}, 120000);\n/******/ \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n/******/ \t\t\t\tdocument.head.appendChild(script);\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t\treturn Promise.all(promises);\n/******/ \t};\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// on error function for async loading\n/******/ \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n/******/ \tvar getCurrentScript = function() {\n/******/ \t    var script = document.currentScript;\n/******/ \t    if (!script) {\n/******/ \t        /* Shim for IE11 and below */\n/******/ \t        /* Do not take into account async scripts and inline scripts */\n/******/ \t        var scripts = Array.from(document.getElementsByTagName('script')).filter(function(s) { return !s.async && !s.text && !s.textContent; });\n/******/ \t        script = scripts.slice(-1)[0];\n/******/ \t    }\n/******/\n/******/ \t    return script;\n/******/ \t};\n/******/\n/******/ \tvar isLocalScript = function(script) {\n/******/ \t    return /\\/_dash-component-suites\\//.test(script.src);\n/******/ \t};\n/******/\n/******/ \tObject.defineProperty(__webpack_require__, 'p', {\n/******/ \t    get: (function () {\n/******/ \t        var script = getCurrentScript();\n/******/\n/******/ \t        var url = script.src.split('/').slice(0, -1).join('/') + '/';\n/******/\n/******/ \t        return function() {\n/******/ \t            return url;\n/******/ \t        };\n/******/ \t    })()\n/******/ \t});\n/******/\n/******/ \tif (typeof jsonpScriptSrc !== 'undefined') {\n/******/ \t    var __jsonpScriptSrc__ = jsonpScriptSrc;\n/******/ \t    jsonpScriptSrc = function(chunkId) {\n/******/ \t        var script = getCurrentScript();\n/******/ \t        var isLocal = isLocalScript(script);\n/******/\n/******/ \t        var src = __jsonpScriptSrc__(chunkId);\n/******/\n/******/ \t        if(!isLocal) {\n/******/ \t            return src;\n/******/ \t        }\n/******/\n/******/ \t        var srcFragments = src.split('/');\n/******/ \t        var fileFragments = srcFragments.slice(-1)[0].split('.');\n/******/\n/******/ \t        fileFragments.splice(1, 0, \"v0_5_1m1634418925\");\n/******/ \t        srcFragments.splice(-1, 1, fileFragments.join('.'))\n/******/\n/******/ \t        return srcFragments.join('/');\n/******/ \t    };\n/******/ \t}\n/******/\n/******/\n/******/ \tvar jsonpArray = window[\"webpackJsonpdash_daq\"] = window[\"webpackJsonpdash_daq\"] || [];\n/******/ \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n/******/ \tjsonpArray.push = webpackJsonpCallback;\n/******/ \tjsonpArray = jsonpArray.slice();\n/******/ \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n/******/ \tvar parentJsonpFunction = oldJsonpFunction;\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./src/index.js\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js\":\n/*!*******************************************************************************!*\\\n  !*** ./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js ***!\n  \\*******************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _emotion_memoize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/memoize */ \"./node_modules/@emotion/memoize/dist/memoize.browser.esm.js\");\n\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|itemProp|itemScope|itemType|itemID|itemRef|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar index = Object(_emotion_memoize__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (prop) {\n  return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n  /* o */\n  && prop.charCodeAt(1) === 110\n  /* n */\n  && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (index);\n\n\n/***/ }),\n\n/***/ \"./node_modules/@emotion/memoize/dist/memoize.browser.esm.js\":\n/*!*******************************************************************!*\\\n  !*** ./node_modules/@emotion/memoize/dist/memoize.browser.esm.js ***!\n  \\*******************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\nfunction memoize(fn) {\n  var cache = {};\n  return function (arg) {\n    if (cache[arg] === undefined) cache[arg] = fn(arg);\n    return cache[arg];\n  };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (memoize);\n\n\n/***/ }),\n\n/***/ \"./node_modules/@emotion/unitless/dist/unitless.browser.esm.js\":\n/*!*********************************************************************!*\\\n  !*** ./node_modules/@emotion/unitless/dist/unitless.browser.esm.js ***!\n  \\*********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\nvar unitlessKeys = {\n  animationIterationCount: 1,\n  borderImageOutset: 1,\n  borderImageSlice: 1,\n  borderImageWidth: 1,\n  boxFlex: 1,\n  boxFlexGroup: 1,\n  boxOrdinalGroup: 1,\n  columnCount: 1,\n  columns: 1,\n  flex: 1,\n  flexGrow: 1,\n  flexPositive: 1,\n  flexShrink: 1,\n  flexNegative: 1,\n  flexOrder: 1,\n  gridRow: 1,\n  gridRowEnd: 1,\n  gridRowSpan: 1,\n  gridRowStart: 1,\n  gridColumn: 1,\n  gridColumnEnd: 1,\n  gridColumnSpan: 1,\n  gridColumnStart: 1,\n  msGridRow: 1,\n  msGridRowSpan: 1,\n  msGridColumn: 1,\n  msGridColumnSpan: 1,\n  fontWeight: 1,\n  lineHeight: 1,\n  opacity: 1,\n  order: 1,\n  orphans: 1,\n  tabSize: 1,\n  widows: 1,\n  zIndex: 1,\n  zoom: 1,\n  WebkitLineClamp: 1,\n  // SVG-related properties\n  fillOpacity: 1,\n  floodOpacity: 1,\n  stopOpacity: 1,\n  strokeDasharray: 1,\n  strokeDashoffset: 1,\n  strokeMiterlimit: 1,\n  strokeOpacity: 1,\n  strokeWidth: 1\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (unitlessKeys);\n\n\n/***/ }),\n\n/***/ \"./node_modules/add-dom-event-listener/lib/EventBaseObject.js\":\n/*!********************************************************************!*\\\n  !*** ./node_modules/add-dom-event-listener/lib/EventBaseObject.js ***!\n  \\********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * @ignore\n * base event object for custom and dom event.\n * @author yiminghe@gmail.com\n */\n\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nfunction returnFalse() {\n  return false;\n}\n\nfunction returnTrue() {\n  return true;\n}\n\nfunction EventBaseObject() {\n  this.timeStamp = Date.now();\n  this.target = undefined;\n  this.currentTarget = undefined;\n}\n\nEventBaseObject.prototype = {\n  isEventObject: 1,\n\n  constructor: EventBaseObject,\n\n  isDefaultPrevented: returnFalse,\n\n  isPropagationStopped: returnFalse,\n\n  isImmediatePropagationStopped: returnFalse,\n\n  preventDefault: function preventDefault() {\n    this.isDefaultPrevented = returnTrue;\n  },\n\n  stopPropagation: function stopPropagation() {\n    this.isPropagationStopped = returnTrue;\n  },\n\n  stopImmediatePropagation: function stopImmediatePropagation() {\n    this.isImmediatePropagationStopped = returnTrue;\n    // fixed 1.2\n    // call stopPropagation implicitly\n    this.stopPropagation();\n  },\n\n  halt: function halt(immediate) {\n    if (immediate) {\n      this.stopImmediatePropagation();\n    } else {\n      this.stopPropagation();\n    }\n    this.preventDefault();\n  }\n};\n\nexports[\"default\"] = EventBaseObject;\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n\n/***/ \"./node_modules/add-dom-event-listener/lib/EventObject.js\":\n/*!****************************************************************!*\\\n  !*** ./node_modules/add-dom-event-listener/lib/EventObject.js ***!\n  \\****************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * @ignore\n * event object for dom\n * @author yiminghe@gmail.com\n */\n\n\n\nObject.defineProperty(exports, '__esModule', {\n  value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _EventBaseObject = __webpack_require__(/*! ./EventBaseObject */ \"./node_modules/add-dom-event-listener/lib/EventBaseObject.js\");\n\nvar _EventBaseObject2 = _interopRequireDefault(_EventBaseObject);\n\nvar _objectAssign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nvar TRUE = true;\nvar FALSE = false;\nvar commonProps = ['altKey', 'bubbles', 'cancelable', 'ctrlKey', 'currentTarget', 'eventPhase', 'metaKey', 'shiftKey', 'target', 'timeStamp', 'view', 'type'];\n\nfunction isNullOrUndefined(w) {\n  return w === null || w === undefined;\n}\n\nvar eventNormalizers = [{\n  reg: /^key/,\n  props: ['char', 'charCode', 'key', 'keyCode', 'which'],\n  fix: function fix(event, nativeEvent) {\n    if (isNullOrUndefined(event.which)) {\n      event.which = !isNullOrUndefined(nativeEvent.charCode) ? nativeEvent.charCode : nativeEvent.keyCode;\n    }\n\n    // add metaKey to non-Mac browsers (use ctrl for PC 's and Meta for Macs)\n    if (event.metaKey === undefined) {\n      event.metaKey = event.ctrlKey;\n    }\n  }\n}, {\n  reg: /^touch/,\n  props: ['touches', 'changedTouches', 'targetTouches']\n}, {\n  reg: /^hashchange$/,\n  props: ['newURL', 'oldURL']\n}, {\n  reg: /^gesturechange$/i,\n  props: ['rotation', 'scale']\n}, {\n  reg: /^(mousewheel|DOMMouseScroll)$/,\n  props: [],\n  fix: function fix(event, nativeEvent) {\n    var deltaX = undefined;\n    var deltaY = undefined;\n    var delta = undefined;\n    var wheelDelta = nativeEvent.wheelDelta;\n    var axis = nativeEvent.axis;\n    var wheelDeltaY = nativeEvent.wheelDeltaY;\n    var wheelDeltaX = nativeEvent.wheelDeltaX;\n    var detail = nativeEvent.detail;\n\n    // ie/webkit\n    if (wheelDelta) {\n      delta = wheelDelta / 120;\n    }\n\n    // gecko\n    if (detail) {\n      // press control e.detail == 1 else e.detail == 3\n      delta = 0 - (detail % 3 === 0 ? detail / 3 : detail);\n    }\n\n    // Gecko\n    if (axis !== undefined) {\n      if (axis === event.HORIZONTAL_AXIS) {\n        deltaY = 0;\n        deltaX = 0 - delta;\n      } else if (axis === event.VERTICAL_AXIS) {\n        deltaX = 0;\n        deltaY = delta;\n      }\n    }\n\n    // Webkit\n    if (wheelDeltaY !== undefined) {\n      deltaY = wheelDeltaY / 120;\n    }\n    if (wheelDeltaX !== undefined) {\n      deltaX = -1 * wheelDeltaX / 120;\n    }\n\n    // 默认 deltaY (ie)\n    if (!deltaX && !deltaY) {\n      deltaY = delta;\n    }\n\n    if (deltaX !== undefined) {\n      /**\n       * deltaX of mousewheel event\n       * @property deltaX\n       * @member Event.DomEvent.Object\n       */\n      event.deltaX = deltaX;\n    }\n\n    if (deltaY !== undefined) {\n      /**\n       * deltaY of mousewheel event\n       * @property deltaY\n       * @member Event.DomEvent.Object\n       */\n      event.deltaY = deltaY;\n    }\n\n    if (delta !== undefined) {\n      /**\n       * delta of mousewheel event\n       * @property delta\n       * @member Event.DomEvent.Object\n       */\n      event.delta = delta;\n    }\n  }\n}, {\n  reg: /^mouse|contextmenu|click|mspointer|(^DOMMouseScroll$)/i,\n  props: ['buttons', 'clientX', 'clientY', 'button', 'offsetX', 'relatedTarget', 'which', 'fromElement', 'toElement', 'offsetY', 'pageX', 'pageY', 'screenX', 'screenY'],\n  fix: function fix(event, nativeEvent) {\n    var eventDoc = undefined;\n    var doc = undefined;\n    var body = undefined;\n    var target = event.target;\n    var button = nativeEvent.button;\n\n    // Calculate pageX/Y if missing and clientX/Y available\n    if (target && isNullOrUndefined(event.pageX) && !isNullOrUndefined(nativeEvent.clientX)) {\n      eventDoc = target.ownerDocument || document;\n      doc = eventDoc.documentElement;\n      body = eventDoc.body;\n      event.pageX = nativeEvent.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);\n      event.pageY = nativeEvent.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);\n    }\n\n    // which for click: 1 === left; 2 === middle; 3 === right\n    // do not use button\n    if (!event.which && button !== undefined) {\n      if (button & 1) {\n        event.which = 1;\n      } else if (button & 2) {\n        event.which = 3;\n      } else if (button & 4) {\n        event.which = 2;\n      } else {\n        event.which = 0;\n      }\n    }\n\n    // add relatedTarget, if necessary\n    if (!event.relatedTarget && event.fromElement) {\n      event.relatedTarget = event.fromElement === target ? event.toElement : event.fromElement;\n    }\n\n    return event;\n  }\n}];\n\nfunction retTrue() {\n  return TRUE;\n}\n\nfunction retFalse() {\n  return FALSE;\n}\n\nfunction DomEventObject(nativeEvent) {\n  var type = nativeEvent.type;\n\n  var isNative = typeof nativeEvent.stopPropagation === 'function' || typeof nativeEvent.cancelBubble === 'boolean';\n\n  _EventBaseObject2['default'].call(this);\n\n  this.nativeEvent = nativeEvent;\n\n  // in case dom event has been mark as default prevented by lower dom node\n  var isDefaultPrevented = retFalse;\n  if ('defaultPrevented' in nativeEvent) {\n    isDefaultPrevented = nativeEvent.defaultPrevented ? retTrue : retFalse;\n  } else if ('getPreventDefault' in nativeEvent) {\n    // https://bugzilla.mozilla.org/show_bug.cgi?id=691151\n    isDefaultPrevented = nativeEvent.getPreventDefault() ? retTrue : retFalse;\n  } else if ('returnValue' in nativeEvent) {\n    isDefaultPrevented = nativeEvent.returnValue === FALSE ? retTrue : retFalse;\n  }\n\n  this.isDefaultPrevented = isDefaultPrevented;\n\n  var fixFns = [];\n  var fixFn = undefined;\n  var l = undefined;\n  var prop = undefined;\n  var props = commonProps.concat();\n\n  eventNormalizers.forEach(function (normalizer) {\n    if (type.match(normalizer.reg)) {\n      props = props.concat(normalizer.props);\n      if (normalizer.fix) {\n        fixFns.push(normalizer.fix);\n      }\n    }\n  });\n\n  l = props.length;\n\n  // clone properties of the original event object\n  while (l) {\n    prop = props[--l];\n    this[prop] = nativeEvent[prop];\n  }\n\n  // fix target property, if necessary\n  if (!this.target && isNative) {\n    this.target = nativeEvent.srcElement || document; // srcElement might not be defined either\n  }\n\n  // check if target is a text node (safari)\n  if (this.target && this.target.nodeType === 3) {\n    this.target = this.target.parentNode;\n  }\n\n  l = fixFns.length;\n\n  while (l) {\n    fixFn = fixFns[--l];\n    fixFn(this, nativeEvent);\n  }\n\n  this.timeStamp = nativeEvent.timeStamp || Date.now();\n}\n\nvar EventBaseObjectProto = _EventBaseObject2['default'].prototype;\n\n(0, _objectAssign2['default'])(DomEventObject.prototype, EventBaseObjectProto, {\n  constructor: DomEventObject,\n\n  preventDefault: function preventDefault() {\n    var e = this.nativeEvent;\n\n    // if preventDefault exists run it on the original event\n    if (e.preventDefault) {\n      e.preventDefault();\n    } else {\n      // otherwise set the returnValue property of the original event to FALSE (IE)\n      e.returnValue = FALSE;\n    }\n\n    EventBaseObjectProto.preventDefault.call(this);\n  },\n\n  stopPropagation: function stopPropagation() {\n    var e = this.nativeEvent;\n\n    // if stopPropagation exists run it on the original event\n    if (e.stopPropagation) {\n      e.stopPropagation();\n    } else {\n      // otherwise set the cancelBubble property of the original event to TRUE (IE)\n      e.cancelBubble = TRUE;\n    }\n\n    EventBaseObjectProto.stopPropagation.call(this);\n  }\n});\n\nexports['default'] = DomEventObject;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ \"./node_modules/add-dom-event-listener/lib/index.js\":\n/*!**********************************************************!*\\\n  !*** ./node_modules/add-dom-event-listener/lib/index.js ***!\n  \\**********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, '__esModule', {\n  value: true\n});\nexports['default'] = addEventListener;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _EventObject = __webpack_require__(/*! ./EventObject */ \"./node_modules/add-dom-event-listener/lib/EventObject.js\");\n\nvar _EventObject2 = _interopRequireDefault(_EventObject);\n\nfunction addEventListener(target, eventType, callback, option) {\n  function wrapCallback(e) {\n    var ne = new _EventObject2['default'](e);\n    callback.call(target, ne);\n  }\n\n  if (target.addEventListener) {\n    var _ret = (function () {\n      var useCapture = false;\n      if (typeof option === 'object') {\n        useCapture = option.capture || false;\n      } else if (typeof option === 'boolean') {\n        useCapture = option;\n      }\n\n      target.addEventListener(eventType, wrapCallback, option || false);\n\n      return {\n        v: {\n          remove: function remove() {\n            target.removeEventListener(eventType, wrapCallback, useCapture);\n          }\n        }\n      };\n    })();\n\n    if (typeof _ret === 'object') return _ret.v;\n  } else if (target.attachEvent) {\n    target.attachEvent('on' + eventType, wrapCallback);\n    return {\n      remove: function remove() {\n        target.detachEvent('on' + eventType, wrapCallback);\n      }\n    };\n  }\n}\n\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/core-js/array/from.js\":\n/*!**********************************************************!*\\\n  !*** ./node_modules/babel-runtime/core-js/array/from.js ***!\n  \\**********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/array/from */ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/array/from.js\"), __esModule: true };\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/core-js/object/assign.js\":\n/*!*************************************************************!*\\\n  !*** ./node_modules/babel-runtime/core-js/object/assign.js ***!\n  \\*************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/object/assign */ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/object/assign.js\"), __esModule: true };\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/core-js/object/create.js\":\n/*!*************************************************************!*\\\n  !*** ./node_modules/babel-runtime/core-js/object/create.js ***!\n  \\*************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/object/create */ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/object/create.js\"), __esModule: true };\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/core-js/object/define-property.js\":\n/*!**********************************************************************!*\\\n  !*** ./node_modules/babel-runtime/core-js/object/define-property.js ***!\n  \\**********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/object/define-property */ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/object/define-property.js\"), __esModule: true };\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/core-js/object/get-own-property-descriptor.js\":\n/*!**********************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/core-js/object/get-own-property-descriptor.js ***!\n  \\**********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/object/get-own-property-descriptor */ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/object/get-own-property-descriptor.js\"), __esModule: true };\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/core-js/object/get-prototype-of.js\":\n/*!***********************************************************************!*\\\n  !*** ./node_modules/babel-runtime/core-js/object/get-prototype-of.js ***!\n  \\***********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/object/get-prototype-of */ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/object/get-prototype-of.js\"), __esModule: true };\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/core-js/object/set-prototype-of.js\":\n/*!***********************************************************************!*\\\n  !*** ./node_modules/babel-runtime/core-js/object/set-prototype-of.js ***!\n  \\***********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/object/set-prototype-of */ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/object/set-prototype-of.js\"), __esModule: true };\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/core-js/symbol.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/babel-runtime/core-js/symbol.js ***!\n  \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/symbol */ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/index.js\"), __esModule: true };\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/core-js/symbol/iterator.js\":\n/*!***************************************************************!*\\\n  !*** ./node_modules/babel-runtime/core-js/symbol/iterator.js ***!\n  \\***************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/symbol/iterator */ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/iterator.js\"), __esModule: true };\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/helpers/classCallCheck.js\":\n/*!**************************************************************!*\\\n  !*** ./node_modules/babel-runtime/helpers/classCallCheck.js ***!\n  \\**************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n};\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/helpers/createClass.js\":\n/*!***********************************************************!*\\\n  !*** ./node_modules/babel-runtime/helpers/createClass.js ***!\n  \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(/*! ../core-js/object/define-property */ \"./node_modules/babel-runtime/core-js/object/define-property.js\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n  function defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n      var descriptor = props[i];\n      descriptor.enumerable = descriptor.enumerable || false;\n      descriptor.configurable = true;\n      if (\"value\" in descriptor) descriptor.writable = true;\n      (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n    }\n  }\n\n  return function (Constructor, protoProps, staticProps) {\n    if (protoProps) defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) defineProperties(Constructor, staticProps);\n    return Constructor;\n  };\n}();\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/helpers/defineProperty.js\":\n/*!**************************************************************!*\\\n  !*** ./node_modules/babel-runtime/helpers/defineProperty.js ***!\n  \\**************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(/*! ../core-js/object/define-property */ \"./node_modules/babel-runtime/core-js/object/define-property.js\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/helpers/extends.js\":\n/*!*******************************************************!*\\\n  !*** ./node_modules/babel-runtime/helpers/extends.js ***!\n  \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _assign = __webpack_require__(/*! ../core-js/object/assign */ \"./node_modules/babel-runtime/core-js/object/assign.js\");\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _assign2.default || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/helpers/get.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/babel-runtime/helpers/get.js ***!\n  \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _getPrototypeOf = __webpack_require__(/*! ../core-js/object/get-prototype-of */ \"./node_modules/babel-runtime/core-js/object/get-prototype-of.js\");\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _getOwnPropertyDescriptor = __webpack_require__(/*! ../core-js/object/get-own-property-descriptor */ \"./node_modules/babel-runtime/core-js/object/get-own-property-descriptor.js\");\n\nvar _getOwnPropertyDescriptor2 = _interopRequireDefault(_getOwnPropertyDescriptor);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function get(object, property, receiver) {\n  if (object === null) object = Function.prototype;\n  var desc = (0, _getOwnPropertyDescriptor2.default)(object, property);\n\n  if (desc === undefined) {\n    var parent = (0, _getPrototypeOf2.default)(object);\n\n    if (parent === null) {\n      return undefined;\n    } else {\n      return get(parent, property, receiver);\n    }\n  } else if (\"value\" in desc) {\n    return desc.value;\n  } else {\n    var getter = desc.get;\n\n    if (getter === undefined) {\n      return undefined;\n    }\n\n    return getter.call(receiver);\n  }\n};\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/helpers/inherits.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/babel-runtime/helpers/inherits.js ***!\n  \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = __webpack_require__(/*! ../core-js/object/set-prototype-of */ \"./node_modules/babel-runtime/core-js/object/set-prototype-of.js\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = __webpack_require__(/*! ../core-js/object/create */ \"./node_modules/babel-runtime/core-js/object/create.js\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = __webpack_require__(/*! ../helpers/typeof */ \"./node_modules/babel-runtime/helpers/typeof.js\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n  if (typeof superClass !== \"function\" && superClass !== null) {\n    throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n  }\n\n  subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n    constructor: {\n      value: subClass,\n      enumerable: false,\n      writable: true,\n      configurable: true\n    }\n  });\n  if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/helpers/objectWithoutProperties.js\":\n/*!***********************************************************************!*\\\n  !*** ./node_modules/babel-runtime/helpers/objectWithoutProperties.js ***!\n  \\***********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nexports.default = function (obj, keys) {\n  var target = {};\n\n  for (var i in obj) {\n    if (keys.indexOf(i) >= 0) continue;\n    if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n    target[i] = obj[i];\n  }\n\n  return target;\n};\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/helpers/possibleConstructorReturn.js\":\n/*!*************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/helpers/possibleConstructorReturn.js ***!\n  \\*************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _typeof2 = __webpack_require__(/*! ../helpers/typeof */ \"./node_modules/babel-runtime/helpers/typeof.js\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n  if (!self) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n\n  return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/helpers/toConsumableArray.js\":\n/*!*****************************************************************!*\\\n  !*** ./node_modules/babel-runtime/helpers/toConsumableArray.js ***!\n  \\*****************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _from = __webpack_require__(/*! ../core-js/array/from */ \"./node_modules/babel-runtime/core-js/array/from.js\");\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n      arr2[i] = arr[i];\n    }\n\n    return arr2;\n  } else {\n    return (0, _from2.default)(arr);\n  }\n};\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/helpers/typeof.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/babel-runtime/helpers/typeof.js ***!\n  \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(/*! ../core-js/symbol/iterator */ \"./node_modules/babel-runtime/core-js/symbol/iterator.js\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(/*! ../core-js/symbol */ \"./node_modules/babel-runtime/core-js/symbol.js\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/array/from.js\":\n/*!**********************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/array/from.js ***!\n  \\**********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ../../modules/es6.string.iterator */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.string.iterator.js\");\n__webpack_require__(/*! ../../modules/es6.array.from */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.from.js\");\nmodule.exports = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\").Array.from;\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/object/assign.js\":\n/*!*************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/object/assign.js ***!\n  \\*************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ../../modules/es6.object.assign */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.assign.js\");\nmodule.exports = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\").Object.assign;\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/object/create.js\":\n/*!*************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/object/create.js ***!\n  \\*************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ../../modules/es6.object.create */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.create.js\");\nvar $Object = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\").Object;\nmodule.exports = function create(P, D) {\n  return $Object.create(P, D);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/object/define-property.js\":\n/*!**********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/object/define-property.js ***!\n  \\**********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ../../modules/es6.object.define-property */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.define-property.js\");\nvar $Object = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\").Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/object/get-own-property-descriptor.js\":\n/*!**********************************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/object/get-own-property-descriptor.js ***!\n  \\**********************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ../../modules/es6.object.get-own-property-descriptor */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js\");\nvar $Object = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\").Object;\nmodule.exports = function getOwnPropertyDescriptor(it, key) {\n  return $Object.getOwnPropertyDescriptor(it, key);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/object/get-prototype-of.js\":\n/*!***********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/object/get-prototype-of.js ***!\n  \\***********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ../../modules/es6.object.get-prototype-of */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.get-prototype-of.js\");\nmodule.exports = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\").Object.getPrototypeOf;\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/object/set-prototype-of.js\":\n/*!***********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/object/set-prototype-of.js ***!\n  \\***********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ../../modules/es6.object.set-prototype-of */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.set-prototype-of.js\");\nmodule.exports = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\").Object.setPrototypeOf;\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/index.js\":\n/*!************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/index.js ***!\n  \\************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ../../modules/es6.symbol */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js\");\n__webpack_require__(/*! ../../modules/es6.object.to-string */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.to-string.js\");\n__webpack_require__(/*! ../../modules/es7.symbol.async-iterator */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.async-iterator.js\");\n__webpack_require__(/*! ../../modules/es7.symbol.observable */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.observable.js\");\nmodule.exports = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\").Symbol;\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/iterator.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/iterator.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ../../modules/es6.string.iterator */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.string.iterator.js\");\n__webpack_require__(/*! ../../modules/web.dom.iterable */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js\");\nmodule.exports = __webpack_require__(/*! ../../modules/_wks-ext */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js\").f('iterator');\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_a-function.js\":\n/*!****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_a-function.js ***!\n  \\****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_add-to-unscopables.js\":\n/*!************************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_add-to-unscopables.js ***!\n  \\************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js\");\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_array-includes.js\":\n/*!********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_array-includes.js ***!\n  \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js\");\nvar toLength = __webpack_require__(/*! ./_to-length */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-length.js\");\nvar toAbsoluteIndex = __webpack_require__(/*! ./_to-absolute-index */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-absolute-index.js\");\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_classof.js\":\n/*!*************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_classof.js ***!\n  \\*************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(/*! ./_cof */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_cof.js\");\nvar TAG = __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\")('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_cof.js\":\n/*!*********************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_cof.js ***!\n  \\*********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\":\n/*!**********************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js ***!\n  \\**********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.6.9' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_create-property.js\":\n/*!*********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_create-property.js ***!\n  \\*********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $defineProperty = __webpack_require__(/*! ./_object-dp */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js\");\nvar createDesc = __webpack_require__(/*! ./_property-desc */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js\");\n\nmodule.exports = function (object, index, value) {\n  if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n  else object[index] = value;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_ctx.js\":\n/*!*********************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_ctx.js ***!\n  \\*********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(/*! ./_a-function */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_a-function.js\");\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_defined.js\":\n/*!*************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_defined.js ***!\n  \\*************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js\":\n/*!*****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js ***!\n  \\*****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(/*! ./_fails */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js\")(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_dom-create.js\":\n/*!****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_dom-create.js ***!\n  \\****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js\");\nvar document = __webpack_require__(/*! ./_global */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\").document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js\":\n/*!*******************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js ***!\n  \\*******************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-keys.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-keys.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(/*! ./_object-keys */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js\");\nvar gOPS = __webpack_require__(/*! ./_object-gops */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js\");\nvar pIE = __webpack_require__(/*! ./_object-pie */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js\");\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js\":\n/*!************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js ***!\n  \\************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(/*! ./_global */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\");\nvar core = __webpack_require__(/*! ./_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\");\nvar ctx = __webpack_require__(/*! ./_ctx */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_ctx.js\");\nvar hide = __webpack_require__(/*! ./_hide */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js\");\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js\");\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js\":\n/*!***********************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js ***!\n  \\***********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\":\n/*!************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js ***!\n  \\************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js\":\n/*!*********************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js ***!\n  \\*********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js\":\n/*!**********************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js ***!\n  \\**********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(/*! ./_object-dp */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js\");\nvar createDesc = __webpack_require__(/*! ./_property-desc */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js\");\nmodule.exports = __webpack_require__(/*! ./_descriptors */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js\") ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_html.js\":\n/*!**********************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_html.js ***!\n  \\**********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(/*! ./_global */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\").document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_ie8-dom-define.js\":\n/*!********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_ie8-dom-define.js ***!\n  \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(/*! ./_descriptors */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js\") && !__webpack_require__(/*! ./_fails */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js\")(function () {\n  return Object.defineProperty(__webpack_require__(/*! ./_dom-create */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_dom-create.js\")('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iobject.js\":\n/*!*************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_iobject.js ***!\n  \\*************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(/*! ./_cof */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_cof.js\");\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array-iter.js\":\n/*!*******************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array-iter.js ***!\n  \\*******************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(/*! ./_iterators */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js\");\nvar ITERATOR = __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\")('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array.js\":\n/*!**************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array.js ***!\n  \\**************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(/*! ./_cof */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_cof.js\");\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-call.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-call.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js\");\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-create.js\":\n/*!*****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-create.js ***!\n  \\*****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(/*! ./_object-create */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js\");\nvar descriptor = __webpack_require__(/*! ./_property-desc */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js\");\nvar setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js\");\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(/*! ./_hide */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js\")(IteratorPrototype, __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\")('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js\":\n/*!*****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js ***!\n  \\*****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(/*! ./_library */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js\");\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js\");\nvar redefine = __webpack_require__(/*! ./_redefine */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_redefine.js\");\nvar hide = __webpack_require__(/*! ./_hide */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js\");\nvar Iterators = __webpack_require__(/*! ./_iterators */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js\");\nvar $iterCreate = __webpack_require__(/*! ./_iter-create */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-create.js\");\nvar setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js\");\nvar getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gpo.js\");\nvar ITERATOR = __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\")('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-detect.js\":\n/*!*****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-detect.js ***!\n  \\*****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\")('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-step.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-step.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js\":\n/*!*************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js ***!\n  \\*************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_meta.js\":\n/*!**********************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_meta.js ***!\n  \\**********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(/*! ./_uid */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js\")('meta');\nvar isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js\");\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js\");\nvar setDesc = __webpack_require__(/*! ./_object-dp */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js\").f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__webpack_require__(/*! ./_fails */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js\")(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js\":\n/*!*******************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js ***!\n  \\*******************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = __webpack_require__(/*! ./_descriptors */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js\");\nvar getKeys = __webpack_require__(/*! ./_object-keys */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js\");\nvar gOPS = __webpack_require__(/*! ./_object-gops */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js\");\nvar pIE = __webpack_require__(/*! ./_object-pie */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js\");\nvar toObject = __webpack_require__(/*! ./_to-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js\");\nvar IObject = __webpack_require__(/*! ./_iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iobject.js\");\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(/*! ./_fails */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js\")(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) {\n      key = keys[j++];\n      if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n    }\n  } return T;\n} : $assign;\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js\":\n/*!*******************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js ***!\n  \\*******************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js\");\nvar dPs = __webpack_require__(/*! ./_object-dps */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dps.js\");\nvar enumBugKeys = __webpack_require__(/*! ./_enum-bug-keys */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js\");\nvar IE_PROTO = __webpack_require__(/*! ./_shared-key */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js\")('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(/*! ./_dom-create */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_dom-create.js\")('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(/*! ./_html */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_html.js\").appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js\");\nvar IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_ie8-dom-define.js\");\nvar toPrimitive = __webpack_require__(/*! ./_to-primitive */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js\");\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(/*! ./_descriptors */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js\") ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dps.js\":\n/*!****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dps.js ***!\n  \\****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(/*! ./_object-dp */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js\");\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js\");\nvar getKeys = __webpack_require__(/*! ./_object-keys */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js\");\n\nmodule.exports = __webpack_require__(/*! ./_descriptors */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js\") ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js\":\n/*!*****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js ***!\n  \\*****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(/*! ./_object-pie */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js\");\nvar createDesc = __webpack_require__(/*! ./_property-desc */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js\");\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js\");\nvar toPrimitive = __webpack_require__(/*! ./_to-primitive */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js\");\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js\");\nvar IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_ie8-dom-define.js\");\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(/*! ./_descriptors */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js\") ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn-ext.js\":\n/*!*********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn-ext.js ***!\n  \\*********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js\");\nvar gOPN = __webpack_require__(/*! ./_object-gopn */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn.js\").f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn.js\":\n/*!*****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn.js ***!\n  \\*****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(/*! ./_object-keys-internal */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js\");\nvar hiddenKeys = __webpack_require__(/*! ./_enum-bug-keys */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js\").concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js\":\n/*!*****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js ***!\n  \\*****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gpo.js\":\n/*!****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gpo.js ***!\n  \\****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js\");\nvar toObject = __webpack_require__(/*! ./_to-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js\");\nvar IE_PROTO = __webpack_require__(/*! ./_shared-key */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js\")('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js\":\n/*!**************************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js ***!\n  \\**************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js\");\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js\");\nvar arrayIndexOf = __webpack_require__(/*! ./_array-includes */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_array-includes.js\")(false);\nvar IE_PROTO = __webpack_require__(/*! ./_shared-key */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js\")('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js\":\n/*!*****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js ***!\n  \\*****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(/*! ./_object-keys-internal */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js\");\nvar enumBugKeys = __webpack_require__(/*! ./_enum-bug-keys */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js\");\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js\":\n/*!****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js ***!\n  \\****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-sap.js\":\n/*!****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-sap.js ***!\n  \\****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js\");\nvar core = __webpack_require__(/*! ./_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\");\nvar fails = __webpack_require__(/*! ./_fails */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js\");\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js\":\n/*!*******************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js ***!\n  \\*******************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_redefine.js\":\n/*!**************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_redefine.js ***!\n  \\**************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! ./_hide */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js\");\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-proto.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-proto.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js\");\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js\");\nvar check = function (O, proto) {\n  anObject(O);\n  if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n  set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n    function (test, buggy, set) {\n      try {\n        set = __webpack_require__(/*! ./_ctx */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_ctx.js\")(Function.call, __webpack_require__(/*! ./_object-gopd */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js\").f(Object.prototype, '__proto__').set, 2);\n        set(test, []);\n        buggy = !(test instanceof Array);\n      } catch (e) { buggy = true; }\n      return function setPrototypeOf(O, proto) {\n        check(O, proto);\n        if (buggy) O.__proto__ = proto;\n        else set(O, proto);\n        return O;\n      };\n    }({}, false) : undefined),\n  check: check\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js\":\n/*!***********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js ***!\n  \\***********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(/*! ./_object-dp */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js\").f;\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js\");\nvar TAG = __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\")('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js\":\n/*!****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js ***!\n  \\****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(/*! ./_shared */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js\")('keys');\nvar uid = __webpack_require__(/*! ./_uid */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js\");\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js\":\n/*!************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js ***!\n  \\************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(/*! ./_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\");\nvar global = __webpack_require__(/*! ./_global */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\");\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(/*! ./_library */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js\") ? 'pure' : 'global',\n  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_string-at.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_string-at.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(/*! ./_to-integer */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js\");\nvar defined = __webpack_require__(/*! ./_defined */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_defined.js\");\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-absolute-index.js\":\n/*!***********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-absolute-index.js ***!\n  \\***********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(/*! ./_to-integer */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js\");\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js\":\n/*!****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js ***!\n  \\****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js\":\n/*!****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js ***!\n  \\****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(/*! ./_iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iobject.js\");\nvar defined = __webpack_require__(/*! ./_defined */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_defined.js\");\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-length.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-length.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(/*! ./_to-integer */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js\");\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(/*! ./_defined */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_defined.js\");\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js\":\n/*!******************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js ***!\n  \\******************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js\");\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js\":\n/*!*********************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js ***!\n  \\*********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js\":\n/*!****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js ***!\n  \\****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(/*! ./_global */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\");\nvar core = __webpack_require__(/*! ./_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\");\nvar LIBRARY = __webpack_require__(/*! ./_library */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js\");\nvar wksExt = __webpack_require__(/*! ./_wks-ext */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js\");\nvar defineProperty = __webpack_require__(/*! ./_object-dp */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js\").f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js\":\n/*!*************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js ***!\n  \\*************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\");\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\":\n/*!*********************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js ***!\n  \\*********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(/*! ./_shared */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js\")('wks');\nvar uid = __webpack_require__(/*! ./_uid */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js\");\nvar Symbol = __webpack_require__(/*! ./_global */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\").Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/core.get-iterator-method.js\":\n/*!*****************************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/core.get-iterator-method.js ***!\n  \\*****************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(/*! ./_classof */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_classof.js\");\nvar ITERATOR = __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\")('iterator');\nvar Iterators = __webpack_require__(/*! ./_iterators */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js\");\nmodule.exports = __webpack_require__(/*! ./_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\").getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.from.js\":\n/*!*******************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.from.js ***!\n  \\*******************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ctx = __webpack_require__(/*! ./_ctx */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_ctx.js\");\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js\");\nvar toObject = __webpack_require__(/*! ./_to-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js\");\nvar call = __webpack_require__(/*! ./_iter-call */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-call.js\");\nvar isArrayIter = __webpack_require__(/*! ./_is-array-iter */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array-iter.js\");\nvar toLength = __webpack_require__(/*! ./_to-length */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-length.js\");\nvar createProperty = __webpack_require__(/*! ./_create-property */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_create-property.js\");\nvar getIterFn = __webpack_require__(/*! ./core.get-iterator-method */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/core.get-iterator-method.js\");\n\n$export($export.S + $export.F * !__webpack_require__(/*! ./_iter-detect */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-detect.js\")(function (iter) { Array.from(iter); }), 'Array', {\n  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n    var O = toObject(arrayLike);\n    var C = typeof this == 'function' ? this : Array;\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var index = 0;\n    var iterFn = getIterFn(O);\n    var length, result, step, iterator;\n    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n    // if object isn't iterable or it's array with default iterator - use simple case\n    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n      }\n    } else {\n      length = toLength(O.length);\n      for (result = new C(length); length > index; index++) {\n        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n      }\n    }\n    result.length = index;\n    return result;\n  }\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.iterator.js\":\n/*!***********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.iterator.js ***!\n  \\***********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(/*! ./_add-to-unscopables */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_add-to-unscopables.js\");\nvar step = __webpack_require__(/*! ./_iter-step */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-step.js\");\nvar Iterators = __webpack_require__(/*! ./_iterators */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js\");\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js\");\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(/*! ./_iter-define */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js\")(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.assign.js\":\n/*!**********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.assign.js ***!\n  \\**********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js\");\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(/*! ./_object-assign */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js\") });\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.create.js\":\n/*!**********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.create.js ***!\n  \\**********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js\");\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: __webpack_require__(/*! ./_object-create */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js\") });\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.define-property.js\":\n/*!*******************************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.define-property.js ***!\n  \\*******************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js\");\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(/*! ./_descriptors */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js\"), 'Object', { defineProperty: __webpack_require__(/*! ./_object-dp */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js\").f });\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js\":\n/*!*******************************************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js ***!\n  \\*******************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js\");\nvar $getOwnPropertyDescriptor = __webpack_require__(/*! ./_object-gopd */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js\").f;\n\n__webpack_require__(/*! ./_object-sap */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-sap.js\")('getOwnPropertyDescriptor', function () {\n  return function getOwnPropertyDescriptor(it, key) {\n    return $getOwnPropertyDescriptor(toIObject(it), key);\n  };\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.get-prototype-of.js\":\n/*!********************************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.get-prototype-of.js ***!\n  \\********************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = __webpack_require__(/*! ./_to-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js\");\nvar $getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gpo.js\");\n\n__webpack_require__(/*! ./_object-sap */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-sap.js\")('getPrototypeOf', function () {\n  return function getPrototypeOf(it) {\n    return $getPrototypeOf(toObject(it));\n  };\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.set-prototype-of.js\":\n/*!********************************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.set-prototype-of.js ***!\n  \\********************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js\");\n$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(/*! ./_set-proto */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-proto.js\").set });\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.to-string.js\":\n/*!*************************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.to-string.js ***!\n  \\*************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.string.iterator.js\":\n/*!************************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.string.iterator.js ***!\n  \\************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(/*! ./_string-at */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_string-at.js\")(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(/*! ./_iter-define */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js\")(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(/*! ./_global */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\");\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js\");\nvar DESCRIPTORS = __webpack_require__(/*! ./_descriptors */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js\");\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js\");\nvar redefine = __webpack_require__(/*! ./_redefine */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_redefine.js\");\nvar META = __webpack_require__(/*! ./_meta */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_meta.js\").KEY;\nvar $fails = __webpack_require__(/*! ./_fails */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js\");\nvar shared = __webpack_require__(/*! ./_shared */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js\");\nvar setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js\");\nvar uid = __webpack_require__(/*! ./_uid */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js\");\nvar wks = __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\");\nvar wksExt = __webpack_require__(/*! ./_wks-ext */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js\");\nvar wksDefine = __webpack_require__(/*! ./_wks-define */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js\");\nvar enumKeys = __webpack_require__(/*! ./_enum-keys */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-keys.js\");\nvar isArray = __webpack_require__(/*! ./_is-array */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array.js\");\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js\");\nvar isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js\");\nvar toObject = __webpack_require__(/*! ./_to-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js\");\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js\");\nvar toPrimitive = __webpack_require__(/*! ./_to-primitive */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js\");\nvar createDesc = __webpack_require__(/*! ./_property-desc */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js\");\nvar _create = __webpack_require__(/*! ./_object-create */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js\");\nvar gOPNExt = __webpack_require__(/*! ./_object-gopn-ext */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn-ext.js\");\nvar $GOPD = __webpack_require__(/*! ./_object-gopd */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js\");\nvar $GOPS = __webpack_require__(/*! ./_object-gops */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js\");\nvar $DP = __webpack_require__(/*! ./_object-dp */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js\");\nvar $keys = __webpack_require__(/*! ./_object-keys */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js\");\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  __webpack_require__(/*! ./_object-gopn */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn.js\").f = gOPNExt.f = $getOwnPropertyNames;\n  __webpack_require__(/*! ./_object-pie */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js\").f = $propertyIsEnumerable;\n  $GOPS.f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !__webpack_require__(/*! ./_library */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js\")) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n  getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n    return $GOPS.f(toObject(it));\n  }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(/*! ./_hide */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js\")($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.async-iterator.js\":\n/*!******************************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.async-iterator.js ***!\n  \\******************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ./_wks-define */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js\")('asyncIterator');\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.observable.js\":\n/*!**************************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.observable.js ***!\n  \\**************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ./_wks-define */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js\")('observable');\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js\":\n/*!*********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js ***!\n  \\*********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ./es6.array.iterator */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.iterator.js\");\nvar global = __webpack_require__(/*! ./_global */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\");\nvar hide = __webpack_require__(/*! ./_hide */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js\");\nvar Iterators = __webpack_require__(/*! ./_iterators */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js\");\nvar TO_STRING_TAG = __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\")('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/classnames/index.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/classnames/index.js ***!\n  \\******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n  Copyright (c) 2017 Jed Watson.\n  Licensed under the MIT License (MIT), see\n  http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif ( true && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (true) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n\t\t\treturn classNames;\n\t\t}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else {}\n}());\n\n\n/***/ }),\n\n/***/ \"./node_modules/color-convert/conversions.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/color-convert/conversions.js ***!\n  \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* MIT license */\nvar cssKeywords = __webpack_require__(/*! color-name */ \"./node_modules/color-name/index.js\");\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n//       values that give correct `typeof` results).\n//       do not use box values types (i.e. Number(), String(), etc.)\n\nvar reverseKeywords = {};\nfor (var key in cssKeywords) {\n\tif (cssKeywords.hasOwnProperty(key)) {\n\t\treverseKeywords[cssKeywords[key]] = key;\n\t}\n}\n\nvar convert = module.exports = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\n// hide .channels and .labels properties\nfor (var model in convert) {\n\tif (convert.hasOwnProperty(model)) {\n\t\tif (!('channels' in convert[model])) {\n\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t}\n\n\t\tif (!('labels' in convert[model])) {\n\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t}\n\n\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t}\n\n\t\tvar channels = convert[model].channels;\n\t\tvar labels = convert[model].labels;\n\t\tdelete convert[model].channels;\n\t\tdelete convert[model].labels;\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t}\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar l;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tvar rdif;\n\tvar gdif;\n\tvar bdif;\n\tvar h;\n\tvar s;\n\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar v = Math.max(r, g, b);\n\tvar diff = v - Math.min(r, g, b);\n\tvar diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = s = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar h = convert.rgb.hsl(rgb)[0];\n\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar c;\n\tvar m;\n\tvar y;\n\tvar k;\n\n\tk = Math.min(1 - r, 1 - g, 1 - b);\n\tc = (1 - r - k) / (1 - k) || 0;\n\tm = (1 - g - k) / (1 - k) || 0;\n\ty = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\nfunction comparativeDistance(x, y) {\n\treturn (\n\t\tMath.pow(x[0] - y[0], 2) +\n\t\tMath.pow(x[1] - y[1], 2) +\n\t\tMath.pow(x[2] - y[2], 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tvar reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tvar currentClosestDistance = Infinity;\n\tvar currentClosestKeyword;\n\n\tfor (var keyword in cssKeywords) {\n\t\tif (cssKeywords.hasOwnProperty(keyword)) {\n\t\t\tvar value = cssKeywords[keyword];\n\n\t\t\t// Compute comparative distance\n\t\t\tvar distance = comparativeDistance(rgb, value);\n\n\t\t\t// Check if its less, if so set as closest\n\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tvar xyz = convert.rgb.xyz(rgb);\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tvar h = hsl[0] / 360;\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar t1;\n\tvar t2;\n\tvar t3;\n\tvar rgb;\n\tvar val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tt1 = 2 * l - t2;\n\n\trgb = [0, 0, 0];\n\tfor (var i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tvar h = hsl[0];\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar smin = s;\n\tvar lmin = Math.max(l, 0.01);\n\tvar sv;\n\tvar v;\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tv = (l + s) / 2;\n\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tvar h = hsv[0] / 60;\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar hi = Math.floor(h) % 6;\n\n\tvar f = h - Math.floor(h);\n\tvar p = 255 * v * (1 - s);\n\tvar q = 255 * v * (1 - (s * f));\n\tvar t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tvar h = hsv[0];\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar vmin = Math.max(v, 0.01);\n\tvar lmin;\n\tvar sl;\n\tvar l;\n\n\tl = (2 - s) * v;\n\tlmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tvar h = hwb[0] / 360;\n\tvar wh = hwb[1] / 100;\n\tvar bl = hwb[2] / 100;\n\tvar ratio = wh + bl;\n\tvar i;\n\tvar v;\n\tvar f;\n\tvar n;\n\n\t// wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\ti = Math.floor(6 * h);\n\tv = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tn = wh + f * (v - wh); // linear interpolation\n\n\tvar r;\n\tvar g;\n\tvar b;\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tvar c = cmyk[0] / 100;\n\tvar m = cmyk[1] / 100;\n\tvar y = cmyk[2] / 100;\n\tvar k = cmyk[3] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = 1 - Math.min(1, c * (1 - k) + k);\n\tg = 1 - Math.min(1, m * (1 - k) + k);\n\tb = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tvar x = xyz[0] / 100;\n\tvar y = xyz[1] / 100;\n\tvar z = xyz[2] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar x;\n\tvar y;\n\tvar z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tvar y2 = Math.pow(y, 3);\n\tvar x2 = Math.pow(x, 3);\n\tvar z2 = Math.pow(z, 3);\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar hr;\n\tvar h;\n\tvar c;\n\n\thr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tc = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tvar l = lch[0];\n\tvar c = lch[1];\n\tvar h = lch[2];\n\tvar a;\n\tvar b;\n\tvar hr;\n\n\thr = h / 360 * 2 * Math.PI;\n\ta = c * Math.cos(hr);\n\tb = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tvar ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\n\t// we use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tvar ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tvar color = args % 10;\n\n\t// handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tvar mult = (~~(args > 50) + 1) * 0.5;\n\tvar r = ((color & 1) * mult) * 255;\n\tvar g = (((color >> 1) & 1) * mult) * 255;\n\tvar b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// handle greyscale\n\tif (args >= 232) {\n\t\tvar c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tvar rem;\n\tvar r = Math.floor(args / 36) / 5 * 255;\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tvar b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tvar colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tvar integer = parseInt(colorString, 16);\n\tvar r = (integer >> 16) & 0xFF;\n\tvar g = (integer >> 8) & 0xFF;\n\tvar b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar max = Math.max(Math.max(r, g), b);\n\tvar min = Math.min(Math.min(r, g), b);\n\tvar chroma = (max - min);\n\tvar grayscale;\n\tvar hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma + 4;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar c = 1;\n\tvar f = 0;\n\n\tif (l < 0.5) {\n\t\tc = 2.0 * s * l;\n\t} else {\n\t\tc = 2.0 * s * (1.0 - l);\n\t}\n\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\n\tvar c = s * v;\n\tvar f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tvar h = hcg[0] / 360;\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tvar pure = [0, 0, 0];\n\tvar hi = (h % 1) * 6;\n\tvar v = hi % 1;\n\tvar w = 1 - v;\n\tvar mg = 0;\n\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar v = c + g * (1.0 - c);\n\tvar f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar l = g * (1.0 - c) + 0.5 * c;\n\tvar s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\tvar v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tvar w = hwb[1] / 100;\n\tvar b = hwb[2] / 100;\n\tvar v = 1 - b;\n\tvar c = v - w;\n\tvar g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = convert.gray.hsv = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tvar integer = (val << 16) + (val << 8) + val;\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/color-convert/index.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/color-convert/index.js ***!\n  \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar conversions = __webpack_require__(/*! ./conversions */ \"./node_modules/color-convert/conversions.js\");\nvar route = __webpack_require__(/*! ./route */ \"./node_modules/color-convert/route.js\");\n\nvar convert = {};\n\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\tvar result = fn(args);\n\n\t\t// we're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tvar routes = route(fromModel);\n\tvar routeModels = Object.keys(routes);\n\n\trouteModels.forEach(function (toModel) {\n\t\tvar fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n\n\n/***/ }),\n\n/***/ \"./node_modules/color-convert/route.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/color-convert/route.js ***!\n  \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar conversions = __webpack_require__(/*! ./conversions */ \"./node_modules/color-convert/conversions.js\");\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tvar graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tvar models = Object.keys(conversions);\n\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tvar graph = buildGraph();\n\tvar queue = [fromModel]; // unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tvar current = queue.pop();\n\t\tvar adjacents = Object.keys(conversions[current]);\n\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tvar adjacent = adjacents[i];\n\t\t\tvar node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tvar path = [graph[toModel].parent, toModel];\n\tvar fn = conversions[graph[toModel].parent][toModel];\n\n\tvar cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tvar graph = deriveBFS(fromModel);\n\tvar conversion = {};\n\n\tvar models = Object.keys(graph);\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tvar toModel = models[i];\n\t\tvar node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// no possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/color-name/index.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/color-name/index.js ***!\n  \\******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n\n\n/***/ }),\n\n/***/ \"./node_modules/color-string/index.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/color-string/index.js ***!\n  \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* MIT license */\nvar colorNames = __webpack_require__(/*! color-name */ \"./node_modules/color-name/index.js\");\nvar swizzle = __webpack_require__(/*! simple-swizzle */ \"./node_modules/simple-swizzle/index.js\");\n\nvar reverseNames = {};\n\n// create a list of reverse color names\nfor (var name in colorNames) {\n\tif (colorNames.hasOwnProperty(name)) {\n\t\treverseNames[colorNames[name]] = name;\n\t}\n}\n\nvar cs = module.exports = {\n\tto: {},\n\tget: {}\n};\n\ncs.get = function (string) {\n\tvar prefix = string.substring(0, 3).toLowerCase();\n\tvar val;\n\tvar model;\n\tswitch (prefix) {\n\t\tcase 'hsl':\n\t\t\tval = cs.get.hsl(string);\n\t\t\tmodel = 'hsl';\n\t\t\tbreak;\n\t\tcase 'hwb':\n\t\t\tval = cs.get.hwb(string);\n\t\t\tmodel = 'hwb';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tval = cs.get.rgb(string);\n\t\t\tmodel = 'rgb';\n\t\t\tbreak;\n\t}\n\n\tif (!val) {\n\t\treturn null;\n\t}\n\n\treturn {model: model, value: val};\n};\n\ncs.get.rgb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar abbr = /^#([a-f0-9]{3,4})$/i;\n\tvar hex = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i;\n\tvar rgba = /^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\tvar per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\tvar keyword = /(\\D+)/;\n\n\tvar rgb = [0, 0, 0, 1];\n\tvar match;\n\tvar i;\n\tvar hexAlpha;\n\n\tif (match = string.match(hex)) {\n\t\thexAlpha = match[2];\n\t\tmatch = match[1];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\t// https://jsperf.com/slice-vs-substr-vs-substring-methods-long-string/19\n\t\t\tvar i2 = i * 2;\n\t\t\trgb[i] = parseInt(match.slice(i2, i2 + 2), 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = Math.round((parseInt(hexAlpha, 16) / 255) * 100) / 100;\n\t\t}\n\t} else if (match = string.match(abbr)) {\n\t\tmatch = match[1];\n\t\thexAlpha = match[3];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i] + match[i], 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = Math.round((parseInt(hexAlpha + hexAlpha, 16) / 255) * 100) / 100;\n\t\t}\n\t} else if (match = string.match(rgba)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i + 1], 0);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\trgb[3] = parseFloat(match[4]);\n\t\t}\n\t} else if (match = string.match(per)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\trgb[3] = parseFloat(match[4]);\n\t\t}\n\t} else if (match = string.match(keyword)) {\n\t\tif (match[1] === 'transparent') {\n\t\t\treturn [0, 0, 0, 0];\n\t\t}\n\n\t\trgb = colorNames[match[1]];\n\n\t\tif (!rgb) {\n\t\t\treturn null;\n\t\t}\n\n\t\trgb[3] = 1;\n\n\t\treturn rgb;\n\t} else {\n\t\treturn null;\n\t}\n\n\tfor (i = 0; i < 3; i++) {\n\t\trgb[i] = clamp(rgb[i], 0, 255);\n\t}\n\trgb[3] = clamp(rgb[3], 0, 1);\n\n\treturn rgb;\n};\n\ncs.get.hsl = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hsl = /^hsla?\\(\\s*([+-]?(?:\\d*\\.)?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\tvar match = string.match(hsl);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = (parseFloat(match[1]) + 360) % 360;\n\t\tvar s = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar l = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\n\t\treturn [h, s, l, a];\n\t}\n\n\treturn null;\n};\n\ncs.get.hwb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hwb = /^hwb\\(\\s*([+-]?\\d*[\\.]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\tvar match = string.match(hwb);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = ((parseFloat(match[1]) % 360) + 360) % 360;\n\t\tvar w = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar b = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\t\treturn [h, w, b, a];\n\t}\n\n\treturn null;\n};\n\ncs.to.hex = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn (\n\t\t'#' +\n\t\thexDouble(rgba[0]) +\n\t\thexDouble(rgba[1]) +\n\t\thexDouble(rgba[2]) +\n\t\t(rgba[3] < 1\n\t\t\t? (hexDouble(Math.round(rgba[3] * 255)))\n\t\t\t: '')\n\t);\n};\n\ncs.to.rgb = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ')'\n\t\t: 'rgba(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ', ' + rgba[3] + ')';\n};\n\ncs.to.rgb.percent = function () {\n\tvar rgba = swizzle(arguments);\n\n\tvar r = Math.round(rgba[0] / 255 * 100);\n\tvar g = Math.round(rgba[1] / 255 * 100);\n\tvar b = Math.round(rgba[2] / 255 * 100);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + r + '%, ' + g + '%, ' + b + '%)'\n\t\t: 'rgba(' + r + '%, ' + g + '%, ' + b + '%, ' + rgba[3] + ')';\n};\n\ncs.to.hsl = function () {\n\tvar hsla = swizzle(arguments);\n\treturn hsla.length < 4 || hsla[3] === 1\n\t\t? 'hsl(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%)'\n\t\t: 'hsla(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%, ' + hsla[3] + ')';\n};\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\ncs.to.hwb = function () {\n\tvar hwba = swizzle(arguments);\n\n\tvar a = '';\n\tif (hwba.length >= 4 && hwba[3] !== 1) {\n\t\ta = ', ' + hwba[3];\n\t}\n\n\treturn 'hwb(' + hwba[0] + ', ' + hwba[1] + '%, ' + hwba[2] + '%' + a + ')';\n};\n\ncs.to.keyword = function (rgb) {\n\treturn reverseNames[rgb.slice(0, 3)];\n};\n\n// helpers\nfunction clamp(num, min, max) {\n\treturn Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n\tvar str = num.toString(16).toUpperCase();\n\treturn (str.length < 2) ? '0' + str : str;\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/color/index.js\":\n/*!*************************************!*\\\n  !*** ./node_modules/color/index.js ***!\n  \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar colorString = __webpack_require__(/*! color-string */ \"./node_modules/color-string/index.js\");\nvar convert = __webpack_require__(/*! color-convert */ \"./node_modules/color-convert/index.js\");\n\nvar _slice = [].slice;\n\nvar skippedModels = [\n\t// to be honest, I don't really feel like keyword belongs in color convert, but eh.\n\t'keyword',\n\n\t// gray conflicts with some method names, and has its own method defined.\n\t'gray',\n\n\t// shouldn't really be in color-convert either...\n\t'hex'\n];\n\nvar hashedModelKeys = {};\nObject.keys(convert).forEach(function (model) {\n\thashedModelKeys[_slice.call(convert[model].labels).sort().join('')] = model;\n});\n\nvar limiters = {};\n\nfunction Color(obj, model) {\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(obj, model);\n\t}\n\n\tif (model && model in skippedModels) {\n\t\tmodel = null;\n\t}\n\n\tif (model && !(model in convert)) {\n\t\tthrow new Error('Unknown model: ' + model);\n\t}\n\n\tvar i;\n\tvar channels;\n\n\tif (typeof obj === 'undefined') {\n\t\tthis.model = 'rgb';\n\t\tthis.color = [0, 0, 0];\n\t\tthis.valpha = 1;\n\t} else if (obj instanceof Color) {\n\t\tthis.model = obj.model;\n\t\tthis.color = obj.color.slice();\n\t\tthis.valpha = obj.valpha;\n\t} else if (typeof obj === 'string') {\n\t\tvar result = colorString.get(obj);\n\t\tif (result === null) {\n\t\t\tthrow new Error('Unable to parse color from string: ' + obj);\n\t\t}\n\n\t\tthis.model = result.model;\n\t\tchannels = convert[this.model].channels;\n\t\tthis.color = result.value.slice(0, channels);\n\t\tthis.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;\n\t} else if (obj.length) {\n\t\tthis.model = model || 'rgb';\n\t\tchannels = convert[this.model].channels;\n\t\tvar newArr = _slice.call(obj, 0, channels);\n\t\tthis.color = zeroArray(newArr, channels);\n\t\tthis.valpha = typeof obj[channels] === 'number' ? obj[channels] : 1;\n\t} else if (typeof obj === 'number') {\n\t\t// this is always RGB - can be converted later on.\n\t\tobj &= 0xFFFFFF;\n\t\tthis.model = 'rgb';\n\t\tthis.color = [\n\t\t\t(obj >> 16) & 0xFF,\n\t\t\t(obj >> 8) & 0xFF,\n\t\t\tobj & 0xFF\n\t\t];\n\t\tthis.valpha = 1;\n\t} else {\n\t\tthis.valpha = 1;\n\n\t\tvar keys = Object.keys(obj);\n\t\tif ('alpha' in obj) {\n\t\t\tkeys.splice(keys.indexOf('alpha'), 1);\n\t\t\tthis.valpha = typeof obj.alpha === 'number' ? obj.alpha : 0;\n\t\t}\n\n\t\tvar hashedKeys = keys.sort().join('');\n\t\tif (!(hashedKeys in hashedModelKeys)) {\n\t\t\tthrow new Error('Unable to parse color from object: ' + JSON.stringify(obj));\n\t\t}\n\n\t\tthis.model = hashedModelKeys[hashedKeys];\n\n\t\tvar labels = convert[this.model].labels;\n\t\tvar color = [];\n\t\tfor (i = 0; i < labels.length; i++) {\n\t\t\tcolor.push(obj[labels[i]]);\n\t\t}\n\n\t\tthis.color = zeroArray(color);\n\t}\n\n\t// perform limitations (clamping, etc.)\n\tif (limiters[this.model]) {\n\t\tchannels = convert[this.model].channels;\n\t\tfor (i = 0; i < channels; i++) {\n\t\t\tvar limit = limiters[this.model][i];\n\t\t\tif (limit) {\n\t\t\t\tthis.color[i] = limit(this.color[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\tthis.valpha = Math.max(0, Math.min(1, this.valpha));\n\n\tif (Object.freeze) {\n\t\tObject.freeze(this);\n\t}\n}\n\nColor.prototype = {\n\ttoString: function () {\n\t\treturn this.string();\n\t},\n\n\ttoJSON: function () {\n\t\treturn this[this.model]();\n\t},\n\n\tstring: function (places) {\n\t\tvar self = this.model in colorString.to ? this : this.rgb();\n\t\tself = self.round(typeof places === 'number' ? places : 1);\n\t\tvar args = self.valpha === 1 ? self.color : self.color.concat(this.valpha);\n\t\treturn colorString.to[self.model](args);\n\t},\n\n\tpercentString: function (places) {\n\t\tvar self = this.rgb().round(typeof places === 'number' ? places : 1);\n\t\tvar args = self.valpha === 1 ? self.color : self.color.concat(this.valpha);\n\t\treturn colorString.to.rgb.percent(args);\n\t},\n\n\tarray: function () {\n\t\treturn this.valpha === 1 ? this.color.slice() : this.color.concat(this.valpha);\n\t},\n\n\tobject: function () {\n\t\tvar result = {};\n\t\tvar channels = convert[this.model].channels;\n\t\tvar labels = convert[this.model].labels;\n\n\t\tfor (var i = 0; i < channels; i++) {\n\t\t\tresult[labels[i]] = this.color[i];\n\t\t}\n\n\t\tif (this.valpha !== 1) {\n\t\t\tresult.alpha = this.valpha;\n\t\t}\n\n\t\treturn result;\n\t},\n\n\tunitArray: function () {\n\t\tvar rgb = this.rgb().color;\n\t\trgb[0] /= 255;\n\t\trgb[1] /= 255;\n\t\trgb[2] /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.push(this.valpha);\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tunitObject: function () {\n\t\tvar rgb = this.rgb().object();\n\t\trgb.r /= 255;\n\t\trgb.g /= 255;\n\t\trgb.b /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.alpha = this.valpha;\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tround: function (places) {\n\t\tplaces = Math.max(places || 0, 0);\n\t\treturn new Color(this.color.map(roundToPlace(places)).concat(this.valpha), this.model);\n\t},\n\n\talpha: function (val) {\n\t\tif (arguments.length) {\n\t\t\treturn new Color(this.color.concat(Math.max(0, Math.min(1, val))), this.model);\n\t\t}\n\n\t\treturn this.valpha;\n\t},\n\n\t// rgb\n\tred: getset('rgb', 0, maxfn(255)),\n\tgreen: getset('rgb', 1, maxfn(255)),\n\tblue: getset('rgb', 2, maxfn(255)),\n\n\thue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, function (val) { return ((val % 360) + 360) % 360; }), // eslint-disable-line brace-style\n\n\tsaturationl: getset('hsl', 1, maxfn(100)),\n\tlightness: getset('hsl', 2, maxfn(100)),\n\n\tsaturationv: getset('hsv', 1, maxfn(100)),\n\tvalue: getset('hsv', 2, maxfn(100)),\n\n\tchroma: getset('hcg', 1, maxfn(100)),\n\tgray: getset('hcg', 2, maxfn(100)),\n\n\twhite: getset('hwb', 1, maxfn(100)),\n\twblack: getset('hwb', 2, maxfn(100)),\n\n\tcyan: getset('cmyk', 0, maxfn(100)),\n\tmagenta: getset('cmyk', 1, maxfn(100)),\n\tyellow: getset('cmyk', 2, maxfn(100)),\n\tblack: getset('cmyk', 3, maxfn(100)),\n\n\tx: getset('xyz', 0, maxfn(100)),\n\ty: getset('xyz', 1, maxfn(100)),\n\tz: getset('xyz', 2, maxfn(100)),\n\n\tl: getset('lab', 0, maxfn(100)),\n\ta: getset('lab', 1),\n\tb: getset('lab', 2),\n\n\tkeyword: function (val) {\n\t\tif (arguments.length) {\n\t\t\treturn new Color(val);\n\t\t}\n\n\t\treturn convert[this.model].keyword(this.color);\n\t},\n\n\thex: function (val) {\n\t\tif (arguments.length) {\n\t\t\treturn new Color(val);\n\t\t}\n\n\t\treturn colorString.to.hex(this.rgb().round().color);\n\t},\n\n\trgbNumber: function () {\n\t\tvar rgb = this.rgb().color;\n\t\treturn ((rgb[0] & 0xFF) << 16) | ((rgb[1] & 0xFF) << 8) | (rgb[2] & 0xFF);\n\t},\n\n\tluminosity: function () {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tvar rgb = this.rgb().color;\n\n\t\tvar lum = [];\n\t\tfor (var i = 0; i < rgb.length; i++) {\n\t\t\tvar chan = rgb[i] / 255;\n\t\t\tlum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);\n\t\t}\n\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast: function (color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tvar lum1 = this.luminosity();\n\t\tvar lum2 = color2.luminosity();\n\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel: function (color2) {\n\t\tvar contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7.1) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tisDark: function () {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tvar rgb = this.rgb().color;\n\t\tvar yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n\t\treturn yiq < 128;\n\t},\n\n\tisLight: function () {\n\t\treturn !this.isDark();\n\t},\n\n\tnegate: function () {\n\t\tvar rgb = this.rgb();\n\t\tfor (var i = 0; i < 3; i++) {\n\t\t\trgb.color[i] = 255 - rgb.color[i];\n\t\t}\n\t\treturn rgb;\n\t},\n\n\tlighten: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[2] += hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdarken: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[2] -= hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tsaturate: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[1] += hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdesaturate: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[1] -= hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\twhiten: function (ratio) {\n\t\tvar hwb = this.hwb();\n\t\thwb.color[1] += hwb.color[1] * ratio;\n\t\treturn hwb;\n\t},\n\n\tblacken: function (ratio) {\n\t\tvar hwb = this.hwb();\n\t\thwb.color[2] += hwb.color[2] * ratio;\n\t\treturn hwb;\n\t},\n\n\tgrayscale: function () {\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tvar rgb = this.rgb().color;\n\t\tvar val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\treturn Color.rgb(val, val, val);\n\t},\n\n\tfade: function (ratio) {\n\t\treturn this.alpha(this.valpha - (this.valpha * ratio));\n\t},\n\n\topaquer: function (ratio) {\n\t\treturn this.alpha(this.valpha + (this.valpha * ratio));\n\t},\n\n\trotate: function (degrees) {\n\t\tvar hsl = this.hsl();\n\t\tvar hue = hsl.color[0];\n\t\thue = (hue + degrees) % 360;\n\t\thue = hue < 0 ? 360 + hue : hue;\n\t\thsl.color[0] = hue;\n\t\treturn hsl;\n\t},\n\n\tmix: function (mixinColor, weight) {\n\t\t// ported from sass implementation in C\n\t\t// https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t\tif (!mixinColor || !mixinColor.rgb) {\n\t\t\tthrow new Error('Argument to \"mix\" was not a Color instance, but rather an instance of ' + typeof mixinColor);\n\t\t}\n\t\tvar color1 = mixinColor.rgb();\n\t\tvar color2 = this.rgb();\n\t\tvar p = weight === undefined ? 0.5 : weight;\n\n\t\tvar w = 2 * p - 1;\n\t\tvar a = color1.alpha() - color2.alpha();\n\n\t\tvar w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\tvar w2 = 1 - w1;\n\n\t\treturn Color.rgb(\n\t\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\t\tw1 * color1.blue() + w2 * color2.blue(),\n\t\t\t\tcolor1.alpha() * p + color2.alpha() * (1 - p));\n\t}\n};\n\n// model conversion methods and static constructors\nObject.keys(convert).forEach(function (model) {\n\tif (skippedModels.indexOf(model) !== -1) {\n\t\treturn;\n\t}\n\n\tvar channels = convert[model].channels;\n\n\t// conversion methods\n\tColor.prototype[model] = function () {\n\t\tif (this.model === model) {\n\t\t\treturn new Color(this);\n\t\t}\n\n\t\tif (arguments.length) {\n\t\t\treturn new Color(arguments, model);\n\t\t}\n\n\t\tvar newAlpha = typeof arguments[channels] === 'number' ? channels : this.valpha;\n\t\treturn new Color(assertArray(convert[this.model][model].raw(this.color)).concat(newAlpha), model);\n\t};\n\n\t// 'static' construction methods\n\tColor[model] = function (color) {\n\t\tif (typeof color === 'number') {\n\t\t\tcolor = zeroArray(_slice.call(arguments), channels);\n\t\t}\n\t\treturn new Color(color, model);\n\t};\n});\n\nfunction roundTo(num, places) {\n\treturn Number(num.toFixed(places));\n}\n\nfunction roundToPlace(places) {\n\treturn function (num) {\n\t\treturn roundTo(num, places);\n\t};\n}\n\nfunction getset(model, channel, modifier) {\n\tmodel = Array.isArray(model) ? model : [model];\n\n\tmodel.forEach(function (m) {\n\t\t(limiters[m] || (limiters[m] = []))[channel] = modifier;\n\t});\n\n\tmodel = model[0];\n\n\treturn function (val) {\n\t\tvar result;\n\n\t\tif (arguments.length) {\n\t\t\tif (modifier) {\n\t\t\t\tval = modifier(val);\n\t\t\t}\n\n\t\t\tresult = this[model]();\n\t\t\tresult.color[channel] = val;\n\t\t\treturn result;\n\t\t}\n\n\t\tresult = this[model]().color[channel];\n\t\tif (modifier) {\n\t\t\tresult = modifier(result);\n\t\t}\n\n\t\treturn result;\n\t};\n}\n\nfunction maxfn(max) {\n\treturn function (v) {\n\t\treturn Math.max(0, Math.min(max, v));\n\t};\n}\n\nfunction assertArray(val) {\n\treturn Array.isArray(val) ? val : [val];\n}\n\nfunction zeroArray(arr, length) {\n\tfor (var i = 0; i < length; i++) {\n\t\tif (typeof arr[i] !== 'number') {\n\t\t\tarr[i] = 0;\n\t\t}\n\t}\n\n\treturn arr;\n}\n\nmodule.exports = Color;\n\n\n/***/ }),\n\n/***/ \"./node_modules/conic-gradient/conic-gradient.js\":\n/*!*******************************************************!*\\\n  !*** ./node_modules/conic-gradient/conic-gradient.js ***!\n  \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n/**\n * CSS conic-gradient() polyfill\n * By Lea Verou — http://lea.verou.me\n * MIT license\n */\n\n(function(){\n\nvar π = Math.PI;\nvar τ = 2 * π;\nvar ε = .00001;\nvar deg = π/180;\n\nvar dummy = document.createElement(\"div\");\ndocument.head.appendChild(dummy);\n\nvar _ = self.ConicGradient = function(o) {\n\tvar me = this;\n\t_.all.push(this);\n\n\to = o || {};\n\n\tthis.canvas = document.createElement(\"canvas\");\n\tthis.context = this.canvas.getContext(\"2d\");\n\n\tthis.repeating = !!o.repeating;\n\n\tthis.size = o.size || Math.max(innerWidth, innerHeight);\n\n\tthis.canvas.width = this.canvas.height = this.size;\n\n\tvar stops = o.stops;\n\n\tthis.stops = (stops || \"\").split(/\\s*,(?![^(]*\\))\\s*/); // commas that are not followed by a ) without a ( first\n\n\tthis.from = 0;\n\n\tfor (var i=0; i<this.stops.length; i++) {\n\t\tif (this.stops[i]) {\n\t\t\tvar stop = this.stops[i] = new _.ColorStop(this, this.stops[i]);\n\n\t\t\tif (stop.next) {\n\t\t\t\tthis.stops.splice(i+1, 0, stop.next);\n\t\t\t\ti++;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tthis.stops.splice(i, 1);\n\t\t\ti--;\n\t\t}\n\t}\n\n\tif (this.stops[0].color.indexOf('from') == 0) {\n\t\tthis.from = this.stops[0].pos*360;\n\t\tthis.stops.shift();\n\t}\n\t// Normalize stops\n\n\t// Add dummy first stop or set first stop’s position to 0 if it doesn’t have one\n\tif (this.stops[0].pos === undefined) {\n\t\t\tthis.stops[0].pos = 0;\n\t\t}\n\telse if (this.stops[0].pos > 0) {\n\t\tvar first = this.stops[0].clone();\n\t\tfirst.pos = 0;\n\t\tthis.stops.unshift(first);\n\t}\n\n\t// Add dummy last stop or set first stop’s position to 100% if it doesn’t have one\n\tif (this.stops[this.stops.length - 1].pos === undefined) {\n\t\tthis.stops[this.stops.length - 1].pos = 1;\n\t}\n\telse if (!this.repeating && this.stops[this.stops.length - 1].pos < 1) {\n\t\tvar last = this.stops[this.stops.length - 1].clone();\n\t\tlast.pos = 1;\n\t\tthis.stops.push(last);\n\t}\n\n\tthis.stops.forEach(function(stop, i){\n\t\tif (stop.pos === undefined) {\n\t\t\t// Evenly space color stops with no position\n\t\t\tfor (var j=i+1; this[j]; j++) {\n\t\t\t\tif (this[j].pos !== undefined) {\n\t\t\t\t\tstop.pos = this[i-1].pos + (this[j].pos - this[i-1].pos)/(j-i+1);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if (i > 0) {\n\t\t\t// Normalize color stops whose position is smaller than the position of the stop before them\n\t\t\tstop.pos = Math.max(stop.pos, this[i-1].pos);\n\t\t}\n\t}, this.stops);\n\n\tif (this.repeating) {\n\t\t// Repeat color stops until >= 1\n\t\tvar stops = this.stops.slice();\n\t\tvar lastStop = stops[stops.length-1];\n\t\tvar difference = lastStop.pos - stops[0].pos;\n\n\t\tfor (var i=0; this.stops[this.stops.length-1].pos < 1 && i<10000; i++) {\n\t\t\tfor (var j=0; j<stops.length; j++) {\n\t\t\t\tvar s = stops[j].clone();\n\t\t\t\ts.pos += (i+1)*difference;\n\n\t\t\t\tthis.stops.push(s);\n\t\t\t}\n\t\t}\n\t}\n\n\tthis.paint();\n};\n\n_.all = [];\n\n_.prototype = {\n\ttoString: function() {\n\t\treturn \"url('\" + this.dataURL + \"')\";\n\t},\n\n\tget dataURL() {\n\t\t// IE/Edge only render data-URI based background-image when the image data\n\t\t// is escaped.\n\t\t// Ref: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7157459/#comment-3\n\t\treturn \"data:image/svg+xml,\" + encodeURIComponent(this.svg);\n\t},\n\n\tget blobURL() {\n\t\t// Warning: Flicker when updating due to slow blob: URL resolution :(\n\t\t// TODO cache this and only update it when color stops change\n\t\treturn URL.createObjectURL(new Blob([this.svg], {type: \"image/svg+xml\"}));\n\t},\n\n\tget svg() {\n\t\treturn '<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" preserveAspectRatio=\"none\">' +\n\t\t\t'<svg viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid slice\">' +\n\t\t\t'<image width=\"100\" height=\"100%\" xlink:href=\"' + this.png + '\" /></svg></svg>';\n\t},\n\n\tget png() {\n\t\treturn this.canvas.toDataURL();\n\t},\n\n\tget r() {\n\t\treturn Math.sqrt(2) * this.size / 2;\n\t},\n\n\t// Paint the conical gradient on the canvas\n\t// Algorithm inspired from http://jsdo.it/akm2/yr9B\n\tpaint: function() {\n\t\tvar c = this.context;\n\n\t\tvar radius = this.r;\n\t\tvar x = this.size / 2;\n\n\t\tvar stopIndex = 0; // The index of the current color\n\t\tvar stop = this.stops[stopIndex], prevStop;\n\n\t\tvar diff, t;\n\n\t\t// Transform coordinate system so that angles start from the top left, like in CSS\n\t\tc.translate(this.size/2, this.size/2);\n\t\tc.rotate(-90*deg);\n\t\tc.rotate(this.from*deg);\n\t\tc.translate(-this.size/2, -this.size/2);\n\n\t\tfor (var i = 0; i < 360;) {\n\t\t\tif (i/360 + ε >= stop.pos) {\n\t\t\t\t// Switch color stop\n\t\t\t\tdo {\n\t\t\t\t\tprevStop = stop;\n\n\t\t\t\t\tstopIndex++;\n\t\t\t\t\tstop = this.stops[stopIndex];\n\t\t\t\t} while(stop && stop != prevStop && stop.pos === prevStop.pos);\n\n\t\t\t\tif (!stop) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tvar sameColor = prevStop.color + \"\" === stop.color + \"\" && prevStop != stop;\n\n\t\t\t\tdiff = prevStop.color.map(function(c, i){\n\t\t\t\t\treturn stop.color[i] - c;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tt = (i/360 - prevStop.pos) / (stop.pos - prevStop.pos);\n\n\t\t\tvar interpolated = sameColor? stop.color : diff.map(function(d,i){\n\t\t\t\tvar ret = d * t + prevStop.color[i];\n\n\t\t\t\treturn i < 3? ret & 255 : ret;\n\t\t\t});\n\n\t\t\t// Draw a series of arcs, 1deg each\n\t\t\tc.fillStyle = 'rgba(' + interpolated.join(\",\") + ')';\n\t\t\tc.beginPath();\n\t\t\tc.moveTo(x, x);\n\n\t\t\tif (sameColor) {\n\t\t\t\tvar θ = 360 * (stop.pos - prevStop.pos);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tvar θ = .5;\n\t\t\t}\n\n\t\t\tvar beginArg = i*deg;\n\t\t\tbeginArg = Math.min(360*deg, beginArg);\n\n\t\t\t// .02: To prevent empty blank line and corresponding moire\n\t\t\t// only non-alpha colors are cared now\n\t\t\tvar endArg = beginArg + θ*deg;\n\t\t\tendArg = Math.min(360*deg, endArg + .02);\n\n\t\t\tc.arc(x, x, radius, beginArg, endArg);\n\n\t\t\tc.closePath();\n\t\t\tc.fill();\n\n\t\t\ti += θ;\n\t\t}\n\t}\n};\n\n_.ColorStop = function(gradient, stop) {\n\tthis.gradient = gradient;\n\n\tif (stop) {\n\t\tvar parts = stop.match(/^(.+?)(?:\\s+([\\d.]+)(%|deg|turn|grad|rad)?)?(?:\\s+([\\d.]+)(%|deg|turn|grad|rad)?)?\\s*$/);\n\n\t\tthis.color = _.ColorStop.colorToRGBA(parts[1]);\n\n\t\tif (parts[2]) {\n\t\t\tvar unit = parts[3];\n\n\t\t\tif (unit == \"%\" || parts[2] === \"0\" && !unit) {\n\t\t\t\tthis.pos = parts[2]/100;\n\t\t\t}\n\t\t\telse if (unit == \"turn\") {\n\t\t\t\tthis.pos  = +parts[2];\n\t\t\t}\n\t\t\telse if (unit == \"deg\") {\n\t\t\t\tthis.pos  = parts[2] / 360;\n\t\t\t}\n\t\t\telse if (unit == \"grad\") {\n\t\t\t\tthis.pos  = parts[2] / 400;\n\t\t\t}\n\t\t\telse if (unit == \"rad\") {\n\t\t\t\tthis.pos  = parts[2] / τ;\n\t\t\t}\n\t\t}\n\n\t\tif (parts[4]) {\n\t\t\tthis.next = new _.ColorStop(gradient, parts[1] + \" \" + parts[4] + parts[5]);\n\t\t}\n\t}\n}\n\n_.ColorStop.prototype = {\n\tclone: function() {\n\t\tvar ret = new _.ColorStop(this.gradient);\n\t\tret.color = this.color;\n\t\tret.pos = this.pos;\n\n\t\treturn ret;\n\t},\n\n\ttoString: function() {\n\t\treturn \"rgba(\" + this.color.join(\", \") + \") \" + this.pos * 100 + \"%\";\n\t}\n};\n\n_.ColorStop.colorToRGBA = function(color) {\n\tif (!Array.isArray(color) && color.indexOf(\"from\") == -1) {\n\t\tdummy.style.color = color;\n\n\t\tvar rgba = getComputedStyle(dummy).color.match(/rgba?\\(([\\d.]+), ([\\d.]+), ([\\d.]+)(?:, ([\\d.]+))?\\)/);\n\n\t\tif (rgba) {\n\t\t\trgba.shift();\n\t\t\trgba = rgba.map(function(a) { return +a });\n\t\t\trgba[3] = isNaN(rgba[3])? 1 : rgba[3];\n\t\t}\n\n\t\treturn rgba || [0,0,0,0];\n\t}\n\n\treturn color;\n};\n\n})();\n\nif (self.StyleFix) {\n\t// Test if conic gradients are supported first:\n\t(function(){\n\t\tvar dummy = document.createElement(\"p\");\n\t\tdummy.style.backgroundImage = \"conic-gradient(white, black)\";\n\t\tdummy.style.backgroundImage = PrefixFree.prefix + \"conic-gradient(white, black)\";\n\n\t\tif (!dummy.style.backgroundImage) {\n\t\t\t// Not supported, use polyfill\n\t\t\tStyleFix.register(function(css, raw) {\n\t\t\t\tif (css.indexOf(\"conic-gradient\") > -1) {\n\t\t\t\t\tcss = css.replace(/(?:repeating-)?conic-gradient\\(\\s*((?:\\([^()]+\\)|[^;()}])+?)\\)/g, function(gradient, stops) {\n\t\t\t\t\t\treturn new ConicGradient({\n\t\t\t\t\t\t\tstops: stops,\n\t\t\t\t\t\t\trepeating: gradient.indexOf(\"repeating-\") > -1\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn css;\n\t\t\t});\n\t\t}\n\t})();\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/rc-slider/assets/index.css\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/rc-slider/assets/index.css ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \".rc-slider {\\n  position: relative;\\n  height: 14px;\\n  padding: 5px 0;\\n  width: 100%;\\n  border-radius: 6px;\\n  -ms-touch-action: none;\\n      touch-action: none;\\n  box-sizing: border-box;\\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n}\\n.rc-slider * {\\n  box-sizing: border-box;\\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n}\\n.rc-slider-rail {\\n  position: absolute;\\n  width: 100%;\\n  background-color: #e9e9e9;\\n  height: 4px;\\n  border-radius: 6px;\\n}\\n.rc-slider-track {\\n  position: absolute;\\n  left: 0;\\n  height: 4px;\\n  border-radius: 6px;\\n  background-color: #abe2fb;\\n}\\n.rc-slider-handle {\\n  position: absolute;\\n  width: 14px;\\n  height: 14px;\\n  cursor: pointer;\\n  cursor: -webkit-grab;\\n  margin-top: -5px;\\n  cursor: grab;\\n  border-radius: 50%;\\n  border: solid 2px #96dbfa;\\n  background-color: #fff;\\n  -ms-touch-action: pan-x;\\n      touch-action: pan-x;\\n}\\n.rc-slider-handle:focus {\\n  border-color: #57c5f7;\\n  box-shadow: 0 0 0 5px #96dbfa;\\n  outline: none;\\n}\\n.rc-slider-handle-click-focused:focus {\\n  border-color: #96dbfa;\\n  box-shadow: unset;\\n}\\n.rc-slider-handle:hover {\\n  border-color: #57c5f7;\\n}\\n.rc-slider-handle:active {\\n  border-color: #57c5f7;\\n  box-shadow: 0 0 5px #57c5f7;\\n  cursor: -webkit-grabbing;\\n  cursor: grabbing;\\n}\\n.rc-slider-mark {\\n  position: absolute;\\n  top: 18px;\\n  left: 0;\\n  width: 100%;\\n  font-size: 12px;\\n}\\n.rc-slider-mark-text {\\n  position: absolute;\\n  display: inline-block;\\n  vertical-align: middle;\\n  text-align: center;\\n  cursor: pointer;\\n  color: #999;\\n}\\n.rc-slider-mark-text-active {\\n  color: #666;\\n}\\n.rc-slider-step {\\n  position: absolute;\\n  width: 100%;\\n  height: 4px;\\n  background: transparent;\\n}\\n.rc-slider-dot {\\n  position: absolute;\\n  bottom: -2px;\\n  margin-left: -4px;\\n  width: 8px;\\n  height: 8px;\\n  border: 2px solid #e9e9e9;\\n  background-color: #fff;\\n  cursor: pointer;\\n  border-radius: 50%;\\n  vertical-align: middle;\\n}\\n.rc-slider-dot-active {\\n  border-color: #96dbfa;\\n}\\n.rc-slider-dot-reverse {\\n  margin-left: 0;\\n  margin-right: -4px;\\n}\\n.rc-slider-disabled {\\n  background-color: #e9e9e9;\\n}\\n.rc-slider-disabled .rc-slider-track {\\n  background-color: #ccc;\\n}\\n.rc-slider-disabled .rc-slider-handle,\\n.rc-slider-disabled .rc-slider-dot {\\n  border-color: #ccc;\\n  box-shadow: none;\\n  background-color: #fff;\\n  cursor: not-allowed;\\n}\\n.rc-slider-disabled .rc-slider-mark-text,\\n.rc-slider-disabled .rc-slider-dot {\\n  cursor: not-allowed !important;\\n}\\n.rc-slider-vertical {\\n  width: 14px;\\n  height: 100%;\\n  padding: 0 5px;\\n}\\n.rc-slider-vertical .rc-slider-rail {\\n  height: 100%;\\n  width: 4px;\\n}\\n.rc-slider-vertical .rc-slider-track {\\n  left: 5px;\\n  bottom: 0;\\n  width: 4px;\\n}\\n.rc-slider-vertical .rc-slider-handle {\\n  margin-left: -5px;\\n  -ms-touch-action: pan-y;\\n      touch-action: pan-y;\\n}\\n.rc-slider-vertical .rc-slider-mark {\\n  top: 0;\\n  left: 18px;\\n  height: 100%;\\n}\\n.rc-slider-vertical .rc-slider-step {\\n  height: 100%;\\n  width: 4px;\\n}\\n.rc-slider-vertical .rc-slider-dot {\\n  left: 2px;\\n  margin-bottom: -4px;\\n}\\n.rc-slider-vertical .rc-slider-dot:first-child {\\n  margin-bottom: -4px;\\n}\\n.rc-slider-vertical .rc-slider-dot:last-child {\\n  margin-bottom: -4px;\\n}\\n.rc-slider-tooltip-zoom-down-enter,\\n.rc-slider-tooltip-zoom-down-appear {\\n  animation-duration: .3s;\\n  animation-fill-mode: both;\\n  display: block !important;\\n  animation-play-state: paused;\\n}\\n.rc-slider-tooltip-zoom-down-leave {\\n  animation-duration: .3s;\\n  animation-fill-mode: both;\\n  display: block !important;\\n  animation-play-state: paused;\\n}\\n.rc-slider-tooltip-zoom-down-enter.rc-slider-tooltip-zoom-down-enter-active,\\n.rc-slider-tooltip-zoom-down-appear.rc-slider-tooltip-zoom-down-appear-active {\\n  animation-name: rcSliderTooltipZoomDownIn;\\n  animation-play-state: running;\\n}\\n.rc-slider-tooltip-zoom-down-leave.rc-slider-tooltip-zoom-down-leave-active {\\n  animation-name: rcSliderTooltipZoomDownOut;\\n  animation-play-state: running;\\n}\\n.rc-slider-tooltip-zoom-down-enter,\\n.rc-slider-tooltip-zoom-down-appear {\\n  transform: scale(0, 0);\\n  animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);\\n}\\n.rc-slider-tooltip-zoom-down-leave {\\n  animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\\n}\\n@keyframes rcSliderTooltipZoomDownIn {\\n  0% {\\n    opacity: 0;\\n    transform-origin: 50% 100%;\\n    transform: scale(0, 0);\\n  }\\n  100% {\\n    transform-origin: 50% 100%;\\n    transform: scale(1, 1);\\n  }\\n}\\n@keyframes rcSliderTooltipZoomDownOut {\\n  0% {\\n    transform-origin: 50% 100%;\\n    transform: scale(1, 1);\\n  }\\n  100% {\\n    opacity: 0;\\n    transform-origin: 50% 100%;\\n    transform: scale(0, 0);\\n  }\\n}\\n.rc-slider-tooltip {\\n  position: absolute;\\n  left: -9999px;\\n  top: -9999px;\\n  visibility: visible;\\n  box-sizing: border-box;\\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n}\\n.rc-slider-tooltip * {\\n  box-sizing: border-box;\\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n}\\n.rc-slider-tooltip-hidden {\\n  display: none;\\n}\\n.rc-slider-tooltip-placement-top {\\n  padding: 4px 0 8px 0;\\n}\\n.rc-slider-tooltip-inner {\\n  padding: 6px 2px;\\n  min-width: 24px;\\n  height: 24px;\\n  font-size: 12px;\\n  line-height: 1;\\n  color: #fff;\\n  text-align: center;\\n  text-decoration: none;\\n  background-color: #6c6c6c;\\n  border-radius: 6px;\\n  box-shadow: 0 0 4px #d9d9d9;\\n}\\n.rc-slider-tooltip-arrow {\\n  position: absolute;\\n  width: 0;\\n  height: 0;\\n  border-color: transparent;\\n  border-style: solid;\\n}\\n.rc-slider-tooltip-placement-top .rc-slider-tooltip-arrow {\\n  bottom: 4px;\\n  left: 50%;\\n  margin-left: -4px;\\n  border-width: 4px 4px 0;\\n  border-top-color: #6c6c6c;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/runtime/api.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/css-loader/dist/runtime/api.js ***!\n  \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = cssWithMappingToString(item, useSourceMap);\n\n      if (item[2]) {\n        return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n      }\n\n      return content;\n    }).join('');\n  }; // import a list of modules into the list\n  // eslint-disable-next-line func-names\n\n\n  list.i = function (modules, mediaQuery, dedupe) {\n    if (typeof modules === 'string') {\n      // eslint-disable-next-line no-param-reassign\n      modules = [[null, modules, '']];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var i = 0; i < this.length; i++) {\n        // eslint-disable-next-line prefer-destructuring\n        var id = this[i][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _i = 0; _i < modules.length; _i++) {\n      var item = [].concat(modules[_i]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        // eslint-disable-next-line no-continue\n        continue;\n      }\n\n      if (mediaQuery) {\n        if (!item[2]) {\n          item[2] = mediaQuery;\n        } else {\n          item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n  var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n  var cssMapping = item[3];\n\n  if (!cssMapping) {\n    return content;\n  }\n\n  if (useSourceMap && typeof btoa === 'function') {\n    var sourceMapping = toComment(cssMapping);\n    var sourceURLs = cssMapping.sources.map(function (source) {\n      return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n    });\n    return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n  }\n\n  return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n  // eslint-disable-next-line no-undef\n  var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n  var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n  return \"/*# \".concat(data, \" */\");\n}\n\n/***/ }),\n\n/***/ \"./node_modules/deep-equal/index.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/deep-equal/index.js ***!\n  \\******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pSlice = Array.prototype.slice;\nvar objectKeys = __webpack_require__(/*! ./lib/keys.js */ \"./node_modules/deep-equal/lib/keys.js\");\nvar isArguments = __webpack_require__(/*! ./lib/is_arguments.js */ \"./node_modules/deep-equal/lib/is_arguments.js\");\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n  if (!opts) opts = {};\n  // 7.1. All identical values are equivalent, as determined by ===.\n  if (actual === expected) {\n    return true;\n\n  } else if (actual instanceof Date && expected instanceof Date) {\n    return actual.getTime() === expected.getTime();\n\n  // 7.3. Other pairs that do not both pass typeof value == 'object',\n  // equivalence is determined by ==.\n  } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n    return opts.strict ? actual === expected : actual == expected;\n\n  // 7.4. For all other Object pairs, including Array objects, equivalence is\n  // determined by having the same number of owned properties (as verified\n  // with Object.prototype.hasOwnProperty.call), the same set of keys\n  // (although not necessarily the same order), equivalent values for every\n  // corresponding key, and an identical 'prototype' property. Note: this\n  // accounts for both named and indexed properties on Arrays.\n  } else {\n    return objEquiv(actual, expected, opts);\n  }\n}\n\nfunction isUndefinedOrNull(value) {\n  return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n  if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n  if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n    return false;\n  }\n  if (x.length > 0 && typeof x[0] !== 'number') return false;\n  return true;\n}\n\nfunction objEquiv(a, b, opts) {\n  var i, key;\n  if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n    return false;\n  // an identical 'prototype' property.\n  if (a.prototype !== b.prototype) return false;\n  //~~~I've managed to break Object.keys through screwy arguments passing.\n  //   Converting to array solves the problem.\n  if (isArguments(a)) {\n    if (!isArguments(b)) {\n      return false;\n    }\n    a = pSlice.call(a);\n    b = pSlice.call(b);\n    return deepEqual(a, b, opts);\n  }\n  if (isBuffer(a)) {\n    if (!isBuffer(b)) {\n      return false;\n    }\n    if (a.length !== b.length) return false;\n    for (i = 0; i < a.length; i++) {\n      if (a[i] !== b[i]) return false;\n    }\n    return true;\n  }\n  try {\n    var ka = objectKeys(a),\n        kb = objectKeys(b);\n  } catch (e) {//happens when one is a string literal and the other isn't\n    return false;\n  }\n  // having the same number of owned properties (keys incorporates\n  // hasOwnProperty)\n  if (ka.length != kb.length)\n    return false;\n  //the same set of keys (although not necessarily the same order),\n  ka.sort();\n  kb.sort();\n  //~~~cheap key test\n  for (i = ka.length - 1; i >= 0; i--) {\n    if (ka[i] != kb[i])\n      return false;\n  }\n  //equivalent values for every corresponding key, and\n  //~~~possibly expensive deep test\n  for (i = ka.length - 1; i >= 0; i--) {\n    key = ka[i];\n    if (!deepEqual(a[key], b[key], opts)) return false;\n  }\n  return typeof a === typeof b;\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/deep-equal/lib/is_arguments.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/deep-equal/lib/is_arguments.js ***!\n  \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar supportsArgumentsClass = (function(){\n  return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n  return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n  return object &&\n    typeof object == 'object' &&\n    typeof object.length == 'number' &&\n    Object.prototype.hasOwnProperty.call(object, 'callee') &&\n    !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n    false;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/deep-equal/lib/keys.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/deep-equal/lib/keys.js ***!\n  \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nexports = module.exports = typeof Object.keys === 'function'\n  ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n  var keys = [];\n  for (var key in obj) keys.push(key);\n  return keys;\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/dom-align/dist-web/index.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/dom-align/dist-web/index.js ***!\n  \\**************************************************/\n/*! exports provided: default, alignElement, alignPoint */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"alignElement\", function() { return alignElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"alignPoint\", function() { return alignPoint; });\nfunction _typeof(obj) {\n  if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n    _typeof = function (obj) {\n      return typeof obj;\n    };\n  } else {\n    _typeof = function (obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n    };\n  }\n\n  return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n  var keys = Object.keys(object);\n\n  if (Object.getOwnPropertySymbols) {\n    var symbols = Object.getOwnPropertySymbols(object);\n    if (enumerableOnly) symbols = symbols.filter(function (sym) {\n      return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n    });\n    keys.push.apply(keys, symbols);\n  }\n\n  return keys;\n}\n\nfunction _objectSpread2(target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i] != null ? arguments[i] : {};\n\n    if (i % 2) {\n      ownKeys(source, true).forEach(function (key) {\n        _defineProperty(target, key, source[key]);\n      });\n    } else if (Object.getOwnPropertyDescriptors) {\n      Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n    } else {\n      ownKeys(source).forEach(function (key) {\n        Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n      });\n    }\n  }\n\n  return target;\n}\n\nvar vendorPrefix;\nvar jsCssMap = {\n  Webkit: '-webkit-',\n  Moz: '-moz-',\n  // IE did it wrong again ...\n  ms: '-ms-',\n  O: '-o-'\n};\n\nfunction getVendorPrefix() {\n  if (vendorPrefix !== undefined) {\n    return vendorPrefix;\n  }\n\n  vendorPrefix = '';\n  var style = document.createElement('p').style;\n  var testProp = 'Transform';\n\n  for (var key in jsCssMap) {\n    if (key + testProp in style) {\n      vendorPrefix = key;\n    }\n  }\n\n  return vendorPrefix;\n}\n\nfunction getTransitionName() {\n  return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"TransitionProperty\") : 'transitionProperty';\n}\n\nfunction getTransformName() {\n  return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"Transform\") : 'transform';\n}\nfunction setTransitionProperty(node, value) {\n  var name = getTransitionName();\n\n  if (name) {\n    node.style[name] = value;\n\n    if (name !== 'transitionProperty') {\n      node.style.transitionProperty = value;\n    }\n  }\n}\n\nfunction setTransform(node, value) {\n  var name = getTransformName();\n\n  if (name) {\n    node.style[name] = value;\n\n    if (name !== 'transform') {\n      node.style.transform = value;\n    }\n  }\n}\n\nfunction getTransitionProperty(node) {\n  return node.style.transitionProperty || node.style[getTransitionName()];\n}\nfunction getTransformXY(node) {\n  var style = window.getComputedStyle(node, null);\n  var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n\n  if (transform && transform !== 'none') {\n    var matrix = transform.replace(/[^0-9\\-.,]/g, '').split(',');\n    return {\n      x: parseFloat(matrix[12] || matrix[4], 0),\n      y: parseFloat(matrix[13] || matrix[5], 0)\n    };\n  }\n\n  return {\n    x: 0,\n    y: 0\n  };\n}\nvar matrix2d = /matrix\\((.*)\\)/;\nvar matrix3d = /matrix3d\\((.*)\\)/;\nfunction setTransformXY(node, xy) {\n  var style = window.getComputedStyle(node, null);\n  var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n\n  if (transform && transform !== 'none') {\n    var arr;\n    var match2d = transform.match(matrix2d);\n\n    if (match2d) {\n      match2d = match2d[1];\n      arr = match2d.split(',').map(function (item) {\n        return parseFloat(item, 10);\n      });\n      arr[4] = xy.x;\n      arr[5] = xy.y;\n      setTransform(node, \"matrix(\".concat(arr.join(','), \")\"));\n    } else {\n      var match3d = transform.match(matrix3d)[1];\n      arr = match3d.split(',').map(function (item) {\n        return parseFloat(item, 10);\n      });\n      arr[12] = xy.x;\n      arr[13] = xy.y;\n      setTransform(node, \"matrix3d(\".concat(arr.join(','), \")\"));\n    }\n  } else {\n    setTransform(node, \"translateX(\".concat(xy.x, \"px) translateY(\").concat(xy.y, \"px) translateZ(0)\"));\n  }\n}\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\nvar getComputedStyleX; // https://stackoverflow.com/a/3485654/3040605\n\nfunction forceRelayout(elem) {\n  var originalStyle = elem.style.display;\n  elem.style.display = 'none';\n  elem.offsetHeight; // eslint-disable-line\n\n  elem.style.display = originalStyle;\n}\n\nfunction css(el, name, v) {\n  var value = v;\n\n  if (_typeof(name) === 'object') {\n    for (var i in name) {\n      if (name.hasOwnProperty(i)) {\n        css(el, i, name[i]);\n      }\n    }\n\n    return undefined;\n  }\n\n  if (typeof value !== 'undefined') {\n    if (typeof value === 'number') {\n      value = \"\".concat(value, \"px\");\n    }\n\n    el.style[name] = value;\n    return undefined;\n  }\n\n  return getComputedStyleX(el, name);\n}\n\nfunction getClientPosition(elem) {\n  var box;\n  var x;\n  var y;\n  var doc = elem.ownerDocument;\n  var body = doc.body;\n  var docElem = doc && doc.documentElement; // 根据 GBS 最新数据，A-Grade Browsers 都已支持 getBoundingClientRect 方法，不用再考虑传统的实现方式\n\n  box = elem.getBoundingClientRect(); // 注：jQuery 还考虑减去 docElem.clientLeft/clientTop\n  // 但测试发现，这样反而会导致当 html 和 body 有边距/边框样式时，获取的值不正确\n  // 此外，ie6 会忽略 html 的 margin 值，幸运地是没有谁会去设置 html 的 margin\n\n  x = box.left;\n  y = box.top; // In IE, most of the time, 2 extra pixels are added to the top and left\n  // due to the implicit 2-pixel inset border.  In IE6/7 quirks mode and\n  // IE6 standards mode, this border can be overridden by setting the\n  // document element's border to zero -- thus, we cannot rely on the\n  // offset always being 2 pixels.\n  // In quirks mode, the offset can be determined by querying the body's\n  // clientLeft/clientTop, but in standards mode, it is found by querying\n  // the document element's clientLeft/clientTop.  Since we already called\n  // getClientBoundingRect we have already forced a reflow, so it is not\n  // too expensive just to query them all.\n  // ie 下应该减去窗口的边框吧，毕竟默认 absolute 都是相对窗口定位的\n  // 窗口边框标准是设 documentElement ,quirks 时设置 body\n  // 最好禁止在 body 和 html 上边框 ，但 ie < 9 html 默认有 2px ，减去\n  // 但是非 ie 不可能设置窗口边框，body html 也不是窗口 ,ie 可以通过 html,body 设置\n  // 标准 ie 下 docElem.clientTop 就是 border-top\n  // ie7 html 即窗口边框改变不了。永远为 2\n  // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框，即使设了 border-top 也为 0\n\n  x -= docElem.clientLeft || body.clientLeft || 0;\n  y -= docElem.clientTop || body.clientTop || 0;\n  return {\n    left: x,\n    top: y\n  };\n}\n\nfunction getScroll(w, top) {\n  var ret = w[\"page\".concat(top ? 'Y' : 'X', \"Offset\")];\n  var method = \"scroll\".concat(top ? 'Top' : 'Left');\n\n  if (typeof ret !== 'number') {\n    var d = w.document; // ie6,7,8 standard mode\n\n    ret = d.documentElement[method];\n\n    if (typeof ret !== 'number') {\n      // quirks mode\n      ret = d.body[method];\n    }\n  }\n\n  return ret;\n}\n\nfunction getScrollLeft(w) {\n  return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n  return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n  var pos = getClientPosition(el);\n  var doc = el.ownerDocument;\n  var w = doc.defaultView || doc.parentWindow;\n  pos.left += getScrollLeft(w);\n  pos.top += getScrollTop(w);\n  return pos;\n}\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\n\n\nfunction isWindow(obj) {\n  // must use == for ie8\n\n  /* eslint eqeqeq:0 */\n  return obj !== null && obj !== undefined && obj == obj.window;\n}\n\nfunction getDocument(node) {\n  if (isWindow(node)) {\n    return node.document;\n  }\n\n  if (node.nodeType === 9) {\n    return node;\n  }\n\n  return node.ownerDocument;\n}\n\nfunction _getComputedStyle(elem, name, cs) {\n  var computedStyle = cs;\n  var val = '';\n  var d = getDocument(elem);\n  computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null); // https://github.com/kissyteam/kissy/issues/61\n\n  if (computedStyle) {\n    val = computedStyle.getPropertyValue(name) || computedStyle[name];\n  }\n\n  return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp(\"^(\".concat(RE_NUM, \")(?!px)[a-z%]+$\"), 'i');\n\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n  // currentStyle maybe null\n  // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n  var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name]; // 当 width/height 设置为百分比时，通过 pixelLeft 方式转换的 width/height 值\n  // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n  // 在 ie 下不对，需要直接用 offset 方式\n  // borderWidth 等值也有问题，但考虑到 borderWidth 设为百分比的概率很小，这里就不考虑了\n  // From the awesome hack by Dean Edwards\n  // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n  // If we're not dealing with a regular pixel number\n  // but a number that has a weird ending, we need to convert it to pixels\n  // exclude left right for relativity\n\n  if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n    // Remember the original values\n    var style = elem.style;\n    var left = style[LEFT];\n    var rsLeft = elem[RUNTIME_STYLE][LEFT]; // prevent flashing of content\n\n    elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT]; // Put in the new values to get a computed value out\n\n    style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n    ret = style.pixelLeft + PX; // Revert the changed values\n\n    style[LEFT] = left;\n    elem[RUNTIME_STYLE][LEFT] = rsLeft;\n  }\n\n  return ret === '' ? 'auto' : ret;\n}\n\nif (typeof window !== 'undefined') {\n  getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction getOffsetDirection(dir, option) {\n  if (dir === 'left') {\n    return option.useCssRight ? 'right' : dir;\n  }\n\n  return option.useCssBottom ? 'bottom' : dir;\n}\n\nfunction oppositeOffsetDirection(dir) {\n  if (dir === 'left') {\n    return 'right';\n  } else if (dir === 'right') {\n    return 'left';\n  } else if (dir === 'top') {\n    return 'bottom';\n  } else if (dir === 'bottom') {\n    return 'top';\n  }\n} // 设置 elem 相对 elem.ownerDocument 的坐标\n\n\nfunction setLeftTop(elem, offset, option) {\n  // set position first, in-case top/left are set even on static elem\n  if (css(elem, 'position') === 'static') {\n    elem.style.position = 'relative';\n  }\n\n  var presetH = -999;\n  var presetV = -999;\n  var horizontalProperty = getOffsetDirection('left', option);\n  var verticalProperty = getOffsetDirection('top', option);\n  var oppositeHorizontalProperty = oppositeOffsetDirection(horizontalProperty);\n  var oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);\n\n  if (horizontalProperty !== 'left') {\n    presetH = 999;\n  }\n\n  if (verticalProperty !== 'top') {\n    presetV = 999;\n  }\n\n  var originalTransition = '';\n  var originalOffset = getOffset(elem);\n\n  if ('left' in offset || 'top' in offset) {\n    originalTransition = getTransitionProperty(elem) || '';\n    setTransitionProperty(elem, 'none');\n  }\n\n  if ('left' in offset) {\n    elem.style[oppositeHorizontalProperty] = '';\n    elem.style[horizontalProperty] = \"\".concat(presetH, \"px\");\n  }\n\n  if ('top' in offset) {\n    elem.style[oppositeVerticalProperty] = '';\n    elem.style[verticalProperty] = \"\".concat(presetV, \"px\");\n  } // force relayout\n\n\n  forceRelayout(elem);\n  var old = getOffset(elem);\n  var originalStyle = {};\n\n  for (var key in offset) {\n    if (offset.hasOwnProperty(key)) {\n      var dir = getOffsetDirection(key, option);\n      var preset = key === 'left' ? presetH : presetV;\n      var off = originalOffset[key] - old[key];\n\n      if (dir === key) {\n        originalStyle[dir] = preset + off;\n      } else {\n        originalStyle[dir] = preset - off;\n      }\n    }\n  }\n\n  css(elem, originalStyle); // force relayout\n\n  forceRelayout(elem);\n\n  if ('left' in offset || 'top' in offset) {\n    setTransitionProperty(elem, originalTransition);\n  }\n\n  var ret = {};\n\n  for (var _key in offset) {\n    if (offset.hasOwnProperty(_key)) {\n      var _dir = getOffsetDirection(_key, option);\n\n      var _off = offset[_key] - originalOffset[_key];\n\n      if (_key === _dir) {\n        ret[_dir] = originalStyle[_dir] + _off;\n      } else {\n        ret[_dir] = originalStyle[_dir] - _off;\n      }\n    }\n  }\n\n  css(elem, ret);\n}\n\nfunction setTransform$1(elem, offset) {\n  var originalOffset = getOffset(elem);\n  var originalXY = getTransformXY(elem);\n  var resultXY = {\n    x: originalXY.x,\n    y: originalXY.y\n  };\n\n  if ('left' in offset) {\n    resultXY.x = originalXY.x + offset.left - originalOffset.left;\n  }\n\n  if ('top' in offset) {\n    resultXY.y = originalXY.y + offset.top - originalOffset.top;\n  }\n\n  setTransformXY(elem, resultXY);\n}\n\nfunction setOffset(elem, offset, option) {\n  if (option.ignoreShake) {\n    var oriOffset = getOffset(elem);\n    var oLeft = oriOffset.left.toFixed(0);\n    var oTop = oriOffset.top.toFixed(0);\n    var tLeft = offset.left.toFixed(0);\n    var tTop = offset.top.toFixed(0);\n\n    if (oLeft === tLeft && oTop === tTop) {\n      return;\n    }\n  }\n\n  if (option.useCssRight || option.useCssBottom) {\n    setLeftTop(elem, offset, option);\n  } else if (option.useCssTransform && getTransformName() in document.body.style) {\n    setTransform$1(elem, offset);\n  } else {\n    setLeftTop(elem, offset, option);\n  }\n}\n\nfunction each(arr, fn) {\n  for (var i = 0; i < arr.length; i++) {\n    fn(arr[i]);\n  }\n}\n\nfunction isBorderBoxFn(elem) {\n  return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n  var old = {};\n  var style = elem.style;\n  var name; // Remember the old values, and insert the new ones\n\n  for (name in options) {\n    if (options.hasOwnProperty(name)) {\n      old[name] = style[name];\n      style[name] = options[name];\n    }\n  }\n\n  callback.call(elem); // Revert the old values\n\n  for (name in options) {\n    if (options.hasOwnProperty(name)) {\n      style[name] = old[name];\n    }\n  }\n}\n\nfunction getPBMWidth(elem, props, which) {\n  var value = 0;\n  var prop;\n  var j;\n  var i;\n\n  for (j = 0; j < props.length; j++) {\n    prop = props[j];\n\n    if (prop) {\n      for (i = 0; i < which.length; i++) {\n        var cssProp = void 0;\n\n        if (prop === 'border') {\n          cssProp = \"\".concat(prop).concat(which[i], \"Width\");\n        } else {\n          cssProp = prop + which[i];\n        }\n\n        value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n      }\n    }\n  }\n\n  return value;\n}\n\nvar domUtils = {\n  getParent: function getParent(element) {\n    var parent = element;\n\n    do {\n      if (parent.nodeType === 11 && parent.host) {\n        parent = parent.host;\n      } else {\n        parent = parent.parentNode;\n      }\n    } while (parent && parent.nodeType !== 1 && parent.nodeType !== 9);\n\n    return parent;\n  }\n};\neach(['Width', 'Height'], function (name) {\n  domUtils[\"doc\".concat(name)] = function (refWin) {\n    var d = refWin.document;\n    return Math.max( // firefox chrome documentElement.scrollHeight< body.scrollHeight\n    // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n    d.documentElement[\"scroll\".concat(name)], // quirks : documentElement.scrollHeight 最大等于可视窗口多一点？\n    d.body[\"scroll\".concat(name)], domUtils[\"viewport\".concat(name)](d));\n  };\n\n  domUtils[\"viewport\".concat(name)] = function (win) {\n    // pc browser includes scrollbar in window.innerWidth\n    var prop = \"client\".concat(name);\n    var doc = win.document;\n    var body = doc.body;\n    var documentElement = doc.documentElement;\n    var documentElementProp = documentElement[prop]; // 标准模式取 documentElement\n    // backcompat 取 body\n\n    return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n  };\n});\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra]  'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\n\nfunction getWH(elem, name, ex) {\n  var extra = ex;\n\n  if (isWindow(elem)) {\n    return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n  } else if (elem.nodeType === 9) {\n    return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n  }\n\n  var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n  var borderBoxValue = name === 'width' ? elem.getBoundingClientRect().width : elem.getBoundingClientRect().height;\n  var computedStyle = getComputedStyleX(elem);\n  var isBorderBox = isBorderBoxFn(elem);\n  var cssBoxValue = 0;\n\n  if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {\n    borderBoxValue = undefined; // Fall back to computed then un computed css if necessary\n\n    cssBoxValue = getComputedStyleX(elem, name);\n\n    if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {\n      cssBoxValue = elem.style[name] || 0;\n    } // Normalize '', auto, and prepare for extra\n\n\n    cssBoxValue = parseFloat(cssBoxValue) || 0;\n  }\n\n  if (extra === undefined) {\n    extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n  }\n\n  var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n  var val = borderBoxValue || cssBoxValue;\n\n  if (extra === CONTENT_INDEX) {\n    if (borderBoxValueOrIsBorderBox) {\n      return val - getPBMWidth(elem, ['border', 'padding'], which);\n    }\n\n    return cssBoxValue;\n  } else if (borderBoxValueOrIsBorderBox) {\n    if (extra === BORDER_INDEX) {\n      return val;\n    }\n\n    return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which) : getPBMWidth(elem, ['margin'], which));\n  }\n\n  return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which);\n}\n\nvar cssShow = {\n  position: 'absolute',\n  visibility: 'hidden',\n  display: 'block'\n}; // fix #119 : https://github.com/kissyteam/kissy/issues/119\n\nfunction getWHIgnoreDisplay() {\n  for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n    args[_key2] = arguments[_key2];\n  }\n\n  var val;\n  var elem = args[0]; // in case elem is window\n  // elem.offsetWidth === undefined\n\n  if (elem.offsetWidth !== 0) {\n    val = getWH.apply(undefined, args);\n  } else {\n    swap(elem, cssShow, function () {\n      val = getWH.apply(undefined, args);\n    });\n  }\n\n  return val;\n}\n\neach(['width', 'height'], function (name) {\n  var first = name.charAt(0).toUpperCase() + name.slice(1);\n\n  domUtils[\"outer\".concat(first)] = function (el, includeMargin) {\n    return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n  };\n\n  var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n  domUtils[name] = function (elem, v) {\n    var val = v;\n\n    if (val !== undefined) {\n      if (elem) {\n        var computedStyle = getComputedStyleX(elem);\n        var isBorderBox = isBorderBoxFn(elem);\n\n        if (isBorderBox) {\n          val += getPBMWidth(elem, ['padding', 'border'], which);\n        }\n\n        return css(elem, name, val);\n      }\n\n      return undefined;\n    }\n\n    return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n  };\n});\n\nfunction mix(to, from) {\n  for (var i in from) {\n    if (from.hasOwnProperty(i)) {\n      to[i] = from[i];\n    }\n  }\n\n  return to;\n}\n\nvar utils = {\n  getWindow: function getWindow(node) {\n    if (node && node.document && node.setTimeout) {\n      return node;\n    }\n\n    var doc = node.ownerDocument || node;\n    return doc.defaultView || doc.parentWindow;\n  },\n  getDocument: getDocument,\n  offset: function offset(el, value, option) {\n    if (typeof value !== 'undefined') {\n      setOffset(el, value, option || {});\n    } else {\n      return getOffset(el);\n    }\n  },\n  isWindow: isWindow,\n  each: each,\n  css: css,\n  clone: function clone(obj) {\n    var i;\n    var ret = {};\n\n    for (i in obj) {\n      if (obj.hasOwnProperty(i)) {\n        ret[i] = obj[i];\n      }\n    }\n\n    var overflow = obj.overflow;\n\n    if (overflow) {\n      for (i in obj) {\n        if (obj.hasOwnProperty(i)) {\n          ret.overflow[i] = obj.overflow[i];\n        }\n      }\n    }\n\n    return ret;\n  },\n  mix: mix,\n  getWindowScrollLeft: function getWindowScrollLeft(w) {\n    return getScrollLeft(w);\n  },\n  getWindowScrollTop: function getWindowScrollTop(w) {\n    return getScrollTop(w);\n  },\n  merge: function merge() {\n    var ret = {};\n\n    for (var i = 0; i < arguments.length; i++) {\n      utils.mix(ret, i < 0 || arguments.length <= i ? undefined : arguments[i]);\n    }\n\n    return ret;\n  },\n  viewportWidth: 0,\n  viewportHeight: 0\n};\nmix(utils, domUtils);\n\n/**\n * 得到会导致元素显示不全的祖先元素\n */\n\nvar getParent = utils.getParent;\n\nfunction getOffsetParent(element) {\n  if (utils.isWindow(element) || element.nodeType === 9) {\n    return null;\n  } // ie 这个也不是完全可行\n\n  /*\n   <div style=\"width: 50px;height: 100px;overflow: hidden\">\n   <div style=\"width: 50px;height: 100px;position: relative;\" id=\"d6\">\n   元素 6 高 100px 宽 50px<br/>\n   </div>\n   </div>\n   */\n  // element.offsetParent does the right thing in ie7 and below. Return parent with layout!\n  //  In other browsers it only includes elements with position absolute, relative or\n  // fixed, not elements with overflow set to auto or scroll.\n  //        if (UA.ie && ieMode < 8) {\n  //            return element.offsetParent;\n  //        }\n  // 统一的 offsetParent 方法\n\n\n  var doc = utils.getDocument(element);\n  var body = doc.body;\n  var parent;\n  var positionStyle = utils.css(element, 'position');\n  var skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';\n\n  if (!skipStatic) {\n    return element.nodeName.toLowerCase() === 'html' ? null : getParent(element);\n  }\n\n  for (parent = getParent(element); parent && parent !== body && parent.nodeType !== 9; parent = getParent(parent)) {\n    positionStyle = utils.css(parent, 'position');\n\n    if (positionStyle !== 'static') {\n      return parent;\n    }\n  }\n\n  return null;\n}\n\nvar getParent$1 = utils.getParent;\nfunction isAncestorFixed(element) {\n  if (utils.isWindow(element) || element.nodeType === 9) {\n    return false;\n  }\n\n  var doc = utils.getDocument(element);\n  var body = doc.body;\n  var parent = null;\n\n  for (parent = getParent$1(element); parent && parent !== body; parent = getParent$1(parent)) {\n    var positionStyle = utils.css(parent, 'position');\n\n    if (positionStyle === 'fixed') {\n      return true;\n    }\n  }\n\n  return false;\n}\n\n/**\n * 获得元素的显示部分的区域\n */\n\nfunction getVisibleRectForElement(element) {\n  var visibleRect = {\n    left: 0,\n    right: Infinity,\n    top: 0,\n    bottom: Infinity\n  };\n  var el = getOffsetParent(element);\n  var doc = utils.getDocument(element);\n  var win = doc.defaultView || doc.parentWindow;\n  var body = doc.body;\n  var documentElement = doc.documentElement; // Determine the size of the visible rect by climbing the dom accounting for\n  // all scrollable containers.\n\n  while (el) {\n    // clientWidth is zero for inline block elements in ie.\n    if ((navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) && // body may have overflow set on it, yet we still get the entire\n    // viewport. In some browsers, el.offsetParent may be\n    // document.documentElement, so check for that too.\n    el !== body && el !== documentElement && utils.css(el, 'overflow') !== 'visible') {\n      var pos = utils.offset(el); // add border\n\n      pos.left += el.clientLeft;\n      pos.top += el.clientTop;\n      visibleRect.top = Math.max(visibleRect.top, pos.top);\n      visibleRect.right = Math.min(visibleRect.right, // consider area without scrollBar\n      pos.left + el.clientWidth);\n      visibleRect.bottom = Math.min(visibleRect.bottom, pos.top + el.clientHeight);\n      visibleRect.left = Math.max(visibleRect.left, pos.left);\n    } else if (el === body || el === documentElement) {\n      break;\n    }\n\n    el = getOffsetParent(el);\n  } // Set element position to fixed\n  // make sure absolute element itself don't affect it's visible area\n  // https://github.com/ant-design/ant-design/issues/7601\n\n\n  var originalPosition = null;\n\n  if (!utils.isWindow(element) && element.nodeType !== 9) {\n    originalPosition = element.style.position;\n    var position = utils.css(element, 'position');\n\n    if (position === 'absolute') {\n      element.style.position = 'fixed';\n    }\n  }\n\n  var scrollX = utils.getWindowScrollLeft(win);\n  var scrollY = utils.getWindowScrollTop(win);\n  var viewportWidth = utils.viewportWidth(win);\n  var viewportHeight = utils.viewportHeight(win);\n  var documentWidth = documentElement.scrollWidth;\n  var documentHeight = documentElement.scrollHeight; // scrollXXX on html is sync with body which means overflow: hidden on body gets wrong scrollXXX.\n  // We should cut this ourself.\n\n  var bodyStyle = window.getComputedStyle(body);\n\n  if (bodyStyle.overflowX === 'hidden') {\n    documentWidth = win.innerWidth;\n  }\n\n  if (bodyStyle.overflowY === 'hidden') {\n    documentHeight = win.innerHeight;\n  } // Reset element position after calculate the visible area\n\n\n  if (element.style) {\n    element.style.position = originalPosition;\n  }\n\n  if (isAncestorFixed(element)) {\n    // Clip by viewport's size.\n    visibleRect.left = Math.max(visibleRect.left, scrollX);\n    visibleRect.top = Math.max(visibleRect.top, scrollY);\n    visibleRect.right = Math.min(visibleRect.right, scrollX + viewportWidth);\n    visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + viewportHeight);\n  } else {\n    // Clip by document's size.\n    var maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth);\n    visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth);\n    var maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight);\n    visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight);\n  }\n\n  return visibleRect.top >= 0 && visibleRect.left >= 0 && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null;\n}\n\nfunction adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {\n  var pos = utils.clone(elFuturePos);\n  var size = {\n    width: elRegion.width,\n    height: elRegion.height\n  };\n\n  if (overflow.adjustX && pos.left < visibleRect.left) {\n    pos.left = visibleRect.left;\n  } // Left edge inside and right edge outside viewport, try to resize it.\n\n\n  if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {\n    size.width -= pos.left + size.width - visibleRect.right;\n  } // Right edge outside viewport, try to move it.\n\n\n  if (overflow.adjustX && pos.left + size.width > visibleRect.right) {\n    // 保证左边界和可视区域左边界对齐\n    pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);\n  } // Top edge outside viewport, try to move it.\n\n\n  if (overflow.adjustY && pos.top < visibleRect.top) {\n    pos.top = visibleRect.top;\n  } // Top edge inside and bottom edge outside viewport, try to resize it.\n\n\n  if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {\n    size.height -= pos.top + size.height - visibleRect.bottom;\n  } // Bottom edge outside viewport, try to move it.\n\n\n  if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {\n    // 保证上边界和可视区域上边界对齐\n    pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);\n  }\n\n  return utils.mix(pos, size);\n}\n\nfunction getRegion(node) {\n  var offset;\n  var w;\n  var h;\n\n  if (!utils.isWindow(node) && node.nodeType !== 9) {\n    offset = utils.offset(node);\n    w = utils.outerWidth(node);\n    h = utils.outerHeight(node);\n  } else {\n    var win = utils.getWindow(node);\n    offset = {\n      left: utils.getWindowScrollLeft(win),\n      top: utils.getWindowScrollTop(win)\n    };\n    w = utils.viewportWidth(win);\n    h = utils.viewportHeight(win);\n  }\n\n  offset.width = w;\n  offset.height = h;\n  return offset;\n}\n\n/**\n * 获取 node 上的 align 对齐点 相对于页面的坐标\n */\nfunction getAlignOffset(region, align) {\n  var V = align.charAt(0);\n  var H = align.charAt(1);\n  var w = region.width;\n  var h = region.height;\n  var x = region.left;\n  var y = region.top;\n\n  if (V === 'c') {\n    y += h / 2;\n  } else if (V === 'b') {\n    y += h;\n  }\n\n  if (H === 'c') {\n    x += w / 2;\n  } else if (H === 'r') {\n    x += w;\n  }\n\n  return {\n    left: x,\n    top: y\n  };\n}\n\nfunction getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {\n  var p1 = getAlignOffset(refNodeRegion, points[1]);\n  var p2 = getAlignOffset(elRegion, points[0]);\n  var diff = [p2.left - p1.left, p2.top - p1.top];\n  return {\n    left: Math.round(elRegion.left - diff[0] + offset[0] - targetOffset[0]),\n    top: Math.round(elRegion.top - diff[1] + offset[1] - targetOffset[1])\n  };\n}\n\n/**\n * align dom node flexibly\n * @author yiminghe@gmail.com\n */\n\nfunction isFailX(elFuturePos, elRegion, visibleRect) {\n  return elFuturePos.left < visibleRect.left || elFuturePos.left + elRegion.width > visibleRect.right;\n}\n\nfunction isFailY(elFuturePos, elRegion, visibleRect) {\n  return elFuturePos.top < visibleRect.top || elFuturePos.top + elRegion.height > visibleRect.bottom;\n}\n\nfunction isCompleteFailX(elFuturePos, elRegion, visibleRect) {\n  return elFuturePos.left > visibleRect.right || elFuturePos.left + elRegion.width < visibleRect.left;\n}\n\nfunction isCompleteFailY(elFuturePos, elRegion, visibleRect) {\n  return elFuturePos.top > visibleRect.bottom || elFuturePos.top + elRegion.height < visibleRect.top;\n}\n\nfunction flip(points, reg, map) {\n  var ret = [];\n  utils.each(points, function (p) {\n    ret.push(p.replace(reg, function (m) {\n      return map[m];\n    }));\n  });\n  return ret;\n}\n\nfunction flipOffset(offset, index) {\n  offset[index] = -offset[index];\n  return offset;\n}\n\nfunction convertOffset(str, offsetLen) {\n  var n;\n\n  if (/%$/.test(str)) {\n    n = parseInt(str.substring(0, str.length - 1), 10) / 100 * offsetLen;\n  } else {\n    n = parseInt(str, 10);\n  }\n\n  return n || 0;\n}\n\nfunction normalizeOffset(offset, el) {\n  offset[0] = convertOffset(offset[0], el.width);\n  offset[1] = convertOffset(offset[1], el.height);\n}\n/**\n * @param el\n * @param tgtRegion 参照节点所占的区域: { left, top, width, height }\n * @param align\n */\n\n\nfunction doAlign(el, tgtRegion, align, isTgtRegionVisible) {\n  var points = align.points;\n  var offset = align.offset || [0, 0];\n  var targetOffset = align.targetOffset || [0, 0];\n  var overflow = align.overflow;\n  var source = align.source || el;\n  offset = [].concat(offset);\n  targetOffset = [].concat(targetOffset);\n  overflow = overflow || {};\n  var newOverflowCfg = {};\n  var fail = 0; // 当前节点可以被放置的显示区域\n\n  var visibleRect = getVisibleRectForElement(source); // 当前节点所占的区域, left/top/width/height\n\n  var elRegion = getRegion(source); // 将 offset 转换成数值，支持百分比\n\n  normalizeOffset(offset, elRegion);\n  normalizeOffset(targetOffset, tgtRegion); // 当前节点将要被放置的位置\n\n  var elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset); // 当前节点将要所处的区域\n\n  var newElRegion = utils.merge(elRegion, elFuturePos); // 如果可视区域不能完全放置当前节点时允许调整\n\n  if (visibleRect && (overflow.adjustX || overflow.adjustY) && isTgtRegionVisible) {\n    if (overflow.adjustX) {\n      // 如果横向不能放下\n      if (isFailX(elFuturePos, elRegion, visibleRect)) {\n        // 对齐位置反下\n        var newPoints = flip(points, /[lr]/gi, {\n          l: 'r',\n          r: 'l'\n        }); // 偏移量也反下\n\n        var newOffset = flipOffset(offset, 0);\n        var newTargetOffset = flipOffset(targetOffset, 0);\n        var newElFuturePos = getElFuturePos(elRegion, tgtRegion, newPoints, newOffset, newTargetOffset);\n\n        if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) {\n          fail = 1;\n          points = newPoints;\n          offset = newOffset;\n          targetOffset = newTargetOffset;\n        }\n      }\n    }\n\n    if (overflow.adjustY) {\n      // 如果纵向不能放下\n      if (isFailY(elFuturePos, elRegion, visibleRect)) {\n        // 对齐位置反下\n        var _newPoints = flip(points, /[tb]/gi, {\n          t: 'b',\n          b: 't'\n        }); // 偏移量也反下\n\n\n        var _newOffset = flipOffset(offset, 1);\n\n        var _newTargetOffset = flipOffset(targetOffset, 1);\n\n        var _newElFuturePos = getElFuturePos(elRegion, tgtRegion, _newPoints, _newOffset, _newTargetOffset);\n\n        if (!isCompleteFailY(_newElFuturePos, elRegion, visibleRect)) {\n          fail = 1;\n          points = _newPoints;\n          offset = _newOffset;\n          targetOffset = _newTargetOffset;\n        }\n      }\n    } // 如果失败，重新计算当前节点将要被放置的位置\n\n\n    if (fail) {\n      elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset);\n      utils.mix(newElRegion, elFuturePos);\n    }\n\n    var isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);\n    var isStillFailY = isFailY(elFuturePos, elRegion, visibleRect); // 检查反下后的位置是否可以放下了，如果仍然放不下：\n    // 1. 复原修改过的定位参数\n\n    if (isStillFailX || isStillFailY) {\n      points = align.points;\n      offset = align.offset || [0, 0];\n      targetOffset = align.targetOffset || [0, 0];\n    } // 2. 只有指定了可以调整当前方向才调整\n\n\n    newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;\n    newOverflowCfg.adjustY = overflow.adjustY && isStillFailY; // 确实要调整，甚至可能会调整高度宽度\n\n    if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {\n      newElRegion = adjustForViewport(elFuturePos, elRegion, visibleRect, newOverflowCfg);\n    }\n  } // need judge to in case set fixed with in css on height auto element\n\n\n  if (newElRegion.width !== elRegion.width) {\n    utils.css(source, 'width', utils.width(source) + newElRegion.width - elRegion.width);\n  }\n\n  if (newElRegion.height !== elRegion.height) {\n    utils.css(source, 'height', utils.height(source) + newElRegion.height - elRegion.height);\n  } // https://github.com/kissyteam/kissy/issues/190\n  // 相对于屏幕位置没变，而 left/top 变了\n  // 例如 <div 'relative'><el absolute></div>\n\n\n  utils.offset(source, {\n    left: newElRegion.left,\n    top: newElRegion.top\n  }, {\n    useCssRight: align.useCssRight,\n    useCssBottom: align.useCssBottom,\n    useCssTransform: align.useCssTransform,\n    ignoreShake: align.ignoreShake\n  });\n  return {\n    points: points,\n    offset: offset,\n    targetOffset: targetOffset,\n    overflow: newOverflowCfg\n  };\n}\n/**\n *  2012-04-26 yiminghe@gmail.com\n *   - 优化智能对齐算法\n *   - 慎用 resizeXX\n *\n *  2011-07-13 yiminghe@gmail.com note:\n *   - 增加智能对齐，以及大小调整选项\n **/\n\nfunction isOutOfVisibleRect(target) {\n  var visibleRect = getVisibleRectForElement(target);\n  var targetRegion = getRegion(target);\n  return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;\n}\n\nfunction alignElement(el, refNode, align) {\n  var target = align.target || refNode;\n  var refNodeRegion = getRegion(target);\n  var isTargetNotOutOfVisible = !isOutOfVisibleRect(target);\n  return doAlign(el, refNodeRegion, align, isTargetNotOutOfVisible);\n}\n\nalignElement.__getOffsetParent = getOffsetParent;\nalignElement.__getVisibleRectForElement = getVisibleRectForElement;\n\n/**\n * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.\n * If client position provided, will internal convert to page position.\n */\n\nfunction alignPoint(el, tgtPoint, align) {\n  var pageX;\n  var pageY;\n  var doc = utils.getDocument(el);\n  var win = doc.defaultView || doc.parentWindow;\n  var scrollX = utils.getWindowScrollLeft(win);\n  var scrollY = utils.getWindowScrollTop(win);\n  var viewportWidth = utils.viewportWidth(win);\n  var viewportHeight = utils.viewportHeight(win);\n\n  if ('pageX' in tgtPoint) {\n    pageX = tgtPoint.pageX;\n  } else {\n    pageX = scrollX + tgtPoint.clientX;\n  }\n\n  if ('pageY' in tgtPoint) {\n    pageY = tgtPoint.pageY;\n  } else {\n    pageY = scrollY + tgtPoint.clientY;\n  }\n\n  var tgtRegion = {\n    left: pageX,\n    top: pageY,\n    width: 0,\n    height: 0\n  };\n  var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight; // Provide default target point\n\n  var points = [align.points[0], 'cc'];\n  return doAlign(el, tgtRegion, _objectSpread2({}, align, {\n    points: points\n  }), pointInView);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (alignElement);\n\n//# sourceMappingURL=index.js.map\n\n\n/***/ }),\n\n/***/ \"./node_modules/is-arrayish/index.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/is-arrayish/index.js ***!\n  \\*******************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = function isArrayish(obj) {\n\tif (!obj || typeof obj === 'string') {\n\t\treturn false;\n\t}\n\n\treturn obj instanceof Array || Array.isArray(obj) ||\n\t\t(obj.length >= 0 && (obj.splice instanceof Function ||\n\t\t\t(Object.getOwnPropertyDescriptor(obj, (obj.length - 1)) && obj.constructor.name !== 'String')));\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/is-what/dist/index.esm.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/is-what/dist/index.esm.js ***!\n  \\************************************************/\n/*! exports provided: getType, isUndefined, isNull, isPlainObject, isObject, isAnyObject, isObjectLike, isFunction, isArray, isString, isFullString, isEmptyString, isNumber, isBoolean, isRegExp, isDate, isSymbol, isPrimitive, isType */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getType\", function() { return getType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isUndefined\", function() { return isUndefined; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isNull\", function() { return isNull; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isPlainObject\", function() { return isPlainObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isObject\", function() { return isObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isAnyObject\", function() { return isAnyObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isObjectLike\", function() { return isObjectLike; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isFunction\", function() { return isFunction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isArray\", function() { return isArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isString\", function() { return isString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isFullString\", function() { return isFullString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isEmptyString\", function() { return isEmptyString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isNumber\", function() { return isNumber; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isBoolean\", function() { return isBoolean; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isRegExp\", function() { return isRegExp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isDate\", function() { return isDate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isSymbol\", function() { return isSymbol; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isPrimitive\", function() { return isPrimitive; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isType\", function() { return isType; });\n/**\r\n * Returns the object type of the given payload\r\n *\r\n * @param {*} payload\r\n * @returns {string}\r\n */\r\nfunction getType(payload) {\r\n    return Object.prototype.toString.call(payload).slice(8, -1);\r\n}\r\n/**\r\n * Returns whether the payload is undefined\r\n *\r\n * @param {*} payload\r\n * @returns {payload is undefined}\r\n */\r\nfunction isUndefined(payload) {\r\n    return getType(payload) === 'Undefined';\r\n}\r\n/**\r\n * Returns whether the payload is null\r\n *\r\n * @param {*} payload\r\n * @returns {payload is null}\r\n */\r\nfunction isNull(payload) {\r\n    return getType(payload) === 'Null';\r\n}\r\n/**\r\n * Returns whether the payload is a plain JavaScript object (excluding special classes or objects with other prototypes)\r\n *\r\n * @param {*} payload\r\n * @returns {payload is {[key: string]: any}}\r\n */\r\nfunction isPlainObject(payload) {\r\n    if (getType(payload) !== 'Object')\r\n        return false;\r\n    return (payload.constructor === Object && Object.getPrototypeOf(payload) === Object.prototype);\r\n}\r\n/**\r\n * Returns whether the payload is a plain JavaScript object (excluding special classes or objects with other prototypes)\r\n *\r\n * @param {*} payload\r\n * @returns {payload is {[key: string]: any}}\r\n */\r\nfunction isObject(payload) {\r\n    return isPlainObject(payload);\r\n}\r\n/**\r\n * Returns whether the payload is an any kind of object (including special classes or objects with different prototypes)\r\n *\r\n * @param {*} payload\r\n * @returns {payload is {[key: string]: any}}\r\n */\r\nfunction isAnyObject(payload) {\r\n    return getType(payload) === 'Object';\r\n}\r\n/**\r\n * Returns whether the payload is an object like a type passed in < >\r\n *\r\n * Usage: isObjectLike<{id: any}>(payload) // will make sure it's an object and has an `id` prop.\r\n *\r\n * @template T this must be passed in < >\r\n * @param {*} payload\r\n * @returns {payload is T}\r\n */\r\nfunction isObjectLike(payload) {\r\n    return isAnyObject(payload);\r\n}\r\n/**\r\n * Returns whether the payload is a function\r\n *\r\n * @param {*} payload\r\n * @returns {payload is Function}\r\n */\r\nfunction isFunction(payload) {\r\n    return getType(payload) === 'Function';\r\n}\r\n/**\r\n * Returns whether the payload is an array\r\n *\r\n * @param {*} payload\r\n * @returns {payload is undefined}\r\n */\r\nfunction isArray(payload) {\r\n    return getType(payload) === 'Array';\r\n}\r\n/**\r\n * Returns whether the payload is a string\r\n *\r\n * @param {*} payload\r\n * @returns {payload is string}\r\n */\r\nfunction isString(payload) {\r\n    return getType(payload) === 'String';\r\n}\r\n/**\r\n * Returns whether the payload is a string, BUT returns false for ''\r\n *\r\n * @param {*} payload\r\n * @returns {payload is string}\r\n */\r\nfunction isFullString(payload) {\r\n    return isString(payload) && payload !== '';\r\n}\r\n/**\r\n * Returns whether the payload is ''\r\n *\r\n * @param {*} payload\r\n * @returns {payload is string}\r\n */\r\nfunction isEmptyString(payload) {\r\n    return payload === '';\r\n}\r\n/**\r\n * Returns whether the payload is a number\r\n *\r\n * This will return false for NaN\r\n *\r\n * @param {*} payload\r\n * @returns {payload is number}\r\n */\r\nfunction isNumber(payload) {\r\n    return (getType(payload) === 'Number' && !isNaN(payload));\r\n}\r\n/**\r\n * Returns whether the payload is a boolean\r\n *\r\n * @param {*} payload\r\n * @returns {payload is boolean}\r\n */\r\nfunction isBoolean(payload) {\r\n    return getType(payload) === 'Boolean';\r\n}\r\n/**\r\n * Returns whether the payload is a regular expression\r\n *\r\n * @param {*} payload\r\n * @returns {payload is RegExp}\r\n */\r\nfunction isRegExp(payload) {\r\n    return getType(payload) === 'RegExp';\r\n}\r\n/**\r\n * Returns whether the payload is a date, and that the date is Valid\r\n *\r\n * @param {*} payload\r\n * @returns {payload is Date}\r\n */\r\nfunction isDate(payload) {\r\n    return (getType(payload) === 'Date' && !isNaN(payload));\r\n}\r\n/**\r\n * Returns whether the payload is a Symbol\r\n *\r\n * @param {*} payload\r\n * @returns {payload is symbol}\r\n */\r\nfunction isSymbol(payload) {\r\n    return (getType(payload) === 'Symbol');\r\n}\r\n/**\r\n * Returns whether the payload is a primitive type (eg. Boolean | Null | Undefined | Number | String | Symbol)\r\n *\r\n * @param {*} payload\r\n * @returns {(payload is boolean | null | undefined | number | string | symbol)}\r\n */\r\nfunction isPrimitive(payload) {\r\n    return (isBoolean(payload) ||\r\n        isNull(payload) ||\r\n        isUndefined(payload) ||\r\n        isNumber(payload) ||\r\n        isString(payload) ||\r\n        isSymbol(payload));\r\n}\r\n/**\r\n * Does a generic check to check that the given payload is of a given type.\r\n * In cases like Number, it will return true for NaN as NaN is a Number (thanks javascript!);\r\n * It will, however, differentiate between object and null\r\n *\r\n * @template T\r\n * @param {*} payload\r\n * @param {T} type\r\n * @throws {TypeError} Will throw type error if type is an invalid type\r\n * @returns {payload is T}\r\n */\r\nfunction isType(payload, type) {\r\n    if (!(type instanceof Function)) {\r\n        throw new TypeError('Type must be a function');\r\n    }\r\n    if (!type.hasOwnProperty('prototype')) {\r\n        throw new TypeError('Type is not a class');\r\n    }\r\n    // Classes usually have names (as functions usually have names)\r\n    var name = type.name;\r\n    return (getType(payload) === name) || Boolean(payload && (payload.constructor === type));\r\n}\n\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/memoize-one/dist/memoize-one.esm.js\":\n/*!**********************************************************!*\\\n  !*** ./node_modules/memoize-one/dist/memoize-one.esm.js ***!\n  \\**********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\nfunction areInputsEqual(newInputs, lastInputs) {\n    if (newInputs.length !== lastInputs.length) {\n        return false;\n    }\n    for (var i = 0; i < newInputs.length; i++) {\n        if (newInputs[i] !== lastInputs[i]) {\n            return false;\n        }\n    }\n    return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n    if (isEqual === void 0) { isEqual = areInputsEqual; }\n    var lastThis;\n    var lastArgs = [];\n    var lastResult;\n    var calledOnce = false;\n    function memoized() {\n        var newArgs = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            newArgs[_i] = arguments[_i];\n        }\n        if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n            return lastResult;\n        }\n        lastResult = resultFn.apply(this, newArgs);\n        calledOnce = true;\n        lastThis = this;\n        lastArgs = newArgs;\n        return lastResult;\n    }\n    return memoized;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (memoizeOne);\n\n\n/***/ }),\n\n/***/ \"./node_modules/merge-anything/dist/index.esm.js\":\n/*!*******************************************************!*\\\n  !*** ./node_modules/merge-anything/dist/index.esm.js ***!\n  \\*******************************************************/\n/*! exports provided: default, merge, concatArrays */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"merge\", function() { return merge; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"concatArrays\", function() { return concatArrays; });\n/* harmony import */ var is_what__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! is-what */ \"./node_modules/is-what/dist/index.esm.js\");\n\n\nfunction assignProp(carry, key, newVal, originalObject) {\r\n    var propType = originalObject.propertyIsEnumerable(key)\r\n        ? 'enumerable'\r\n        : 'nonenumerable';\r\n    if (propType === 'enumerable')\r\n        carry[key] = newVal;\r\n    if (propType === 'nonenumerable') {\r\n        Object.defineProperty(carry, key, {\r\n            value: newVal,\r\n            enumerable: false,\r\n            writable: true,\r\n            configurable: true\r\n        });\r\n    }\r\n}\r\nfunction mergeRecursively(origin, newComer, extensions) {\r\n    // work directly on newComer if its not an object\r\n    if (!Object(is_what__WEBPACK_IMPORTED_MODULE_0__[\"isPlainObject\"])(newComer)) {\r\n        // extend merge rules\r\n        if (extensions && Object(is_what__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(extensions)) {\r\n            extensions.forEach(function (extend) {\r\n                newComer = extend(origin, newComer);\r\n            });\r\n        }\r\n        return newComer;\r\n    }\r\n    // define newObject to merge all values upon\r\n    var newObject = {};\r\n    if (Object(is_what__WEBPACK_IMPORTED_MODULE_0__[\"isPlainObject\"])(origin)) {\r\n        var props_1 = Object.getOwnPropertyNames(origin);\r\n        var symbols_1 = Object.getOwnPropertySymbols(origin);\r\n        newObject = props_1.concat(symbols_1).reduce(function (carry, key) {\r\n            // @ts-ignore\r\n            var targetVal = origin[key];\r\n            if ((!Object(is_what__WEBPACK_IMPORTED_MODULE_0__[\"isSymbol\"])(key) && !Object.getOwnPropertyNames(newComer).includes(key)) ||\r\n                (Object(is_what__WEBPACK_IMPORTED_MODULE_0__[\"isSymbol\"])(key) && !Object.getOwnPropertySymbols(newComer).includes(key))) {\r\n                assignProp(carry, key, targetVal, origin);\r\n            }\r\n            return carry;\r\n        }, {});\r\n    }\r\n    var props = Object.getOwnPropertyNames(newComer);\r\n    var symbols = Object.getOwnPropertySymbols(newComer);\r\n    var result = props.concat(symbols).reduce(function (carry, key) {\r\n        // re-define the origin and newComer as targetVal and newVal\r\n        var newVal = newComer[key];\r\n        var targetVal = (Object(is_what__WEBPACK_IMPORTED_MODULE_0__[\"isPlainObject\"])(origin))\r\n            // @ts-ignore\r\n            ? origin[key]\r\n            : undefined;\r\n        // extend merge rules\r\n        if (extensions && Object(is_what__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(extensions)) {\r\n            extensions.forEach(function (extend) {\r\n                newVal = extend(targetVal, newVal);\r\n            });\r\n        }\r\n        // When newVal is an object do the merge recursively\r\n        if (targetVal !== undefined && Object(is_what__WEBPACK_IMPORTED_MODULE_0__[\"isPlainObject\"])(newVal)) {\r\n            newVal = mergeRecursively(targetVal, newVal, extensions);\r\n        }\r\n        assignProp(carry, key, newVal, newComer);\r\n        return carry;\r\n    }, newObject);\r\n    return result;\r\n}\r\n/**\r\n * Merge anything recursively.\r\n * Objects get merged, special objects (classes etc.) are re-assigned \"as is\".\r\n * Basic types overwrite objects or other basic types.\r\n *\r\n * @param {(IConfig | any)} origin\r\n * @param {...any[]} newComers\r\n * @returns the result\r\n */\r\nfunction merge(origin) {\r\n    var newComers = [];\r\n    for (var _i = 1; _i < arguments.length; _i++) {\r\n        newComers[_i - 1] = arguments[_i];\r\n    }\r\n    var extensions = null;\r\n    var base = origin;\r\n    if (Object(is_what__WEBPACK_IMPORTED_MODULE_0__[\"isPlainObject\"])(origin) && origin.extensions && Object.keys(origin).length === 1) {\r\n        base = {};\r\n        extensions = origin.extensions;\r\n    }\r\n    return newComers.reduce(function (result, newComer) {\r\n        return mergeRecursively(result, newComer, extensions);\r\n    }, base);\r\n}\n\nfunction concatArrays(originVal, newVal) {\r\n    if (Object(is_what__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(originVal) && Object(is_what__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(newVal)) {\r\n        // concat logic\r\n        return originVal.concat(newVal);\r\n    }\r\n    return newVal; // always return newVal as fallback!!\r\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (merge);\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/nipplejs/dist/nipplejs.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/nipplejs/dist/nipplejs.js ***!\n  \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n(function(f){if(true){module.exports=f()}else { var g; }})(function(){var define,module,exports;\n'use strict';\n\n// Constants\nvar isTouch = !!('ontouchstart' in window);\nvar isPointer = window.PointerEvent ? true : false;\nvar isMSPointer = window.MSPointerEvent ? true : false;\nvar events = {\n    touch: {\n        start: 'touchstart',\n        move: 'touchmove',\n        end: 'touchend, touchcancel'\n    },\n    mouse: {\n        start: 'mousedown',\n        move: 'mousemove',\n        end: 'mouseup'\n    },\n    pointer: {\n        start: 'pointerdown',\n        move: 'pointermove',\n        end: 'pointerup, pointercancel'\n    },\n    MSPointer: {\n        start: 'MSPointerDown',\n        move: 'MSPointerMove',\n        end: 'MSPointerUp'\n    }\n};\nvar toBind;\nvar secondBind = {};\nif (isPointer) {\n    toBind = events.pointer;\n} else if (isMSPointer) {\n    toBind = events.MSPointer;\n} else if (isTouch) {\n    toBind = events.touch;\n    secondBind = events.mouse;\n} else {\n    toBind = events.mouse;\n}\n\n///////////////////////\n///      UTILS      ///\n///////////////////////\n\nvar u = {};\nu.distance = function (p1, p2) {\n    var dx = p2.x - p1.x;\n    var dy = p2.y - p1.y;\n\n    return Math.sqrt((dx * dx) + (dy * dy));\n};\n\nu.angle = function(p1, p2) {\n    var dx = p2.x - p1.x;\n    var dy = p2.y - p1.y;\n\n    return u.degrees(Math.atan2(dy, dx));\n};\n\nu.findCoord = function(p, d, a) {\n    var b = {x: 0, y: 0};\n    a = u.radians(a);\n    b.x = p.x - d * Math.cos(a);\n    b.y = p.y - d * Math.sin(a);\n    return b;\n};\n\nu.radians = function(a) {\n    return a * (Math.PI / 180);\n};\n\nu.degrees = function(a) {\n    return a * (180 / Math.PI);\n};\n\nu.bindEvt = function (el, arg, handler) {\n    var types = arg.split(/[ ,]+/g);\n    var type;\n    for (var i = 0; i < types.length; i += 1) {\n        type = types[i];\n        if (el.addEventListener) {\n            el.addEventListener(type, handler, false);\n        } else if (el.attachEvent) {\n            el.attachEvent(type, handler);\n        }\n    }\n};\n\nu.unbindEvt = function (el, arg, handler) {\n    var types = arg.split(/[ ,]+/g);\n    var type;\n    for (var i = 0; i < types.length; i += 1) {\n        type = types[i];\n        if (el.removeEventListener) {\n            el.removeEventListener(type, handler);\n        } else if (el.detachEvent) {\n            el.detachEvent(type, handler);\n        }\n    }\n};\n\nu.trigger = function (el, type, data) {\n    var evt = new CustomEvent(type, data);\n    el.dispatchEvent(evt);\n};\n\nu.prepareEvent = function (evt) {\n    evt.preventDefault();\n    return evt.type.match(/^touch/) ? evt.changedTouches : evt;\n};\n\nu.getScroll = function () {\n    var x = (window.pageXOffset !== undefined) ?\n        window.pageXOffset :\n        (document.documentElement || document.body.parentNode || document.body)\n            .scrollLeft;\n\n    var y = (window.pageYOffset !== undefined) ?\n        window.pageYOffset :\n        (document.documentElement || document.body.parentNode || document.body)\n            .scrollTop;\n    return {\n        x: x,\n        y: y\n    };\n};\n\nu.applyPosition = function (el, pos) {\n    if (pos.top || pos.right || pos.bottom || pos.left) {\n        el.style.top = pos.top;\n        el.style.right = pos.right;\n        el.style.bottom = pos.bottom;\n        el.style.left = pos.left;\n    } else {\n        el.style.left = pos.x + 'px';\n        el.style.top = pos.y + 'px';\n    }\n};\n\nu.getTransitionStyle = function (property, values, time) {\n    var obj = u.configStylePropertyObject(property);\n    for (var i in obj) {\n        if (obj.hasOwnProperty(i)) {\n            if (typeof values === 'string') {\n                obj[i] = values + ' ' + time;\n            } else {\n                var st = '';\n                for (var j = 0, max = values.length; j < max; j += 1) {\n                    st += values[j] + ' ' + time + ', ';\n                }\n                obj[i] = st.slice(0, -2);\n            }\n        }\n    }\n    return obj;\n};\n\nu.getVendorStyle = function (property, value) {\n    var obj = u.configStylePropertyObject(property);\n    for (var i in obj) {\n        if (obj.hasOwnProperty(i)) {\n            obj[i] = value;\n        }\n    }\n    return obj;\n};\n\nu.configStylePropertyObject = function (prop) {\n    var obj = {};\n    obj[prop] = '';\n    var vendors = ['webkit', 'Moz', 'o'];\n    vendors.forEach(function (vendor) {\n        obj[vendor + prop.charAt(0).toUpperCase() + prop.slice(1)] = '';\n    });\n    return obj;\n};\n\nu.extend = function (objA, objB) {\n    for (var i in objB) {\n        if (objB.hasOwnProperty(i)) {\n            objA[i] = objB[i];\n        }\n    }\n    return objA;\n};\n\n// Overwrite only what's already present\nu.safeExtend = function (objA, objB) {\n    var obj = {};\n    for (var i in objA) {\n        if (objA.hasOwnProperty(i) && objB.hasOwnProperty(i)) {\n            obj[i] = objB[i];\n        } else if (objA.hasOwnProperty(i)) {\n            obj[i] = objA[i];\n        }\n    }\n    return obj;\n};\n\n// Map for array or unique item.\nu.map = function (ar, fn) {\n    if (ar.length) {\n        for (var i = 0, max = ar.length; i < max; i += 1) {\n            fn(ar[i]);\n        }\n    } else {\n        fn(ar);\n    }\n};\n\n///////////////////////\n///   SUPER CLASS   ///\n///////////////////////\n\nfunction Super () {};\n\n// Basic event system.\nSuper.prototype.on = function (arg, cb) {\n    var self = this;\n    var types = arg.split(/[ ,]+/g);\n    var type;\n    self._handlers_ = self._handlers_ || {};\n\n    for (var i = 0; i < types.length; i += 1) {\n        type = types[i];\n        self._handlers_[type] = self._handlers_[type] || [];\n        self._handlers_[type].push(cb);\n    }\n    return self;\n};\n\nSuper.prototype.off = function (type, cb) {\n    var self = this;\n    self._handlers_ = self._handlers_ || {};\n\n    if (type === undefined) {\n        self._handlers_ = {};\n    } else if (cb === undefined) {\n        self._handlers_[type] = null;\n    } else if (self._handlers_[type] &&\n            self._handlers_[type].indexOf(cb) >= 0) {\n        self._handlers_[type].splice(self._handlers_[type].indexOf(cb), 1);\n    }\n\n    return self;\n};\n\nSuper.prototype.trigger = function (arg, data) {\n    var self = this;\n    var types = arg.split(/[ ,]+/g);\n    var type;\n    self._handlers_ = self._handlers_ || {};\n\n    for (var i = 0; i < types.length; i += 1) {\n        type = types[i];\n        if (self._handlers_[type] && self._handlers_[type].length) {\n            self._handlers_[type].forEach(function (handler) {\n                handler.call(self, {\n                    type: type,\n                    target: self\n                }, data);\n            });\n        }\n    }\n};\n\n// Configuration\nSuper.prototype.config = function (options) {\n    var self = this;\n    self.options = self.defaults || {};\n    if (options) {\n        self.options = u.safeExtend(self.options, options);\n    }\n};\n\n// Bind internal events.\nSuper.prototype.bindEvt = function (el, type) {\n    var self = this;\n    self._domHandlers_ = self._domHandlers_ || {};\n\n    self._domHandlers_[type] = function () {\n        if (typeof self['on' + type] === 'function') {\n            self['on' + type].apply(self, arguments);\n        } else {\n            console.warn('[WARNING] : Missing \"on' + type + '\" handler.');\n        }\n    };\n\n    u.bindEvt(el, toBind[type], self._domHandlers_[type]);\n\n    if (secondBind[type]) {\n        // Support for both touch and mouse at the same time.\n        u.bindEvt(el, secondBind[type], self._domHandlers_[type]);\n    }\n\n    return self;\n};\n\n// Unbind dom events.\nSuper.prototype.unbindEvt = function (el, type) {\n    var self = this;\n    self._domHandlers_ = self._domHandlers_ || {};\n\n    u.unbindEvt(el, toBind[type], self._domHandlers_[type]);\n\n    if (secondBind[type]) {\n        // Support for both touch and mouse at the same time.\n        u.unbindEvt(el, secondBind[type], self._domHandlers_[type]);\n    }\n\n    delete self._domHandlers_[type];\n\n    return this;\n};\n\n///////////////////////\n///   THE NIPPLE    ///\n///////////////////////\n\nfunction Nipple (collection, options) {\n    this.identifier = options.identifier;\n    this.position = options.position;\n    this.frontPosition = options.frontPosition;\n    this.collection = collection;\n\n    // Defaults\n    this.defaults = {\n        size: 100,\n        threshold: 0.1,\n        color: 'white',\n        fadeTime: 250,\n        dataOnly: false,\n        restJoystick: true,\n        restOpacity: 0.5,\n        mode: 'dynamic',\n        zone: document.body,\n        lockX: false,\n        lockY: false\n    };\n\n    this.config(options);\n\n    // Overwrites\n    if (this.options.mode === 'dynamic') {\n        this.options.restOpacity = 0;\n    }\n\n    this.id = Nipple.id;\n    Nipple.id += 1;\n    this.buildEl()\n        .stylize();\n\n    // Nipple's API.\n    this.instance = {\n        el: this.ui.el,\n        on: this.on.bind(this),\n        off: this.off.bind(this),\n        show: this.show.bind(this),\n        hide: this.hide.bind(this),\n        add: this.addToDom.bind(this),\n        remove: this.removeFromDom.bind(this),\n        destroy: this.destroy.bind(this),\n        resetDirection: this.resetDirection.bind(this),\n        computeDirection: this.computeDirection.bind(this),\n        trigger: this.trigger.bind(this),\n        position: this.position,\n        frontPosition: this.frontPosition,\n        ui: this.ui,\n        identifier: this.identifier,\n        id: this.id,\n        options: this.options\n    };\n\n    return this.instance;\n};\n\nNipple.prototype = new Super();\nNipple.constructor = Nipple;\nNipple.id = 0;\n\n// Build the dom element of the Nipple instance.\nNipple.prototype.buildEl = function (options) {\n    this.ui = {};\n\n    if (this.options.dataOnly) {\n        return this;\n    }\n\n    this.ui.el = document.createElement('div');\n    this.ui.back = document.createElement('div');\n    this.ui.front = document.createElement('div');\n\n    this.ui.el.className = 'nipple collection_' + this.collection.id;\n    this.ui.back.className = 'back';\n    this.ui.front.className = 'front';\n\n    this.ui.el.setAttribute('id', 'nipple_' + this.collection.id +\n        '_' + this.id);\n\n    this.ui.el.appendChild(this.ui.back);\n    this.ui.el.appendChild(this.ui.front);\n\n    return this;\n};\n\n// Apply CSS to the Nipple instance.\nNipple.prototype.stylize = function () {\n    if (this.options.dataOnly) {\n        return this;\n    }\n    var animTime = this.options.fadeTime + 'ms';\n    var borderStyle = u.getVendorStyle('borderRadius', '50%');\n    var transitStyle = u.getTransitionStyle('transition', 'opacity', animTime);\n    var styles = {};\n    styles.el = {\n        position: 'absolute',\n        opacity: this.options.restOpacity,\n        display: 'block',\n        'zIndex': 999\n    };\n\n    styles.back = {\n        position: 'absolute',\n        display: 'block',\n        width: this.options.size + 'px',\n        height: this.options.size + 'px',\n        marginLeft: -this.options.size / 2 + 'px',\n        marginTop: -this.options.size / 2 + 'px',\n        background: this.options.color,\n        'opacity': '.5'\n    };\n\n    styles.front = {\n        width: this.options.size / 2 + 'px',\n        height: this.options.size / 2 + 'px',\n        position: 'absolute',\n        display: 'block',\n        marginLeft: -this.options.size / 4 + 'px',\n        marginTop: -this.options.size / 4 + 'px',\n        background: this.options.color,\n        'opacity': '.5'\n    };\n\n    u.extend(styles.el, transitStyle);\n    u.extend(styles.back, borderStyle);\n    u.extend(styles.front, borderStyle);\n\n    this.applyStyles(styles);\n\n    return this;\n};\n\nNipple.prototype.applyStyles = function (styles) {\n    // Apply styles\n    for (var i in this.ui) {\n        if (this.ui.hasOwnProperty(i)) {\n            for (var j in styles[i]) {\n                this.ui[i].style[j] = styles[i][j];\n            }\n        }\n    }\n\n    return this;\n};\n\n// Inject the Nipple instance into DOM.\nNipple.prototype.addToDom = function () {\n    // We're not adding it if we're dataOnly or already in dom.\n    if (this.options.dataOnly || document.body.contains(this.ui.el)) {\n        return this;\n    }\n    this.options.zone.appendChild(this.ui.el);\n    return this;\n};\n\n// Remove the Nipple instance from DOM.\nNipple.prototype.removeFromDom = function () {\n    if (this.options.dataOnly || !document.body.contains(this.ui.el)) {\n        return this;\n    }\n    this.options.zone.removeChild(this.ui.el);\n    return this;\n};\n\n// Entirely destroy this nipple\nNipple.prototype.destroy = function () {\n    clearTimeout(this.removeTimeout);\n    clearTimeout(this.showTimeout);\n    clearTimeout(this.restTimeout);\n    this.trigger('destroyed', this.instance);\n    this.removeFromDom();\n    this.off();\n};\n\n// Fade in the Nipple instance.\nNipple.prototype.show = function (cb) {\n    var self = this;\n\n    if (self.options.dataOnly) {\n        return self;\n    }\n\n    clearTimeout(self.removeTimeout);\n    clearTimeout(self.showTimeout);\n    clearTimeout(self.restTimeout);\n\n    self.addToDom();\n\n    self.restCallback();\n\n    setTimeout(function () {\n        self.ui.el.style.opacity = 1;\n    }, 0);\n\n    self.showTimeout = setTimeout(function () {\n        self.trigger('shown', self.instance);\n        if (typeof cb === 'function') {\n            cb.call(this);\n        }\n    }, self.options.fadeTime);\n\n    return self;\n};\n\n// Fade out the Nipple instance.\nNipple.prototype.hide = function (cb) {\n    var self = this;\n\n    if (self.options.dataOnly) {\n        return self;\n    }\n\n    self.ui.el.style.opacity = self.options.restOpacity;\n\n    clearTimeout(self.removeTimeout);\n    clearTimeout(self.showTimeout);\n    clearTimeout(self.restTimeout);\n\n    self.removeTimeout = setTimeout(\n        function () {\n            var display = self.options.mode === 'dynamic' ? 'none' : 'block';\n            self.ui.el.style.display = display;\n            if (typeof cb === 'function') {\n                cb.call(self);\n            }\n\n            self.trigger('hidden', self.instance);\n        },\n        self.options.fadeTime\n    );\n    if (self.options.restJoystick) {\n        self.restPosition();\n    }\n\n    return self;\n};\n\nNipple.prototype.restPosition = function (cb) {\n    var self = this;\n    self.frontPosition = {\n        x: 0,\n        y: 0\n    };\n    var animTime = self.options.fadeTime + 'ms';\n\n    var transitStyle = {};\n    transitStyle.front = u.getTransitionStyle('transition',\n        ['top', 'left'], animTime);\n\n    var styles = {front: {}};\n    styles.front = {\n        left: self.frontPosition.x + 'px',\n        top: self.frontPosition.y + 'px'\n    };\n\n    self.applyStyles(transitStyle);\n    self.applyStyles(styles);\n\n    self.restTimeout = setTimeout(\n        function () {\n            if (typeof cb === 'function') {\n                cb.call(self);\n            }\n            self.restCallback();\n        },\n        self.options.fadeTime\n    );\n};\n\nNipple.prototype.restCallback = function () {\n    var self = this;\n    var transitStyle = {};\n    transitStyle.front = u.getTransitionStyle('transition', 'none', '');\n    self.applyStyles(transitStyle);\n    self.trigger('rested', self.instance);\n};\n\nNipple.prototype.resetDirection = function () {\n    // Fully rebuild the object to let the iteration possible.\n    this.direction = {\n        x: false,\n        y: false,\n        angle: false\n    };\n};\n\nNipple.prototype.computeDirection = function (obj) {\n    var rAngle = obj.angle.radian;\n    var angle45 = Math.PI / 4;\n    var angle90 = Math.PI / 2;\n    var direction, directionX, directionY;\n\n    // Angular direction\n    //     \\  UP /\n    //      \\   /\n    // LEFT       RIGHT\n    //      /   \\\n    //     /DOWN \\\n    //\n    if (\n        rAngle > angle45 &&\n        rAngle < (angle45 * 3) &&\n        !obj.lockX\n    ) {\n        direction = 'up';\n    } else if (\n        rAngle > -angle45 &&\n        rAngle <= angle45 &&\n        !obj.lockY\n    ) {\n        direction = 'left';\n    } else if (\n        rAngle > (-angle45 * 3) &&\n        rAngle <= -angle45 &&\n        !obj.lockX\n    ) {\n        direction = 'down';\n    } else if (!obj.lockY) {\n        direction = 'right';\n    }\n\n    // Plain direction\n    //    UP                 |\n    // _______               | RIGHT\n    //                  LEFT |\n    //   DOWN                |\n    if (!obj.lockY) {\n        if (rAngle > -angle90 && rAngle < angle90) {\n            directionX = 'left';\n        } else {\n            directionX = 'right';\n        }\n    }\n\n    if (!obj.lockX) {\n        if (rAngle > 0) {\n            directionY = 'up';\n        } else {\n            directionY = 'down';\n        }\n    }\n\n    if (obj.force > this.options.threshold) {\n        var oldDirection = {};\n        for (var i in this.direction) {\n            if (this.direction.hasOwnProperty(i)) {\n                oldDirection[i] = this.direction[i];\n            }\n        }\n\n        var same = {};\n\n        this.direction = {\n            x: directionX,\n            y: directionY,\n            angle: direction\n        };\n\n        obj.direction = this.direction;\n\n        for (var i in oldDirection) {\n            if (oldDirection[i] === this.direction[i]) {\n                same[i] = true;\n            }\n        }\n\n        // If all 3 directions are the same, we don't trigger anything.\n        if (same.x && same.y && same.angle) {\n            return obj;\n        }\n\n        if (!same.x || !same.y) {\n            this.trigger('plain', obj);\n        }\n\n        if (!same.x) {\n            this.trigger('plain:' + directionX, obj);\n        }\n\n        if (!same.y) {\n            this.trigger('plain:' + directionY, obj);\n        }\n\n        if (!same.angle) {\n            this.trigger('dir dir:' + direction, obj);\n        }\n    }\n    return obj;\n};\n\n/* global Nipple, Super */\n\n///////////////////////////\n///   THE COLLECTION    ///\n///////////////////////////\n\nfunction Collection (manager, options) {\n    var self = this;\n    self.nipples = [];\n    self.idles = [];\n    self.actives = [];\n    self.ids = [];\n    self.pressureIntervals = {};\n    self.manager = manager;\n    self.id = Collection.id;\n    Collection.id += 1;\n\n    // Defaults\n    self.defaults = {\n        zone: document.body,\n        multitouch: false,\n        maxNumberOfNipples: 10,\n        mode: 'dynamic',\n        position: {top: 0, left: 0},\n        catchDistance: 200,\n        size: 100,\n        threshold: 0.1,\n        color: 'white',\n        fadeTime: 250,\n        dataOnly: false,\n        restJoystick: true,\n        restOpacity: 0.5,\n        lockX: false,\n        lockY: false\n    };\n\n    self.config(options);\n\n    // Overwrites\n    if (self.options.mode === 'static' || self.options.mode === 'semi') {\n        self.options.multitouch = false;\n    }\n\n    if (!self.options.multitouch) {\n        self.options.maxNumberOfNipples = 1;\n    }\n\n    self.updateBox();\n    self.prepareNipples();\n    self.bindings();\n    self.begin();\n\n    return self.nipples;\n}\n\nCollection.prototype = new Super();\nCollection.constructor = Collection;\nCollection.id = 0;\n\nCollection.prototype.prepareNipples = function () {\n    var self = this;\n    var nips = self.nipples;\n\n    // Public API Preparation.\n    nips.on = self.on.bind(self);\n    nips.off = self.off.bind(self);\n    nips.options = self.options;\n    nips.destroy = self.destroy.bind(self);\n    nips.ids = self.ids;\n    nips.id = self.id;\n    nips.processOnMove = self.processOnMove.bind(self);\n    nips.processOnEnd = self.processOnEnd.bind(self);\n    nips.get = function (id) {\n        if (id === undefined) {\n            return nips[0];\n        }\n        for (var i = 0, max = nips.length; i < max; i += 1) {\n            if (nips[i].identifier === id) {\n                return nips[i];\n            }\n        }\n        return false;\n    };\n};\n\nCollection.prototype.bindings = function () {\n    var self = this;\n    // Touch start event.\n    self.bindEvt(self.options.zone, 'start');\n    // Avoid native touch actions (scroll, zoom etc...) on the zone.\n    self.options.zone.style.touchAction = 'none';\n    self.options.zone.style.msTouchAction = 'none';\n};\n\nCollection.prototype.begin = function () {\n    var self = this;\n    var opts = self.options;\n\n    // We place our static nipple\n    // if needed.\n    if (opts.mode === 'static') {\n        var nipple = self.createNipple(\n            opts.position,\n            self.manager.getIdentifier()\n        );\n        // Add it to the dom.\n        nipple.add();\n        // Store it in idles.\n        self.idles.push(nipple);\n    }\n};\n\n// Nipple Factory\nCollection.prototype.createNipple = function (position, identifier) {\n    var self = this;\n    var scroll = u.getScroll();\n    var toPutOn = {};\n    var opts = self.options;\n\n    if (position.x && position.y) {\n        toPutOn = {\n            x: position.x -\n                (scroll.x + self.box.left),\n            y: position.y -\n                (scroll.y + self.box.top)\n        };\n    } else if (\n            position.top ||\n            position.right ||\n            position.bottom ||\n            position.left\n        ) {\n\n        // We need to compute the position X / Y of the joystick.\n        var dumb = document.createElement('DIV');\n        dumb.style.display = 'hidden';\n        dumb.style.top = position.top;\n        dumb.style.right = position.right;\n        dumb.style.bottom = position.bottom;\n        dumb.style.left = position.left;\n        dumb.style.position = 'absolute';\n\n        opts.zone.appendChild(dumb);\n        var dumbBox = dumb.getBoundingClientRect();\n        opts.zone.removeChild(dumb);\n\n        toPutOn = position;\n        position = {\n            x: dumbBox.left + scroll.x,\n            y: dumbBox.top + scroll.y\n        };\n    }\n\n    var nipple = new Nipple(self, {\n        color: opts.color,\n        size: opts.size,\n        threshold: opts.threshold,\n        fadeTime: opts.fadeTime,\n        dataOnly: opts.dataOnly,\n        restJoystick: opts.restJoystick,\n        restOpacity: opts.restOpacity,\n        mode: opts.mode,\n        identifier: identifier,\n        position: position,\n        zone: opts.zone,\n        frontPosition: {\n            x: 0,\n            y: 0\n        }\n    });\n\n    if (!opts.dataOnly) {\n        u.applyPosition(nipple.ui.el, toPutOn);\n        u.applyPosition(nipple.ui.front, nipple.frontPosition);\n    }\n    self.nipples.push(nipple);\n    self.trigger('added ' + nipple.identifier + ':added', nipple);\n    self.manager.trigger('added ' + nipple.identifier + ':added', nipple);\n\n    self.bindNipple(nipple);\n\n    return nipple;\n};\n\nCollection.prototype.updateBox = function () {\n    var self = this;\n    self.box = self.options.zone.getBoundingClientRect();\n};\n\nCollection.prototype.bindNipple = function (nipple) {\n    var self = this;\n    var type;\n    // Bubble up identified events.\n    var handler = function (evt, data) {\n        // Identify the event type with the nipple's id.\n        type = evt.type + ' ' + data.id + ':' + evt.type;\n        self.trigger(type, data);\n    };\n\n    // When it gets destroyed.\n    nipple.on('destroyed', self.onDestroyed.bind(self));\n\n    // Other events that will get bubbled up.\n    nipple.on('shown hidden rested dir plain', handler);\n    nipple.on('dir:up dir:right dir:down dir:left', handler);\n    nipple.on('plain:up plain:right plain:down plain:left', handler);\n};\n\nCollection.prototype.pressureFn = function (touch, nipple, identifier) {\n    var self = this;\n    var previousPressure = 0;\n    clearInterval(self.pressureIntervals[identifier]);\n    // Create an interval that will read the pressure every 100ms\n    self.pressureIntervals[identifier] = setInterval(function () {\n        var pressure = touch.force || touch.pressure ||\n            touch.webkitForce || 0;\n        if (pressure !== previousPressure) {\n            nipple.trigger('pressure', pressure);\n            self.trigger('pressure ' +\n                nipple.identifier + ':pressure', pressure);\n            previousPressure = pressure;\n        }\n    }.bind(self), 100);\n};\n\nCollection.prototype.onstart = function (evt) {\n    var self = this;\n    var opts = self.options;\n    evt = u.prepareEvent(evt);\n\n    // Update the box position\n    self.updateBox();\n\n    var process = function (touch) {\n        // If we can create new nipples\n        // meaning we don't have more active nipples than we should.\n        if (self.actives.length < opts.maxNumberOfNipples) {\n            self.processOnStart(touch);\n        }\n    };\n\n    u.map(evt, process);\n\n    // We ask upstream to bind the document\n    // on 'move' and 'end'\n    self.manager.bindDocument();\n    return false;\n};\n\nCollection.prototype.processOnStart = function (evt) {\n    var self = this;\n    var opts = self.options;\n    var indexInIdles;\n    var identifier = self.manager.getIdentifier(evt);\n    var pressure = evt.force || evt.pressure || evt.webkitForce || 0;\n    var position = {\n        x: evt.pageX,\n        y: evt.pageY\n    };\n\n    var nipple = self.getOrCreate(identifier, position);\n\n    // Update its touch identifier\n    if (nipple.identifier !== identifier) {\n        self.manager.removeIdentifier(nipple.identifier);\n    }\n    nipple.identifier = identifier;\n\n    var process = function (nip) {\n        // Trigger the start.\n        nip.trigger('start', nip);\n        self.trigger('start ' + nip.id + ':start', nip);\n\n        nip.show();\n        if (pressure > 0) {\n            self.pressureFn(evt, nip, nip.identifier);\n        }\n        // Trigger the first move event.\n        self.processOnMove(evt);\n    };\n\n    // Transfer it from idles to actives.\n    if ((indexInIdles = self.idles.indexOf(nipple)) >= 0) {\n        self.idles.splice(indexInIdles, 1);\n    }\n\n    // Store the nipple in the actives array\n    self.actives.push(nipple);\n    self.ids.push(nipple.identifier);\n\n    if (opts.mode !== 'semi') {\n        process(nipple);\n    } else {\n        // In semi we check the distance of the touch\n        // to decide if we have to reset the nipple\n        var distance = u.distance(position, nipple.position);\n        if (distance <= opts.catchDistance) {\n            process(nipple);\n        } else {\n            nipple.destroy();\n            self.processOnStart(evt);\n            return;\n        }\n    }\n\n    return nipple;\n};\n\nCollection.prototype.getOrCreate = function (identifier, position) {\n    var self = this;\n    var opts = self.options;\n    var nipple;\n\n    // If we're in static or semi, we might already have an active.\n    if (/(semi|static)/.test(opts.mode)) {\n        // Get the active one.\n        // TODO: Multi-touche for semi and static will start here.\n        // Return the nearest one.\n        nipple = self.idles[0];\n        if (nipple) {\n            self.idles.splice(0, 1);\n            return nipple;\n        }\n\n        if (opts.mode === 'semi') {\n            // If we're in semi mode, we need to create one.\n            return self.createNipple(position, identifier);\n        }\n\n        console.warn('Coudln\\'t find the needed nipple.');\n        return false;\n    }\n    // In dynamic, we create a new one.\n    nipple = self.createNipple(position, identifier);\n    return nipple;\n};\n\nCollection.prototype.processOnMove = function (evt) {\n    var self = this;\n    var opts = self.options;\n    var identifier = self.manager.getIdentifier(evt);\n    var nipple = self.nipples.get(identifier);\n\n    if (!nipple) {\n        // This is here just for safety.\n        // It shouldn't happen.\n        console.error('Found zombie joystick with ID ' + identifier);\n        self.manager.removeIdentifier(identifier);\n        return;\n    }\n\n    nipple.identifier = identifier;\n\n    var size = nipple.options.size / 2;\n    var pos = {\n        x: evt.pageX,\n        y: evt.pageY\n    };\n\n    var dist = u.distance(pos, nipple.position);\n    var angle = u.angle(pos, nipple.position);\n    var rAngle = u.radians(angle);\n    var force = dist / size;\n\n    // If distance is bigger than nipple's size\n    // we clamp the position.\n    if (dist > size) {\n        dist = size;\n        pos = u.findCoord(nipple.position, dist, angle);\n    }\n\n    var xPosition = pos.x - nipple.position.x\n    var yPosition = pos.y - nipple.position.y\n\n    if (opts.lockX){\n        yPosition = 0\n    }\n    if (opts.lockY) {\n        xPosition = 0\n    }\n\n    nipple.frontPosition = {\n        x: xPosition,\n        y: yPosition\n    };\n\n    if (!opts.dataOnly) {\n        u.applyPosition(nipple.ui.front, nipple.frontPosition);\n    }\n\n    // Prepare event's datas.\n    var toSend = {\n        identifier: nipple.identifier,\n        position: pos,\n        force: force,\n        pressure: evt.force || evt.pressure || evt.webkitForce || 0,\n        distance: dist,\n        angle: {\n            radian: rAngle,\n            degree: angle\n        },\n        instance: nipple,\n        lockX: opts.lockX,\n        lockY: opts.lockY\n    };\n\n    // Compute the direction's datas.\n    toSend = nipple.computeDirection(toSend);\n\n    // Offset angles to follow units circle.\n    toSend.angle = {\n        radian: u.radians(180 - angle),\n        degree: 180 - angle\n    };\n\n    // Send everything to everyone.\n    nipple.trigger('move', toSend);\n    self.trigger('move ' + nipple.id + ':move', toSend);\n};\n\nCollection.prototype.processOnEnd = function (evt) {\n    var self = this;\n    var opts = self.options;\n    var identifier = self.manager.getIdentifier(evt);\n    var nipple = self.nipples.get(identifier);\n    var removedIdentifier = self.manager.removeIdentifier(nipple.identifier);\n\n    if (!nipple) {\n        return;\n    }\n\n    if (!opts.dataOnly) {\n        nipple.hide(function () {\n            if (opts.mode === 'dynamic') {\n                nipple.trigger('removed', nipple);\n                self.trigger('removed ' + nipple.id + ':removed', nipple);\n                self.manager\n                    .trigger('removed ' + nipple.id + ':removed', nipple);\n                nipple.destroy();\n            }\n        });\n    }\n\n    // Clear the pressure interval reader\n    clearInterval(self.pressureIntervals[nipple.identifier]);\n\n    // Reset the direciton of the nipple, to be able to trigger a new direction\n    // on start.\n    nipple.resetDirection();\n\n    nipple.trigger('end', nipple);\n    self.trigger('end ' + nipple.id + ':end', nipple);\n\n    // Remove identifier from our bank.\n    if (self.ids.indexOf(nipple.identifier) >= 0) {\n        self.ids.splice(self.ids.indexOf(nipple.identifier), 1);\n    }\n\n    // Clean our actives array.\n    if (self.actives.indexOf(nipple) >= 0) {\n        self.actives.splice(self.actives.indexOf(nipple), 1);\n    }\n\n    if (/(semi|static)/.test(opts.mode)) {\n        // Transfer nipple from actives to idles\n        // if we're in semi or static mode.\n        self.idles.push(nipple);\n    } else if (self.nipples.indexOf(nipple) >= 0) {\n        // Only if we're not in semi or static mode\n        // we can remove the instance.\n        self.nipples.splice(self.nipples.indexOf(nipple), 1);\n    }\n\n    // We unbind move and end.\n    self.manager.unbindDocument();\n\n    // We add back the identifier of the idle nipple;\n    if (/(semi|static)/.test(opts.mode)) {\n        self.manager.ids[removedIdentifier.id] = removedIdentifier.identifier;\n    }\n};\n\n// Remove destroyed nipple from the lists\nCollection.prototype.onDestroyed = function(evt, nipple) {\n    var self = this;\n    if (self.nipples.indexOf(nipple) >= 0) {\n        self.nipples.splice(self.nipples.indexOf(nipple), 1);\n    }\n    if (self.actives.indexOf(nipple) >= 0) {\n        self.actives.splice(self.actives.indexOf(nipple), 1);\n    }\n    if (self.idles.indexOf(nipple) >= 0) {\n        self.idles.splice(self.idles.indexOf(nipple), 1);\n    }\n    if (self.ids.indexOf(nipple.identifier) >= 0) {\n        self.ids.splice(self.ids.indexOf(nipple.identifier), 1);\n    }\n\n    // Remove the identifier from our bank\n    self.manager.removeIdentifier(nipple.identifier);\n\n    // We unbind move and end.\n    self.manager.unbindDocument();\n};\n\n// Cleanly destroy the manager\nCollection.prototype.destroy = function () {\n    var self = this;\n    self.unbindEvt(self.options.zone, 'start');\n\n    // Destroy nipples.\n    self.nipples.forEach(function(nipple) {\n        nipple.destroy();\n    });\n\n    // Clean 3DTouch intervals.\n    for (var i in self.pressureIntervals) {\n        if (self.pressureIntervals.hasOwnProperty(i)) {\n            clearInterval(self.pressureIntervals[i]);\n        }\n    }\n\n    // Notify the manager passing the instance\n    self.trigger('destroyed', self.nipples);\n    // We unbind move and end.\n    self.manager.unbindDocument();\n    // Unbind everything.\n    self.off();\n};\n\n/* global u, Super, Collection */\n\n///////////////////////\n///     MANAGER     ///\n///////////////////////\n\nfunction Manager (options) {\n    var self = this;\n    self.ids = {};\n    self.index = 0;\n    self.collections = [];\n\n    self.config(options);\n    self.prepareCollections();\n\n    // Listen for resize, to reposition every joysticks\n    var resizeTimer;\n    u.bindEvt(window, 'resize', function (evt) {\n        clearTimeout(resizeTimer);\n        resizeTimer = setTimeout(function () {\n            var pos;\n            var scroll = u.getScroll();\n            self.collections.forEach(function (collection) {\n                collection.forEach(function (nipple) {\n                    pos = nipple.el.getBoundingClientRect();\n                    nipple.position = {\n                        x: scroll.x + pos.left,\n                        y: scroll.y + pos.top\n                    };\n                });\n            });\n        }, 100);\n    });\n\n    return self.collections;\n};\n\nManager.prototype = new Super();\nManager.constructor = Manager;\n\nManager.prototype.prepareCollections = function () {\n    var self = this;\n    // Public API Preparation.\n    self.collections.create = self.create.bind(self);\n    // Listen to anything\n    self.collections.on = self.on.bind(self);\n    // Unbind general events\n    self.collections.off = self.off.bind(self);\n    // Destroy everything\n    self.collections.destroy = self.destroy.bind(self);\n    // Get any nipple\n    self.collections.get = function (id) {\n        var nipple;\n        self.collections.every(function (collection) {\n            if (nipple = collection.get(id)) {\n                return false;\n            }\n            return true;\n        });\n        return nipple;\n    };\n};\n\nManager.prototype.create = function (options) {\n    return this.createCollection(options);\n};\n\n// Collection Factory\nManager.prototype.createCollection = function (options) {\n    var self = this;\n    var collection = new Collection(self, options);\n\n    self.bindCollection(collection);\n    self.collections.push(collection);\n\n    return collection;\n};\n\nManager.prototype.bindCollection = function (collection) {\n    var self = this;\n    var type;\n    // Bubble up identified events.\n    var handler = function (evt, data) {\n        // Identify the event type with the nipple's identifier.\n        type = evt.type + ' ' + data.id + ':' + evt.type;\n        self.trigger(type, data);\n    };\n\n    // When it gets destroyed we clean.\n    collection.on('destroyed', self.onDestroyed.bind(self));\n\n    // Other events that will get bubbled up.\n    collection.on('shown hidden rested dir plain', handler);\n    collection.on('dir:up dir:right dir:down dir:left', handler);\n    collection.on('plain:up plain:right plain:down plain:left', handler);\n};\n\nManager.prototype.bindDocument = function () {\n    var self = this;\n    // Bind only if not already binded\n    if (!self.binded) {\n        self.bindEvt(document, 'move')\n            .bindEvt(document, 'end');\n        self.binded = true;\n    }\n};\n\nManager.prototype.unbindDocument = function (force) {\n    var self = this;\n    // If there are no touch left\n    // unbind the document.\n    if (!Object.keys(self.ids).length || force === true) {\n        self.unbindEvt(document, 'move')\n            .unbindEvt(document, 'end');\n        self.binded = false;\n    }\n};\n\nManager.prototype.getIdentifier = function (evt) {\n    var id;\n    // If no event, simple increment\n    if (!evt) {\n        id = this.index;\n    } else {\n        // Extract identifier from event object.\n        // Unavailable in mouse events so replaced by latest increment.\n        id = evt.identifier === undefined ? evt.pointerId : evt.identifier;\n        if (id === undefined) {\n            id = this.latest || 0;\n        }\n    }\n\n    if (this.ids[id] === undefined) {\n        this.ids[id] = this.index;\n        this.index += 1;\n    }\n\n    // Keep the latest id used in case we're using an unidentified mouseEvent\n    this.latest = id;\n    return this.ids[id];\n};\n\nManager.prototype.removeIdentifier = function (identifier) {\n    var removed = {};\n    for (var id in this.ids) {\n        if (this.ids[id] === identifier) {\n            removed.id = id;\n            removed.identifier = this.ids[id];\n            delete this.ids[id];\n            break;\n        }\n    }\n    return removed;\n};\n\nManager.prototype.onmove = function (evt) {\n    var self = this;\n    self.onAny('move', evt);\n    return false;\n};\n\nManager.prototype.onend = function (evt) {\n    var self = this;\n    self.onAny('end', evt);\n    return false;\n};\n\nManager.prototype.oncancel = function (evt) {\n    var self = this;\n    self.onAny('end', evt);\n    return false;\n};\n\nManager.prototype.onAny = function (which, evt) {\n    var self = this;\n    var id;\n    var processFn = 'processOn' + which.charAt(0).toUpperCase() +\n        which.slice(1);\n    evt = u.prepareEvent(evt);\n    var processColl = function (e, id, coll) {\n        if (coll.ids.indexOf(id) >= 0) {\n            coll[processFn](e);\n            // Mark the event to avoid cleaning it later.\n            e._found_ = true;\n        }\n    };\n    var processEvt = function (e) {\n        id = self.getIdentifier(e);\n        u.map(self.collections, processColl.bind(null, e, id));\n        // If the event isn't handled by any collection,\n        // we need to clean its identifier.\n        if (!e._found_) {\n            self.removeIdentifier(id);\n        }\n    };\n\n    u.map(evt, processEvt);\n\n    return false;\n};\n\n// Cleanly destroy the manager\nManager.prototype.destroy = function () {\n    var self = this;\n    self.unbindDocument(true);\n    self.ids = {};\n    self.index = 0;\n    self.collections.forEach(function(collection) {\n        collection.destroy();\n    });\n    self.off();\n};\n\n// When a collection gets destroyed\n// we clean behind.\nManager.prototype.onDestroyed = function (evt, coll) {\n    var self = this;\n    if (self.collections.indexOf(coll) < 0) {\n        return false;\n    }\n    self.collections.splice(self.collections.indexOf(coll), 1);\n};\n\nvar factory = new Manager();\nreturn {\n    create: function (options) {\n        return factory.create(options);\n    },\n    factory: factory\n};\n\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/object-assign/index.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/object-assign/index.js ***!\n  \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc');  // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/performance-now/lib/performance-now.js\":\n/*!*************************************************************!*\\\n  !*** ./node_modules/performance-now/lib/performance-now.js ***!\n  \\*************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {// Generated by CoffeeScript 1.12.2\n(function() {\n  var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n\n  if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n    module.exports = function() {\n      return performance.now();\n    };\n  } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n    module.exports = function() {\n      return (getNanoSeconds() - nodeLoadTime) / 1e6;\n    };\n    hrtime = process.hrtime;\n    getNanoSeconds = function() {\n      var hr;\n      hr = hrtime();\n      return hr[0] * 1e9 + hr[1];\n    };\n    moduleLoadTime = getNanoSeconds();\n    upTime = process.uptime() * 1e9;\n    nodeLoadTime = moduleLoadTime - upTime;\n  } else if (Date.now) {\n    module.exports = function() {\n      return Date.now() - loadTime;\n    };\n    loadTime = Date.now();\n  } else {\n    module.exports = function() {\n      return new Date().getTime() - loadTime;\n    };\n    loadTime = new Date().getTime();\n  }\n\n}).call(this);\n\n//# sourceMappingURL=performance-now.js.map\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../process/browser.js */ \"./node_modules/process/browser.js\")))\n\n/***/ }),\n\n/***/ \"./node_modules/process/browser.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/process/browser.js ***!\n  \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n\n/***/ \"./node_modules/raf/index.js\":\n/*!***********************************!*\\\n  !*** ./node_modules/raf/index.js ***!\n  \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {var now = __webpack_require__(/*! performance-now */ \"./node_modules/performance-now/lib/performance-now.js\")\n  , root = typeof window === 'undefined' ? global : window\n  , vendors = ['moz', 'webkit']\n  , suffix = 'AnimationFrame'\n  , raf = root['request' + suffix]\n  , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n  raf = root[vendors[i] + 'Request' + suffix]\n  caf = root[vendors[i] + 'Cancel' + suffix]\n      || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n  var last = 0\n    , id = 0\n    , queue = []\n    , frameDuration = 1000 / 60\n\n  raf = function(callback) {\n    if(queue.length === 0) {\n      var _now = now()\n        , next = Math.max(0, frameDuration - (_now - last))\n      last = next + _now\n      setTimeout(function() {\n        var cp = queue.slice(0)\n        // Clear queue here to prevent\n        // callbacks from appending listeners\n        // to the current frame's queue\n        queue.length = 0\n        for(var i = 0; i < cp.length; i++) {\n          if(!cp[i].cancelled) {\n            try{\n              cp[i].callback(last)\n            } catch(e) {\n              setTimeout(function() { throw e }, 0)\n            }\n          }\n        }\n      }, Math.round(next))\n    }\n    queue.push({\n      handle: ++id,\n      callback: callback,\n      cancelled: false\n    })\n    return id\n  }\n\n  caf = function(handle) {\n    for(var i = 0; i < queue.length; i++) {\n      if(queue[i].handle === handle) {\n        queue[i].cancelled = true\n      }\n    }\n  }\n}\n\nmodule.exports = function(fn) {\n  // Wrap in a new function to prevent\n  // `cancel` potentially being assigned\n  // to the native rAF function\n  return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n  caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n  if (!object) {\n    object = root;\n  }\n  object.requestAnimationFrame = raf\n  object.cancelAnimationFrame = caf\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/F.js\":\n/*!************************************!*\\\n  !*** ./node_modules/ramda/es/F.js ***!\n  \\************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _always__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./always */ \"./node_modules/ramda/es/always.js\");\n\n\n/**\n * A function that always returns `false`. Any passed in parameters are ignored.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Function\n * @sig * -> Boolean\n * @param {*}\n * @return {Boolean}\n * @see R.always, R.T\n * @example\n *\n *      R.F(); //=> false\n */\nvar F = /*#__PURE__*/Object(_always__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(false);\n/* harmony default export */ __webpack_exports__[\"default\"] = (F);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/T.js\":\n/*!************************************!*\\\n  !*** ./node_modules/ramda/es/T.js ***!\n  \\************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _always__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./always */ \"./node_modules/ramda/es/always.js\");\n\n\n/**\n * A function that always returns `true`. Any passed in parameters are ignored.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Function\n * @sig * -> Boolean\n * @param {*}\n * @return {Boolean}\n * @see R.always, R.F\n * @example\n *\n *      R.T(); //=> true\n */\nvar T = /*#__PURE__*/Object(_always__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(true);\n/* harmony default export */ __webpack_exports__[\"default\"] = (T);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/__.js\":\n/*!*************************************!*\\\n  !*** ./node_modules/ramda/es/__.js ***!\n  \\*************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/**\n * A special placeholder value used to specify \"gaps\" within curried functions,\n * allowing partial application of any combination of arguments, regardless of\n * their positions.\n *\n * If `g` is a curried ternary function and `_` is `R.__`, the following are\n * equivalent:\n *\n *   - `g(1, 2, 3)`\n *   - `g(_, 2, 3)(1)`\n *   - `g(_, _, 3)(1)(2)`\n *   - `g(_, _, 3)(1, 2)`\n *   - `g(_, 2, _)(1, 3)`\n *   - `g(_, 2)(1)(3)`\n *   - `g(_, 2)(1, 3)`\n *   - `g(_, 2)(_, 3)(1)`\n *\n * @constant\n * @memberOf R\n * @since v0.6.0\n * @category Function\n * @example\n *\n *      var greet = R.replace('{name}', R.__, 'Hello, {name}!');\n *      greet('Alice'); //=> 'Hello, Alice!'\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({ '@@functional/placeholder': true });\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/add.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/add.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Adds two values.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a\n * @param {Number} b\n * @return {Number}\n * @see R.subtract\n * @example\n *\n *      R.add(2, 3);       //=>  5\n *      R.add(7)(10);      //=> 17\n */\nvar add = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function add(a, b) {\n  return Number(a) + Number(b);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (add);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/addIndex.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/addIndex.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat */ \"./node_modules/ramda/es/internal/_concat.js\");\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n\n\n\n\n/**\n * Creates a new list iteration function from an existing one by adding two new\n * parameters to its callback function: the current index, and the entire list.\n *\n * This would turn, for instance, [`R.map`](#map) function into one that\n * more closely resembles `Array.prototype.map`. Note that this will only work\n * for functions in which the iteration callback function is the first\n * parameter, and where the list is the last parameter. (This latter might be\n * unimportant if the list parameter is not used.)\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Function\n * @category List\n * @sig ((a ... -> b) ... -> [a] -> *) -> (a ..., Int, [a] -> b) ... -> [a] -> *)\n * @param {Function} fn A list iteration function that does not pass index or list to its callback\n * @return {Function} An altered list iteration function that passes (item, index, list) to its callback\n * @example\n *\n *      var mapIndexed = R.addIndex(R.map);\n *      mapIndexed((val, idx) => idx + '-' + val, ['f', 'o', 'o', 'b', 'a', 'r']);\n *      //=> ['0-f', '1-o', '2-o', '3-b', '4-a', '5-r']\n */\nvar addIndex = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function addIndex(fn) {\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(fn.length, function () {\n    var idx = 0;\n    var origFn = arguments[0];\n    var list = arguments[arguments.length - 1];\n    var args = Array.prototype.slice.call(arguments, 0);\n    args[0] = function () {\n      var result = origFn.apply(this, Object(_internal_concat__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(arguments, [idx, list]));\n      idx += 1;\n      return result;\n    };\n    return fn.apply(this, args);\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (addIndex);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/adjust.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/adjust.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat */ \"./node_modules/ramda/es/internal/_concat.js\");\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n\n/**\n * Applies a function to the value at the given index of an array, returning a\n * new copy of the array with the element at the given index replaced with the\n * result of the function application.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig (a -> a) -> Number -> [a] -> [a]\n * @param {Function} fn The function to apply.\n * @param {Number} idx The index.\n * @param {Array|Arguments} list An array-like object whose value\n *        at the supplied index will be replaced.\n * @return {Array} A copy of the supplied array-like object with\n *         the element at index `idx` replaced with the value\n *         returned by applying `fn` to the existing element.\n * @see R.update\n * @example\n *\n *      R.adjust(R.add(10), 1, [1, 2, 3]);     //=> [1, 12, 3]\n *      R.adjust(R.add(10))(1)([1, 2, 3]);     //=> [1, 12, 3]\n * @symb R.adjust(f, -1, [a, b]) = [a, f(b)]\n * @symb R.adjust(f, 0, [a, b]) = [f(a), b]\n */\nvar adjust = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function adjust(fn, idx, list) {\n  if (idx >= list.length || idx < -list.length) {\n    return list;\n  }\n  var start = idx < 0 ? list.length : 0;\n  var _idx = start + idx;\n  var _list = Object(_internal_concat__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(list);\n  _list[_idx] = fn(list[_idx]);\n  return _list;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (adjust);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/all.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/all.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xall__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xall */ \"./node_modules/ramda/es/internal/_xall.js\");\n\n\n\n\n/**\n * Returns `true` if all elements of the list match the predicate, `false` if\n * there are any that don't.\n *\n * Dispatches to the `all` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> Boolean\n * @param {Function} fn The predicate function.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if the predicate is satisfied by every element, `false`\n *         otherwise.\n * @see R.any, R.none, R.transduce\n * @example\n *\n *      var equals3 = R.equals(3);\n *      R.all(equals3)([3, 3, 3, 3]); //=> true\n *      R.all(equals3)([3, 3, 1, 3]); //=> false\n */\nvar all = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(['all'], _internal_xall__WEBPACK_IMPORTED_MODULE_2__[\"default\"], function all(fn, list) {\n  var idx = 0;\n  while (idx < list.length) {\n    if (!fn(list[idx])) {\n      return false;\n    }\n    idx += 1;\n  }\n  return true;\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (all);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/allPass.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/allPass.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n/* harmony import */ var _max__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./max */ \"./node_modules/ramda/es/max.js\");\n/* harmony import */ var _pluck__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pluck */ \"./node_modules/ramda/es/pluck.js\");\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reduce */ \"./node_modules/ramda/es/reduce.js\");\n\n\n\n\n\n\n/**\n * Takes a list of predicates and returns a predicate that returns true for a\n * given list of arguments if every one of the provided predicates is satisfied\n * by those arguments.\n *\n * The function returned is a curried function whose arity matches that of the\n * highest-arity predicate.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Logic\n * @sig [(*... -> Boolean)] -> (*... -> Boolean)\n * @param {Array} predicates An array of predicates to check\n * @return {Function} The combined predicate\n * @see R.anyPass\n * @example\n *\n *      var isQueen = R.propEq('rank', 'Q');\n *      var isSpade = R.propEq('suit', '♠︎');\n *      var isQueenOfSpades = R.allPass([isQueen, isSpade]);\n *\n *      isQueenOfSpades({rank: 'Q', suit: '♣︎'}); //=> false\n *      isQueenOfSpades({rank: 'Q', suit: '♠︎'}); //=> true\n */\nvar allPass = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function allPass(preds) {\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_reduce__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(_max__WEBPACK_IMPORTED_MODULE_2__[\"default\"], 0, Object(_pluck__WEBPACK_IMPORTED_MODULE_3__[\"default\"])('length', preds)), function () {\n    var idx = 0;\n    var len = preds.length;\n    while (idx < len) {\n      if (!preds[idx].apply(this, arguments)) {\n        return false;\n      }\n      idx += 1;\n    }\n    return true;\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (allPass);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/always.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/always.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n/**\n * Returns a function that always returns the given value. Note that for\n * non-primitives the value returned is a reference to the original value.\n *\n * This function is known as `const`, `constant`, or `K` (for K combinator) in\n * other languages and libraries.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig a -> (* -> a)\n * @param {*} val The value to wrap in a function\n * @return {Function} A Function :: * -> val.\n * @example\n *\n *      var t = R.always('Tee');\n *      t(); //=> 'Tee'\n */\nvar always = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function always(val) {\n  return function () {\n    return val;\n  };\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (always);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/and.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/and.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns `true` if both arguments are `true`; `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig a -> b -> a | b\n * @param {Any} a\n * @param {Any} b\n * @return {Any} the first argument if it is falsy, otherwise the second argument.\n * @see R.both\n * @example\n *\n *      R.and(true, true); //=> true\n *      R.and(true, false); //=> false\n *      R.and(false, true); //=> false\n *      R.and(false, false); //=> false\n */\nvar and = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function and(a, b) {\n  return a && b;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (and);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/any.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/any.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xany__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xany */ \"./node_modules/ramda/es/internal/_xany.js\");\n\n\n\n\n/**\n * Returns `true` if at least one of elements of the list match the predicate,\n * `false` otherwise.\n *\n * Dispatches to the `any` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> Boolean\n * @param {Function} fn The predicate function.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if the predicate is satisfied by at least one element, `false`\n *         otherwise.\n * @see R.all, R.none, R.transduce\n * @example\n *\n *      var lessThan0 = R.flip(R.lt)(0);\n *      var lessThan2 = R.flip(R.lt)(2);\n *      R.any(lessThan0)([1, 2]); //=> false\n *      R.any(lessThan2)([1, 2]); //=> true\n */\nvar any = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(['any'], _internal_xany__WEBPACK_IMPORTED_MODULE_2__[\"default\"], function any(fn, list) {\n  var idx = 0;\n  while (idx < list.length) {\n    if (fn(list[idx])) {\n      return true;\n    }\n    idx += 1;\n  }\n  return false;\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (any);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/anyPass.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/anyPass.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n/* harmony import */ var _max__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./max */ \"./node_modules/ramda/es/max.js\");\n/* harmony import */ var _pluck__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pluck */ \"./node_modules/ramda/es/pluck.js\");\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reduce */ \"./node_modules/ramda/es/reduce.js\");\n\n\n\n\n\n\n/**\n * Takes a list of predicates and returns a predicate that returns true for a\n * given list of arguments if at least one of the provided predicates is\n * satisfied by those arguments.\n *\n * The function returned is a curried function whose arity matches that of the\n * highest-arity predicate.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Logic\n * @sig [(*... -> Boolean)] -> (*... -> Boolean)\n * @param {Array} predicates An array of predicates to check\n * @return {Function} The combined predicate\n * @see R.allPass\n * @example\n *\n *      var isClub = R.propEq('suit', '♣');\n *      var isSpade = R.propEq('suit', '♠');\n *      var isBlackCard = R.anyPass([isClub, isSpade]);\n *\n *      isBlackCard({rank: '10', suit: '♣'}); //=> true\n *      isBlackCard({rank: 'Q', suit: '♠'}); //=> true\n *      isBlackCard({rank: 'Q', suit: '♦'}); //=> false\n */\nvar anyPass = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function anyPass(preds) {\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_reduce__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(_max__WEBPACK_IMPORTED_MODULE_2__[\"default\"], 0, Object(_pluck__WEBPACK_IMPORTED_MODULE_3__[\"default\"])('length', preds)), function () {\n    var idx = 0;\n    var len = preds.length;\n    while (idx < len) {\n      if (preds[idx].apply(this, arguments)) {\n        return true;\n      }\n      idx += 1;\n    }\n    return false;\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (anyPass);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/ap.js\":\n/*!*************************************!*\\\n  !*** ./node_modules/ramda/es/ap.js ***!\n  \\*************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat */ \"./node_modules/ramda/es/internal/_concat.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_reduce__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_reduce */ \"./node_modules/ramda/es/internal/_reduce.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./map */ \"./node_modules/ramda/es/map.js\");\n\n\n\n\n\n/**\n * ap applies a list of functions to a list of values.\n *\n * Dispatches to the `ap` method of the second argument, if present. Also\n * treats curried functions as applicatives.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig [a -> b] -> [a] -> [b]\n * @sig Apply f => f (a -> b) -> f a -> f b\n * @sig (a -> b -> c) -> (a -> b) -> (a -> c)\n * @param {*} applyF\n * @param {*} applyX\n * @return {*}\n * @example\n *\n *      R.ap([R.multiply(2), R.add(3)], [1,2,3]); //=> [2, 4, 6, 4, 5, 6]\n *      R.ap([R.concat('tasty '), R.toUpper], ['pizza', 'salad']); //=> [\"tasty pizza\", \"tasty salad\", \"PIZZA\", \"SALAD\"]\n *\n *      // R.ap can also be used as S combinator\n *      // when only two functions are passed\n *      R.ap(R.concat, R.toUpper)('Ramda') //=> 'RamdaRAMDA'\n * @symb R.ap([f, g], [a, b]) = [f(a), f(b), g(a), g(b)]\n */\nvar ap = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function ap(applyF, applyX) {\n  return typeof applyX['fantasy-land/ap'] === 'function' ? applyX['fantasy-land/ap'](applyF) : typeof applyF.ap === 'function' ? applyF.ap(applyX) : typeof applyF === 'function' ? function (x) {\n    return applyF(x)(applyX(x));\n  } :\n  // else\n  Object(_internal_reduce__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function (acc, f) {\n    return Object(_internal_concat__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(acc, Object(_map__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(f, applyX));\n  }, [], applyF);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (ap);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/aperture.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/aperture.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_aperture__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_aperture */ \"./node_modules/ramda/es/internal/_aperture.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xaperture__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_xaperture */ \"./node_modules/ramda/es/internal/_xaperture.js\");\n\n\n\n\n\n/**\n * Returns a new list, composed of n-tuples of consecutive elements. If `n` is\n * greater than the length of the list, an empty list is returned.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category List\n * @sig Number -> [a] -> [[a]]\n * @param {Number} n The size of the tuples to create\n * @param {Array} list The list to split into `n`-length tuples\n * @return {Array} The resulting list of `n`-length tuples\n * @see R.transduce\n * @example\n *\n *      R.aperture(2, [1, 2, 3, 4, 5]); //=> [[1, 2], [2, 3], [3, 4], [4, 5]]\n *      R.aperture(3, [1, 2, 3, 4, 5]); //=> [[1, 2, 3], [2, 3, 4], [3, 4, 5]]\n *      R.aperture(7, [1, 2, 3, 4, 5]); //=> []\n */\nvar aperture = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_2__[\"default\"])([], _internal_xaperture__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _internal_aperture__WEBPACK_IMPORTED_MODULE_0__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (aperture);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/append.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/append.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat */ \"./node_modules/ramda/es/internal/_concat.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n\n/**\n * Returns a new list containing the contents of the given list, followed by\n * the given element.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> [a]\n * @param {*} el The element to add to the end of the new list.\n * @param {Array} list The list of elements to add a new item to.\n *        list.\n * @return {Array} A new list containing the elements of the old list followed by `el`.\n * @see R.prepend\n * @example\n *\n *      R.append('tests', ['write', 'more']); //=> ['write', 'more', 'tests']\n *      R.append('tests', []); //=> ['tests']\n *      R.append(['tests'], ['write', 'more']); //=> ['write', 'more', ['tests']]\n */\nvar append = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function append(el, list) {\n  return Object(_internal_concat__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(list, [el]);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (append);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/apply.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/apply.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Applies function `fn` to the argument list `args`. This is useful for\n * creating a fixed-arity function from a variadic function. `fn` should be a\n * bound function if context is significant.\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Function\n * @sig (*... -> a) -> [*] -> a\n * @param {Function} fn The function which will be called with `args`\n * @param {Array} args The arguments to call `fn` with\n * @return {*} result The result, equivalent to `fn(...args)`\n * @see R.call, R.unapply\n * @example\n *\n *      var nums = [1, 2, 3, -99, 42, 6, 7];\n *      R.apply(Math.max, nums); //=> 42\n * @symb R.apply(f, [a, b, c]) = f(a, b, c)\n */\nvar apply = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function apply(fn, args) {\n  return fn.apply(this, args);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (apply);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/applySpec.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/applySpec.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _apply__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./apply */ \"./node_modules/ramda/es/apply.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./map */ \"./node_modules/ramda/es/map.js\");\n/* harmony import */ var _max__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./max */ \"./node_modules/ramda/es/max.js\");\n/* harmony import */ var _pluck__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./pluck */ \"./node_modules/ramda/es/pluck.js\");\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./reduce */ \"./node_modules/ramda/es/reduce.js\");\n/* harmony import */ var _values__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./values */ \"./node_modules/ramda/es/values.js\");\n\n\n\n\n\n\n\n\n\n/**\n * Given a spec object recursively mapping properties to functions, creates a\n * function producing an object of the same structure, by mapping each property\n * to the result of calling its associated function with the supplied arguments.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category Function\n * @sig {k: ((a, b, ..., m) -> v)} -> ((a, b, ..., m) -> {k: v})\n * @param {Object} spec an object recursively mapping properties to functions for\n *        producing the values for these properties.\n * @return {Function} A function that returns an object of the same structure\n * as `spec', with each property set to the value returned by calling its\n * associated function with the supplied arguments.\n * @see R.converge, R.juxt\n * @example\n *\n *      var getMetrics = R.applySpec({\n *        sum: R.add,\n *        nested: { mul: R.multiply }\n *      });\n *      getMetrics(2, 4); // => { sum: 6, nested: { mul: 8 } }\n * @symb R.applySpec({ x: f, y: { z: g } })(a, b) = { x: f(a, b), y: { z: g(a, b) } }\n */\nvar applySpec = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function applySpec(spec) {\n  spec = Object(_map__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(function (v) {\n    return typeof v == 'function' ? v : applySpec(v);\n  }, spec);\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_reduce__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(_max__WEBPACK_IMPORTED_MODULE_4__[\"default\"], 0, Object(_pluck__WEBPACK_IMPORTED_MODULE_5__[\"default\"])('length', Object(_values__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(spec))), function () {\n    var args = arguments;\n    return Object(_map__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(function (f) {\n      return Object(_apply__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(f, args);\n    }, spec);\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (applySpec);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/applyTo.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/applyTo.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n* Takes a value and applies a function to it.\n*\n* This function is also known as the `thrush` combinator.\n*\n* @func\n* @memberOf R\n * @since v0.25.0\n* @category Function\n* @sig a -> (a -> b) -> b\n* @param {*} x The value\n* @param {Function} f The function to apply\n* @return {*} The result of applying `f` to `x`\n* @example\n*\n*      var t42 = R.applyTo(42);\n*      t42(R.identity); //=> 42\n*      t42(R.add(1)); //=> 43\n*/\nvar applyTo = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function applyTo(x, f) {\n  return f(x);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (applyTo);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/ascend.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/ascend.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Makes an ascending comparator function out of a function that returns a value\n * that can be compared with `<` and `>`.\n *\n * @func\n * @memberOf R\n * @since v0.23.0\n * @category Function\n * @sig Ord b => (a -> b) -> a -> a -> Number\n * @param {Function} fn A function of arity one that returns a value that can be compared\n * @param {*} a The first item to be compared.\n * @param {*} b The second item to be compared.\n * @return {Number} `-1` if fn(a) < fn(b), `1` if fn(b) < fn(a), otherwise `0`\n * @see R.descend\n * @example\n *\n *      var byAge = R.ascend(R.prop('age'));\n *      var people = [\n *        // ...\n *      ];\n *      var peopleByYoungestFirst = R.sort(byAge, people);\n */\nvar ascend = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function ascend(fn, a, b) {\n  var aa = fn(a);\n  var bb = fn(b);\n  return aa < bb ? -1 : aa > bb ? 1 : 0;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (ascend);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/assoc.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/assoc.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Makes a shallow clone of an object, setting or overriding the specified\n * property with the given value. Note that this copies and flattens prototype\n * properties onto the new object as well. All non-primitive properties are\n * copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @sig String -> a -> {k: v} -> {k: v}\n * @param {String} prop The property name to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except for the changed property.\n * @see R.dissoc\n * @example\n *\n *      R.assoc('c', 3, {a: 1, b: 2}); //=> {a: 1, b: 2, c: 3}\n */\nvar assoc = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function assoc(prop, val, obj) {\n  var result = {};\n  for (var p in obj) {\n    result[p] = obj[p];\n  }\n  result[prop] = val;\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (assoc);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/assocPath.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/assocPath.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _internal_has__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has */ \"./node_modules/ramda/es/internal/_has.js\");\n/* harmony import */ var _internal_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isArray */ \"./node_modules/ramda/es/internal/_isArray.js\");\n/* harmony import */ var _internal_isInteger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_isInteger */ \"./node_modules/ramda/es/internal/_isInteger.js\");\n/* harmony import */ var _assoc__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./assoc */ \"./node_modules/ramda/es/assoc.js\");\n/* harmony import */ var _isNil__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isNil */ \"./node_modules/ramda/es/isNil.js\");\n\n\n\n\n\n\n\n/**\n * Makes a shallow clone of an object, setting or overriding the nodes required\n * to create the given path, and placing the specific value at the tail end of\n * that path. Note that this copies and flattens prototype properties onto the\n * new object as well. All non-primitive properties are copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> a -> {a} -> {a}\n * @param {Array} path the path to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except along the specified path.\n * @see R.dissocPath\n * @example\n *\n *      R.assocPath(['a', 'b', 'c'], 42, {a: {b: {c: 0}}}); //=> {a: {b: {c: 42}}}\n *\n *      // Any missing or non-object keys in path will be overridden\n *      R.assocPath(['a', 'b', 'c'], 42, {a: 5}); //=> {a: {b: {c: 42}}}\n */\nvar assocPath = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function assocPath(path, val, obj) {\n  if (path.length === 0) {\n    return val;\n  }\n  var idx = path[0];\n  if (path.length > 1) {\n    var nextObj = !Object(_isNil__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(obj) && Object(_internal_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(idx, obj) ? obj[idx] : Object(_internal_isInteger__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(path[1]) ? [] : {};\n    val = assocPath(Array.prototype.slice.call(path, 1), val, nextObj);\n  }\n  if (Object(_internal_isInteger__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(idx) && Object(_internal_isArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(obj)) {\n    var arr = [].concat(obj);\n    arr[idx] = val;\n    return arr;\n  } else {\n    return Object(_assoc__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(idx, val, obj);\n  }\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (assocPath);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/binary.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/binary.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _nAry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./nAry */ \"./node_modules/ramda/es/nAry.js\");\n\n\n\n/**\n * Wraps a function of any arity (including nullary) in a function that accepts\n * exactly 2 parameters. Any extraneous parameters will not be passed to the\n * supplied function.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Function\n * @sig (* -> c) -> (a, b -> c)\n * @param {Function} fn The function to wrap.\n * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of\n *         arity 2.\n * @see R.nAry, R.unary\n * @example\n *\n *      var takesThreeArgs = function(a, b, c) {\n *        return [a, b, c];\n *      };\n *      takesThreeArgs.length; //=> 3\n *      takesThreeArgs(1, 2, 3); //=> [1, 2, 3]\n *\n *      var takesTwoArgs = R.binary(takesThreeArgs);\n *      takesTwoArgs.length; //=> 2\n *      // Only 2 arguments are passed to the wrapped function\n *      takesTwoArgs(1, 2, 3); //=> [1, 2, undefined]\n * @symb R.binary(f)(a, b, c) = f(a, b)\n */\nvar binary = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function binary(fn) {\n  return Object(_nAry__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(2, fn);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (binary);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/bind.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/bind.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_arity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity */ \"./node_modules/ramda/es/internal/_arity.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n\n/**\n * Creates a function that is bound to a context.\n * Note: `R.bind` does not provide the additional argument-binding capabilities of\n * [Function.prototype.bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Function\n * @category Object\n * @sig (* -> *) -> {*} -> (* -> *)\n * @param {Function} fn The function to bind to context\n * @param {Object} thisObj The context to bind `fn` to\n * @return {Function} A function that will execute in the context of `thisObj`.\n * @see R.partial\n * @example\n *\n *      var log = R.bind(console.log, console);\n *      R.pipe(R.assoc('a', 2), R.tap(log), R.assoc('a', 3))({a: 1}); //=> {a: 3}\n *      // logs {a: 2}\n * @symb R.bind(f, o)(a, b) = f.call(o, a, b)\n */\nvar bind = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function bind(fn, thisObj) {\n  return Object(_internal_arity__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fn.length, function () {\n    return fn.apply(thisObj, arguments);\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (bind);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/both.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/both.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_isFunction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isFunction */ \"./node_modules/ramda/es/internal/_isFunction.js\");\n/* harmony import */ var _and__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./and */ \"./node_modules/ramda/es/and.js\");\n/* harmony import */ var _lift__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lift */ \"./node_modules/ramda/es/lift.js\");\n\n\n\n\n\n/**\n * A function which calls the two provided functions and returns the `&&`\n * of the results.\n * It returns the result of the first function if it is false-y and the result\n * of the second function otherwise. Note that this is short-circuited,\n * meaning that the second function will not be invoked if the first returns a\n * false-y value.\n *\n * In addition to functions, `R.both` also accepts any fantasy-land compatible\n * applicative functor.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category Logic\n * @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean)\n * @param {Function} f A predicate\n * @param {Function} g Another predicate\n * @return {Function} a function that applies its arguments to `f` and `g` and `&&`s their outputs together.\n * @see R.and\n * @example\n *\n *      var gt10 = R.gt(R.__, 10)\n *      var lt20 = R.lt(R.__, 20)\n *      var f = R.both(gt10, lt20);\n *      f(15); //=> true\n *      f(30); //=> false\n */\nvar both = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function both(f, g) {\n  return Object(_internal_isFunction__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(f) ? function _both() {\n    return f.apply(this, arguments) && g.apply(this, arguments);\n  } : Object(_lift__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_and__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(f, g);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (both);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/call.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/call.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./curry */ \"./node_modules/ramda/es/curry.js\");\n\n\n/**\n * Returns the result of calling its first argument with the remaining\n * arguments. This is occasionally useful as a converging function for\n * [`R.converge`](#converge): the first branch can produce a function while the\n * remaining branches produce values to be passed to that function as its\n * arguments.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Function\n * @sig (*... -> a),*... -> a\n * @param {Function} fn The function to apply to the remaining arguments.\n * @param {...*} args Any number of positional arguments.\n * @return {*}\n * @see R.apply\n * @example\n *\n *      R.call(R.add, 1, 2); //=> 3\n *\n *      var indentN = R.pipe(R.repeat(' '),\n *                           R.join(''),\n *                           R.replace(/^(?!$)/gm));\n *\n *      var format = R.converge(R.call, [\n *                                  R.pipe(R.prop('indent'), indentN),\n *                                  R.prop('value')\n *                              ]);\n *\n *      format({indent: 2, value: 'foo\\nbar\\nbaz\\n'}); //=> '  foo\\n  bar\\n  baz\\n'\n * @symb R.call(f, a, b) = f(a, b)\n */\nvar call = /*#__PURE__*/Object(_curry__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function call(fn) {\n  return fn.apply(this, Array.prototype.slice.call(arguments, 1));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (call);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/chain.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/chain.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_makeFlat__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_makeFlat */ \"./node_modules/ramda/es/internal/_makeFlat.js\");\n/* harmony import */ var _internal_xchain__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_xchain */ \"./node_modules/ramda/es/internal/_xchain.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./map */ \"./node_modules/ramda/es/map.js\");\n\n\n\n\n\n\n/**\n * `chain` maps a function over a list and concatenates the results. `chain`\n * is also known as `flatMap` in some libraries\n *\n * Dispatches to the `chain` method of the second argument, if present,\n * according to the [FantasyLand Chain spec](https://github.com/fantasyland/fantasy-land#chain).\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig Chain m => (a -> m b) -> m a -> m b\n * @param {Function} fn The function to map with\n * @param {Array} list The list to map over\n * @return {Array} The result of flat-mapping `list` with `fn`\n * @example\n *\n *      var duplicate = n => [n, n];\n *      R.chain(duplicate, [1, 2, 3]); //=> [1, 1, 2, 2, 3, 3]\n *\n *      R.chain(R.append, R.head)([1, 2, 3]); //=> [1, 2, 3, 1]\n */\nvar chain = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(['fantasy-land/chain', 'chain'], _internal_xchain__WEBPACK_IMPORTED_MODULE_3__[\"default\"], function chain(fn, monad) {\n  if (typeof monad === 'function') {\n    return function (x) {\n      return fn(monad(x))(x);\n    };\n  }\n  return Object(_internal_makeFlat__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(false)(Object(_map__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(fn, monad));\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (chain);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/clamp.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/clamp.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Restricts a number to be within a range.\n *\n * Also works for other ordered types such as Strings and Dates.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category Relation\n * @sig Ord a => a -> a -> a -> a\n * @param {Number} minimum The lower limit of the clamp (inclusive)\n * @param {Number} maximum The upper limit of the clamp (inclusive)\n * @param {Number} value Value to be clamped\n * @return {Number} Returns `minimum` when `val < minimum`, `maximum` when `val > maximum`, returns `val` otherwise\n * @example\n *\n *      R.clamp(1, 10, -5) // => 1\n *      R.clamp(1, 10, 15) // => 10\n *      R.clamp(1, 10, 4)  // => 4\n */\nvar clamp = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function clamp(min, max, value) {\n  if (min > max) {\n    throw new Error('min must not be greater than max in clamp(min, max, value)');\n  }\n  return value < min ? min : value > max ? max : value;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (clamp);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/clone.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/clone.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_clone__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_clone */ \"./node_modules/ramda/es/internal/_clone.js\");\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n\n/**\n * Creates a deep copy of the value which may contain (nested) `Array`s and\n * `Object`s, `Number`s, `String`s, `Boolean`s and `Date`s. `Function`s are\n * assigned by reference rather than copied\n *\n * Dispatches to a `clone` method if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {*} -> {*}\n * @param {*} value The object or array to clone\n * @return {*} A deeply cloned copy of `val`\n * @example\n *\n *      var objects = [{}, {}, {}];\n *      var objectsClone = R.clone(objects);\n *      objects === objectsClone; //=> false\n *      objects[0] === objectsClone[0]; //=> false\n */\nvar clone = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function clone(value) {\n  return value != null && typeof value.clone === 'function' ? value.clone() : Object(_internal_clone__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value, [], [], true);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (clone);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/comparator.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/ramda/es/comparator.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n/**\n * Makes a comparator function out of a function that reports whether the first\n * element is less than the second.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((a, b) -> Boolean) -> ((a, b) -> Number)\n * @param {Function} pred A predicate function of arity two which will return `true` if the first argument\n * is less than the second, `false` otherwise\n * @return {Function} A Function :: a -> b -> Int that returns `-1` if a < b, `1` if b < a, otherwise `0`\n * @example\n *\n *      var byAge = R.comparator((a, b) => a.age < b.age);\n *      var people = [\n *        // ...\n *      ];\n *      var peopleByIncreasingAge = R.sort(byAge, people);\n */\nvar comparator = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function comparator(pred) {\n  return function (a, b) {\n    return pred(a, b) ? -1 : pred(b, a) ? 1 : 0;\n  };\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (comparator);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/complement.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/ramda/es/complement.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lift__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lift */ \"./node_modules/ramda/es/lift.js\");\n/* harmony import */ var _not__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./not */ \"./node_modules/ramda/es/not.js\");\n\n\n\n/**\n * Takes a function `f` and returns a function `g` such that if called with the same arguments\n * when `f` returns a \"truthy\" value, `g` returns `false` and when `f` returns a \"falsy\" value `g` returns `true`.\n *\n * `R.complement` may be applied to any functor\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category Logic\n * @sig (*... -> *) -> (*... -> Boolean)\n * @param {Function} f\n * @return {Function}\n * @see R.not\n * @example\n *\n *      var isNotNil = R.complement(R.isNil);\n *      isNil(null); //=> true\n *      isNotNil(null); //=> false\n *      isNil(7); //=> false\n *      isNotNil(7); //=> true\n */\nvar complement = /*#__PURE__*/Object(_lift__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_not__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (complement);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/compose.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/compose.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return compose; });\n/* harmony import */ var _pipe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pipe */ \"./node_modules/ramda/es/pipe.js\");\n/* harmony import */ var _reverse__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reverse */ \"./node_modules/ramda/es/reverse.js\");\n\n\n\n/**\n * Performs right-to-left function composition. The rightmost function may have\n * any arity; the remaining functions must be unary.\n *\n * **Note:** The result of compose is not automatically curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((y -> z), (x -> y), ..., (o -> p), ((a, b, ..., n) -> o)) -> ((a, b, ..., n) -> z)\n * @param {...Function} ...functions The functions to compose\n * @return {Function}\n * @see R.pipe\n * @example\n *\n *      var classyGreeting = (firstName, lastName) => \"The name's \" + lastName + \", \" + firstName + \" \" + lastName\n *      var yellGreeting = R.compose(R.toUpper, classyGreeting);\n *      yellGreeting('James', 'Bond'); //=> \"THE NAME'S BOND, JAMES BOND\"\n *\n *      R.compose(Math.abs, R.add(1), R.multiply(2))(-4) //=> 7\n *\n * @symb R.compose(f, g, h)(a, b) = f(g(h(a, b)))\n */\nfunction compose() {\n  if (arguments.length === 0) {\n    throw new Error('compose requires at least one argument');\n  }\n  return _pipe__WEBPACK_IMPORTED_MODULE_0__[\"default\"].apply(this, Object(_reverse__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(arguments));\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/composeK.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/composeK.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return composeK; });\n/* harmony import */ var _chain__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chain */ \"./node_modules/ramda/es/chain.js\");\n/* harmony import */ var _compose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./compose */ \"./node_modules/ramda/es/compose.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./map */ \"./node_modules/ramda/es/map.js\");\n\n\n\n\n/**\n * Returns the right-to-left Kleisli composition of the provided functions,\n * each of which must return a value of a type supported by [`chain`](#chain).\n *\n * `R.composeK(h, g, f)` is equivalent to `R.compose(R.chain(h), R.chain(g), f)`.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Function\n * @sig Chain m => ((y -> m z), (x -> m y), ..., (a -> m b)) -> (a -> m z)\n * @param {...Function} ...functions The functions to compose\n * @return {Function}\n * @see R.pipeK\n * @example\n *\n *       //  get :: String -> Object -> Maybe *\n *       var get = R.curry((propName, obj) => Maybe(obj[propName]))\n *\n *       //  getStateCode :: Maybe String -> Maybe String\n *       var getStateCode = R.composeK(\n *         R.compose(Maybe.of, R.toUpper),\n *         get('state'),\n *         get('address'),\n *         get('user'),\n *       );\n *       getStateCode({\"user\":{\"address\":{\"state\":\"ny\"}}}); //=> Maybe.Just(\"NY\")\n *       getStateCode({}); //=> Maybe.Nothing()\n * @symb R.composeK(f, g, h)(a) = R.chain(f, R.chain(g, h(a)))\n */\nfunction composeK() {\n  if (arguments.length === 0) {\n    throw new Error('composeK requires at least one argument');\n  }\n  var init = Array.prototype.slice.call(arguments);\n  var last = init.pop();\n  return Object(_compose__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_compose__WEBPACK_IMPORTED_MODULE_1__[\"default\"].apply(this, Object(_map__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_chain__WEBPACK_IMPORTED_MODULE_0__[\"default\"], init)), last);\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/composeP.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/composeP.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return composeP; });\n/* harmony import */ var _pipeP__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pipeP */ \"./node_modules/ramda/es/pipeP.js\");\n/* harmony import */ var _reverse__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reverse */ \"./node_modules/ramda/es/reverse.js\");\n\n\n\n/**\n * Performs right-to-left composition of one or more Promise-returning\n * functions. The rightmost function may have any arity; the remaining\n * functions must be unary.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Function\n * @sig ((y -> Promise z), (x -> Promise y), ..., (a -> Promise b)) -> (a -> Promise z)\n * @param {...Function} functions The functions to compose\n * @return {Function}\n * @see R.pipeP\n * @example\n *\n *      var db = {\n *        users: {\n *          JOE: {\n *            name: 'Joe',\n *            followers: ['STEVE', 'SUZY']\n *          }\n *        }\n *      }\n *\n *      // We'll pretend to do a db lookup which returns a promise\n *      var lookupUser = (userId) => Promise.resolve(db.users[userId])\n *      var lookupFollowers = (user) => Promise.resolve(user.followers)\n *      lookupUser('JOE').then(lookupFollowers)\n *\n *      //  followersForUser :: String -> Promise [UserId]\n *      var followersForUser = R.composeP(lookupFollowers, lookupUser);\n *      followersForUser('JOE').then(followers => console.log('Followers:', followers))\n *      // Followers: [\"STEVE\",\"SUZY\"]\n */\nfunction composeP() {\n  if (arguments.length === 0) {\n    throw new Error('composeP requires at least one argument');\n  }\n  return _pipeP__WEBPACK_IMPORTED_MODULE_0__[\"default\"].apply(this, Object(_reverse__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(arguments));\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/concat.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/concat.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_isArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isArray */ \"./node_modules/ramda/es/internal/_isArray.js\");\n/* harmony import */ var _internal_isFunction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isFunction */ \"./node_modules/ramda/es/internal/_isFunction.js\");\n/* harmony import */ var _internal_isString__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_isString */ \"./node_modules/ramda/es/internal/_isString.js\");\n/* harmony import */ var _toString__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./toString */ \"./node_modules/ramda/es/toString.js\");\n\n\n\n\n\n\n/**\n * Returns the result of concatenating the given lists or strings.\n *\n * Note: `R.concat` expects both arguments to be of the same type,\n * unlike the native `Array.prototype.concat` method. It will throw\n * an error if you `concat` an Array with a non-Array value.\n *\n * Dispatches to the `concat` method of the first argument, if present.\n * Can also concatenate two members of a [fantasy-land\n * compatible semigroup](https://github.com/fantasyland/fantasy-land#semigroup).\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a] -> [a]\n * @sig String -> String -> String\n * @param {Array|String} firstList The first list\n * @param {Array|String} secondList The second list\n * @return {Array|String} A list consisting of the elements of `firstList` followed by the elements of\n * `secondList`.\n *\n * @example\n *\n *      R.concat('ABC', 'DEF'); // 'ABCDEF'\n *      R.concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n *      R.concat([], []); //=> []\n */\nvar concat = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function concat(a, b) {\n  if (Object(_internal_isArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(a)) {\n    if (Object(_internal_isArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(b)) {\n      return a.concat(b);\n    }\n    throw new TypeError(Object(_toString__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(b) + ' is not an array');\n  }\n  if (Object(_internal_isString__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(a)) {\n    if (Object(_internal_isString__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(b)) {\n      return a + b;\n    }\n    throw new TypeError(Object(_toString__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(b) + ' is not a string');\n  }\n  if (a != null && Object(_internal_isFunction__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(a['fantasy-land/concat'])) {\n    return a['fantasy-land/concat'](b);\n  }\n  if (a != null && Object(_internal_isFunction__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(a.concat)) {\n    return a.concat(b);\n  }\n  throw new TypeError(Object(_toString__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(a) + ' does not have a method named \"concat\" or \"fantasy-land/concat\"');\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (concat);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/cond.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/cond.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_arity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity */ \"./node_modules/ramda/es/internal/_arity.js\");\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./map */ \"./node_modules/ramda/es/map.js\");\n/* harmony import */ var _max__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./max */ \"./node_modules/ramda/es/max.js\");\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reduce */ \"./node_modules/ramda/es/reduce.js\");\n\n\n\n\n\n\n/**\n * Returns a function, `fn`, which encapsulates `if/else, if/else, ...` logic.\n * `R.cond` takes a list of [predicate, transformer] pairs. All of the arguments\n * to `fn` are applied to each of the predicates in turn until one returns a\n * \"truthy\" value, at which point `fn` returns the result of applying its\n * arguments to the corresponding transformer. If none of the predicates\n * matches, `fn` returns undefined.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Logic\n * @sig [[(*... -> Boolean),(*... -> *)]] -> (*... -> *)\n * @param {Array} pairs A list of [predicate, transformer]\n * @return {Function}\n * @example\n *\n *      var fn = R.cond([\n *        [R.equals(0),   R.always('water freezes at 0°C')],\n *        [R.equals(100), R.always('water boils at 100°C')],\n *        [R.T,           temp => 'nothing special happens at ' + temp + '°C']\n *      ]);\n *      fn(0); //=> 'water freezes at 0°C'\n *      fn(50); //=> 'nothing special happens at 50°C'\n *      fn(100); //=> 'water boils at 100°C'\n */\nvar cond = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function cond(pairs) {\n  var arity = Object(_reduce__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(_max__WEBPACK_IMPORTED_MODULE_3__[\"default\"], 0, Object(_map__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function (pair) {\n    return pair[0].length;\n  }, pairs));\n  return Object(_internal_arity__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(arity, function () {\n    var idx = 0;\n    while (idx < pairs.length) {\n      if (pairs[idx][0].apply(this, arguments)) {\n        return pairs[idx][1].apply(this, arguments);\n      }\n      idx += 1;\n    }\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (cond);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/construct.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/construct.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _constructN__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constructN */ \"./node_modules/ramda/es/constructN.js\");\n\n\n\n/**\n * Wraps a constructor function inside a curried function that can be called\n * with the same arguments and returns the same type.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (* -> {*}) -> (* -> {*})\n * @param {Function} fn The constructor function to wrap.\n * @return {Function} A wrapped, curried constructor function.\n * @see R.invoker\n * @example\n *\n *      // Constructor function\n *      function Animal(kind) {\n *        this.kind = kind;\n *      };\n *      Animal.prototype.sighting = function() {\n *        return \"It's a \" + this.kind + \"!\";\n *      }\n *\n *      var AnimalConstructor = R.construct(Animal)\n *\n *      // Notice we no longer need the 'new' keyword:\n *      AnimalConstructor('Pig'); //=> {\"kind\": \"Pig\", \"sighting\": function (){...}};\n *\n *      var animalTypes = [\"Lion\", \"Tiger\", \"Bear\"];\n *      var animalSighting = R.invoker(0, 'sighting');\n *      var sightNewAnimal = R.compose(animalSighting, AnimalConstructor);\n *      R.map(sightNewAnimal, animalTypes); //=> [\"It's a Lion!\", \"It's a Tiger!\", \"It's a Bear!\"]\n */\nvar construct = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function construct(Fn) {\n  return Object(_constructN__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Fn.length, Fn);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (construct);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/constructN.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/ramda/es/constructN.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _curry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curry */ \"./node_modules/ramda/es/curry.js\");\n/* harmony import */ var _nAry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./nAry */ \"./node_modules/ramda/es/nAry.js\");\n\n\n\n\n/**\n * Wraps a constructor function inside a curried function that can be called\n * with the same arguments and returns the same type. The arity of the function\n * returned is specified to allow using variadic constructor functions.\n *\n * @func\n * @memberOf R\n * @since v0.4.0\n * @category Function\n * @sig Number -> (* -> {*}) -> (* -> {*})\n * @param {Number} n The arity of the constructor function.\n * @param {Function} Fn The constructor function to wrap.\n * @return {Function} A wrapped, curried constructor function.\n * @example\n *\n *      // Variadic Constructor function\n *      function Salad() {\n *        this.ingredients = arguments;\n *      }\n *\n *      Salad.prototype.recipe = function() {\n *        var instructions = R.map(ingredient => 'Add a dollop of ' + ingredient, this.ingredients);\n *        return R.join('\\n', instructions);\n *      };\n *\n *      var ThreeLayerSalad = R.constructN(3, Salad);\n *\n *      // Notice we no longer need the 'new' keyword, and the constructor is curried for 3 arguments.\n *      var salad = ThreeLayerSalad('Mayonnaise')('Potato Chips')('Ketchup');\n *\n *      console.log(salad.recipe());\n *      // Add a dollop of Mayonnaise\n *      // Add a dollop of Potato Chips\n *      // Add a dollop of Ketchup\n */\nvar constructN = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function constructN(n, Fn) {\n  if (n > 10) {\n    throw new Error('Constructor with greater than ten arguments');\n  }\n  if (n === 0) {\n    return function () {\n      return new Fn();\n    };\n  }\n  return Object(_curry__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_nAry__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(n, function ($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {\n    switch (arguments.length) {\n      case 1:\n        return new Fn($0);\n      case 2:\n        return new Fn($0, $1);\n      case 3:\n        return new Fn($0, $1, $2);\n      case 4:\n        return new Fn($0, $1, $2, $3);\n      case 5:\n        return new Fn($0, $1, $2, $3, $4);\n      case 6:\n        return new Fn($0, $1, $2, $3, $4, $5);\n      case 7:\n        return new Fn($0, $1, $2, $3, $4, $5, $6);\n      case 8:\n        return new Fn($0, $1, $2, $3, $4, $5, $6, $7);\n      case 9:\n        return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8);\n      case 10:\n        return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8, $9);\n    }\n  }));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (constructN);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/contains.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/contains.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_contains__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_contains */ \"./node_modules/ramda/es/internal/_contains.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n\n/**\n * Returns `true` if the specified value is equal, in [`R.equals`](#equals)\n * terms, to at least one element of the given list; `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> Boolean\n * @param {Object} a The item to compare against.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if an equivalent item is in the list, `false` otherwise.\n * @see R.any\n * @example\n *\n *      R.contains(3, [1, 2, 3]); //=> true\n *      R.contains(4, [1, 2, 3]); //=> false\n *      R.contains({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true\n *      R.contains([42], [[42]]); //=> true\n */\nvar contains = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_internal_contains__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (contains);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/converge.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/converge.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_map */ \"./node_modules/ramda/es/internal/_map.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n/* harmony import */ var _max__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./max */ \"./node_modules/ramda/es/max.js\");\n/* harmony import */ var _pluck__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./pluck */ \"./node_modules/ramda/es/pluck.js\");\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./reduce */ \"./node_modules/ramda/es/reduce.js\");\n\n\n\n\n\n\n\n/**\n * Accepts a converging function and a list of branching functions and returns\n * a new function. When invoked, this new function is applied to some\n * arguments, each branching function is applied to those same arguments. The\n * results of each branching function are passed as arguments to the converging\n * function to produce the return value.\n *\n * @func\n * @memberOf R\n * @since v0.4.2\n * @category Function\n * @sig ((x1, x2, ...) -> z) -> [((a, b, ...) -> x1), ((a, b, ...) -> x2), ...] -> (a -> b -> ... -> z)\n * @param {Function} after A function. `after` will be invoked with the return values of\n *        `fn1` and `fn2` as its arguments.\n * @param {Array} functions A list of functions.\n * @return {Function} A new function.\n * @see R.useWith\n * @example\n *\n *      var average = R.converge(R.divide, [R.sum, R.length])\n *      average([1, 2, 3, 4, 5, 6, 7]) //=> 4\n *\n *      var strangeConcat = R.converge(R.concat, [R.toUpper, R.toLower])\n *      strangeConcat(\"Yodel\") //=> \"YODELyodel\"\n *\n * @symb R.converge(f, [g, h])(a, b) = f(g(a, b), h(a, b))\n */\nvar converge = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function converge(after, fns) {\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_reduce__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(_max__WEBPACK_IMPORTED_MODULE_3__[\"default\"], 0, Object(_pluck__WEBPACK_IMPORTED_MODULE_4__[\"default\"])('length', fns)), function () {\n    var args = arguments;\n    var context = this;\n    return after.apply(context, Object(_internal_map__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (fn) {\n      return fn.apply(context, args);\n    }, fns));\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (converge);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/countBy.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/countBy.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _reduceBy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./reduceBy */ \"./node_modules/ramda/es/reduceBy.js\");\n\n\n/**\n * Counts the elements of a list according to how many match each value of a\n * key generated by the supplied function. Returns an object mapping the keys\n * produced by `fn` to the number of occurrences in the list. Note that all\n * keys are coerced to strings because of how JavaScript objects work.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig (a -> String) -> [a] -> {*}\n * @param {Function} fn The function used to map values to keys.\n * @param {Array} list The list to count elements from.\n * @return {Object} An object mapping keys to number of occurrences in the list.\n * @example\n *\n *      var numbers = [1.0, 1.1, 1.2, 2.0, 3.0, 2.2];\n *      R.countBy(Math.floor)(numbers);    //=> {'1': 3, '2': 2, '3': 1}\n *\n *      var letters = ['a', 'b', 'A', 'a', 'B', 'c'];\n *      R.countBy(R.toLower)(letters);   //=> {'a': 3, 'b': 2, 'c': 1}\n */\nvar countBy = /*#__PURE__*/Object(_reduceBy__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (acc, elem) {\n  return acc + 1;\n}, 0);\n/* harmony default export */ __webpack_exports__[\"default\"] = (countBy);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/curry.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/curry.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n\n\n\n/**\n * Returns a curried equivalent of the provided function. The curried function\n * has two unusual capabilities. First, its arguments needn't be provided one\n * at a time. If `f` is a ternary function and `g` is `R.curry(f)`, the\n * following are equivalent:\n *\n *   - `g(1)(2)(3)`\n *   - `g(1)(2, 3)`\n *   - `g(1, 2)(3)`\n *   - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n * the following are equivalent:\n *\n *   - `g(1, 2, 3)`\n *   - `g(_, 2, 3)(1)`\n *   - `g(_, _, 3)(1)(2)`\n *   - `g(_, _, 3)(1, 2)`\n *   - `g(_, 2)(1)(3)`\n *   - `g(_, 2)(1, 3)`\n *   - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (* -> a) -> (* -> a)\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curryN\n * @example\n *\n *      var addFourNumbers = (a, b, c, d) => a + b + c + d;\n *\n *      var curriedAddFourNumbers = R.curry(addFourNumbers);\n *      var f = curriedAddFourNumbers(1, 2);\n *      var g = f(3);\n *      g(4); //=> 10\n */\nvar curry = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function curry(fn) {\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fn.length, fn);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (curry);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/curryN.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/curryN.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_arity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity */ \"./node_modules/ramda/es/internal/_arity.js\");\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_curryN__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_curryN */ \"./node_modules/ramda/es/internal/_curryN.js\");\n\n\n\n\n\n/**\n * Returns a curried equivalent of the provided function, with the specified\n * arity. The curried function has two unusual capabilities. First, its\n * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the\n * following are equivalent:\n *\n *   - `g(1)(2)(3)`\n *   - `g(1)(2, 3)`\n *   - `g(1, 2)(3)`\n *   - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n * the following are equivalent:\n *\n *   - `g(1, 2, 3)`\n *   - `g(_, 2, 3)(1)`\n *   - `g(_, _, 3)(1)(2)`\n *   - `g(_, _, 3)(1, 2)`\n *   - `g(_, 2)(1)(3)`\n *   - `g(_, 2)(1, 3)`\n *   - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.5.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curry\n * @example\n *\n *      var sumArgs = (...args) => R.sum(args);\n *\n *      var curriedAddFourNumbers = R.curryN(4, sumArgs);\n *      var f = curriedAddFourNumbers(1, 2);\n *      var g = f(3);\n *      g(4); //=> 10\n */\nvar curryN = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function curryN(length, fn) {\n  if (length === 1) {\n    return Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fn);\n  }\n  return Object(_internal_arity__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(length, Object(_internal_curryN__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(length, [], fn));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (curryN);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/dec.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/dec.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _add__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./add */ \"./node_modules/ramda/es/add.js\");\n\n\n/**\n * Decrements its argument.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Math\n * @sig Number -> Number\n * @param {Number} n\n * @return {Number} n - 1\n * @see R.inc\n * @example\n *\n *      R.dec(42); //=> 41\n */\nvar dec = /*#__PURE__*/Object(_add__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(-1);\n/* harmony default export */ __webpack_exports__[\"default\"] = (dec);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/defaultTo.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/defaultTo.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns the second argument if it is not `null`, `undefined` or `NaN`;\n * otherwise the first argument is returned.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Logic\n * @sig a -> b -> a | b\n * @param {a} default The default value.\n * @param {b} val `val` will be returned instead of `default` unless `val` is `null`, `undefined` or `NaN`.\n * @return {*} The second value if it is not `null`, `undefined` or `NaN`, otherwise the default value\n * @example\n *\n *      var defaultTo42 = R.defaultTo(42);\n *\n *      defaultTo42(null);  //=> 42\n *      defaultTo42(undefined);  //=> 42\n *      defaultTo42('Ramda');  //=> 'Ramda'\n *      // parseInt('string') results in NaN\n *      defaultTo42(parseInt('string')); //=> 42\n */\nvar defaultTo = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function defaultTo(d, v) {\n  return v == null || v !== v ? d : v;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (defaultTo);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/descend.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/descend.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Makes a descending comparator function out of a function that returns a value\n * that can be compared with `<` and `>`.\n *\n * @func\n * @memberOf R\n * @since v0.23.0\n * @category Function\n * @sig Ord b => (a -> b) -> a -> a -> Number\n * @param {Function} fn A function of arity one that returns a value that can be compared\n * @param {*} a The first item to be compared.\n * @param {*} b The second item to be compared.\n * @return {Number} `-1` if fn(a) > fn(b), `1` if fn(b) > fn(a), otherwise `0`\n * @see R.ascend\n * @example\n *\n *      var byAge = R.descend(R.prop('age'));\n *      var people = [\n *        // ...\n *      ];\n *      var peopleByOldestFirst = R.sort(byAge, people);\n */\nvar descend = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function descend(fn, a, b) {\n  var aa = fn(a);\n  var bb = fn(b);\n  return aa > bb ? -1 : aa < bb ? 1 : 0;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (descend);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/difference.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/ramda/es/difference.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_contains__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_contains */ \"./node_modules/ramda/es/internal/_contains.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n\n/**\n * Finds the set (i.e. no duplicates) of all elements in the first list not\n * contained in the second list. Objects and Arrays are compared in terms of\n * value equality, not reference equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The elements in `list1` that are not in `list2`.\n * @see R.differenceWith, R.symmetricDifference, R.symmetricDifferenceWith, R.without\n * @example\n *\n *      R.difference([1,2,3,4], [7,6,5,4,3]); //=> [1,2]\n *      R.difference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5]\n *      R.difference([{a: 1}, {b: 2}], [{a: 1}, {c: 3}]) //=> [{b: 2}]\n */\nvar difference = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function difference(first, second) {\n  var out = [];\n  var idx = 0;\n  var firstLen = first.length;\n  while (idx < firstLen) {\n    if (!Object(_internal_contains__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(first[idx], second) && !Object(_internal_contains__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(first[idx], out)) {\n      out[out.length] = first[idx];\n    }\n    idx += 1;\n  }\n  return out;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (difference);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/differenceWith.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/ramda/es/differenceWith.js ***!\n  \\*************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_containsWith__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_containsWith */ \"./node_modules/ramda/es/internal/_containsWith.js\");\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n\n/**\n * Finds the set (i.e. no duplicates) of all elements in the first list not\n * contained in the second list. Duplication is determined according to the\n * value returned by applying the supplied predicate to two list elements.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig ((a, a) -> Boolean) -> [a] -> [a] -> [a]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The elements in `list1` that are not in `list2`.\n * @see R.difference, R.symmetricDifference, R.symmetricDifferenceWith\n * @example\n *\n *      var cmp = (x, y) => x.a === y.a;\n *      var l1 = [{a: 1}, {a: 2}, {a: 3}];\n *      var l2 = [{a: 3}, {a: 4}];\n *      R.differenceWith(cmp, l1, l2); //=> [{a: 1}, {a: 2}]\n */\nvar differenceWith = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function differenceWith(pred, first, second) {\n  var out = [];\n  var idx = 0;\n  var firstLen = first.length;\n  while (idx < firstLen) {\n    if (!Object(_internal_containsWith__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pred, first[idx], second) && !Object(_internal_containsWith__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pred, first[idx], out)) {\n      out.push(first[idx]);\n    }\n    idx += 1;\n  }\n  return out;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (differenceWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/dissoc.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/dissoc.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns a new object that does not contain a `prop` property.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Object\n * @sig String -> {k: v} -> {k: v}\n * @param {String} prop The name of the property to dissociate\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original but without the specified property\n * @see R.assoc\n * @example\n *\n *      R.dissoc('b', {a: 1, b: 2, c: 3}); //=> {a: 1, c: 3}\n */\nvar dissoc = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function dissoc(prop, obj) {\n  var result = {};\n  for (var p in obj) {\n    result[p] = obj[p];\n  }\n  delete result[prop];\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (dissoc);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/dissocPath.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/ramda/es/dissocPath.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_isInteger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isInteger */ \"./node_modules/ramda/es/internal/_isInteger.js\");\n/* harmony import */ var _assoc__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./assoc */ \"./node_modules/ramda/es/assoc.js\");\n/* harmony import */ var _dissoc__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dissoc */ \"./node_modules/ramda/es/dissoc.js\");\n/* harmony import */ var _remove__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./remove */ \"./node_modules/ramda/es/remove.js\");\n/* harmony import */ var _update__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./update */ \"./node_modules/ramda/es/update.js\");\n\n\n\n\n\n\n\n/**\n * Makes a shallow clone of an object, omitting the property at the given path.\n * Note that this copies and flattens prototype properties onto the new object\n * as well. All non-primitive properties are copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.11.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> {k: v} -> {k: v}\n * @param {Array} path The path to the value to omit\n * @param {Object} obj The object to clone\n * @return {Object} A new object without the property at path\n * @see R.assocPath\n * @example\n *\n *      R.dissocPath(['a', 'b', 'c'], {a: {b: {c: 42}}}); //=> {a: {b: {}}}\n */\nvar dissocPath = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function dissocPath(path, obj) {\n  switch (path.length) {\n    case 0:\n      return obj;\n    case 1:\n      return Object(_internal_isInteger__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(path[0]) ? Object(_remove__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(path[0], 1, obj) : Object(_dissoc__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(path[0], obj);\n    default:\n      var head = path[0];\n      var tail = Array.prototype.slice.call(path, 1);\n      if (obj[head] == null) {\n        return obj;\n      } else if (Object(_internal_isInteger__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(path[0])) {\n        return Object(_update__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(head, dissocPath(tail, obj[head]), obj);\n      } else {\n        return Object(_assoc__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(head, dissocPath(tail, obj[head]), obj);\n      }\n  }\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (dissocPath);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/divide.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/divide.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Divides two numbers. Equivalent to `a / b`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a The first value.\n * @param {Number} b The second value.\n * @return {Number} The result of `a / b`.\n * @see R.multiply\n * @example\n *\n *      R.divide(71, 100); //=> 0.71\n *\n *      var half = R.divide(R.__, 2);\n *      half(42); //=> 21\n *\n *      var reciprocal = R.divide(1);\n *      reciprocal(4);   //=> 0.25\n */\nvar divide = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function divide(a, b) {\n  return a / b;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (divide);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/drop.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/drop.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xdrop__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xdrop */ \"./node_modules/ramda/es/internal/_xdrop.js\");\n/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./slice */ \"./node_modules/ramda/es/slice.js\");\n\n\n\n\n\n/**\n * Returns all but the first `n` elements of the given list, string, or\n * transducer/transformer (or object with a `drop` method).\n *\n * Dispatches to the `drop` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n\n * @param {*} list\n * @return {*} A copy of list without the first `n` elements\n * @see R.take, R.transduce, R.dropLast, R.dropWhile\n * @example\n *\n *      R.drop(1, ['foo', 'bar', 'baz']); //=> ['bar', 'baz']\n *      R.drop(2, ['foo', 'bar', 'baz']); //=> ['baz']\n *      R.drop(3, ['foo', 'bar', 'baz']); //=> []\n *      R.drop(4, ['foo', 'bar', 'baz']); //=> []\n *      R.drop(3, 'ramda');               //=> 'da'\n */\nvar drop = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(['drop'], _internal_xdrop__WEBPACK_IMPORTED_MODULE_2__[\"default\"], function drop(n, xs) {\n  return Object(_slice__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(Math.max(0, n), Infinity, xs);\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (drop);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/dropLast.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/dropLast.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_dropLast__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_dropLast */ \"./node_modules/ramda/es/internal/_dropLast.js\");\n/* harmony import */ var _internal_xdropLast__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_xdropLast */ \"./node_modules/ramda/es/internal/_xdropLast.js\");\n\n\n\n\n\n/**\n * Returns a list containing all but the last `n` elements of the given `list`.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n The number of elements of `list` to skip.\n * @param {Array} list The list of elements to consider.\n * @return {Array} A copy of the list with only the first `list.length - n` elements\n * @see R.takeLast, R.drop, R.dropWhile, R.dropLastWhile\n * @example\n *\n *      R.dropLast(1, ['foo', 'bar', 'baz']); //=> ['foo', 'bar']\n *      R.dropLast(2, ['foo', 'bar', 'baz']); //=> ['foo']\n *      R.dropLast(3, ['foo', 'bar', 'baz']); //=> []\n *      R.dropLast(4, ['foo', 'bar', 'baz']); //=> []\n *      R.dropLast(3, 'ramda');               //=> 'ra'\n */\nvar dropLast = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([], _internal_xdropLast__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _internal_dropLast__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (dropLast);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/dropLastWhile.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/ramda/es/dropLastWhile.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_dropLastWhile__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_dropLastWhile */ \"./node_modules/ramda/es/internal/_dropLastWhile.js\");\n/* harmony import */ var _internal_xdropLastWhile__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_xdropLastWhile */ \"./node_modules/ramda/es/internal/_xdropLastWhile.js\");\n\n\n\n\n\n/**\n * Returns a new list excluding all the tailing elements of a given list which\n * satisfy the supplied predicate function. It passes each value from the right\n * to the supplied predicate function, skipping elements until the predicate\n * function returns a `falsy` value. The predicate function is applied to one argument:\n * *(value)*.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [a]\n * @sig (a -> Boolean) -> String -> String\n * @param {Function} predicate The function to be called on each element\n * @param {Array} xs The collection to iterate over.\n * @return {Array} A new array without any trailing elements that return `falsy` values from the `predicate`.\n * @see R.takeLastWhile, R.addIndex, R.drop, R.dropWhile\n * @example\n *\n *      var lteThree = x => x <= 3;\n *\n *      R.dropLastWhile(lteThree, [1, 2, 3, 4, 3, 2, 1]); //=> [1, 2, 3, 4]\n *\n *      R.dropLastWhile(x => x !== 'd' , 'Ramda'); //=> 'Ramd'\n */\nvar dropLastWhile = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([], _internal_xdropLastWhile__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _internal_dropLastWhile__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (dropLastWhile);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/dropRepeats.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/ramda/es/dropRepeats.js ***!\n  \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xdropRepeatsWith__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xdropRepeatsWith */ \"./node_modules/ramda/es/internal/_xdropRepeatsWith.js\");\n/* harmony import */ var _dropRepeatsWith__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dropRepeatsWith */ \"./node_modules/ramda/es/dropRepeatsWith.js\");\n/* harmony import */ var _equals__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./equals */ \"./node_modules/ramda/es/equals.js\");\n\n\n\n\n\n\n/**\n * Returns a new list without any consecutively repeating elements.\n * [`R.equals`](#equals) is used to determine equality.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig [a] -> [a]\n * @param {Array} list The array to consider.\n * @return {Array} `list` without repeating elements.\n * @see R.transduce\n * @example\n *\n *     R.dropRepeats([1, 1, 1, 2, 3, 4, 4, 2, 2]); //=> [1, 2, 3, 4, 2]\n */\nvar dropRepeats = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([], /*#__PURE__*/Object(_internal_xdropRepeatsWith__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_equals__WEBPACK_IMPORTED_MODULE_4__[\"default\"]), /*#__PURE__*/Object(_dropRepeatsWith__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_equals__WEBPACK_IMPORTED_MODULE_4__[\"default\"])));\n/* harmony default export */ __webpack_exports__[\"default\"] = (dropRepeats);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/dropRepeatsWith.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/ramda/es/dropRepeatsWith.js ***!\n  \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xdropRepeatsWith__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xdropRepeatsWith */ \"./node_modules/ramda/es/internal/_xdropRepeatsWith.js\");\n/* harmony import */ var _last__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./last */ \"./node_modules/ramda/es/last.js\");\n\n\n\n\n\n/**\n * Returns a new list without any consecutively repeating elements. Equality is\n * determined by applying the supplied predicate to each pair of consecutive elements. The\n * first element in a series of equal elements will be preserved.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig ((a, a) -> Boolean) -> [a] -> [a]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list The array to consider.\n * @return {Array} `list` without repeating elements.\n * @see R.transduce\n * @example\n *\n *      var l = [1, -1, 1, 3, 4, -4, -4, -5, 5, 3, 3];\n *      R.dropRepeatsWith(R.eqBy(Math.abs), l); //=> [1, 3, 4, -5, 3]\n */\nvar dropRepeatsWith = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([], _internal_xdropRepeatsWith__WEBPACK_IMPORTED_MODULE_2__[\"default\"], function dropRepeatsWith(pred, list) {\n  var result = [];\n  var idx = 1;\n  var len = list.length;\n  if (len !== 0) {\n    result[0] = list[0];\n    while (idx < len) {\n      if (!pred(Object(_last__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(result), list[idx])) {\n        result[result.length] = list[idx];\n      }\n      idx += 1;\n    }\n  }\n  return result;\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (dropRepeatsWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/dropWhile.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/dropWhile.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xdropWhile__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xdropWhile */ \"./node_modules/ramda/es/internal/_xdropWhile.js\");\n/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./slice */ \"./node_modules/ramda/es/slice.js\");\n\n\n\n\n\n/**\n * Returns a new list excluding the leading elements of a given list which\n * satisfy the supplied predicate function. It passes each value to the supplied\n * predicate function, skipping elements while the predicate function returns\n * `true`. The predicate function is applied to one argument: *(value)*.\n *\n * Dispatches to the `dropWhile` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [a]\n * @sig (a -> Boolean) -> String -> String\n * @param {Function} fn The function called per iteration.\n * @param {Array} xs The collection to iterate over.\n * @return {Array} A new array.\n * @see R.takeWhile, R.transduce, R.addIndex\n * @example\n *\n *      var lteTwo = x => x <= 2;\n *\n *      R.dropWhile(lteTwo, [1, 2, 3, 4, 3, 2, 1]); //=> [3, 4, 3, 2, 1]\n *\n *      R.dropWhile(x => x !== 'd' , 'Ramda'); //=> 'da'\n */\nvar dropWhile = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(['dropWhile'], _internal_xdropWhile__WEBPACK_IMPORTED_MODULE_2__[\"default\"], function dropWhile(pred, xs) {\n  var idx = 0;\n  var len = xs.length;\n  while (idx < len && pred(xs[idx])) {\n    idx += 1;\n  }\n  return Object(_slice__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(idx, Infinity, xs);\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (dropWhile);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/either.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/either.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_isFunction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isFunction */ \"./node_modules/ramda/es/internal/_isFunction.js\");\n/* harmony import */ var _lift__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lift */ \"./node_modules/ramda/es/lift.js\");\n/* harmony import */ var _or__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./or */ \"./node_modules/ramda/es/or.js\");\n\n\n\n\n\n/**\n * A function wrapping calls to the two functions in an `||` operation,\n * returning the result of the first function if it is truth-y and the result\n * of the second function otherwise. Note that this is short-circuited,\n * meaning that the second function will not be invoked if the first returns a\n * truth-y value.\n *\n * In addition to functions, `R.either` also accepts any fantasy-land compatible\n * applicative functor.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category Logic\n * @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean)\n * @param {Function} f a predicate\n * @param {Function} g another predicate\n * @return {Function} a function that applies its arguments to `f` and `g` and `||`s their outputs together.\n * @see R.or\n * @example\n *\n *      var gt10 = x => x > 10;\n *      var even = x => x % 2 === 0;\n *      var f = R.either(gt10, even);\n *      f(101); //=> true\n *      f(8); //=> true\n */\nvar either = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function either(f, g) {\n  return Object(_internal_isFunction__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(f) ? function _either() {\n    return f.apply(this, arguments) || g.apply(this, arguments);\n  } : Object(_lift__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_or__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(f, g);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (either);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/empty.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/empty.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_isArguments__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isArguments */ \"./node_modules/ramda/es/internal/_isArguments.js\");\n/* harmony import */ var _internal_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isArray */ \"./node_modules/ramda/es/internal/_isArray.js\");\n/* harmony import */ var _internal_isObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_isObject */ \"./node_modules/ramda/es/internal/_isObject.js\");\n/* harmony import */ var _internal_isString__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./internal/_isString */ \"./node_modules/ramda/es/internal/_isString.js\");\n\n\n\n\n\n\n/**\n * Returns the empty value of its argument's type. Ramda defines the empty\n * value of Array (`[]`), Object (`{}`), String (`''`), and Arguments. Other\n * types are supported if they define `<Type>.empty`,\n * `<Type>.prototype.empty` or implement the\n * [FantasyLand Monoid spec](https://github.com/fantasyland/fantasy-land#monoid).\n *\n * Dispatches to the `empty` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig a -> a\n * @param {*} x\n * @return {*}\n * @example\n *\n *      R.empty(Just(42));      //=> Nothing()\n *      R.empty([1, 2, 3]);     //=> []\n *      R.empty('unicorns');    //=> ''\n *      R.empty({x: 1, y: 2});  //=> {}\n */\nvar empty = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function empty(x) {\n  return x != null && typeof x['fantasy-land/empty'] === 'function' ? x['fantasy-land/empty']() : x != null && x.constructor != null && typeof x.constructor['fantasy-land/empty'] === 'function' ? x.constructor['fantasy-land/empty']() : x != null && typeof x.empty === 'function' ? x.empty() : x != null && x.constructor != null && typeof x.constructor.empty === 'function' ? x.constructor.empty() : Object(_internal_isArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(x) ? [] : Object(_internal_isString__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(x) ? '' : Object(_internal_isObject__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(x) ? {} : Object(_internal_isArguments__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(x) ? function () {\n    return arguments;\n  }() :\n  // else\n  void 0;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (empty);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/endsWith.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/endsWith.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _equals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals */ \"./node_modules/ramda/es/equals.js\");\n/* harmony import */ var _takeLast__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./takeLast */ \"./node_modules/ramda/es/takeLast.js\");\n\n\n\n\n/**\n * Checks if a list ends with the provided values\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category List\n * @sig [a] -> Boolean\n * @sig String -> Boolean\n * @param {*} suffix\n * @param {*} list\n * @return {Boolean}\n * @example\n *\n *      R.endsWith('c', 'abc')                //=> true\n *      R.endsWith('b', 'abc')                //=> false\n *      R.endsWith(['c'], ['a', 'b', 'c'])    //=> true\n *      R.endsWith(['b'], ['a', 'b', 'c'])    //=> false\n */\nvar endsWith = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (suffix, list) {\n  return Object(_equals__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_takeLast__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(suffix.length, list), suffix);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (endsWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/eqBy.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/eqBy.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _equals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals */ \"./node_modules/ramda/es/equals.js\");\n\n\n\n/**\n * Takes a function and two values in its domain and returns `true` if the\n * values map to the same value in the codomain; `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Relation\n * @sig (a -> b) -> a -> a -> Boolean\n * @param {Function} f\n * @param {*} x\n * @param {*} y\n * @return {Boolean}\n * @example\n *\n *      R.eqBy(Math.abs, 5, -5); //=> true\n */\nvar eqBy = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function eqBy(f, x, y) {\n  return Object(_equals__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(f(x), f(y));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (eqBy);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/eqProps.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/eqProps.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _equals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals */ \"./node_modules/ramda/es/equals.js\");\n\n\n\n/**\n * Reports whether two objects have the same value, in [`R.equals`](#equals)\n * terms, for the specified property. Useful as a curried predicate.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig k -> {k: v} -> {k: v} -> Boolean\n * @param {String} prop The name of the property to compare\n * @param {Object} obj1\n * @param {Object} obj2\n * @return {Boolean}\n *\n * @example\n *\n *      var o1 = { a: 1, b: 2, c: 3, d: 4 };\n *      var o2 = { a: 10, b: 20, c: 3, d: 40 };\n *      R.eqProps('a', o1, o2); //=> false\n *      R.eqProps('c', o1, o2); //=> true\n */\nvar eqProps = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function eqProps(prop, obj1, obj2) {\n  return Object(_equals__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(obj1[prop], obj2[prop]);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (eqProps);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/equals.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/equals.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_equals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_equals */ \"./node_modules/ramda/es/internal/_equals.js\");\n\n\n\n/**\n * Returns `true` if its arguments are equivalent, `false` otherwise. Handles\n * cyclical data structures.\n *\n * Dispatches symmetrically to the `equals` methods of both arguments, if\n * present.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Relation\n * @sig a -> b -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @example\n *\n *      R.equals(1, 1); //=> true\n *      R.equals(1, '1'); //=> false\n *      R.equals([1, 2, 3], [1, 2, 3]); //=> true\n *\n *      var a = {}; a.v = a;\n *      var b = {}; b.v = b;\n *      R.equals(a, b); //=> true\n */\nvar equals = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function equals(a, b) {\n  return Object(_internal_equals__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(a, b, [], []);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (equals);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/evolve.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/evolve.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Creates a new object by recursively evolving a shallow copy of `object`,\n * according to the `transformation` functions. All non-primitive properties\n * are copied by reference.\n *\n * A `transformation` function will not be invoked if its corresponding key\n * does not exist in the evolved object.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Object\n * @sig {k: (v -> v)} -> {k: v} -> {k: v}\n * @param {Object} transformations The object specifying transformation functions to apply\n *        to the object.\n * @param {Object} object The object to be transformed.\n * @return {Object} The transformed object.\n * @example\n *\n *      var tomato  = {firstName: '  Tomato ', data: {elapsed: 100, remaining: 1400}, id:123};\n *      var transformations = {\n *        firstName: R.trim,\n *        lastName: R.trim, // Will not get invoked.\n *        data: {elapsed: R.add(1), remaining: R.add(-1)}\n *      };\n *      R.evolve(transformations, tomato); //=> {firstName: 'Tomato', data: {elapsed: 101, remaining: 1399}, id:123}\n */\nvar evolve = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function evolve(transformations, object) {\n  var result = {};\n  var transformation, key, type;\n  for (key in object) {\n    transformation = transformations[key];\n    type = typeof transformation;\n    result[key] = type === 'function' ? transformation(object[key]) : transformation && type === 'object' ? evolve(transformation, object[key]) : object[key];\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (evolve);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/filter.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/filter.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_filter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_filter */ \"./node_modules/ramda/es/internal/_filter.js\");\n/* harmony import */ var _internal_isObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_isObject */ \"./node_modules/ramda/es/internal/_isObject.js\");\n/* harmony import */ var _internal_reduce__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./internal/_reduce */ \"./node_modules/ramda/es/internal/_reduce.js\");\n/* harmony import */ var _internal_xfilter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./internal/_xfilter */ \"./node_modules/ramda/es/internal/_xfilter.js\");\n/* harmony import */ var _keys__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./keys */ \"./node_modules/ramda/es/keys.js\");\n\n\n\n\n\n\n\n\n/**\n * Takes a predicate and a `Filterable`, and returns a new filterable of the\n * same type containing the members of the given filterable which satisfy the\n * given predicate. Filterable objects include plain objects or any object\n * that has a filter method such as `Array`.\n *\n * Dispatches to the `filter` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array} Filterable\n * @see R.reject, R.transduce, R.addIndex\n * @example\n *\n *      var isEven = n => n % 2 === 0;\n *\n *      R.filter(isEven, [1, 2, 3, 4]); //=> [2, 4]\n *\n *      R.filter(isEven, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\nvar filter = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(['filter'], _internal_xfilter__WEBPACK_IMPORTED_MODULE_5__[\"default\"], function (pred, filterable) {\n  return Object(_internal_isObject__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(filterable) ? Object(_internal_reduce__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(function (acc, key) {\n    if (pred(filterable[key])) {\n      acc[key] = filterable[key];\n    }\n    return acc;\n  }, {}, Object(_keys__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(filterable)) :\n  // else\n  Object(_internal_filter__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(pred, filterable);\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (filter);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/find.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/find.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xfind__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xfind */ \"./node_modules/ramda/es/internal/_xfind.js\");\n\n\n\n\n/**\n * Returns the first element of the list which matches the predicate, or\n * `undefined` if no element matches.\n *\n * Dispatches to the `find` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> a | undefined\n * @param {Function} fn The predicate function used to determine if the element is the\n *        desired one.\n * @param {Array} list The array to consider.\n * @return {Object} The element found, or `undefined`.\n * @see R.transduce\n * @example\n *\n *      var xs = [{a: 1}, {a: 2}, {a: 3}];\n *      R.find(R.propEq('a', 2))(xs); //=> {a: 2}\n *      R.find(R.propEq('a', 4))(xs); //=> undefined\n */\nvar find = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(['find'], _internal_xfind__WEBPACK_IMPORTED_MODULE_2__[\"default\"], function find(fn, list) {\n  var idx = 0;\n  var len = list.length;\n  while (idx < len) {\n    if (fn(list[idx])) {\n      return list[idx];\n    }\n    idx += 1;\n  }\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (find);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/findIndex.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/findIndex.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xfindIndex__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xfindIndex */ \"./node_modules/ramda/es/internal/_xfindIndex.js\");\n\n\n\n\n/**\n * Returns the index of the first element of the list which matches the\n * predicate, or `-1` if no element matches.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> Boolean) -> [a] -> Number\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Number} The index of the element found, or `-1`.\n * @see R.transduce\n * @example\n *\n *      var xs = [{a: 1}, {a: 2}, {a: 3}];\n *      R.findIndex(R.propEq('a', 2))(xs); //=> 1\n *      R.findIndex(R.propEq('a', 4))(xs); //=> -1\n */\nvar findIndex = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([], _internal_xfindIndex__WEBPACK_IMPORTED_MODULE_2__[\"default\"], function findIndex(fn, list) {\n  var idx = 0;\n  var len = list.length;\n  while (idx < len) {\n    if (fn(list[idx])) {\n      return idx;\n    }\n    idx += 1;\n  }\n  return -1;\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (findIndex);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/findLast.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/findLast.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xfindLast__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xfindLast */ \"./node_modules/ramda/es/internal/_xfindLast.js\");\n\n\n\n\n/**\n * Returns the last element of the list which matches the predicate, or\n * `undefined` if no element matches.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> Boolean) -> [a] -> a | undefined\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Object} The element found, or `undefined`.\n * @see R.transduce\n * @example\n *\n *      var xs = [{a: 1, b: 0}, {a:1, b: 1}];\n *      R.findLast(R.propEq('a', 1))(xs); //=> {a: 1, b: 1}\n *      R.findLast(R.propEq('a', 4))(xs); //=> undefined\n */\nvar findLast = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([], _internal_xfindLast__WEBPACK_IMPORTED_MODULE_2__[\"default\"], function findLast(fn, list) {\n  var idx = list.length - 1;\n  while (idx >= 0) {\n    if (fn(list[idx])) {\n      return list[idx];\n    }\n    idx -= 1;\n  }\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (findLast);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/findLastIndex.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/ramda/es/findLastIndex.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xfindLastIndex__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xfindLastIndex */ \"./node_modules/ramda/es/internal/_xfindLastIndex.js\");\n\n\n\n\n/**\n * Returns the index of the last element of the list which matches the\n * predicate, or `-1` if no element matches.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> Boolean) -> [a] -> Number\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Number} The index of the element found, or `-1`.\n * @see R.transduce\n * @example\n *\n *      var xs = [{a: 1, b: 0}, {a:1, b: 1}];\n *      R.findLastIndex(R.propEq('a', 1))(xs); //=> 1\n *      R.findLastIndex(R.propEq('a', 4))(xs); //=> -1\n */\nvar findLastIndex = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([], _internal_xfindLastIndex__WEBPACK_IMPORTED_MODULE_2__[\"default\"], function findLastIndex(fn, list) {\n  var idx = list.length - 1;\n  while (idx >= 0) {\n    if (fn(list[idx])) {\n      return idx;\n    }\n    idx -= 1;\n  }\n  return -1;\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (findLastIndex);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/flatten.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/flatten.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_makeFlat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_makeFlat */ \"./node_modules/ramda/es/internal/_makeFlat.js\");\n\n\n\n/**\n * Returns a new list by pulling every item out of it (and all its sub-arrays)\n * and putting them in a new array, depth-first.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [b]\n * @param {Array} list The array to consider.\n * @return {Array} The flattened list.\n * @see R.unnest\n * @example\n *\n *      R.flatten([1, 2, [3, 4], 5, [6, [7, 8, [9, [10, 11], 12]]]]);\n *      //=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\n */\nvar flatten = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_makeFlat__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(true));\n/* harmony default export */ __webpack_exports__[\"default\"] = (flatten);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/flip.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/flip.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n\n\n\n/**\n * Returns a new function much like the supplied one, except that the first two\n * arguments' order is reversed.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((a, b, c, ...) -> z) -> (b -> a -> c -> ... -> z)\n * @param {Function} fn The function to invoke with its first two parameters reversed.\n * @return {*} The result of invoking `fn` with its first two parameters' order reversed.\n * @example\n *\n *      var mergeThree = (a, b, c) => [].concat(a, b, c);\n *\n *      mergeThree(1, 2, 3); //=> [1, 2, 3]\n *\n *      R.flip(mergeThree)(1, 2, 3); //=> [2, 1, 3]\n * @symb R.flip(f)(a, b, c) = f(b, a, c)\n */\nvar flip = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function flip(fn) {\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fn.length, function (a, b) {\n    var args = Array.prototype.slice.call(arguments, 0);\n    args[0] = b;\n    args[1] = a;\n    return fn.apply(this, args);\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (flip);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/forEach.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/forEach.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_checkForMethod__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_checkForMethod */ \"./node_modules/ramda/es/internal/_checkForMethod.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n\n/**\n * Iterate over an input `list`, calling a provided function `fn` for each\n * element in the list.\n *\n * `fn` receives one argument: *(value)*.\n *\n * Note: `R.forEach` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.forEach` method. For more\n * details on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach#Description\n *\n * Also note that, unlike `Array.prototype.forEach`, Ramda's `forEach` returns\n * the original array. In some libraries this function is named `each`.\n *\n * Dispatches to the `forEach` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> *) -> [a] -> [a]\n * @param {Function} fn The function to invoke. Receives one argument, `value`.\n * @param {Array} list The list to iterate over.\n * @return {Array} The original list.\n * @see R.addIndex\n * @example\n *\n *      var printXPlusFive = x => console.log(x + 5);\n *      R.forEach(printXPlusFive, [1, 2, 3]); //=> [1, 2, 3]\n *      // logs 6\n *      // logs 7\n *      // logs 8\n * @symb R.forEach(f, [a, b, c]) = [a, b, c]\n */\nvar forEach = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/Object(_internal_checkForMethod__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('forEach', function forEach(fn, list) {\n  var len = list.length;\n  var idx = 0;\n  while (idx < len) {\n    fn(list[idx]);\n    idx += 1;\n  }\n  return list;\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (forEach);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/forEachObjIndexed.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/ramda/es/forEachObjIndexed.js ***!\n  \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _keys__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys */ \"./node_modules/ramda/es/keys.js\");\n\n\n\n/**\n * Iterate over an input `object`, calling a provided function `fn` for each\n * key and value in the object.\n *\n * `fn` receives three argument: *(value, key, obj)*.\n *\n * @func\n * @memberOf R\n * @since v0.23.0\n * @category Object\n * @sig ((a, String, StrMap a) -> Any) -> StrMap a -> StrMap a\n * @param {Function} fn The function to invoke. Receives three argument, `value`, `key`, `obj`.\n * @param {Object} obj The object to iterate over.\n * @return {Object} The original object.\n * @example\n *\n *      var printKeyConcatValue = (value, key) => console.log(key + ':' + value);\n *      R.forEachObjIndexed(printKeyConcatValue, {x: 1, y: 2}); //=> {x: 1, y: 2}\n *      // logs x:1\n *      // logs y:2\n * @symb R.forEachObjIndexed(f, {x: a, y: b}) = {x: a, y: b}\n */\nvar forEachObjIndexed = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function forEachObjIndexed(fn, obj) {\n  var keyList = Object(_keys__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(obj);\n  var idx = 0;\n  while (idx < keyList.length) {\n    var key = keyList[idx];\n    fn(obj[key], key, obj);\n    idx += 1;\n  }\n  return obj;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (forEachObjIndexed);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/fromPairs.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/fromPairs.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n/**\n * Creates a new object from a list key-value pairs. If a key appears in\n * multiple pairs, the rightmost pair is included in the object.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig [[k,v]] -> {k: v}\n * @param {Array} pairs An array of two-element arrays that will be the keys and values of the output object.\n * @return {Object} The object made by pairing up `keys` and `values`.\n * @see R.toPairs, R.pair\n * @example\n *\n *      R.fromPairs([['a', 1], ['b', 2], ['c', 3]]); //=> {a: 1, b: 2, c: 3}\n */\nvar fromPairs = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function fromPairs(pairs) {\n  var result = {};\n  var idx = 0;\n  while (idx < pairs.length) {\n    result[pairs[idx][0]] = pairs[idx][1];\n    idx += 1;\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (fromPairs);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/groupBy.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/groupBy.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_checkForMethod__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_checkForMethod */ \"./node_modules/ramda/es/internal/_checkForMethod.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _reduceBy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reduceBy */ \"./node_modules/ramda/es/reduceBy.js\");\n\n\n\n\n/**\n * Splits a list into sub-lists stored in an object, based on the result of\n * calling a String-returning function on each element, and grouping the\n * results according to values returned.\n *\n * Dispatches to the `groupBy` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> String) -> [a] -> {String: [a]}\n * @param {Function} fn Function :: a -> String\n * @param {Array} list The array to group\n * @return {Object} An object with the output of `fn` for keys, mapped to arrays of elements\n *         that produced that key when passed to `fn`.\n * @see R.transduce\n * @example\n *\n *      var byGrade = R.groupBy(function(student) {\n *        var score = student.score;\n *        return score < 65 ? 'F' :\n *               score < 70 ? 'D' :\n *               score < 80 ? 'C' :\n *               score < 90 ? 'B' : 'A';\n *      });\n *      var students = [{name: 'Abby', score: 84},\n *                      {name: 'Eddy', score: 58},\n *                      // ...\n *                      {name: 'Jack', score: 69}];\n *      byGrade(students);\n *      // {\n *      //   'A': [{name: 'Dianne', score: 99}],\n *      //   'B': [{name: 'Abby', score: 84}]\n *      //   // ...,\n *      //   'F': [{name: 'Eddy', score: 58}]\n *      // }\n */\nvar groupBy = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/Object(_internal_checkForMethod__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('groupBy', /*#__PURE__*/Object(_reduceBy__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function (acc, item) {\n  if (acc == null) {\n    acc = [];\n  }\n  acc.push(item);\n  return acc;\n}, null)));\n/* harmony default export */ __webpack_exports__[\"default\"] = (groupBy);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/groupWith.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/groupWith.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Takes a list and returns a list of lists where each sublist's elements are\n * all satisfied pairwise comparison according to the provided function.\n * Only adjacent elements are passed to the comparison function.\n *\n * @func\n * @memberOf R\n * @since v0.21.0\n * @category List\n * @sig ((a, a) → Boolean) → [a] → [[a]]\n * @param {Function} fn Function for determining whether two given (adjacent)\n *        elements should be in the same group\n * @param {Array} list The array to group. Also accepts a string, which will be\n *        treated as a list of characters.\n * @return {List} A list that contains sublists of elements,\n *         whose concatenations are equal to the original list.\n * @example\n *\n * R.groupWith(R.equals, [0, 1, 1, 2, 3, 5, 8, 13, 21])\n * //=> [[0], [1, 1], [2], [3], [5], [8], [13], [21]]\n *\n * R.groupWith((a, b) => a + 1 === b, [0, 1, 1, 2, 3, 5, 8, 13, 21])\n * //=> [[0, 1], [1, 2, 3], [5], [8], [13], [21]]\n *\n * R.groupWith((a, b) => a % 2 === b % 2, [0, 1, 1, 2, 3, 5, 8, 13, 21])\n * //=> [[0], [1, 1], [2], [3, 5], [8], [13, 21]]\n *\n * R.groupWith(R.eqBy(isVowel), 'aestiou')\n * //=> ['ae', 'st', 'iou']\n */\nvar groupWith = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (fn, list) {\n  var res = [];\n  var idx = 0;\n  var len = list.length;\n  while (idx < len) {\n    var nextidx = idx + 1;\n    while (nextidx < len && fn(list[nextidx - 1], list[nextidx])) {\n      nextidx += 1;\n    }\n    res.push(list.slice(idx, nextidx));\n    idx = nextidx;\n  }\n  return res;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (groupWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/gt.js\":\n/*!*************************************!*\\\n  !*** ./node_modules/ramda/es/gt.js ***!\n  \\*************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns `true` if the first argument is greater than the second; `false`\n * otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @see R.lt\n * @example\n *\n *      R.gt(2, 1); //=> true\n *      R.gt(2, 2); //=> false\n *      R.gt(2, 3); //=> false\n *      R.gt('a', 'z'); //=> false\n *      R.gt('z', 'a'); //=> true\n */\nvar gt = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function gt(a, b) {\n  return a > b;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (gt);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/gte.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/gte.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns `true` if the first argument is greater than or equal to the second;\n * `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> Boolean\n * @param {Number} a\n * @param {Number} b\n * @return {Boolean}\n * @see R.lte\n * @example\n *\n *      R.gte(2, 1); //=> true\n *      R.gte(2, 2); //=> true\n *      R.gte(2, 3); //=> false\n *      R.gte('a', 'z'); //=> false\n *      R.gte('z', 'a'); //=> true\n */\nvar gte = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function gte(a, b) {\n  return a >= b;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (gte);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/has.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/has.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_has__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has */ \"./node_modules/ramda/es/internal/_has.js\");\n\n\n\n/**\n * Returns whether or not an object has an own property with the specified name\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Object\n * @sig s -> {s: x} -> Boolean\n * @param {String} prop The name of the property to check for.\n * @param {Object} obj The object to query.\n * @return {Boolean} Whether the property exists.\n * @example\n *\n *      var hasName = R.has('name');\n *      hasName({name: 'alice'});   //=> true\n *      hasName({name: 'bob'});     //=> true\n *      hasName({});                //=> false\n *\n *      var point = {x: 0, y: 0};\n *      var pointHas = R.has(R.__, point);\n *      pointHas('x');  //=> true\n *      pointHas('y');  //=> true\n *      pointHas('z');  //=> false\n */\nvar has = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_internal_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (has);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/hasIn.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/hasIn.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns whether or not an object or its prototype chain has a property with\n * the specified name\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Object\n * @sig s -> {s: x} -> Boolean\n * @param {String} prop The name of the property to check for.\n * @param {Object} obj The object to query.\n * @return {Boolean} Whether the property exists.\n * @example\n *\n *      function Rectangle(width, height) {\n *        this.width = width;\n *        this.height = height;\n *      }\n *      Rectangle.prototype.area = function() {\n *        return this.width * this.height;\n *      };\n *\n *      var square = new Rectangle(2, 2);\n *      R.hasIn('width', square);  //=> true\n *      R.hasIn('area', square);  //=> true\n */\nvar hasIn = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function hasIn(prop, obj) {\n  return prop in obj;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (hasIn);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/head.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/head.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nth__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./nth */ \"./node_modules/ramda/es/nth.js\");\n\n\n/**\n * Returns the first element of the given list or string. In some libraries\n * this function is named `first`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> a | Undefined\n * @sig String -> String\n * @param {Array|String} list\n * @return {*}\n * @see R.tail, R.init, R.last\n * @example\n *\n *      R.head(['fi', 'fo', 'fum']); //=> 'fi'\n *      R.head([]); //=> undefined\n *\n *      R.head('abc'); //=> 'a'\n *      R.head(''); //=> ''\n */\nvar head = /*#__PURE__*/Object(_nth__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(0);\n/* harmony default export */ __webpack_exports__[\"default\"] = (head);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/identical.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/identical.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns true if its arguments are identical, false otherwise. Values are\n * identical if they reference the same memory. `NaN` is identical to `NaN`;\n * `0` and `-0` are not identical.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Relation\n * @sig a -> a -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @example\n *\n *      var o = {};\n *      R.identical(o, o); //=> true\n *      R.identical(1, 1); //=> true\n *      R.identical(1, '1'); //=> false\n *      R.identical([], []); //=> false\n *      R.identical(0, -0); //=> false\n *      R.identical(NaN, NaN); //=> true\n */\nvar identical = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function identical(a, b) {\n  // SameValue algorithm\n  if (a === b) {\n    // Steps 1-5, 7-10\n    // Steps 6.b-6.e: +0 != -0\n    return a !== 0 || 1 / a === 1 / b;\n  } else {\n    // Step 6.a: NaN == NaN\n    return a !== a && b !== b;\n  }\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (identical);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/identity.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/identity.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_identity */ \"./node_modules/ramda/es/internal/_identity.js\");\n\n\n\n/**\n * A function that does nothing but return the parameter supplied to it. Good\n * as a default or placeholder function.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig a -> a\n * @param {*} x The value to return.\n * @return {*} The input value, `x`.\n * @example\n *\n *      R.identity(1); //=> 1\n *\n *      var obj = {};\n *      R.identity(obj) === obj; //=> true\n * @symb R.identity(a) = a\n */\nvar identity = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_internal_identity__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (identity);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/ifElse.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/ifElse.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n\n\n\n/**\n * Creates a function that will process either the `onTrue` or the `onFalse`\n * function depending upon the result of the `condition` predicate.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Logic\n * @sig (*... -> Boolean) -> (*... -> *) -> (*... -> *) -> (*... -> *)\n * @param {Function} condition A predicate function\n * @param {Function} onTrue A function to invoke when the `condition` evaluates to a truthy value.\n * @param {Function} onFalse A function to invoke when the `condition` evaluates to a falsy value.\n * @return {Function} A new unary function that will process either the `onTrue` or the `onFalse`\n *                    function depending upon the result of the `condition` predicate.\n * @see R.unless, R.when\n * @example\n *\n *      var incCount = R.ifElse(\n *        R.has('count'),\n *        R.over(R.lensProp('count'), R.inc),\n *        R.assoc('count', 1)\n *      );\n *      incCount({});           //=> { count: 1 }\n *      incCount({ count: 1 }); //=> { count: 2 }\n */\nvar ifElse = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function ifElse(condition, onTrue, onFalse) {\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Math.max(condition.length, onTrue.length, onFalse.length), function _ifElse() {\n    return condition.apply(this, arguments) ? onTrue.apply(this, arguments) : onFalse.apply(this, arguments);\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (ifElse);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/inc.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/inc.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _add__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./add */ \"./node_modules/ramda/es/add.js\");\n\n\n/**\n * Increments its argument.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Math\n * @sig Number -> Number\n * @param {Number} n\n * @return {Number} n + 1\n * @see R.dec\n * @example\n *\n *      R.inc(42); //=> 43\n */\nvar inc = /*#__PURE__*/Object(_add__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(1);\n/* harmony default export */ __webpack_exports__[\"default\"] = (inc);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/index.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/index.js ***!\n  \\****************************************/\n/*! exports provided: F, T, __, add, addIndex, adjust, all, allPass, always, and, any, anyPass, ap, aperture, append, apply, applySpec, applyTo, ascend, assoc, assocPath, binary, bind, both, call, chain, clamp, clone, comparator, complement, compose, composeK, composeP, concat, cond, construct, constructN, contains, converge, countBy, curry, curryN, dec, defaultTo, descend, difference, differenceWith, dissoc, dissocPath, divide, drop, dropLast, dropLastWhile, dropRepeats, dropRepeatsWith, dropWhile, either, empty, endsWith, eqBy, eqProps, equals, evolve, filter, find, findIndex, findLast, findLastIndex, flatten, flip, forEach, forEachObjIndexed, fromPairs, groupBy, groupWith, gt, gte, has, hasIn, head, identical, identity, ifElse, inc, indexBy, indexOf, init, innerJoin, insert, insertAll, intersection, intersperse, into, invert, invertObj, invoker, is, isEmpty, isNil, join, juxt, keys, keysIn, last, lastIndexOf, length, lens, lensIndex, lensPath, lensProp, lift, liftN, lt, lte, map, mapAccum, mapAccumRight, mapObjIndexed, match, mathMod, max, maxBy, mean, median, memoize, memoizeWith, merge, mergeAll, mergeDeepLeft, mergeDeepRight, mergeDeepWith, mergeDeepWithKey, mergeWith, mergeWithKey, min, minBy, modulo, multiply, nAry, negate, none, not, nth, nthArg, o, objOf, of, omit, once, or, over, pair, partial, partialRight, partition, path, pathEq, pathOr, pathSatisfies, pick, pickAll, pickBy, pipe, pipeK, pipeP, pluck, prepend, product, project, prop, propEq, propIs, propOr, propSatisfies, props, range, reduce, reduceBy, reduceRight, reduceWhile, reduced, reject, remove, repeat, replace, reverse, scan, sequence, set, slice, sort, sortBy, sortWith, split, splitAt, splitEvery, splitWhen, startsWith, subtract, sum, symmetricDifference, symmetricDifferenceWith, tail, take, takeLast, takeLastWhile, takeWhile, tap, test, times, toLower, toPairs, toPairsIn, toString, toUpper, transduce, transpose, traverse, trim, tryCatch, type, unapply, unary, uncurryN, unfold, union, unionWith, uniq, uniqBy, uniqWith, unless, unnest, until, update, useWith, values, valuesIn, view, when, where, whereEq, without, xprod, zip, zipObj, zipWith */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _F__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./F */ \"./node_modules/ramda/es/F.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"F\", function() { return _F__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _T__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./T */ \"./node_modules/ramda/es/T.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"T\", function() { return _T__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./__ */ \"./node_modules/ramda/es/__.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"__\", function() { return ___WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _add__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./add */ \"./node_modules/ramda/es/add.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"add\", function() { return _add__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _addIndex__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./addIndex */ \"./node_modules/ramda/es/addIndex.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"addIndex\", function() { return _addIndex__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _adjust__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./adjust */ \"./node_modules/ramda/es/adjust.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"adjust\", function() { return _adjust__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _all__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./all */ \"./node_modules/ramda/es/all.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"all\", function() { return _all__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _allPass__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./allPass */ \"./node_modules/ramda/es/allPass.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"allPass\", function() { return _allPass__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _always__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./always */ \"./node_modules/ramda/es/always.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"always\", function() { return _always__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _and__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./and */ \"./node_modules/ramda/es/and.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"and\", function() { return _and__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _any__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./any */ \"./node_modules/ramda/es/any.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"any\", function() { return _any__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _anyPass__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./anyPass */ \"./node_modules/ramda/es/anyPass.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"anyPass\", function() { return _anyPass__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _ap__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./ap */ \"./node_modules/ramda/es/ap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ap\", function() { return _ap__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _aperture__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./aperture */ \"./node_modules/ramda/es/aperture.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"aperture\", function() { return _aperture__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _append__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./append */ \"./node_modules/ramda/es/append.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"append\", function() { return _append__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _apply__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./apply */ \"./node_modules/ramda/es/apply.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"apply\", function() { return _apply__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _applySpec__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./applySpec */ \"./node_modules/ramda/es/applySpec.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"applySpec\", function() { return _applySpec__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _applyTo__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./applyTo */ \"./node_modules/ramda/es/applyTo.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"applyTo\", function() { return _applyTo__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var _ascend__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./ascend */ \"./node_modules/ramda/es/ascend.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ascend\", function() { return _ascend__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var _assoc__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./assoc */ \"./node_modules/ramda/es/assoc.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assoc\", function() { return _assoc__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var _assocPath__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./assocPath */ \"./node_modules/ramda/es/assocPath.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assocPath\", function() { return _assocPath__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _binary__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./binary */ \"./node_modules/ramda/es/binary.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"binary\", function() { return _binary__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _bind__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./bind */ \"./node_modules/ramda/es/bind.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bind\", function() { return _bind__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var _both__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./both */ \"./node_modules/ramda/es/both.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"both\", function() { return _both__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n/* harmony import */ var _call__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./call */ \"./node_modules/ramda/es/call.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"call\", function() { return _call__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony import */ var _chain__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./chain */ \"./node_modules/ramda/es/chain.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"chain\", function() { return _chain__WEBPACK_IMPORTED_MODULE_25__[\"default\"]; });\n\n/* harmony import */ var _clamp__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./clamp */ \"./node_modules/ramda/es/clamp.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clamp\", function() { return _clamp__WEBPACK_IMPORTED_MODULE_26__[\"default\"]; });\n\n/* harmony import */ var _clone__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./clone */ \"./node_modules/ramda/es/clone.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clone\", function() { return _clone__WEBPACK_IMPORTED_MODULE_27__[\"default\"]; });\n\n/* harmony import */ var _comparator__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./comparator */ \"./node_modules/ramda/es/comparator.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"comparator\", function() { return _comparator__WEBPACK_IMPORTED_MODULE_28__[\"default\"]; });\n\n/* harmony import */ var _complement__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./complement */ \"./node_modules/ramda/es/complement.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"complement\", function() { return _complement__WEBPACK_IMPORTED_MODULE_29__[\"default\"]; });\n\n/* harmony import */ var _compose__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./compose */ \"./node_modules/ramda/es/compose.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"compose\", function() { return _compose__WEBPACK_IMPORTED_MODULE_30__[\"default\"]; });\n\n/* harmony import */ var _composeK__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./composeK */ \"./node_modules/ramda/es/composeK.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"composeK\", function() { return _composeK__WEBPACK_IMPORTED_MODULE_31__[\"default\"]; });\n\n/* harmony import */ var _composeP__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./composeP */ \"./node_modules/ramda/es/composeP.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"composeP\", function() { return _composeP__WEBPACK_IMPORTED_MODULE_32__[\"default\"]; });\n\n/* harmony import */ var _concat__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./concat */ \"./node_modules/ramda/es/concat.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"concat\", function() { return _concat__WEBPACK_IMPORTED_MODULE_33__[\"default\"]; });\n\n/* harmony import */ var _cond__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./cond */ \"./node_modules/ramda/es/cond.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cond\", function() { return _cond__WEBPACK_IMPORTED_MODULE_34__[\"default\"]; });\n\n/* harmony import */ var _construct__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./construct */ \"./node_modules/ramda/es/construct.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"construct\", function() { return _construct__WEBPACK_IMPORTED_MODULE_35__[\"default\"]; });\n\n/* harmony import */ var _constructN__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./constructN */ \"./node_modules/ramda/es/constructN.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"constructN\", function() { return _constructN__WEBPACK_IMPORTED_MODULE_36__[\"default\"]; });\n\n/* harmony import */ var _contains__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./contains */ \"./node_modules/ramda/es/contains.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"contains\", function() { return _contains__WEBPACK_IMPORTED_MODULE_37__[\"default\"]; });\n\n/* harmony import */ var _converge__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./converge */ \"./node_modules/ramda/es/converge.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"converge\", function() { return _converge__WEBPACK_IMPORTED_MODULE_38__[\"default\"]; });\n\n/* harmony import */ var _countBy__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./countBy */ \"./node_modules/ramda/es/countBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"countBy\", function() { return _countBy__WEBPACK_IMPORTED_MODULE_39__[\"default\"]; });\n\n/* harmony import */ var _curry__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./curry */ \"./node_modules/ramda/es/curry.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curry\", function() { return _curry__WEBPACK_IMPORTED_MODULE_40__[\"default\"]; });\n\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curryN\", function() { return _curryN__WEBPACK_IMPORTED_MODULE_41__[\"default\"]; });\n\n/* harmony import */ var _dec__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./dec */ \"./node_modules/ramda/es/dec.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dec\", function() { return _dec__WEBPACK_IMPORTED_MODULE_42__[\"default\"]; });\n\n/* harmony import */ var _defaultTo__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./defaultTo */ \"./node_modules/ramda/es/defaultTo.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultTo\", function() { return _defaultTo__WEBPACK_IMPORTED_MODULE_43__[\"default\"]; });\n\n/* harmony import */ var _descend__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./descend */ \"./node_modules/ramda/es/descend.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"descend\", function() { return _descend__WEBPACK_IMPORTED_MODULE_44__[\"default\"]; });\n\n/* harmony import */ var _difference__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./difference */ \"./node_modules/ramda/es/difference.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"difference\", function() { return _difference__WEBPACK_IMPORTED_MODULE_45__[\"default\"]; });\n\n/* harmony import */ var _differenceWith__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./differenceWith */ \"./node_modules/ramda/es/differenceWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceWith\", function() { return _differenceWith__WEBPACK_IMPORTED_MODULE_46__[\"default\"]; });\n\n/* harmony import */ var _dissoc__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./dissoc */ \"./node_modules/ramda/es/dissoc.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dissoc\", function() { return _dissoc__WEBPACK_IMPORTED_MODULE_47__[\"default\"]; });\n\n/* harmony import */ var _dissocPath__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./dissocPath */ \"./node_modules/ramda/es/dissocPath.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dissocPath\", function() { return _dissocPath__WEBPACK_IMPORTED_MODULE_48__[\"default\"]; });\n\n/* harmony import */ var _divide__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./divide */ \"./node_modules/ramda/es/divide.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"divide\", function() { return _divide__WEBPACK_IMPORTED_MODULE_49__[\"default\"]; });\n\n/* harmony import */ var _drop__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./drop */ \"./node_modules/ramda/es/drop.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drop\", function() { return _drop__WEBPACK_IMPORTED_MODULE_50__[\"default\"]; });\n\n/* harmony import */ var _dropLast__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./dropLast */ \"./node_modules/ramda/es/dropLast.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dropLast\", function() { return _dropLast__WEBPACK_IMPORTED_MODULE_51__[\"default\"]; });\n\n/* harmony import */ var _dropLastWhile__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./dropLastWhile */ \"./node_modules/ramda/es/dropLastWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dropLastWhile\", function() { return _dropLastWhile__WEBPACK_IMPORTED_MODULE_52__[\"default\"]; });\n\n/* harmony import */ var _dropRepeats__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./dropRepeats */ \"./node_modules/ramda/es/dropRepeats.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dropRepeats\", function() { return _dropRepeats__WEBPACK_IMPORTED_MODULE_53__[\"default\"]; });\n\n/* harmony import */ var _dropRepeatsWith__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./dropRepeatsWith */ \"./node_modules/ramda/es/dropRepeatsWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dropRepeatsWith\", function() { return _dropRepeatsWith__WEBPACK_IMPORTED_MODULE_54__[\"default\"]; });\n\n/* harmony import */ var _dropWhile__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./dropWhile */ \"./node_modules/ramda/es/dropWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dropWhile\", function() { return _dropWhile__WEBPACK_IMPORTED_MODULE_55__[\"default\"]; });\n\n/* harmony import */ var _either__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./either */ \"./node_modules/ramda/es/either.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"either\", function() { return _either__WEBPACK_IMPORTED_MODULE_56__[\"default\"]; });\n\n/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./empty */ \"./node_modules/ramda/es/empty.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"empty\", function() { return _empty__WEBPACK_IMPORTED_MODULE_57__[\"default\"]; });\n\n/* harmony import */ var _endsWith__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ./endsWith */ \"./node_modules/ramda/es/endsWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endsWith\", function() { return _endsWith__WEBPACK_IMPORTED_MODULE_58__[\"default\"]; });\n\n/* harmony import */ var _eqBy__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ./eqBy */ \"./node_modules/ramda/es/eqBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"eqBy\", function() { return _eqBy__WEBPACK_IMPORTED_MODULE_59__[\"default\"]; });\n\n/* harmony import */ var _eqProps__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ./eqProps */ \"./node_modules/ramda/es/eqProps.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"eqProps\", function() { return _eqProps__WEBPACK_IMPORTED_MODULE_60__[\"default\"]; });\n\n/* harmony import */ var _equals__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ./equals */ \"./node_modules/ramda/es/equals.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"equals\", function() { return _equals__WEBPACK_IMPORTED_MODULE_61__[\"default\"]; });\n\n/* harmony import */ var _evolve__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ./evolve */ \"./node_modules/ramda/es/evolve.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"evolve\", function() { return _evolve__WEBPACK_IMPORTED_MODULE_62__[\"default\"]; });\n\n/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ./filter */ \"./node_modules/ramda/es/filter.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"filter\", function() { return _filter__WEBPACK_IMPORTED_MODULE_63__[\"default\"]; });\n\n/* harmony import */ var _find__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ./find */ \"./node_modules/ramda/es/find.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"find\", function() { return _find__WEBPACK_IMPORTED_MODULE_64__[\"default\"]; });\n\n/* harmony import */ var _findIndex__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ./findIndex */ \"./node_modules/ramda/es/findIndex.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findIndex\", function() { return _findIndex__WEBPACK_IMPORTED_MODULE_65__[\"default\"]; });\n\n/* harmony import */ var _findLast__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ./findLast */ \"./node_modules/ramda/es/findLast.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findLast\", function() { return _findLast__WEBPACK_IMPORTED_MODULE_66__[\"default\"]; });\n\n/* harmony import */ var _findLastIndex__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ./findLastIndex */ \"./node_modules/ramda/es/findLastIndex.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findLastIndex\", function() { return _findLastIndex__WEBPACK_IMPORTED_MODULE_67__[\"default\"]; });\n\n/* harmony import */ var _flatten__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ./flatten */ \"./node_modules/ramda/es/flatten.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flatten\", function() { return _flatten__WEBPACK_IMPORTED_MODULE_68__[\"default\"]; });\n\n/* harmony import */ var _flip__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ./flip */ \"./node_modules/ramda/es/flip.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flip\", function() { return _flip__WEBPACK_IMPORTED_MODULE_69__[\"default\"]; });\n\n/* harmony import */ var _forEach__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ./forEach */ \"./node_modules/ramda/es/forEach.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forEach\", function() { return _forEach__WEBPACK_IMPORTED_MODULE_70__[\"default\"]; });\n\n/* harmony import */ var _forEachObjIndexed__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ./forEachObjIndexed */ \"./node_modules/ramda/es/forEachObjIndexed.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forEachObjIndexed\", function() { return _forEachObjIndexed__WEBPACK_IMPORTED_MODULE_71__[\"default\"]; });\n\n/* harmony import */ var _fromPairs__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ./fromPairs */ \"./node_modules/ramda/es/fromPairs.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fromPairs\", function() { return _fromPairs__WEBPACK_IMPORTED_MODULE_72__[\"default\"]; });\n\n/* harmony import */ var _groupBy__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ./groupBy */ \"./node_modules/ramda/es/groupBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"groupBy\", function() { return _groupBy__WEBPACK_IMPORTED_MODULE_73__[\"default\"]; });\n\n/* harmony import */ var _groupWith__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ./groupWith */ \"./node_modules/ramda/es/groupWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"groupWith\", function() { return _groupWith__WEBPACK_IMPORTED_MODULE_74__[\"default\"]; });\n\n/* harmony import */ var _gt__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ./gt */ \"./node_modules/ramda/es/gt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"gt\", function() { return _gt__WEBPACK_IMPORTED_MODULE_75__[\"default\"]; });\n\n/* harmony import */ var _gte__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ./gte */ \"./node_modules/ramda/es/gte.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"gte\", function() { return _gte__WEBPACK_IMPORTED_MODULE_76__[\"default\"]; });\n\n/* harmony import */ var _has__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ./has */ \"./node_modules/ramda/es/has.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"has\", function() { return _has__WEBPACK_IMPORTED_MODULE_77__[\"default\"]; });\n\n/* harmony import */ var _hasIn__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! ./hasIn */ \"./node_modules/ramda/es/hasIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasIn\", function() { return _hasIn__WEBPACK_IMPORTED_MODULE_78__[\"default\"]; });\n\n/* harmony import */ var _head__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ./head */ \"./node_modules/ramda/es/head.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"head\", function() { return _head__WEBPACK_IMPORTED_MODULE_79__[\"default\"]; });\n\n/* harmony import */ var _identical__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! ./identical */ \"./node_modules/ramda/es/identical.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"identical\", function() { return _identical__WEBPACK_IMPORTED_MODULE_80__[\"default\"]; });\n\n/* harmony import */ var _identity__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(/*! ./identity */ \"./node_modules/ramda/es/identity.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"identity\", function() { return _identity__WEBPACK_IMPORTED_MODULE_81__[\"default\"]; });\n\n/* harmony import */ var _ifElse__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(/*! ./ifElse */ \"./node_modules/ramda/es/ifElse.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ifElse\", function() { return _ifElse__WEBPACK_IMPORTED_MODULE_82__[\"default\"]; });\n\n/* harmony import */ var _inc__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(/*! ./inc */ \"./node_modules/ramda/es/inc.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"inc\", function() { return _inc__WEBPACK_IMPORTED_MODULE_83__[\"default\"]; });\n\n/* harmony import */ var _indexBy__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(/*! ./indexBy */ \"./node_modules/ramda/es/indexBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"indexBy\", function() { return _indexBy__WEBPACK_IMPORTED_MODULE_84__[\"default\"]; });\n\n/* harmony import */ var _indexOf__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(/*! ./indexOf */ \"./node_modules/ramda/es/indexOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"indexOf\", function() { return _indexOf__WEBPACK_IMPORTED_MODULE_85__[\"default\"]; });\n\n/* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(/*! ./init */ \"./node_modules/ramda/es/init.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return _init__WEBPACK_IMPORTED_MODULE_86__[\"default\"]; });\n\n/* harmony import */ var _innerJoin__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(/*! ./innerJoin */ \"./node_modules/ramda/es/innerJoin.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"innerJoin\", function() { return _innerJoin__WEBPACK_IMPORTED_MODULE_87__[\"default\"]; });\n\n/* harmony import */ var _insert__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(/*! ./insert */ \"./node_modules/ramda/es/insert.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"insert\", function() { return _insert__WEBPACK_IMPORTED_MODULE_88__[\"default\"]; });\n\n/* harmony import */ var _insertAll__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(/*! ./insertAll */ \"./node_modules/ramda/es/insertAll.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"insertAll\", function() { return _insertAll__WEBPACK_IMPORTED_MODULE_89__[\"default\"]; });\n\n/* harmony import */ var _intersection__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(/*! ./intersection */ \"./node_modules/ramda/es/intersection.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"intersection\", function() { return _intersection__WEBPACK_IMPORTED_MODULE_90__[\"default\"]; });\n\n/* harmony import */ var _intersperse__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(/*! ./intersperse */ \"./node_modules/ramda/es/intersperse.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"intersperse\", function() { return _intersperse__WEBPACK_IMPORTED_MODULE_91__[\"default\"]; });\n\n/* harmony import */ var _into__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(/*! ./into */ \"./node_modules/ramda/es/into.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"into\", function() { return _into__WEBPACK_IMPORTED_MODULE_92__[\"default\"]; });\n\n/* harmony import */ var _invert__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(/*! ./invert */ \"./node_modules/ramda/es/invert.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"invert\", function() { return _invert__WEBPACK_IMPORTED_MODULE_93__[\"default\"]; });\n\n/* harmony import */ var _invertObj__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(/*! ./invertObj */ \"./node_modules/ramda/es/invertObj.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"invertObj\", function() { return _invertObj__WEBPACK_IMPORTED_MODULE_94__[\"default\"]; });\n\n/* harmony import */ var _invoker__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(/*! ./invoker */ \"./node_modules/ramda/es/invoker.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"invoker\", function() { return _invoker__WEBPACK_IMPORTED_MODULE_95__[\"default\"]; });\n\n/* harmony import */ var _is__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(/*! ./is */ \"./node_modules/ramda/es/is.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"is\", function() { return _is__WEBPACK_IMPORTED_MODULE_96__[\"default\"]; });\n\n/* harmony import */ var _isEmpty__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(/*! ./isEmpty */ \"./node_modules/ramda/es/isEmpty.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isEmpty\", function() { return _isEmpty__WEBPACK_IMPORTED_MODULE_97__[\"default\"]; });\n\n/* harmony import */ var _isNil__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(/*! ./isNil */ \"./node_modules/ramda/es/isNil.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNil\", function() { return _isNil__WEBPACK_IMPORTED_MODULE_98__[\"default\"]; });\n\n/* harmony import */ var _join__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(/*! ./join */ \"./node_modules/ramda/es/join.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"join\", function() { return _join__WEBPACK_IMPORTED_MODULE_99__[\"default\"]; });\n\n/* harmony import */ var _juxt__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(/*! ./juxt */ \"./node_modules/ramda/es/juxt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"juxt\", function() { return _juxt__WEBPACK_IMPORTED_MODULE_100__[\"default\"]; });\n\n/* harmony import */ var _keys__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(/*! ./keys */ \"./node_modules/ramda/es/keys.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"keys\", function() { return _keys__WEBPACK_IMPORTED_MODULE_101__[\"default\"]; });\n\n/* harmony import */ var _keysIn__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(/*! ./keysIn */ \"./node_modules/ramda/es/keysIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"keysIn\", function() { return _keysIn__WEBPACK_IMPORTED_MODULE_102__[\"default\"]; });\n\n/* harmony import */ var _last__WEBPACK_IMPORTED_MODULE_103__ = __webpack_require__(/*! ./last */ \"./node_modules/ramda/es/last.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"last\", function() { return _last__WEBPACK_IMPORTED_MODULE_103__[\"default\"]; });\n\n/* harmony import */ var _lastIndexOf__WEBPACK_IMPORTED_MODULE_104__ = __webpack_require__(/*! ./lastIndexOf */ \"./node_modules/ramda/es/lastIndexOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lastIndexOf\", function() { return _lastIndexOf__WEBPACK_IMPORTED_MODULE_104__[\"default\"]; });\n\n/* harmony import */ var _length__WEBPACK_IMPORTED_MODULE_105__ = __webpack_require__(/*! ./length */ \"./node_modules/ramda/es/length.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"length\", function() { return _length__WEBPACK_IMPORTED_MODULE_105__[\"default\"]; });\n\n/* harmony import */ var _lens__WEBPACK_IMPORTED_MODULE_106__ = __webpack_require__(/*! ./lens */ \"./node_modules/ramda/es/lens.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lens\", function() { return _lens__WEBPACK_IMPORTED_MODULE_106__[\"default\"]; });\n\n/* harmony import */ var _lensIndex__WEBPACK_IMPORTED_MODULE_107__ = __webpack_require__(/*! ./lensIndex */ \"./node_modules/ramda/es/lensIndex.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lensIndex\", function() { return _lensIndex__WEBPACK_IMPORTED_MODULE_107__[\"default\"]; });\n\n/* harmony import */ var _lensPath__WEBPACK_IMPORTED_MODULE_108__ = __webpack_require__(/*! ./lensPath */ \"./node_modules/ramda/es/lensPath.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lensPath\", function() { return _lensPath__WEBPACK_IMPORTED_MODULE_108__[\"default\"]; });\n\n/* harmony import */ var _lensProp__WEBPACK_IMPORTED_MODULE_109__ = __webpack_require__(/*! ./lensProp */ \"./node_modules/ramda/es/lensProp.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lensProp\", function() { return _lensProp__WEBPACK_IMPORTED_MODULE_109__[\"default\"]; });\n\n/* harmony import */ var _lift__WEBPACK_IMPORTED_MODULE_110__ = __webpack_require__(/*! ./lift */ \"./node_modules/ramda/es/lift.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lift\", function() { return _lift__WEBPACK_IMPORTED_MODULE_110__[\"default\"]; });\n\n/* harmony import */ var _liftN__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(/*! ./liftN */ \"./node_modules/ramda/es/liftN.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"liftN\", function() { return _liftN__WEBPACK_IMPORTED_MODULE_111__[\"default\"]; });\n\n/* harmony import */ var _lt__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(/*! ./lt */ \"./node_modules/ramda/es/lt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lt\", function() { return _lt__WEBPACK_IMPORTED_MODULE_112__[\"default\"]; });\n\n/* harmony import */ var _lte__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(/*! ./lte */ \"./node_modules/ramda/es/lte.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lte\", function() { return _lte__WEBPACK_IMPORTED_MODULE_113__[\"default\"]; });\n\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(/*! ./map */ \"./node_modules/ramda/es/map.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"map\", function() { return _map__WEBPACK_IMPORTED_MODULE_114__[\"default\"]; });\n\n/* harmony import */ var _mapAccum__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(/*! ./mapAccum */ \"./node_modules/ramda/es/mapAccum.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mapAccum\", function() { return _mapAccum__WEBPACK_IMPORTED_MODULE_115__[\"default\"]; });\n\n/* harmony import */ var _mapAccumRight__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(/*! ./mapAccumRight */ \"./node_modules/ramda/es/mapAccumRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mapAccumRight\", function() { return _mapAccumRight__WEBPACK_IMPORTED_MODULE_116__[\"default\"]; });\n\n/* harmony import */ var _mapObjIndexed__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(/*! ./mapObjIndexed */ \"./node_modules/ramda/es/mapObjIndexed.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mapObjIndexed\", function() { return _mapObjIndexed__WEBPACK_IMPORTED_MODULE_117__[\"default\"]; });\n\n/* harmony import */ var _match__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(/*! ./match */ \"./node_modules/ramda/es/match.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"match\", function() { return _match__WEBPACK_IMPORTED_MODULE_118__[\"default\"]; });\n\n/* harmony import */ var _mathMod__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(/*! ./mathMod */ \"./node_modules/ramda/es/mathMod.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mathMod\", function() { return _mathMod__WEBPACK_IMPORTED_MODULE_119__[\"default\"]; });\n\n/* harmony import */ var _max__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(/*! ./max */ \"./node_modules/ramda/es/max.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"max\", function() { return _max__WEBPACK_IMPORTED_MODULE_120__[\"default\"]; });\n\n/* harmony import */ var _maxBy__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(/*! ./maxBy */ \"./node_modules/ramda/es/maxBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"maxBy\", function() { return _maxBy__WEBPACK_IMPORTED_MODULE_121__[\"default\"]; });\n\n/* harmony import */ var _mean__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(/*! ./mean */ \"./node_modules/ramda/es/mean.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mean\", function() { return _mean__WEBPACK_IMPORTED_MODULE_122__[\"default\"]; });\n\n/* harmony import */ var _median__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(/*! ./median */ \"./node_modules/ramda/es/median.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"median\", function() { return _median__WEBPACK_IMPORTED_MODULE_123__[\"default\"]; });\n\n/* harmony import */ var _memoize__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(/*! ./memoize */ \"./node_modules/ramda/es/memoize.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"memoize\", function() { return _memoize__WEBPACK_IMPORTED_MODULE_124__[\"default\"]; });\n\n/* harmony import */ var _memoizeWith__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(/*! ./memoizeWith */ \"./node_modules/ramda/es/memoizeWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"memoizeWith\", function() { return _memoizeWith__WEBPACK_IMPORTED_MODULE_125__[\"default\"]; });\n\n/* harmony import */ var _merge__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(/*! ./merge */ \"./node_modules/ramda/es/merge.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"merge\", function() { return _merge__WEBPACK_IMPORTED_MODULE_126__[\"default\"]; });\n\n/* harmony import */ var _mergeAll__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(/*! ./mergeAll */ \"./node_modules/ramda/es/mergeAll.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeAll\", function() { return _mergeAll__WEBPACK_IMPORTED_MODULE_127__[\"default\"]; });\n\n/* harmony import */ var _mergeDeepLeft__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(/*! ./mergeDeepLeft */ \"./node_modules/ramda/es/mergeDeepLeft.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeDeepLeft\", function() { return _mergeDeepLeft__WEBPACK_IMPORTED_MODULE_128__[\"default\"]; });\n\n/* harmony import */ var _mergeDeepRight__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(/*! ./mergeDeepRight */ \"./node_modules/ramda/es/mergeDeepRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeDeepRight\", function() { return _mergeDeepRight__WEBPACK_IMPORTED_MODULE_129__[\"default\"]; });\n\n/* harmony import */ var _mergeDeepWith__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(/*! ./mergeDeepWith */ \"./node_modules/ramda/es/mergeDeepWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeDeepWith\", function() { return _mergeDeepWith__WEBPACK_IMPORTED_MODULE_130__[\"default\"]; });\n\n/* harmony import */ var _mergeDeepWithKey__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(/*! ./mergeDeepWithKey */ \"./node_modules/ramda/es/mergeDeepWithKey.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeDeepWithKey\", function() { return _mergeDeepWithKey__WEBPACK_IMPORTED_MODULE_131__[\"default\"]; });\n\n/* harmony import */ var _mergeWith__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(/*! ./mergeWith */ \"./node_modules/ramda/es/mergeWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeWith\", function() { return _mergeWith__WEBPACK_IMPORTED_MODULE_132__[\"default\"]; });\n\n/* harmony import */ var _mergeWithKey__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(/*! ./mergeWithKey */ \"./node_modules/ramda/es/mergeWithKey.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeWithKey\", function() { return _mergeWithKey__WEBPACK_IMPORTED_MODULE_133__[\"default\"]; });\n\n/* harmony import */ var _min__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(/*! ./min */ \"./node_modules/ramda/es/min.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"min\", function() { return _min__WEBPACK_IMPORTED_MODULE_134__[\"default\"]; });\n\n/* harmony import */ var _minBy__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(/*! ./minBy */ \"./node_modules/ramda/es/minBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"minBy\", function() { return _minBy__WEBPACK_IMPORTED_MODULE_135__[\"default\"]; });\n\n/* harmony import */ var _modulo__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(/*! ./modulo */ \"./node_modules/ramda/es/modulo.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"modulo\", function() { return _modulo__WEBPACK_IMPORTED_MODULE_136__[\"default\"]; });\n\n/* harmony import */ var _multiply__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(/*! ./multiply */ \"./node_modules/ramda/es/multiply.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"multiply\", function() { return _multiply__WEBPACK_IMPORTED_MODULE_137__[\"default\"]; });\n\n/* harmony import */ var _nAry__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(/*! ./nAry */ \"./node_modules/ramda/es/nAry.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nAry\", function() { return _nAry__WEBPACK_IMPORTED_MODULE_138__[\"default\"]; });\n\n/* harmony import */ var _negate__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(/*! ./negate */ \"./node_modules/ramda/es/negate.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"negate\", function() { return _negate__WEBPACK_IMPORTED_MODULE_139__[\"default\"]; });\n\n/* harmony import */ var _none__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(/*! ./none */ \"./node_modules/ramda/es/none.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"none\", function() { return _none__WEBPACK_IMPORTED_MODULE_140__[\"default\"]; });\n\n/* harmony import */ var _not__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(/*! ./not */ \"./node_modules/ramda/es/not.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"not\", function() { return _not__WEBPACK_IMPORTED_MODULE_141__[\"default\"]; });\n\n/* harmony import */ var _nth__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(/*! ./nth */ \"./node_modules/ramda/es/nth.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nth\", function() { return _nth__WEBPACK_IMPORTED_MODULE_142__[\"default\"]; });\n\n/* harmony import */ var _nthArg__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(/*! ./nthArg */ \"./node_modules/ramda/es/nthArg.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nthArg\", function() { return _nthArg__WEBPACK_IMPORTED_MODULE_143__[\"default\"]; });\n\n/* harmony import */ var _o__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(/*! ./o */ \"./node_modules/ramda/es/o.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return _o__WEBPACK_IMPORTED_MODULE_144__[\"default\"]; });\n\n/* harmony import */ var _objOf__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(/*! ./objOf */ \"./node_modules/ramda/es/objOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"objOf\", function() { return _objOf__WEBPACK_IMPORTED_MODULE_145__[\"default\"]; });\n\n/* harmony import */ var _of__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(/*! ./of */ \"./node_modules/ramda/es/of.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"of\", function() { return _of__WEBPACK_IMPORTED_MODULE_146__[\"default\"]; });\n\n/* harmony import */ var _omit__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(/*! ./omit */ \"./node_modules/ramda/es/omit.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"omit\", function() { return _omit__WEBPACK_IMPORTED_MODULE_147__[\"default\"]; });\n\n/* harmony import */ var _once__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(/*! ./once */ \"./node_modules/ramda/es/once.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"once\", function() { return _once__WEBPACK_IMPORTED_MODULE_148__[\"default\"]; });\n\n/* harmony import */ var _or__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(/*! ./or */ \"./node_modules/ramda/es/or.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"or\", function() { return _or__WEBPACK_IMPORTED_MODULE_149__[\"default\"]; });\n\n/* harmony import */ var _over__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(/*! ./over */ \"./node_modules/ramda/es/over.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"over\", function() { return _over__WEBPACK_IMPORTED_MODULE_150__[\"default\"]; });\n\n/* harmony import */ var _pair__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(/*! ./pair */ \"./node_modules/ramda/es/pair.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pair\", function() { return _pair__WEBPACK_IMPORTED_MODULE_151__[\"default\"]; });\n\n/* harmony import */ var _partial__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(/*! ./partial */ \"./node_modules/ramda/es/partial.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"partial\", function() { return _partial__WEBPACK_IMPORTED_MODULE_152__[\"default\"]; });\n\n/* harmony import */ var _partialRight__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(/*! ./partialRight */ \"./node_modules/ramda/es/partialRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"partialRight\", function() { return _partialRight__WEBPACK_IMPORTED_MODULE_153__[\"default\"]; });\n\n/* harmony import */ var _partition__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(/*! ./partition */ \"./node_modules/ramda/es/partition.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"partition\", function() { return _partition__WEBPACK_IMPORTED_MODULE_154__[\"default\"]; });\n\n/* harmony import */ var _path__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(/*! ./path */ \"./node_modules/ramda/es/path.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"path\", function() { return _path__WEBPACK_IMPORTED_MODULE_155__[\"default\"]; });\n\n/* harmony import */ var _pathEq__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(/*! ./pathEq */ \"./node_modules/ramda/es/pathEq.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pathEq\", function() { return _pathEq__WEBPACK_IMPORTED_MODULE_156__[\"default\"]; });\n\n/* harmony import */ var _pathOr__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(/*! ./pathOr */ \"./node_modules/ramda/es/pathOr.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pathOr\", function() { return _pathOr__WEBPACK_IMPORTED_MODULE_157__[\"default\"]; });\n\n/* harmony import */ var _pathSatisfies__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(/*! ./pathSatisfies */ \"./node_modules/ramda/es/pathSatisfies.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pathSatisfies\", function() { return _pathSatisfies__WEBPACK_IMPORTED_MODULE_158__[\"default\"]; });\n\n/* harmony import */ var _pick__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(/*! ./pick */ \"./node_modules/ramda/es/pick.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pick\", function() { return _pick__WEBPACK_IMPORTED_MODULE_159__[\"default\"]; });\n\n/* harmony import */ var _pickAll__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(/*! ./pickAll */ \"./node_modules/ramda/es/pickAll.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pickAll\", function() { return _pickAll__WEBPACK_IMPORTED_MODULE_160__[\"default\"]; });\n\n/* harmony import */ var _pickBy__WEBPACK_IMPORTED_MODULE_161__ = __webpack_require__(/*! ./pickBy */ \"./node_modules/ramda/es/pickBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pickBy\", function() { return _pickBy__WEBPACK_IMPORTED_MODULE_161__[\"default\"]; });\n\n/* harmony import */ var _pipe__WEBPACK_IMPORTED_MODULE_162__ = __webpack_require__(/*! ./pipe */ \"./node_modules/ramda/es/pipe.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pipe\", function() { return _pipe__WEBPACK_IMPORTED_MODULE_162__[\"default\"]; });\n\n/* harmony import */ var _pipeK__WEBPACK_IMPORTED_MODULE_163__ = __webpack_require__(/*! ./pipeK */ \"./node_modules/ramda/es/pipeK.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pipeK\", function() { return _pipeK__WEBPACK_IMPORTED_MODULE_163__[\"default\"]; });\n\n/* harmony import */ var _pipeP__WEBPACK_IMPORTED_MODULE_164__ = __webpack_require__(/*! ./pipeP */ \"./node_modules/ramda/es/pipeP.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pipeP\", function() { return _pipeP__WEBPACK_IMPORTED_MODULE_164__[\"default\"]; });\n\n/* harmony import */ var _pluck__WEBPACK_IMPORTED_MODULE_165__ = __webpack_require__(/*! ./pluck */ \"./node_modules/ramda/es/pluck.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pluck\", function() { return _pluck__WEBPACK_IMPORTED_MODULE_165__[\"default\"]; });\n\n/* harmony import */ var _prepend__WEBPACK_IMPORTED_MODULE_166__ = __webpack_require__(/*! ./prepend */ \"./node_modules/ramda/es/prepend.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"prepend\", function() { return _prepend__WEBPACK_IMPORTED_MODULE_166__[\"default\"]; });\n\n/* harmony import */ var _product__WEBPACK_IMPORTED_MODULE_167__ = __webpack_require__(/*! ./product */ \"./node_modules/ramda/es/product.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"product\", function() { return _product__WEBPACK_IMPORTED_MODULE_167__[\"default\"]; });\n\n/* harmony import */ var _project__WEBPACK_IMPORTED_MODULE_168__ = __webpack_require__(/*! ./project */ \"./node_modules/ramda/es/project.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"project\", function() { return _project__WEBPACK_IMPORTED_MODULE_168__[\"default\"]; });\n\n/* harmony import */ var _prop__WEBPACK_IMPORTED_MODULE_169__ = __webpack_require__(/*! ./prop */ \"./node_modules/ramda/es/prop.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"prop\", function() { return _prop__WEBPACK_IMPORTED_MODULE_169__[\"default\"]; });\n\n/* harmony import */ var _propEq__WEBPACK_IMPORTED_MODULE_170__ = __webpack_require__(/*! ./propEq */ \"./node_modules/ramda/es/propEq.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"propEq\", function() { return _propEq__WEBPACK_IMPORTED_MODULE_170__[\"default\"]; });\n\n/* harmony import */ var _propIs__WEBPACK_IMPORTED_MODULE_171__ = __webpack_require__(/*! ./propIs */ \"./node_modules/ramda/es/propIs.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"propIs\", function() { return _propIs__WEBPACK_IMPORTED_MODULE_171__[\"default\"]; });\n\n/* harmony import */ var _propOr__WEBPACK_IMPORTED_MODULE_172__ = __webpack_require__(/*! ./propOr */ \"./node_modules/ramda/es/propOr.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"propOr\", function() { return _propOr__WEBPACK_IMPORTED_MODULE_172__[\"default\"]; });\n\n/* harmony import */ var _propSatisfies__WEBPACK_IMPORTED_MODULE_173__ = __webpack_require__(/*! ./propSatisfies */ \"./node_modules/ramda/es/propSatisfies.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"propSatisfies\", function() { return _propSatisfies__WEBPACK_IMPORTED_MODULE_173__[\"default\"]; });\n\n/* harmony import */ var _props__WEBPACK_IMPORTED_MODULE_174__ = __webpack_require__(/*! ./props */ \"./node_modules/ramda/es/props.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"props\", function() { return _props__WEBPACK_IMPORTED_MODULE_174__[\"default\"]; });\n\n/* harmony import */ var _range__WEBPACK_IMPORTED_MODULE_175__ = __webpack_require__(/*! ./range */ \"./node_modules/ramda/es/range.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"range\", function() { return _range__WEBPACK_IMPORTED_MODULE_175__[\"default\"]; });\n\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_176__ = __webpack_require__(/*! ./reduce */ \"./node_modules/ramda/es/reduce.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reduce\", function() { return _reduce__WEBPACK_IMPORTED_MODULE_176__[\"default\"]; });\n\n/* harmony import */ var _reduceBy__WEBPACK_IMPORTED_MODULE_177__ = __webpack_require__(/*! ./reduceBy */ \"./node_modules/ramda/es/reduceBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reduceBy\", function() { return _reduceBy__WEBPACK_IMPORTED_MODULE_177__[\"default\"]; });\n\n/* harmony import */ var _reduceRight__WEBPACK_IMPORTED_MODULE_178__ = __webpack_require__(/*! ./reduceRight */ \"./node_modules/ramda/es/reduceRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reduceRight\", function() { return _reduceRight__WEBPACK_IMPORTED_MODULE_178__[\"default\"]; });\n\n/* harmony import */ var _reduceWhile__WEBPACK_IMPORTED_MODULE_179__ = __webpack_require__(/*! ./reduceWhile */ \"./node_modules/ramda/es/reduceWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reduceWhile\", function() { return _reduceWhile__WEBPACK_IMPORTED_MODULE_179__[\"default\"]; });\n\n/* harmony import */ var _reduced__WEBPACK_IMPORTED_MODULE_180__ = __webpack_require__(/*! ./reduced */ \"./node_modules/ramda/es/reduced.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reduced\", function() { return _reduced__WEBPACK_IMPORTED_MODULE_180__[\"default\"]; });\n\n/* harmony import */ var _reject__WEBPACK_IMPORTED_MODULE_181__ = __webpack_require__(/*! ./reject */ \"./node_modules/ramda/es/reject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reject\", function() { return _reject__WEBPACK_IMPORTED_MODULE_181__[\"default\"]; });\n\n/* harmony import */ var _remove__WEBPACK_IMPORTED_MODULE_182__ = __webpack_require__(/*! ./remove */ \"./node_modules/ramda/es/remove.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"remove\", function() { return _remove__WEBPACK_IMPORTED_MODULE_182__[\"default\"]; });\n\n/* harmony import */ var _repeat__WEBPACK_IMPORTED_MODULE_183__ = __webpack_require__(/*! ./repeat */ \"./node_modules/ramda/es/repeat.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"repeat\", function() { return _repeat__WEBPACK_IMPORTED_MODULE_183__[\"default\"]; });\n\n/* harmony import */ var _replace__WEBPACK_IMPORTED_MODULE_184__ = __webpack_require__(/*! ./replace */ \"./node_modules/ramda/es/replace.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"replace\", function() { return _replace__WEBPACK_IMPORTED_MODULE_184__[\"default\"]; });\n\n/* harmony import */ var _reverse__WEBPACK_IMPORTED_MODULE_185__ = __webpack_require__(/*! ./reverse */ \"./node_modules/ramda/es/reverse.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reverse\", function() { return _reverse__WEBPACK_IMPORTED_MODULE_185__[\"default\"]; });\n\n/* harmony import */ var _scan__WEBPACK_IMPORTED_MODULE_186__ = __webpack_require__(/*! ./scan */ \"./node_modules/ramda/es/scan.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"scan\", function() { return _scan__WEBPACK_IMPORTED_MODULE_186__[\"default\"]; });\n\n/* harmony import */ var _sequence__WEBPACK_IMPORTED_MODULE_187__ = __webpack_require__(/*! ./sequence */ \"./node_modules/ramda/es/sequence.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sequence\", function() { return _sequence__WEBPACK_IMPORTED_MODULE_187__[\"default\"]; });\n\n/* harmony import */ var _set__WEBPACK_IMPORTED_MODULE_188__ = __webpack_require__(/*! ./set */ \"./node_modules/ramda/es/set.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"set\", function() { return _set__WEBPACK_IMPORTED_MODULE_188__[\"default\"]; });\n\n/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_189__ = __webpack_require__(/*! ./slice */ \"./node_modules/ramda/es/slice.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"slice\", function() { return _slice__WEBPACK_IMPORTED_MODULE_189__[\"default\"]; });\n\n/* harmony import */ var _sort__WEBPACK_IMPORTED_MODULE_190__ = __webpack_require__(/*! ./sort */ \"./node_modules/ramda/es/sort.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sort\", function() { return _sort__WEBPACK_IMPORTED_MODULE_190__[\"default\"]; });\n\n/* harmony import */ var _sortBy__WEBPACK_IMPORTED_MODULE_191__ = __webpack_require__(/*! ./sortBy */ \"./node_modules/ramda/es/sortBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortBy\", function() { return _sortBy__WEBPACK_IMPORTED_MODULE_191__[\"default\"]; });\n\n/* harmony import */ var _sortWith__WEBPACK_IMPORTED_MODULE_192__ = __webpack_require__(/*! ./sortWith */ \"./node_modules/ramda/es/sortWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortWith\", function() { return _sortWith__WEBPACK_IMPORTED_MODULE_192__[\"default\"]; });\n\n/* harmony import */ var _split__WEBPACK_IMPORTED_MODULE_193__ = __webpack_require__(/*! ./split */ \"./node_modules/ramda/es/split.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"split\", function() { return _split__WEBPACK_IMPORTED_MODULE_193__[\"default\"]; });\n\n/* harmony import */ var _splitAt__WEBPACK_IMPORTED_MODULE_194__ = __webpack_require__(/*! ./splitAt */ \"./node_modules/ramda/es/splitAt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"splitAt\", function() { return _splitAt__WEBPACK_IMPORTED_MODULE_194__[\"default\"]; });\n\n/* harmony import */ var _splitEvery__WEBPACK_IMPORTED_MODULE_195__ = __webpack_require__(/*! ./splitEvery */ \"./node_modules/ramda/es/splitEvery.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"splitEvery\", function() { return _splitEvery__WEBPACK_IMPORTED_MODULE_195__[\"default\"]; });\n\n/* harmony import */ var _splitWhen__WEBPACK_IMPORTED_MODULE_196__ = __webpack_require__(/*! ./splitWhen */ \"./node_modules/ramda/es/splitWhen.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"splitWhen\", function() { return _splitWhen__WEBPACK_IMPORTED_MODULE_196__[\"default\"]; });\n\n/* harmony import */ var _startsWith__WEBPACK_IMPORTED_MODULE_197__ = __webpack_require__(/*! ./startsWith */ \"./node_modules/ramda/es/startsWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"startsWith\", function() { return _startsWith__WEBPACK_IMPORTED_MODULE_197__[\"default\"]; });\n\n/* harmony import */ var _subtract__WEBPACK_IMPORTED_MODULE_198__ = __webpack_require__(/*! ./subtract */ \"./node_modules/ramda/es/subtract.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"subtract\", function() { return _subtract__WEBPACK_IMPORTED_MODULE_198__[\"default\"]; });\n\n/* harmony import */ var _sum__WEBPACK_IMPORTED_MODULE_199__ = __webpack_require__(/*! ./sum */ \"./node_modules/ramda/es/sum.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sum\", function() { return _sum__WEBPACK_IMPORTED_MODULE_199__[\"default\"]; });\n\n/* harmony import */ var _symmetricDifference__WEBPACK_IMPORTED_MODULE_200__ = __webpack_require__(/*! ./symmetricDifference */ \"./node_modules/ramda/es/symmetricDifference.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"symmetricDifference\", function() { return _symmetricDifference__WEBPACK_IMPORTED_MODULE_200__[\"default\"]; });\n\n/* harmony import */ var _symmetricDifferenceWith__WEBPACK_IMPORTED_MODULE_201__ = __webpack_require__(/*! ./symmetricDifferenceWith */ \"./node_modules/ramda/es/symmetricDifferenceWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"symmetricDifferenceWith\", function() { return _symmetricDifferenceWith__WEBPACK_IMPORTED_MODULE_201__[\"default\"]; });\n\n/* harmony import */ var _tail__WEBPACK_IMPORTED_MODULE_202__ = __webpack_require__(/*! ./tail */ \"./node_modules/ramda/es/tail.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tail\", function() { return _tail__WEBPACK_IMPORTED_MODULE_202__[\"default\"]; });\n\n/* harmony import */ var _take__WEBPACK_IMPORTED_MODULE_203__ = __webpack_require__(/*! ./take */ \"./node_modules/ramda/es/take.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"take\", function() { return _take__WEBPACK_IMPORTED_MODULE_203__[\"default\"]; });\n\n/* harmony import */ var _takeLast__WEBPACK_IMPORTED_MODULE_204__ = __webpack_require__(/*! ./takeLast */ \"./node_modules/ramda/es/takeLast.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"takeLast\", function() { return _takeLast__WEBPACK_IMPORTED_MODULE_204__[\"default\"]; });\n\n/* harmony import */ var _takeLastWhile__WEBPACK_IMPORTED_MODULE_205__ = __webpack_require__(/*! ./takeLastWhile */ \"./node_modules/ramda/es/takeLastWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"takeLastWhile\", function() { return _takeLastWhile__WEBPACK_IMPORTED_MODULE_205__[\"default\"]; });\n\n/* harmony import */ var _takeWhile__WEBPACK_IMPORTED_MODULE_206__ = __webpack_require__(/*! ./takeWhile */ \"./node_modules/ramda/es/takeWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"takeWhile\", function() { return _takeWhile__WEBPACK_IMPORTED_MODULE_206__[\"default\"]; });\n\n/* harmony import */ var _tap__WEBPACK_IMPORTED_MODULE_207__ = __webpack_require__(/*! ./tap */ \"./node_modules/ramda/es/tap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tap\", function() { return _tap__WEBPACK_IMPORTED_MODULE_207__[\"default\"]; });\n\n/* harmony import */ var _test__WEBPACK_IMPORTED_MODULE_208__ = __webpack_require__(/*! ./test */ \"./node_modules/ramda/es/test.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"test\", function() { return _test__WEBPACK_IMPORTED_MODULE_208__[\"default\"]; });\n\n/* harmony import */ var _times__WEBPACK_IMPORTED_MODULE_209__ = __webpack_require__(/*! ./times */ \"./node_modules/ramda/es/times.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"times\", function() { return _times__WEBPACK_IMPORTED_MODULE_209__[\"default\"]; });\n\n/* harmony import */ var _toLower__WEBPACK_IMPORTED_MODULE_210__ = __webpack_require__(/*! ./toLower */ \"./node_modules/ramda/es/toLower.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toLower\", function() { return _toLower__WEBPACK_IMPORTED_MODULE_210__[\"default\"]; });\n\n/* harmony import */ var _toPairs__WEBPACK_IMPORTED_MODULE_211__ = __webpack_require__(/*! ./toPairs */ \"./node_modules/ramda/es/toPairs.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toPairs\", function() { return _toPairs__WEBPACK_IMPORTED_MODULE_211__[\"default\"]; });\n\n/* harmony import */ var _toPairsIn__WEBPACK_IMPORTED_MODULE_212__ = __webpack_require__(/*! ./toPairsIn */ \"./node_modules/ramda/es/toPairsIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toPairsIn\", function() { return _toPairsIn__WEBPACK_IMPORTED_MODULE_212__[\"default\"]; });\n\n/* harmony import */ var _toString__WEBPACK_IMPORTED_MODULE_213__ = __webpack_require__(/*! ./toString */ \"./node_modules/ramda/es/toString.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toString\", function() { return _toString__WEBPACK_IMPORTED_MODULE_213__[\"default\"]; });\n\n/* harmony import */ var _toUpper__WEBPACK_IMPORTED_MODULE_214__ = __webpack_require__(/*! ./toUpper */ \"./node_modules/ramda/es/toUpper.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toUpper\", function() { return _toUpper__WEBPACK_IMPORTED_MODULE_214__[\"default\"]; });\n\n/* harmony import */ var _transduce__WEBPACK_IMPORTED_MODULE_215__ = __webpack_require__(/*! ./transduce */ \"./node_modules/ramda/es/transduce.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"transduce\", function() { return _transduce__WEBPACK_IMPORTED_MODULE_215__[\"default\"]; });\n\n/* harmony import */ var _transpose__WEBPACK_IMPORTED_MODULE_216__ = __webpack_require__(/*! ./transpose */ \"./node_modules/ramda/es/transpose.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"transpose\", function() { return _transpose__WEBPACK_IMPORTED_MODULE_216__[\"default\"]; });\n\n/* harmony import */ var _traverse__WEBPACK_IMPORTED_MODULE_217__ = __webpack_require__(/*! ./traverse */ \"./node_modules/ramda/es/traverse.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"traverse\", function() { return _traverse__WEBPACK_IMPORTED_MODULE_217__[\"default\"]; });\n\n/* harmony import */ var _trim__WEBPACK_IMPORTED_MODULE_218__ = __webpack_require__(/*! ./trim */ \"./node_modules/ramda/es/trim.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"trim\", function() { return _trim__WEBPACK_IMPORTED_MODULE_218__[\"default\"]; });\n\n/* harmony import */ var _tryCatch__WEBPACK_IMPORTED_MODULE_219__ = __webpack_require__(/*! ./tryCatch */ \"./node_modules/ramda/es/tryCatch.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tryCatch\", function() { return _tryCatch__WEBPACK_IMPORTED_MODULE_219__[\"default\"]; });\n\n/* harmony import */ var _type__WEBPACK_IMPORTED_MODULE_220__ = __webpack_require__(/*! ./type */ \"./node_modules/ramda/es/type.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"type\", function() { return _type__WEBPACK_IMPORTED_MODULE_220__[\"default\"]; });\n\n/* harmony import */ var _unapply__WEBPACK_IMPORTED_MODULE_221__ = __webpack_require__(/*! ./unapply */ \"./node_modules/ramda/es/unapply.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unapply\", function() { return _unapply__WEBPACK_IMPORTED_MODULE_221__[\"default\"]; });\n\n/* harmony import */ var _unary__WEBPACK_IMPORTED_MODULE_222__ = __webpack_require__(/*! ./unary */ \"./node_modules/ramda/es/unary.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unary\", function() { return _unary__WEBPACK_IMPORTED_MODULE_222__[\"default\"]; });\n\n/* harmony import */ var _uncurryN__WEBPACK_IMPORTED_MODULE_223__ = __webpack_require__(/*! ./uncurryN */ \"./node_modules/ramda/es/uncurryN.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"uncurryN\", function() { return _uncurryN__WEBPACK_IMPORTED_MODULE_223__[\"default\"]; });\n\n/* harmony import */ var _unfold__WEBPACK_IMPORTED_MODULE_224__ = __webpack_require__(/*! ./unfold */ \"./node_modules/ramda/es/unfold.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unfold\", function() { return _unfold__WEBPACK_IMPORTED_MODULE_224__[\"default\"]; });\n\n/* harmony import */ var _union__WEBPACK_IMPORTED_MODULE_225__ = __webpack_require__(/*! ./union */ \"./node_modules/ramda/es/union.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"union\", function() { return _union__WEBPACK_IMPORTED_MODULE_225__[\"default\"]; });\n\n/* harmony import */ var _unionWith__WEBPACK_IMPORTED_MODULE_226__ = __webpack_require__(/*! ./unionWith */ \"./node_modules/ramda/es/unionWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unionWith\", function() { return _unionWith__WEBPACK_IMPORTED_MODULE_226__[\"default\"]; });\n\n/* harmony import */ var _uniq__WEBPACK_IMPORTED_MODULE_227__ = __webpack_require__(/*! ./uniq */ \"./node_modules/ramda/es/uniq.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"uniq\", function() { return _uniq__WEBPACK_IMPORTED_MODULE_227__[\"default\"]; });\n\n/* harmony import */ var _uniqBy__WEBPACK_IMPORTED_MODULE_228__ = __webpack_require__(/*! ./uniqBy */ \"./node_modules/ramda/es/uniqBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"uniqBy\", function() { return _uniqBy__WEBPACK_IMPORTED_MODULE_228__[\"default\"]; });\n\n/* harmony import */ var _uniqWith__WEBPACK_IMPORTED_MODULE_229__ = __webpack_require__(/*! ./uniqWith */ \"./node_modules/ramda/es/uniqWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"uniqWith\", function() { return _uniqWith__WEBPACK_IMPORTED_MODULE_229__[\"default\"]; });\n\n/* harmony import */ var _unless__WEBPACK_IMPORTED_MODULE_230__ = __webpack_require__(/*! ./unless */ \"./node_modules/ramda/es/unless.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unless\", function() { return _unless__WEBPACK_IMPORTED_MODULE_230__[\"default\"]; });\n\n/* harmony import */ var _unnest__WEBPACK_IMPORTED_MODULE_231__ = __webpack_require__(/*! ./unnest */ \"./node_modules/ramda/es/unnest.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unnest\", function() { return _unnest__WEBPACK_IMPORTED_MODULE_231__[\"default\"]; });\n\n/* harmony import */ var _until__WEBPACK_IMPORTED_MODULE_232__ = __webpack_require__(/*! ./until */ \"./node_modules/ramda/es/until.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"until\", function() { return _until__WEBPACK_IMPORTED_MODULE_232__[\"default\"]; });\n\n/* harmony import */ var _update__WEBPACK_IMPORTED_MODULE_233__ = __webpack_require__(/*! ./update */ \"./node_modules/ramda/es/update.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"update\", function() { return _update__WEBPACK_IMPORTED_MODULE_233__[\"default\"]; });\n\n/* harmony import */ var _useWith__WEBPACK_IMPORTED_MODULE_234__ = __webpack_require__(/*! ./useWith */ \"./node_modules/ramda/es/useWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"useWith\", function() { return _useWith__WEBPACK_IMPORTED_MODULE_234__[\"default\"]; });\n\n/* harmony import */ var _values__WEBPACK_IMPORTED_MODULE_235__ = __webpack_require__(/*! ./values */ \"./node_modules/ramda/es/values.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"values\", function() { return _values__WEBPACK_IMPORTED_MODULE_235__[\"default\"]; });\n\n/* harmony import */ var _valuesIn__WEBPACK_IMPORTED_MODULE_236__ = __webpack_require__(/*! ./valuesIn */ \"./node_modules/ramda/es/valuesIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"valuesIn\", function() { return _valuesIn__WEBPACK_IMPORTED_MODULE_236__[\"default\"]; });\n\n/* harmony import */ var _view__WEBPACK_IMPORTED_MODULE_237__ = __webpack_require__(/*! ./view */ \"./node_modules/ramda/es/view.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"view\", function() { return _view__WEBPACK_IMPORTED_MODULE_237__[\"default\"]; });\n\n/* harmony import */ var _when__WEBPACK_IMPORTED_MODULE_238__ = __webpack_require__(/*! ./when */ \"./node_modules/ramda/es/when.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"when\", function() { return _when__WEBPACK_IMPORTED_MODULE_238__[\"default\"]; });\n\n/* harmony import */ var _where__WEBPACK_IMPORTED_MODULE_239__ = __webpack_require__(/*! ./where */ \"./node_modules/ramda/es/where.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"where\", function() { return _where__WEBPACK_IMPORTED_MODULE_239__[\"default\"]; });\n\n/* harmony import */ var _whereEq__WEBPACK_IMPORTED_MODULE_240__ = __webpack_require__(/*! ./whereEq */ \"./node_modules/ramda/es/whereEq.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"whereEq\", function() { return _whereEq__WEBPACK_IMPORTED_MODULE_240__[\"default\"]; });\n\n/* harmony import */ var _without__WEBPACK_IMPORTED_MODULE_241__ = __webpack_require__(/*! ./without */ \"./node_modules/ramda/es/without.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"without\", function() { return _without__WEBPACK_IMPORTED_MODULE_241__[\"default\"]; });\n\n/* harmony import */ var _xprod__WEBPACK_IMPORTED_MODULE_242__ = __webpack_require__(/*! ./xprod */ \"./node_modules/ramda/es/xprod.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"xprod\", function() { return _xprod__WEBPACK_IMPORTED_MODULE_242__[\"default\"]; });\n\n/* harmony import */ var _zip__WEBPACK_IMPORTED_MODULE_243__ = __webpack_require__(/*! ./zip */ \"./node_modules/ramda/es/zip.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zip\", function() { return _zip__WEBPACK_IMPORTED_MODULE_243__[\"default\"]; });\n\n/* harmony import */ var _zipObj__WEBPACK_IMPORTED_MODULE_244__ = __webpack_require__(/*! ./zipObj */ \"./node_modules/ramda/es/zipObj.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zipObj\", function() { return _zipObj__WEBPACK_IMPORTED_MODULE_244__[\"default\"]; });\n\n/* harmony import */ var _zipWith__WEBPACK_IMPORTED_MODULE_245__ = __webpack_require__(/*! ./zipWith */ \"./node_modules/ramda/es/zipWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zipWith\", function() { return _zipWith__WEBPACK_IMPORTED_MODULE_245__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/indexBy.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/indexBy.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _reduceBy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./reduceBy */ \"./node_modules/ramda/es/reduceBy.js\");\n\n\n/**\n * Given a function that generates a key, turns a list of objects into an\n * object indexing the objects by the given key. Note that if multiple\n * objects generate the same value for the indexing key only the last value\n * will be included in the generated object.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig (a -> String) -> [{k: v}] -> {k: {k: v}}\n * @param {Function} fn Function :: a -> String\n * @param {Array} array The array of objects to index\n * @return {Object} An object indexing each array element by the given property.\n * @example\n *\n *      var list = [{id: 'xyz', title: 'A'}, {id: 'abc', title: 'B'}];\n *      R.indexBy(R.prop('id'), list);\n *      //=> {abc: {id: 'abc', title: 'B'}, xyz: {id: 'xyz', title: 'A'}}\n */\nvar indexBy = /*#__PURE__*/Object(_reduceBy__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (acc, elem) {\n  return elem;\n}, null);\n/* harmony default export */ __webpack_exports__[\"default\"] = (indexBy);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/indexOf.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/indexOf.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_indexOf__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_indexOf */ \"./node_modules/ramda/es/internal/_indexOf.js\");\n/* harmony import */ var _internal_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isArray */ \"./node_modules/ramda/es/internal/_isArray.js\");\n\n\n\n\n/**\n * Returns the position of the first occurrence of an item in an array, or -1\n * if the item is not included in the array. [`R.equals`](#equals) is used to\n * determine equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> Number\n * @param {*} target The item to find.\n * @param {Array} xs The array to search in.\n * @return {Number} the index of the target, or -1 if the target is not found.\n * @see R.lastIndexOf\n * @example\n *\n *      R.indexOf(3, [1,2,3,4]); //=> 2\n *      R.indexOf(10, [1,2,3,4]); //=> -1\n */\nvar indexOf = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function indexOf(target, xs) {\n  return typeof xs.indexOf === 'function' && !Object(_internal_isArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(xs) ? xs.indexOf(target) : Object(_internal_indexOf__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(xs, target, 0);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (indexOf);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/init.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/init.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./slice */ \"./node_modules/ramda/es/slice.js\");\n\n\n/**\n * Returns all but the last element of the given list or string.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {*} list\n * @return {*}\n * @see R.last, R.head, R.tail\n * @example\n *\n *      R.init([1, 2, 3]);  //=> [1, 2]\n *      R.init([1, 2]);     //=> [1]\n *      R.init([1]);        //=> []\n *      R.init([]);         //=> []\n *\n *      R.init('abc');  //=> 'ab'\n *      R.init('ab');   //=> 'a'\n *      R.init('a');    //=> ''\n *      R.init('');     //=> ''\n */\nvar init = /*#__PURE__*/Object(_slice__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(0, -1);\n/* harmony default export */ __webpack_exports__[\"default\"] = (init);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/innerJoin.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/innerJoin.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_containsWith__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_containsWith */ \"./node_modules/ramda/es/internal/_containsWith.js\");\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _internal_filter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_filter */ \"./node_modules/ramda/es/internal/_filter.js\");\n\n\n\n\n/**\n * Takes a predicate `pred`, a list `xs`, and a list `ys`, and returns a list\n * `xs'` comprising each of the elements of `xs` which is equal to one or more\n * elements of `ys` according to `pred`.\n *\n * `pred` must be a binary function expecting an element from each list.\n *\n * `xs`, `ys`, and `xs'` are treated as sets, semantically, so ordering should\n * not be significant, but since `xs'` is ordered the implementation guarantees\n * that its values are in the same order as they appear in `xs`. Duplicates are\n * not removed, so `xs'` may contain duplicates if `xs` contains duplicates.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Relation\n * @sig ((a, b) -> Boolean) -> [a] -> [b] -> [a]\n * @param {Function} pred\n * @param {Array} xs\n * @param {Array} ys\n * @return {Array}\n * @see R.intersection\n * @example\n *\n *      R.innerJoin(\n *        (record, id) => record.id === id,\n *        [{id: 824, name: 'Richie Furay'},\n *         {id: 956, name: 'Dewey Martin'},\n *         {id: 313, name: 'Bruce Palmer'},\n *         {id: 456, name: 'Stephen Stills'},\n *         {id: 177, name: 'Neil Young'}],\n *        [177, 456, 999]\n *      );\n *      //=> [{id: 456, name: 'Stephen Stills'}, {id: 177, name: 'Neil Young'}]\n */\nvar innerJoin = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function innerJoin(pred, xs, ys) {\n  return Object(_internal_filter__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function (x) {\n    return Object(_internal_containsWith__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pred, x, ys);\n  }, xs);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (innerJoin);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/insert.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/insert.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Inserts the supplied element into the list, at the specified `index`. _Note that\n\n * this is not destructive_: it returns a copy of the list with the changes.\n * <small>No lists have been harmed in the application of this function.</small>\n *\n * @func\n * @memberOf R\n * @since v0.2.2\n * @category List\n * @sig Number -> a -> [a] -> [a]\n * @param {Number} index The position to insert the element\n * @param {*} elt The element to insert into the Array\n * @param {Array} list The list to insert into\n * @return {Array} A new Array with `elt` inserted at `index`.\n * @example\n *\n *      R.insert(2, 'x', [1,2,3,4]); //=> [1,2,'x',3,4]\n */\nvar insert = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function insert(idx, elt, list) {\n  idx = idx < list.length && idx >= 0 ? idx : list.length;\n  var result = Array.prototype.slice.call(list, 0);\n  result.splice(idx, 0, elt);\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (insert);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/insertAll.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/insertAll.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Inserts the sub-list into the list, at the specified `index`. _Note that this is not\n * destructive_: it returns a copy of the list with the changes.\n * <small>No lists have been harmed in the application of this function.</small>\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category List\n * @sig Number -> [a] -> [a] -> [a]\n * @param {Number} index The position to insert the sub-list\n * @param {Array} elts The sub-list to insert into the Array\n * @param {Array} list The list to insert the sub-list into\n * @return {Array} A new Array with `elts` inserted starting at `index`.\n * @example\n *\n *      R.insertAll(2, ['x','y','z'], [1,2,3,4]); //=> [1,2,'x','y','z',3,4]\n */\nvar insertAll = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function insertAll(idx, elts, list) {\n  idx = idx < list.length && idx >= 0 ? idx : list.length;\n  return [].concat(Array.prototype.slice.call(list, 0, idx), elts, Array.prototype.slice.call(list, idx));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (insertAll);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_Set.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_Set.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contains__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_contains */ \"./node_modules/ramda/es/internal/_contains.js\");\n\n\nvar _Set = /*#__PURE__*/function () {\n  function _Set() {\n    /* globals Set */\n    this._nativeSet = typeof Set === 'function' ? new Set() : null;\n    this._items = {};\n  }\n\n  // until we figure out why jsdoc chokes on this\n  // @param item The item to add to the Set\n  // @returns {boolean} true if the item did not exist prior, otherwise false\n  //\n  _Set.prototype.add = function (item) {\n    return !hasOrAdd(item, true, this);\n  };\n\n  //\n  // @param item The item to check for existence in the Set\n  // @returns {boolean} true if the item exists in the Set, otherwise false\n  //\n  _Set.prototype.has = function (item) {\n    return hasOrAdd(item, false, this);\n  };\n\n  //\n  // Combines the logic for checking whether an item is a member of the set and\n  // for adding a new item to the set.\n  //\n  // @param item       The item to check or add to the Set instance.\n  // @param shouldAdd  If true, the item will be added to the set if it doesn't\n  //                   already exist.\n  // @param set        The set instance to check or add to.\n  // @return {boolean} true if the item already existed, otherwise false.\n  //\n  return _Set;\n}();\n\nfunction hasOrAdd(item, shouldAdd, set) {\n  var type = typeof item;\n  var prevSize, newSize;\n  switch (type) {\n    case 'string':\n    case 'number':\n      // distinguish between +0 and -0\n      if (item === 0 && 1 / item === -Infinity) {\n        if (set._items['-0']) {\n          return true;\n        } else {\n          if (shouldAdd) {\n            set._items['-0'] = true;\n          }\n          return false;\n        }\n      }\n      // these types can all utilise the native Set\n      if (set._nativeSet !== null) {\n        if (shouldAdd) {\n          prevSize = set._nativeSet.size;\n          set._nativeSet.add(item);\n          newSize = set._nativeSet.size;\n          return newSize === prevSize;\n        } else {\n          return set._nativeSet.has(item);\n        }\n      } else {\n        if (!(type in set._items)) {\n          if (shouldAdd) {\n            set._items[type] = {};\n            set._items[type][item] = true;\n          }\n          return false;\n        } else if (item in set._items[type]) {\n          return true;\n        } else {\n          if (shouldAdd) {\n            set._items[type][item] = true;\n          }\n          return false;\n        }\n      }\n\n    case 'boolean':\n      // set._items['boolean'] holds a two element array\n      // representing [ falseExists, trueExists ]\n      if (type in set._items) {\n        var bIdx = item ? 1 : 0;\n        if (set._items[type][bIdx]) {\n          return true;\n        } else {\n          if (shouldAdd) {\n            set._items[type][bIdx] = true;\n          }\n          return false;\n        }\n      } else {\n        if (shouldAdd) {\n          set._items[type] = item ? [false, true] : [true, false];\n        }\n        return false;\n      }\n\n    case 'function':\n      // compare functions for reference equality\n      if (set._nativeSet !== null) {\n        if (shouldAdd) {\n          prevSize = set._nativeSet.size;\n          set._nativeSet.add(item);\n          newSize = set._nativeSet.size;\n          return newSize === prevSize;\n        } else {\n          return set._nativeSet.has(item);\n        }\n      } else {\n        if (!(type in set._items)) {\n          if (shouldAdd) {\n            set._items[type] = [item];\n          }\n          return false;\n        }\n        if (!Object(_contains__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(item, set._items[type])) {\n          if (shouldAdd) {\n            set._items[type].push(item);\n          }\n          return false;\n        }\n        return true;\n      }\n\n    case 'undefined':\n      if (set._items[type]) {\n        return true;\n      } else {\n        if (shouldAdd) {\n          set._items[type] = true;\n        }\n        return false;\n      }\n\n    case 'object':\n      if (item === null) {\n        if (!set._items['null']) {\n          if (shouldAdd) {\n            set._items['null'] = true;\n          }\n          return false;\n        }\n        return true;\n      }\n    /* falls through */\n    default:\n      // reduce the search size of heterogeneous sets by creating buckets\n      // for each type.\n      type = Object.prototype.toString.call(item);\n      if (!(type in set._items)) {\n        if (shouldAdd) {\n          set._items[type] = [item];\n        }\n        return false;\n      }\n      // scan through all previously applied items\n      if (!Object(_contains__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(item, set._items[type])) {\n        if (shouldAdd) {\n          set._items[type].push(item);\n        }\n        return false;\n      }\n      return true;\n  }\n}\n\n// A simple Set type that honours R.equals semantics\n/* harmony default export */ __webpack_exports__[\"default\"] = (_Set);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_aperture.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_aperture.js ***!\n  \\*****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _aperture; });\nfunction _aperture(n, list) {\n  var idx = 0;\n  var limit = list.length - (n - 1);\n  var acc = new Array(limit >= 0 ? limit : 0);\n  while (idx < limit) {\n    acc[idx] = Array.prototype.slice.call(list, idx, idx + n);\n    idx += 1;\n  }\n  return acc;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_arity.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_arity.js ***!\n  \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _arity; });\nfunction _arity(n, fn) {\n  /* eslint-disable no-unused-vars */\n  switch (n) {\n    case 0:\n      return function () {\n        return fn.apply(this, arguments);\n      };\n    case 1:\n      return function (a0) {\n        return fn.apply(this, arguments);\n      };\n    case 2:\n      return function (a0, a1) {\n        return fn.apply(this, arguments);\n      };\n    case 3:\n      return function (a0, a1, a2) {\n        return fn.apply(this, arguments);\n      };\n    case 4:\n      return function (a0, a1, a2, a3) {\n        return fn.apply(this, arguments);\n      };\n    case 5:\n      return function (a0, a1, a2, a3, a4) {\n        return fn.apply(this, arguments);\n      };\n    case 6:\n      return function (a0, a1, a2, a3, a4, a5) {\n        return fn.apply(this, arguments);\n      };\n    case 7:\n      return function (a0, a1, a2, a3, a4, a5, a6) {\n        return fn.apply(this, arguments);\n      };\n    case 8:\n      return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n        return fn.apply(this, arguments);\n      };\n    case 9:\n      return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n        return fn.apply(this, arguments);\n      };\n    case 10:\n      return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n        return fn.apply(this, arguments);\n      };\n    default:\n      throw new Error('First argument to _arity must be a non-negative integer no greater than ten');\n  }\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_arrayFromIterator.js\":\n/*!**************************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_arrayFromIterator.js ***!\n  \\**************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _arrayFromIterator; });\nfunction _arrayFromIterator(iter) {\n  var list = [];\n  var next;\n  while (!(next = iter.next()).done) {\n    list.push(next.value);\n  }\n  return list;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_assign.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_assign.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _objectAssign__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_objectAssign */ \"./node_modules/ramda/es/internal/_objectAssign.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (typeof Object.assign === 'function' ? Object.assign : _objectAssign__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_checkForMethod.js\":\n/*!***********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_checkForMethod.js ***!\n  \\***********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _checkForMethod; });\n/* harmony import */ var _isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isArray */ \"./node_modules/ramda/es/internal/_isArray.js\");\n\n\n/**\n * This checks whether a function has a [methodname] function. If it isn't an\n * array it will execute that function otherwise it will default to the ramda\n * implementation.\n *\n * @private\n * @param {Function} fn ramda implemtation\n * @param {String} methodname property to check for a custom implementation\n * @return {Object} Whatever the return value of the method is.\n */\nfunction _checkForMethod(methodname, fn) {\n  return function () {\n    var length = arguments.length;\n    if (length === 0) {\n      return fn();\n    }\n    var obj = arguments[length - 1];\n    return Object(_isArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(obj) || typeof obj[methodname] !== 'function' ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1));\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_clone.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_clone.js ***!\n  \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _clone; });\n/* harmony import */ var _cloneRegExp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_cloneRegExp */ \"./node_modules/ramda/es/internal/_cloneRegExp.js\");\n/* harmony import */ var _type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../type */ \"./node_modules/ramda/es/type.js\");\n\n\n\n/**\n * Copies an object.\n *\n * @private\n * @param {*} value The value to be copied\n * @param {Array} refFrom Array containing the source references\n * @param {Array} refTo Array containing the copied source references\n * @param {Boolean} deep Whether or not to perform deep cloning.\n * @return {*} The copied value.\n */\nfunction _clone(value, refFrom, refTo, deep) {\n  var copy = function copy(copiedValue) {\n    var len = refFrom.length;\n    var idx = 0;\n    while (idx < len) {\n      if (value === refFrom[idx]) {\n        return refTo[idx];\n      }\n      idx += 1;\n    }\n    refFrom[idx + 1] = value;\n    refTo[idx + 1] = copiedValue;\n    for (var key in value) {\n      copiedValue[key] = deep ? _clone(value[key], refFrom, refTo, true) : value[key];\n    }\n    return copiedValue;\n  };\n  switch (Object(_type__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value)) {\n    case 'Object':\n      return copy({});\n    case 'Array':\n      return copy([]);\n    case 'Date':\n      return new Date(value.valueOf());\n    case 'RegExp':\n      return Object(_cloneRegExp__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n    default:\n      return value;\n  }\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_cloneRegExp.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_cloneRegExp.js ***!\n  \\********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _cloneRegExp; });\nfunction _cloneRegExp(pattern) {\n                                  return new RegExp(pattern.source, (pattern.global ? 'g' : '') + (pattern.ignoreCase ? 'i' : '') + (pattern.multiline ? 'm' : '') + (pattern.sticky ? 'y' : '') + (pattern.unicode ? 'u' : ''));\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_complement.js\":\n/*!*******************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_complement.js ***!\n  \\*******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _complement; });\nfunction _complement(f) {\n  return function () {\n    return !f.apply(this, arguments);\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_concat.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_concat.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _concat; });\n/**\n * Private `concat` function to merge two array-like objects.\n *\n * @private\n * @param {Array|Arguments} [set1=[]] An array-like object.\n * @param {Array|Arguments} [set2=[]] An array-like object.\n * @return {Array} A new, merged array.\n * @example\n *\n *      _concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n */\nfunction _concat(set1, set2) {\n  set1 = set1 || [];\n  set2 = set2 || [];\n  var idx;\n  var len1 = set1.length;\n  var len2 = set2.length;\n  var result = [];\n\n  idx = 0;\n  while (idx < len1) {\n    result[result.length] = set1[idx];\n    idx += 1;\n  }\n  idx = 0;\n  while (idx < len2) {\n    result[result.length] = set2[idx];\n    idx += 1;\n  }\n  return result;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_contains.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_contains.js ***!\n  \\*****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _contains; });\n/* harmony import */ var _indexOf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_indexOf */ \"./node_modules/ramda/es/internal/_indexOf.js\");\n\n\nfunction _contains(a, list) {\n  return Object(_indexOf__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(list, a, 0) >= 0;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_containsWith.js\":\n/*!*********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_containsWith.js ***!\n  \\*********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _containsWith; });\nfunction _containsWith(pred, x, list) {\n  var idx = 0;\n  var len = list.length;\n\n  while (idx < len) {\n    if (pred(x, list[idx])) {\n      return true;\n    }\n    idx += 1;\n  }\n  return false;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_createPartialApplicator.js\":\n/*!********************************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_createPartialApplicator.js ***!\n  \\********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _createPartialApplicator; });\n/* harmony import */ var _arity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arity */ \"./node_modules/ramda/es/internal/_arity.js\");\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n\nfunction _createPartialApplicator(concat) {\n  return Object(_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (fn, args) {\n    return Object(_arity__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Math.max(0, fn.length - args.length), function () {\n      return fn.apply(this, concat(args, arguments));\n    });\n  });\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_curry1.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_curry1.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _curry1; });\n/* harmony import */ var _isPlaceholder__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isPlaceholder */ \"./node_modules/ramda/es/internal/_isPlaceholder.js\");\n\n\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nfunction _curry1(fn) {\n  return function f1(a) {\n    if (arguments.length === 0 || Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(a)) {\n      return f1;\n    } else {\n      return fn.apply(this, arguments);\n    }\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_curry2.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_curry2.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _curry2; });\n/* harmony import */ var _curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _isPlaceholder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isPlaceholder */ \"./node_modules/ramda/es/internal/_isPlaceholder.js\");\n\n\n\n/**\n * Optimized internal two-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nfunction _curry2(fn) {\n  return function f2(a, b) {\n    switch (arguments.length) {\n      case 0:\n        return f2;\n      case 1:\n        return Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(a) ? f2 : Object(_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (_b) {\n          return fn(a, _b);\n        });\n      default:\n        return Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(a) && Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(b) ? f2 : Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(a) ? Object(_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (_a) {\n          return fn(_a, b);\n        }) : Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(b) ? Object(_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (_b) {\n          return fn(a, _b);\n        }) : fn(a, b);\n    }\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_curry3.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_curry3.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _curry3; });\n/* harmony import */ var _curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _isPlaceholder__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_isPlaceholder */ \"./node_modules/ramda/es/internal/_isPlaceholder.js\");\n\n\n\n\n/**\n * Optimized internal three-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nfunction _curry3(fn) {\n  return function f3(a, b, c) {\n    switch (arguments.length) {\n      case 0:\n        return f3;\n      case 1:\n        return Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(a) ? f3 : Object(_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (_b, _c) {\n          return fn(a, _b, _c);\n        });\n      case 2:\n        return Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(a) && Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(b) ? f3 : Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(a) ? Object(_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (_a, _c) {\n          return fn(_a, b, _c);\n        }) : Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(b) ? Object(_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (_b, _c) {\n          return fn(a, _b, _c);\n        }) : Object(_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (_c) {\n          return fn(a, b, _c);\n        });\n      default:\n        return Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(a) && Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(b) && Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(c) ? f3 : Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(a) && Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(b) ? Object(_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (_a, _b) {\n          return fn(_a, _b, c);\n        }) : Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(a) && Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(c) ? Object(_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (_a, _c) {\n          return fn(_a, b, _c);\n        }) : Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(b) && Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(c) ? Object(_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (_b, _c) {\n          return fn(a, _b, _c);\n        }) : Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(a) ? Object(_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (_a) {\n          return fn(_a, b, c);\n        }) : Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(b) ? Object(_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (_b) {\n          return fn(a, _b, c);\n        }) : Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(c) ? Object(_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (_c) {\n          return fn(a, b, _c);\n        }) : fn(a, b, c);\n    }\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_curryN.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_curryN.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _curryN; });\n/* harmony import */ var _arity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arity */ \"./node_modules/ramda/es/internal/_arity.js\");\n/* harmony import */ var _isPlaceholder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isPlaceholder */ \"./node_modules/ramda/es/internal/_isPlaceholder.js\");\n\n\n\n/**\n * Internal curryN function.\n *\n * @private\n * @category Function\n * @param {Number} length The arity of the curried function.\n * @param {Array} received An array of arguments received thus far.\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nfunction _curryN(length, received, fn) {\n  return function () {\n    var combined = [];\n    var argsIdx = 0;\n    var left = length;\n    var combinedIdx = 0;\n    while (combinedIdx < received.length || argsIdx < arguments.length) {\n      var result;\n      if (combinedIdx < received.length && (!Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(received[combinedIdx]) || argsIdx >= arguments.length)) {\n        result = received[combinedIdx];\n      } else {\n        result = arguments[argsIdx];\n        argsIdx += 1;\n      }\n      combined[combinedIdx] = result;\n      if (!Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(result)) {\n        left -= 1;\n      }\n      combinedIdx += 1;\n    }\n    return left <= 0 ? fn.apply(this, combined) : Object(_arity__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(left, _curryN(length, combined, fn));\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_dispatchable.js\":\n/*!*********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_dispatchable.js ***!\n  \\*********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _dispatchable; });\n/* harmony import */ var _isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isArray */ \"./node_modules/ramda/es/internal/_isArray.js\");\n/* harmony import */ var _isTransformer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isTransformer */ \"./node_modules/ramda/es/internal/_isTransformer.js\");\n\n\n\n/**\n * Returns a function that dispatches with different strategies based on the\n * object in list position (last argument). If it is an array, executes [fn].\n * Otherwise, if it has a function with one of the given method names, it will\n * execute that function (functor case). Otherwise, if it is a transformer,\n * uses transducer [xf] to return a new transformer (transducer case).\n * Otherwise, it will default to executing [fn].\n *\n * @private\n * @param {Array} methodNames properties to check for a custom implementation\n * @param {Function} xf transducer to initialize if object is transformer\n * @param {Function} fn default ramda implementation\n * @return {Function} A function that dispatches on object in list position\n */\nfunction _dispatchable(methodNames, xf, fn) {\n  return function () {\n    if (arguments.length === 0) {\n      return fn();\n    }\n    var args = Array.prototype.slice.call(arguments, 0);\n    var obj = args.pop();\n    if (!Object(_isArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(obj)) {\n      var idx = 0;\n      while (idx < methodNames.length) {\n        if (typeof obj[methodNames[idx]] === 'function') {\n          return obj[methodNames[idx]].apply(obj, args);\n        }\n        idx += 1;\n      }\n      if (Object(_isTransformer__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(obj)) {\n        var transducer = xf.apply(null, args);\n        return transducer(obj);\n      }\n    }\n    return fn.apply(this, arguments);\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_dropLast.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_dropLast.js ***!\n  \\*****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return dropLast; });\n/* harmony import */ var _take__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../take */ \"./node_modules/ramda/es/take.js\");\n\n\nfunction dropLast(n, xs) {\n  return Object(_take__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(n < xs.length ? xs.length - n : 0, xs);\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_dropLastWhile.js\":\n/*!**********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_dropLastWhile.js ***!\n  \\**********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return dropLastWhile; });\n/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../slice */ \"./node_modules/ramda/es/slice.js\");\n\n\nfunction dropLastWhile(pred, xs) {\n  var idx = xs.length - 1;\n  while (idx >= 0 && pred(xs[idx])) {\n    idx -= 1;\n  }\n  return Object(_slice__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(0, idx + 1, xs);\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_equals.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_equals.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _equals; });\n/* harmony import */ var _arrayFromIterator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayFromIterator */ \"./node_modules/ramda/es/internal/_arrayFromIterator.js\");\n/* harmony import */ var _containsWith__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_containsWith */ \"./node_modules/ramda/es/internal/_containsWith.js\");\n/* harmony import */ var _functionName__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_functionName */ \"./node_modules/ramda/es/internal/_functionName.js\");\n/* harmony import */ var _has__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_has */ \"./node_modules/ramda/es/internal/_has.js\");\n/* harmony import */ var _identical__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../identical */ \"./node_modules/ramda/es/identical.js\");\n/* harmony import */ var _keys__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../keys */ \"./node_modules/ramda/es/keys.js\");\n/* harmony import */ var _type__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../type */ \"./node_modules/ramda/es/type.js\");\n\n\n\n\n\n\n\n\n/**\n * private _uniqContentEquals function.\n * That function is checking equality of 2 iterator contents with 2 assumptions\n * - iterators lengths are the same\n * - iterators values are unique\n *\n * false-positive result will be returned for comparision of, e.g.\n * - [1,2,3] and [1,2,3,4]\n * - [1,1,1] and [1,2,3]\n * */\n\nfunction _uniqContentEquals(aIterator, bIterator, stackA, stackB) {\n  var a = Object(_arrayFromIterator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(aIterator);\n  var b = Object(_arrayFromIterator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(bIterator);\n\n  function eq(_a, _b) {\n    return _equals(_a, _b, stackA.slice(), stackB.slice());\n  }\n\n  // if *a* array contains any element that is not included in *b*\n  return !Object(_containsWith__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (b, aItem) {\n    return !Object(_containsWith__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(eq, aItem, b);\n  }, b, a);\n}\n\nfunction _equals(a, b, stackA, stackB) {\n  if (Object(_identical__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(a, b)) {\n    return true;\n  }\n\n  var typeA = Object(_type__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(a);\n\n  if (typeA !== Object(_type__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(b)) {\n    return false;\n  }\n\n  if (a == null || b == null) {\n    return false;\n  }\n\n  if (typeof a['fantasy-land/equals'] === 'function' || typeof b['fantasy-land/equals'] === 'function') {\n    return typeof a['fantasy-land/equals'] === 'function' && a['fantasy-land/equals'](b) && typeof b['fantasy-land/equals'] === 'function' && b['fantasy-land/equals'](a);\n  }\n\n  if (typeof a.equals === 'function' || typeof b.equals === 'function') {\n    return typeof a.equals === 'function' && a.equals(b) && typeof b.equals === 'function' && b.equals(a);\n  }\n\n  switch (typeA) {\n    case 'Arguments':\n    case 'Array':\n    case 'Object':\n      if (typeof a.constructor === 'function' && Object(_functionName__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(a.constructor) === 'Promise') {\n        return a === b;\n      }\n      break;\n    case 'Boolean':\n    case 'Number':\n    case 'String':\n      if (!(typeof a === typeof b && Object(_identical__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(a.valueOf(), b.valueOf()))) {\n        return false;\n      }\n      break;\n    case 'Date':\n      if (!Object(_identical__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(a.valueOf(), b.valueOf())) {\n        return false;\n      }\n      break;\n    case 'Error':\n      return a.name === b.name && a.message === b.message;\n    case 'RegExp':\n      if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) {\n        return false;\n      }\n      break;\n  }\n\n  var idx = stackA.length - 1;\n  while (idx >= 0) {\n    if (stackA[idx] === a) {\n      return stackB[idx] === b;\n    }\n    idx -= 1;\n  }\n\n  switch (typeA) {\n    case 'Map':\n      if (a.size !== b.size) {\n        return false;\n      }\n\n      return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b]));\n    case 'Set':\n      if (a.size !== b.size) {\n        return false;\n      }\n\n      return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b]));\n    case 'Arguments':\n    case 'Array':\n    case 'Object':\n    case 'Boolean':\n    case 'Number':\n    case 'String':\n    case 'Date':\n    case 'Error':\n    case 'RegExp':\n    case 'Int8Array':\n    case 'Uint8Array':\n    case 'Uint8ClampedArray':\n    case 'Int16Array':\n    case 'Uint16Array':\n    case 'Int32Array':\n    case 'Uint32Array':\n    case 'Float32Array':\n    case 'Float64Array':\n    case 'ArrayBuffer':\n      break;\n    default:\n      // Values of other types are only equal if identical.\n      return false;\n  }\n\n  var keysA = Object(_keys__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(a);\n  if (keysA.length !== Object(_keys__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(b).length) {\n    return false;\n  }\n\n  var extendedStackA = stackA.concat([a]);\n  var extendedStackB = stackB.concat([b]);\n\n  idx = keysA.length - 1;\n  while (idx >= 0) {\n    var key = keysA[idx];\n    if (!(Object(_has__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) {\n      return false;\n    }\n    idx -= 1;\n  }\n  return true;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_filter.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_filter.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _filter; });\nfunction _filter(fn, list) {\n  var idx = 0;\n  var len = list.length;\n  var result = [];\n\n  while (idx < len) {\n    if (fn(list[idx])) {\n      result[result.length] = list[idx];\n    }\n    idx += 1;\n  }\n  return result;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_flatCat.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_flatCat.js ***!\n  \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _forceReduced__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_forceReduced */ \"./node_modules/ramda/es/internal/_forceReduced.js\");\n/* harmony import */ var _isArrayLike__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isArrayLike */ \"./node_modules/ramda/es/internal/_isArrayLike.js\");\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_reduce */ \"./node_modules/ramda/es/internal/_reduce.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\n\n\nvar preservingReduced = function (xf) {\n  return {\n    '@@transducer/init': _xfBase__WEBPACK_IMPORTED_MODULE_3__[\"default\"].init,\n    '@@transducer/result': function (result) {\n      return xf['@@transducer/result'](result);\n    },\n    '@@transducer/step': function (result, input) {\n      var ret = xf['@@transducer/step'](result, input);\n      return ret['@@transducer/reduced'] ? Object(_forceReduced__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ret) : ret;\n    }\n  };\n};\n\nvar _flatCat = function _xcat(xf) {\n  var rxf = preservingReduced(xf);\n  return {\n    '@@transducer/init': _xfBase__WEBPACK_IMPORTED_MODULE_3__[\"default\"].init,\n    '@@transducer/result': function (result) {\n      return rxf['@@transducer/result'](result);\n    },\n    '@@transducer/step': function (result, input) {\n      return !Object(_isArrayLike__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(input) ? Object(_reduce__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(rxf, result, [input]) : Object(_reduce__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(rxf, result, input);\n    }\n  };\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_flatCat);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_forceReduced.js\":\n/*!*********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_forceReduced.js ***!\n  \\*********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _forceReduced; });\nfunction _forceReduced(x) {\n  return {\n    '@@transducer/value': x,\n    '@@transducer/reduced': true\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_functionName.js\":\n/*!*********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_functionName.js ***!\n  \\*********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _functionName; });\nfunction _functionName(f) {\n  // String(x => x) evaluates to \"x => x\", so the pattern may not match.\n  var match = String(f).match(/^function (\\w*)/);\n  return match == null ? '' : match[1];\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_has.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_has.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _has; });\nfunction _has(prop, obj) {\n  return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_identity.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_identity.js ***!\n  \\*****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _identity; });\nfunction _identity(x) {\n  return x;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_indexOf.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_indexOf.js ***!\n  \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _indexOf; });\n/* harmony import */ var _equals__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../equals */ \"./node_modules/ramda/es/equals.js\");\n\n\nfunction _indexOf(list, a, idx) {\n  var inf, item;\n  // Array.prototype.indexOf doesn't exist below IE9\n  if (typeof list.indexOf === 'function') {\n    switch (typeof a) {\n      case 'number':\n        if (a === 0) {\n          // manually crawl the list to distinguish between +0 and -0\n          inf = 1 / a;\n          while (idx < list.length) {\n            item = list[idx];\n            if (item === 0 && 1 / item === inf) {\n              return idx;\n            }\n            idx += 1;\n          }\n          return -1;\n        } else if (a !== a) {\n          // NaN\n          while (idx < list.length) {\n            item = list[idx];\n            if (typeof item === 'number' && item !== item) {\n              return idx;\n            }\n            idx += 1;\n          }\n          return -1;\n        }\n        // non-zero numbers can utilise Set\n        return list.indexOf(a, idx);\n\n      // all these types can utilise Set\n      case 'string':\n      case 'boolean':\n      case 'function':\n      case 'undefined':\n        return list.indexOf(a, idx);\n\n      case 'object':\n        if (a === null) {\n          // null can utilise Set\n          return list.indexOf(a, idx);\n        }\n    }\n  }\n  // anything else not covered above, defer to R.equals\n  while (idx < list.length) {\n    if (Object(_equals__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(list[idx], a)) {\n      return idx;\n    }\n    idx += 1;\n  }\n  return -1;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_isArguments.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_isArguments.js ***!\n  \\********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _has__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_has */ \"./node_modules/ramda/es/internal/_has.js\");\n\n\nvar toString = Object.prototype.toString;\nvar _isArguments = function () {\n  return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) {\n    return toString.call(x) === '[object Arguments]';\n  } : function _isArguments(x) {\n    return Object(_has__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('callee', x);\n  };\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_isArguments);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_isArray.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_isArray.js ***!\n  \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/**\n * Tests whether or not an object is an array.\n *\n * @private\n * @param {*} val The object to test.\n * @return {Boolean} `true` if `val` is an array, `false` otherwise.\n * @example\n *\n *      _isArray([]); //=> true\n *      _isArray(null); //=> false\n *      _isArray({}); //=> false\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = (Array.isArray || function _isArray(val) {\n  return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]';\n});\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_isArrayLike.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_isArrayLike.js ***!\n  \\********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _isArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isArray */ \"./node_modules/ramda/es/internal/_isArray.js\");\n/* harmony import */ var _isString__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_isString */ \"./node_modules/ramda/es/internal/_isString.js\");\n\n\n\n\n/**\n * Tests whether or not an object is similar to an array.\n *\n * @private\n * @category Type\n * @category List\n * @sig * -> Boolean\n * @param {*} x The object to test.\n * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise.\n * @example\n *\n *      _isArrayLike([]); //=> true\n *      _isArrayLike(true); //=> false\n *      _isArrayLike({}); //=> false\n *      _isArrayLike({length: 10}); //=> false\n *      _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true\n */\nvar _isArrayLike = /*#__PURE__*/Object(_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function isArrayLike(x) {\n  if (Object(_isArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(x)) {\n    return true;\n  }\n  if (!x) {\n    return false;\n  }\n  if (typeof x !== 'object') {\n    return false;\n  }\n  if (Object(_isString__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(x)) {\n    return false;\n  }\n  if (x.nodeType === 1) {\n    return !!x.length;\n  }\n  if (x.length === 0) {\n    return true;\n  }\n  if (x.length > 0) {\n    return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1);\n  }\n  return false;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_isArrayLike);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_isFunction.js\":\n/*!*******************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_isFunction.js ***!\n  \\*******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _isFunction; });\nfunction _isFunction(x) {\n  return Object.prototype.toString.call(x) === '[object Function]';\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_isInteger.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_isInteger.js ***!\n  \\******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/**\n * Determine if the passed argument is an integer.\n *\n * @private\n * @param {*} n\n * @category Type\n * @return {Boolean}\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = (Number.isInteger || function _isInteger(n) {\n  return n << 0 === n;\n});\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_isNumber.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_isNumber.js ***!\n  \\*****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _isNumber; });\nfunction _isNumber(x) {\n  return Object.prototype.toString.call(x) === '[object Number]';\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_isObject.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_isObject.js ***!\n  \\*****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _isObject; });\nfunction _isObject(x) {\n  return Object.prototype.toString.call(x) === '[object Object]';\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_isPlaceholder.js\":\n/*!**********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_isPlaceholder.js ***!\n  \\**********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _isPlaceholder; });\nfunction _isPlaceholder(a) {\n       return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_isRegExp.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_isRegExp.js ***!\n  \\*****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _isRegExp; });\nfunction _isRegExp(x) {\n  return Object.prototype.toString.call(x) === '[object RegExp]';\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_isString.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_isString.js ***!\n  \\*****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _isString; });\nfunction _isString(x) {\n  return Object.prototype.toString.call(x) === '[object String]';\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_isTransformer.js\":\n/*!**********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_isTransformer.js ***!\n  \\**********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _isTransformer; });\nfunction _isTransformer(obj) {\n  return typeof obj['@@transducer/step'] === 'function';\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_makeFlat.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_makeFlat.js ***!\n  \\*****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _makeFlat; });\n/* harmony import */ var _isArrayLike__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isArrayLike */ \"./node_modules/ramda/es/internal/_isArrayLike.js\");\n\n\n/**\n * `_makeFlat` is a helper function that returns a one-level or fully recursive\n * function based on the flag passed in.\n *\n * @private\n */\nfunction _makeFlat(recursive) {\n  return function flatt(list) {\n    var value, jlen, j;\n    var result = [];\n    var idx = 0;\n    var ilen = list.length;\n\n    while (idx < ilen) {\n      if (Object(_isArrayLike__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(list[idx])) {\n        value = recursive ? flatt(list[idx]) : list[idx];\n        j = 0;\n        jlen = value.length;\n        while (j < jlen) {\n          result[result.length] = value[j];\n          j += 1;\n        }\n      } else {\n        result[result.length] = list[idx];\n      }\n      idx += 1;\n    }\n    return result;\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_map.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_map.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _map; });\nfunction _map(fn, functor) {\n  var idx = 0;\n  var len = functor.length;\n  var result = Array(len);\n  while (idx < len) {\n    result[idx] = fn(functor[idx]);\n    idx += 1;\n  }\n  return result;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_objectAssign.js\":\n/*!*********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_objectAssign.js ***!\n  \\*********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _objectAssign; });\n/* harmony import */ var _has__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_has */ \"./node_modules/ramda/es/internal/_has.js\");\n\n\n// Based on https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\nfunction _objectAssign(target) {\n  if (target == null) {\n    throw new TypeError('Cannot convert undefined or null to object');\n  }\n\n  var output = Object(target);\n  var idx = 1;\n  var length = arguments.length;\n  while (idx < length) {\n    var source = arguments[idx];\n    if (source != null) {\n      for (var nextKey in source) {\n        if (Object(_has__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(nextKey, source)) {\n          output[nextKey] = source[nextKey];\n        }\n      }\n    }\n    idx += 1;\n  }\n  return output;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_of.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_of.js ***!\n  \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _of; });\nfunction _of(x) {\n  return [x];\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_pipe.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_pipe.js ***!\n  \\*************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _pipe; });\nfunction _pipe(f, g) {\n  return function () {\n    return g.call(this, f.apply(this, arguments));\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_pipeP.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_pipeP.js ***!\n  \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _pipeP; });\nfunction _pipeP(f, g) {\n  return function () {\n    var ctx = this;\n    return f.apply(ctx, arguments).then(function (x) {\n      return g.call(ctx, x);\n    });\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_quote.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_quote.js ***!\n  \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _quote; });\nfunction _quote(s) {\n  var escaped = s.replace(/\\\\/g, '\\\\\\\\').replace(/[\\b]/g, '\\\\b') // \\b matches word boundary; [\\b] matches backspace\n  .replace(/\\f/g, '\\\\f').replace(/\\n/g, '\\\\n').replace(/\\r/g, '\\\\r').replace(/\\t/g, '\\\\t').replace(/\\v/g, '\\\\v').replace(/\\0/g, '\\\\0');\n\n  return '\"' + escaped.replace(/\"/g, '\\\\\"') + '\"';\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_reduce.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_reduce.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _reduce; });\n/* harmony import */ var _isArrayLike__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isArrayLike */ \"./node_modules/ramda/es/internal/_isArrayLike.js\");\n/* harmony import */ var _xwrap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xwrap */ \"./node_modules/ramda/es/internal/_xwrap.js\");\n/* harmony import */ var _bind__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../bind */ \"./node_modules/ramda/es/bind.js\");\n\n\n\n\nfunction _arrayReduce(xf, acc, list) {\n  var idx = 0;\n  var len = list.length;\n  while (idx < len) {\n    acc = xf['@@transducer/step'](acc, list[idx]);\n    if (acc && acc['@@transducer/reduced']) {\n      acc = acc['@@transducer/value'];\n      break;\n    }\n    idx += 1;\n  }\n  return xf['@@transducer/result'](acc);\n}\n\nfunction _iterableReduce(xf, acc, iter) {\n  var step = iter.next();\n  while (!step.done) {\n    acc = xf['@@transducer/step'](acc, step.value);\n    if (acc && acc['@@transducer/reduced']) {\n      acc = acc['@@transducer/value'];\n      break;\n    }\n    step = iter.next();\n  }\n  return xf['@@transducer/result'](acc);\n}\n\nfunction _methodReduce(xf, acc, obj, methodName) {\n  return xf['@@transducer/result'](obj[methodName](Object(_bind__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(xf['@@transducer/step'], xf), acc));\n}\n\nvar symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator';\n\nfunction _reduce(fn, acc, list) {\n  if (typeof fn === 'function') {\n    fn = Object(_xwrap__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fn);\n  }\n  if (Object(_isArrayLike__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(list)) {\n    return _arrayReduce(fn, acc, list);\n  }\n  if (typeof list['fantasy-land/reduce'] === 'function') {\n    return _methodReduce(fn, acc, list, 'fantasy-land/reduce');\n  }\n  if (list[symIterator] != null) {\n    return _iterableReduce(fn, acc, list[symIterator]());\n  }\n  if (typeof list.next === 'function') {\n    return _iterableReduce(fn, acc, list);\n  }\n  if (typeof list.reduce === 'function') {\n    return _methodReduce(fn, acc, list, 'reduce');\n  }\n\n  throw new TypeError('reduce: list must be array or iterable');\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_reduced.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_reduced.js ***!\n  \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _reduced; });\nfunction _reduced(x) {\n  return x && x['@@transducer/reduced'] ? x : {\n    '@@transducer/value': x,\n    '@@transducer/reduced': true\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_stepCat.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_stepCat.js ***!\n  \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _stepCat; });\n/* harmony import */ var _assign__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assign */ \"./node_modules/ramda/es/internal/_assign.js\");\n/* harmony import */ var _identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_identity */ \"./node_modules/ramda/es/internal/_identity.js\");\n/* harmony import */ var _isArrayLike__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_isArrayLike */ \"./node_modules/ramda/es/internal/_isArrayLike.js\");\n/* harmony import */ var _isTransformer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_isTransformer */ \"./node_modules/ramda/es/internal/_isTransformer.js\");\n/* harmony import */ var _objOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objOf */ \"./node_modules/ramda/es/objOf.js\");\n\n\n\n\n\n\nvar _stepCatArray = {\n  '@@transducer/init': Array,\n  '@@transducer/step': function (xs, x) {\n    xs.push(x);\n    return xs;\n  },\n  '@@transducer/result': _identity__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n};\nvar _stepCatString = {\n  '@@transducer/init': String,\n  '@@transducer/step': function (a, b) {\n    return a + b;\n  },\n  '@@transducer/result': _identity__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n};\nvar _stepCatObject = {\n  '@@transducer/init': Object,\n  '@@transducer/step': function (result, input) {\n    return Object(_assign__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(result, Object(_isArrayLike__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(input) ? Object(_objOf__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(input[0], input[1]) : input);\n  },\n  '@@transducer/result': _identity__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n};\n\nfunction _stepCat(obj) {\n  if (Object(_isTransformer__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(obj)) {\n    return obj;\n  }\n  if (Object(_isArrayLike__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(obj)) {\n    return _stepCatArray;\n  }\n  if (typeof obj === 'string') {\n    return _stepCatString;\n  }\n  if (typeof obj === 'object') {\n    return _stepCatObject;\n  }\n  throw new Error('Cannot create transformer for ' + obj);\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_toISOString.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_toISOString.js ***!\n  \\********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/**\n * Polyfill from <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString>.\n */\nvar pad = function pad(n) {\n  return (n < 10 ? '0' : '') + n;\n};\n\nvar _toISOString = typeof Date.prototype.toISOString === 'function' ? function _toISOString(d) {\n  return d.toISOString();\n} : function _toISOString(d) {\n  return d.getUTCFullYear() + '-' + pad(d.getUTCMonth() + 1) + '-' + pad(d.getUTCDate()) + 'T' + pad(d.getUTCHours()) + ':' + pad(d.getUTCMinutes()) + ':' + pad(d.getUTCSeconds()) + '.' + (d.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) + 'Z';\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_toISOString);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_toString.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_toString.js ***!\n  \\*****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _toString; });\n/* harmony import */ var _contains__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_contains */ \"./node_modules/ramda/es/internal/_contains.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_map */ \"./node_modules/ramda/es/internal/_map.js\");\n/* harmony import */ var _quote__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_quote */ \"./node_modules/ramda/es/internal/_quote.js\");\n/* harmony import */ var _toISOString__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_toISOString */ \"./node_modules/ramda/es/internal/_toISOString.js\");\n/* harmony import */ var _keys__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../keys */ \"./node_modules/ramda/es/keys.js\");\n/* harmony import */ var _reject__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../reject */ \"./node_modules/ramda/es/reject.js\");\n\n\n\n\n\n\n\nfunction _toString(x, seen) {\n  var recur = function recur(y) {\n    var xs = seen.concat([x]);\n    return Object(_contains__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(y, xs) ? '<Circular>' : _toString(y, xs);\n  };\n\n  //  mapPairs :: (Object, [String]) -> [String]\n  var mapPairs = function (obj, keys) {\n    return Object(_map__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (k) {\n      return Object(_quote__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(k) + ': ' + recur(obj[k]);\n    }, keys.slice().sort());\n  };\n\n  switch (Object.prototype.toString.call(x)) {\n    case '[object Arguments]':\n      return '(function() { return arguments; }(' + Object(_map__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(recur, x).join(', ') + '))';\n    case '[object Array]':\n      return '[' + Object(_map__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(recur, x).concat(mapPairs(x, Object(_reject__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(function (k) {\n        return (/^\\d+$/.test(k)\n        );\n      }, Object(_keys__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(x)))).join(', ') + ']';\n    case '[object Boolean]':\n      return typeof x === 'object' ? 'new Boolean(' + recur(x.valueOf()) + ')' : x.toString();\n    case '[object Date]':\n      return 'new Date(' + (isNaN(x.valueOf()) ? recur(NaN) : Object(_quote__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_toISOString__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(x))) + ')';\n    case '[object Null]':\n      return 'null';\n    case '[object Number]':\n      return typeof x === 'object' ? 'new Number(' + recur(x.valueOf()) + ')' : 1 / x === -Infinity ? '-0' : x.toString(10);\n    case '[object String]':\n      return typeof x === 'object' ? 'new String(' + recur(x.valueOf()) + ')' : Object(_quote__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(x);\n    case '[object Undefined]':\n      return 'undefined';\n    default:\n      if (typeof x.toString === 'function') {\n        var repr = x.toString();\n        if (repr !== '[object Object]') {\n          return repr;\n        }\n      }\n      return '{' + mapPairs(x, Object(_keys__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(x)).join(', ') + '}';\n  }\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xall.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xall.js ***!\n  \\*************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _reduced__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduced */ \"./node_modules/ramda/es/internal/_reduced.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\n\nvar XAll = /*#__PURE__*/function () {\n  function XAll(f, xf) {\n    this.xf = xf;\n    this.f = f;\n    this.all = true;\n  }\n  XAll.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_2__[\"default\"].init;\n  XAll.prototype['@@transducer/result'] = function (result) {\n    if (this.all) {\n      result = this.xf['@@transducer/step'](result, true);\n    }\n    return this.xf['@@transducer/result'](result);\n  };\n  XAll.prototype['@@transducer/step'] = function (result, input) {\n    if (!this.f(input)) {\n      this.all = false;\n      result = Object(_reduced__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.xf['@@transducer/step'](result, false));\n    }\n    return result;\n  };\n\n  return XAll;\n}();\n\nvar _xall = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xall(f, xf) {\n  return new XAll(f, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xall);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xany.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xany.js ***!\n  \\*************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _reduced__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduced */ \"./node_modules/ramda/es/internal/_reduced.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\n\nvar XAny = /*#__PURE__*/function () {\n  function XAny(f, xf) {\n    this.xf = xf;\n    this.f = f;\n    this.any = false;\n  }\n  XAny.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_2__[\"default\"].init;\n  XAny.prototype['@@transducer/result'] = function (result) {\n    if (!this.any) {\n      result = this.xf['@@transducer/step'](result, false);\n    }\n    return this.xf['@@transducer/result'](result);\n  };\n  XAny.prototype['@@transducer/step'] = function (result, input) {\n    if (this.f(input)) {\n      this.any = true;\n      result = Object(_reduced__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.xf['@@transducer/step'](result, true));\n    }\n    return result;\n  };\n\n  return XAny;\n}();\n\nvar _xany = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xany(f, xf) {\n  return new XAny(f, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xany);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xaperture.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xaperture.js ***!\n  \\******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_concat */ \"./node_modules/ramda/es/internal/_concat.js\");\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\n\nvar XAperture = /*#__PURE__*/function () {\n  function XAperture(n, xf) {\n    this.xf = xf;\n    this.pos = 0;\n    this.full = false;\n    this.acc = new Array(n);\n  }\n  XAperture.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_2__[\"default\"].init;\n  XAperture.prototype['@@transducer/result'] = function (result) {\n    this.acc = null;\n    return this.xf['@@transducer/result'](result);\n  };\n  XAperture.prototype['@@transducer/step'] = function (result, input) {\n    this.store(input);\n    return this.full ? this.xf['@@transducer/step'](result, this.getCopy()) : result;\n  };\n  XAperture.prototype.store = function (input) {\n    this.acc[this.pos] = input;\n    this.pos += 1;\n    if (this.pos === this.acc.length) {\n      this.pos = 0;\n      this.full = true;\n    }\n  };\n  XAperture.prototype.getCopy = function () {\n    return Object(_concat__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Array.prototype.slice.call(this.acc, this.pos), Array.prototype.slice.call(this.acc, 0, this.pos));\n  };\n\n  return XAperture;\n}();\n\nvar _xaperture = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function _xaperture(n, xf) {\n  return new XAperture(n, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xaperture);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xchain.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xchain.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _flatCat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_flatCat */ \"./node_modules/ramda/es/internal/_flatCat.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../map */ \"./node_modules/ramda/es/map.js\");\n\n\n\n\nvar _xchain = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xchain(f, xf) {\n  return Object(_map__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(f, Object(_flatCat__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(xf));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xchain);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xdrop.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xdrop.js ***!\n  \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\nvar XDrop = /*#__PURE__*/function () {\n  function XDrop(n, xf) {\n    this.xf = xf;\n    this.n = n;\n  }\n  XDrop.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init;\n  XDrop.prototype['@@transducer/result'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].result;\n  XDrop.prototype['@@transducer/step'] = function (result, input) {\n    if (this.n > 0) {\n      this.n -= 1;\n      return result;\n    }\n    return this.xf['@@transducer/step'](result, input);\n  };\n\n  return XDrop;\n}();\n\nvar _xdrop = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xdrop(n, xf) {\n  return new XDrop(n, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xdrop);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xdropLast.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xdropLast.js ***!\n  \\******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\nvar XDropLast = /*#__PURE__*/function () {\n  function XDropLast(n, xf) {\n    this.xf = xf;\n    this.pos = 0;\n    this.full = false;\n    this.acc = new Array(n);\n  }\n  XDropLast.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init;\n  XDropLast.prototype['@@transducer/result'] = function (result) {\n    this.acc = null;\n    return this.xf['@@transducer/result'](result);\n  };\n  XDropLast.prototype['@@transducer/step'] = function (result, input) {\n    if (this.full) {\n      result = this.xf['@@transducer/step'](result, this.acc[this.pos]);\n    }\n    this.store(input);\n    return result;\n  };\n  XDropLast.prototype.store = function (input) {\n    this.acc[this.pos] = input;\n    this.pos += 1;\n    if (this.pos === this.acc.length) {\n      this.pos = 0;\n      this.full = true;\n    }\n  };\n\n  return XDropLast;\n}();\n\nvar _xdropLast = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xdropLast(n, xf) {\n  return new XDropLast(n, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xdropLast);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xdropLastWhile.js\":\n/*!***********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xdropLastWhile.js ***!\n  \\***********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduce */ \"./node_modules/ramda/es/internal/_reduce.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\n\nvar XDropLastWhile = /*#__PURE__*/function () {\n  function XDropLastWhile(fn, xf) {\n    this.f = fn;\n    this.retained = [];\n    this.xf = xf;\n  }\n  XDropLastWhile.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_2__[\"default\"].init;\n  XDropLastWhile.prototype['@@transducer/result'] = function (result) {\n    this.retained = null;\n    return this.xf['@@transducer/result'](result);\n  };\n  XDropLastWhile.prototype['@@transducer/step'] = function (result, input) {\n    return this.f(input) ? this.retain(result, input) : this.flush(result, input);\n  };\n  XDropLastWhile.prototype.flush = function (result, input) {\n    result = Object(_reduce__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.xf['@@transducer/step'], result, this.retained);\n    this.retained = [];\n    return this.xf['@@transducer/step'](result, input);\n  };\n  XDropLastWhile.prototype.retain = function (result, input) {\n    this.retained.push(input);\n    return result;\n  };\n\n  return XDropLastWhile;\n}();\n\nvar _xdropLastWhile = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xdropLastWhile(fn, xf) {\n  return new XDropLastWhile(fn, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xdropLastWhile);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xdropRepeatsWith.js\":\n/*!*************************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xdropRepeatsWith.js ***!\n  \\*************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\nvar XDropRepeatsWith = /*#__PURE__*/function () {\n  function XDropRepeatsWith(pred, xf) {\n    this.xf = xf;\n    this.pred = pred;\n    this.lastValue = undefined;\n    this.seenFirstValue = false;\n  }\n\n  XDropRepeatsWith.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init;\n  XDropRepeatsWith.prototype['@@transducer/result'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].result;\n  XDropRepeatsWith.prototype['@@transducer/step'] = function (result, input) {\n    var sameAsLast = false;\n    if (!this.seenFirstValue) {\n      this.seenFirstValue = true;\n    } else if (this.pred(this.lastValue, input)) {\n      sameAsLast = true;\n    }\n    this.lastValue = input;\n    return sameAsLast ? result : this.xf['@@transducer/step'](result, input);\n  };\n\n  return XDropRepeatsWith;\n}();\n\nvar _xdropRepeatsWith = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xdropRepeatsWith(pred, xf) {\n  return new XDropRepeatsWith(pred, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xdropRepeatsWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xdropWhile.js\":\n/*!*******************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xdropWhile.js ***!\n  \\*******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\nvar XDropWhile = /*#__PURE__*/function () {\n  function XDropWhile(f, xf) {\n    this.xf = xf;\n    this.f = f;\n  }\n  XDropWhile.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init;\n  XDropWhile.prototype['@@transducer/result'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].result;\n  XDropWhile.prototype['@@transducer/step'] = function (result, input) {\n    if (this.f) {\n      if (this.f(input)) {\n        return result;\n      }\n      this.f = null;\n    }\n    return this.xf['@@transducer/step'](result, input);\n  };\n\n  return XDropWhile;\n}();\n\nvar _xdropWhile = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xdropWhile(f, xf) {\n  return new XDropWhile(f, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xdropWhile);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xfBase.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xfBase.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  init: function () {\n    return this.xf['@@transducer/init']();\n  },\n  result: function (result) {\n    return this.xf['@@transducer/result'](result);\n  }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xfilter.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xfilter.js ***!\n  \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\nvar XFilter = /*#__PURE__*/function () {\n  function XFilter(f, xf) {\n    this.xf = xf;\n    this.f = f;\n  }\n  XFilter.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init;\n  XFilter.prototype['@@transducer/result'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].result;\n  XFilter.prototype['@@transducer/step'] = function (result, input) {\n    return this.f(input) ? this.xf['@@transducer/step'](result, input) : result;\n  };\n\n  return XFilter;\n}();\n\nvar _xfilter = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xfilter(f, xf) {\n  return new XFilter(f, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xfilter);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xfind.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xfind.js ***!\n  \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _reduced__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduced */ \"./node_modules/ramda/es/internal/_reduced.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\n\nvar XFind = /*#__PURE__*/function () {\n  function XFind(f, xf) {\n    this.xf = xf;\n    this.f = f;\n    this.found = false;\n  }\n  XFind.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_2__[\"default\"].init;\n  XFind.prototype['@@transducer/result'] = function (result) {\n    if (!this.found) {\n      result = this.xf['@@transducer/step'](result, void 0);\n    }\n    return this.xf['@@transducer/result'](result);\n  };\n  XFind.prototype['@@transducer/step'] = function (result, input) {\n    if (this.f(input)) {\n      this.found = true;\n      result = Object(_reduced__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.xf['@@transducer/step'](result, input));\n    }\n    return result;\n  };\n\n  return XFind;\n}();\n\nvar _xfind = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xfind(f, xf) {\n  return new XFind(f, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xfind);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xfindIndex.js\":\n/*!*******************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xfindIndex.js ***!\n  \\*******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _reduced__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduced */ \"./node_modules/ramda/es/internal/_reduced.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\n\nvar XFindIndex = /*#__PURE__*/function () {\n  function XFindIndex(f, xf) {\n    this.xf = xf;\n    this.f = f;\n    this.idx = -1;\n    this.found = false;\n  }\n  XFindIndex.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_2__[\"default\"].init;\n  XFindIndex.prototype['@@transducer/result'] = function (result) {\n    if (!this.found) {\n      result = this.xf['@@transducer/step'](result, -1);\n    }\n    return this.xf['@@transducer/result'](result);\n  };\n  XFindIndex.prototype['@@transducer/step'] = function (result, input) {\n    this.idx += 1;\n    if (this.f(input)) {\n      this.found = true;\n      result = Object(_reduced__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.xf['@@transducer/step'](result, this.idx));\n    }\n    return result;\n  };\n\n  return XFindIndex;\n}();\n\nvar _xfindIndex = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xfindIndex(f, xf) {\n  return new XFindIndex(f, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xfindIndex);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xfindLast.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xfindLast.js ***!\n  \\******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\nvar XFindLast = /*#__PURE__*/function () {\n  function XFindLast(f, xf) {\n    this.xf = xf;\n    this.f = f;\n  }\n  XFindLast.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init;\n  XFindLast.prototype['@@transducer/result'] = function (result) {\n    return this.xf['@@transducer/result'](this.xf['@@transducer/step'](result, this.last));\n  };\n  XFindLast.prototype['@@transducer/step'] = function (result, input) {\n    if (this.f(input)) {\n      this.last = input;\n    }\n    return result;\n  };\n\n  return XFindLast;\n}();\n\nvar _xfindLast = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xfindLast(f, xf) {\n  return new XFindLast(f, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xfindLast);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xfindLastIndex.js\":\n/*!***********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xfindLastIndex.js ***!\n  \\***********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\nvar XFindLastIndex = /*#__PURE__*/function () {\n  function XFindLastIndex(f, xf) {\n    this.xf = xf;\n    this.f = f;\n    this.idx = -1;\n    this.lastIdx = -1;\n  }\n  XFindLastIndex.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init;\n  XFindLastIndex.prototype['@@transducer/result'] = function (result) {\n    return this.xf['@@transducer/result'](this.xf['@@transducer/step'](result, this.lastIdx));\n  };\n  XFindLastIndex.prototype['@@transducer/step'] = function (result, input) {\n    this.idx += 1;\n    if (this.f(input)) {\n      this.lastIdx = this.idx;\n    }\n    return result;\n  };\n\n  return XFindLastIndex;\n}();\n\nvar _xfindLastIndex = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xfindLastIndex(f, xf) {\n  return new XFindLastIndex(f, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xfindLastIndex);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xmap.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xmap.js ***!\n  \\*************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\nvar XMap = /*#__PURE__*/function () {\n  function XMap(f, xf) {\n    this.xf = xf;\n    this.f = f;\n  }\n  XMap.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init;\n  XMap.prototype['@@transducer/result'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].result;\n  XMap.prototype['@@transducer/step'] = function (result, input) {\n    return this.xf['@@transducer/step'](result, this.f(input));\n  };\n\n  return XMap;\n}();\n\nvar _xmap = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xmap(f, xf) {\n  return new XMap(f, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xmap);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xreduceBy.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xreduceBy.js ***!\n  \\******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curryN */ \"./node_modules/ramda/es/internal/_curryN.js\");\n/* harmony import */ var _has__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_has */ \"./node_modules/ramda/es/internal/_has.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\n\nvar XReduceBy = /*#__PURE__*/function () {\n  function XReduceBy(valueFn, valueAcc, keyFn, xf) {\n    this.valueFn = valueFn;\n    this.valueAcc = valueAcc;\n    this.keyFn = keyFn;\n    this.xf = xf;\n    this.inputs = {};\n  }\n  XReduceBy.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_2__[\"default\"].init;\n  XReduceBy.prototype['@@transducer/result'] = function (result) {\n    var key;\n    for (key in this.inputs) {\n      if (Object(_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(key, this.inputs)) {\n        result = this.xf['@@transducer/step'](result, this.inputs[key]);\n        if (result['@@transducer/reduced']) {\n          result = result['@@transducer/value'];\n          break;\n        }\n      }\n    }\n    this.inputs = null;\n    return this.xf['@@transducer/result'](result);\n  };\n  XReduceBy.prototype['@@transducer/step'] = function (result, input) {\n    var key = this.keyFn(input);\n    this.inputs[key] = this.inputs[key] || [key, this.valueAcc];\n    this.inputs[key][1] = this.valueFn(this.inputs[key][1], input);\n    return result;\n  };\n\n  return XReduceBy;\n}();\n\nvar _xreduceBy = /*#__PURE__*/Object(_curryN__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(4, [], function _xreduceBy(valueFn, valueAcc, keyFn, xf) {\n  return new XReduceBy(valueFn, valueAcc, keyFn, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xreduceBy);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xtake.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xtake.js ***!\n  \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _reduced__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduced */ \"./node_modules/ramda/es/internal/_reduced.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\n\nvar XTake = /*#__PURE__*/function () {\n  function XTake(n, xf) {\n    this.xf = xf;\n    this.n = n;\n    this.i = 0;\n  }\n  XTake.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_2__[\"default\"].init;\n  XTake.prototype['@@transducer/result'] = _xfBase__WEBPACK_IMPORTED_MODULE_2__[\"default\"].result;\n  XTake.prototype['@@transducer/step'] = function (result, input) {\n    this.i += 1;\n    var ret = this.n === 0 ? result : this.xf['@@transducer/step'](result, input);\n    return this.n >= 0 && this.i >= this.n ? Object(_reduced__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(ret) : ret;\n  };\n\n  return XTake;\n}();\n\nvar _xtake = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xtake(n, xf) {\n  return new XTake(n, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xtake);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xtakeWhile.js\":\n/*!*******************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xtakeWhile.js ***!\n  \\*******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _reduced__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduced */ \"./node_modules/ramda/es/internal/_reduced.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\n\nvar XTakeWhile = /*#__PURE__*/function () {\n  function XTakeWhile(f, xf) {\n    this.xf = xf;\n    this.f = f;\n  }\n  XTakeWhile.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_2__[\"default\"].init;\n  XTakeWhile.prototype['@@transducer/result'] = _xfBase__WEBPACK_IMPORTED_MODULE_2__[\"default\"].result;\n  XTakeWhile.prototype['@@transducer/step'] = function (result, input) {\n    return this.f(input) ? this.xf['@@transducer/step'](result, input) : Object(_reduced__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(result);\n  };\n\n  return XTakeWhile;\n}();\n\nvar _xtakeWhile = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xtakeWhile(f, xf) {\n  return new XTakeWhile(f, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xtakeWhile);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xtap.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xtap.js ***!\n  \\*************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\nvar XTap = /*#__PURE__*/function () {\n  function XTap(f, xf) {\n    this.xf = xf;\n    this.f = f;\n  }\n  XTap.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init;\n  XTap.prototype['@@transducer/result'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].result;\n  XTap.prototype['@@transducer/step'] = function (result, input) {\n    this.f(input);\n    return this.xf['@@transducer/step'](result, input);\n  };\n\n  return XTap;\n}();\n\nvar _xtap = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xtap(f, xf) {\n  return new XTap(f, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xtap);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xwrap.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xwrap.js ***!\n  \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _xwrap; });\nvar XWrap = /*#__PURE__*/function () {\n  function XWrap(fn) {\n    this.f = fn;\n  }\n  XWrap.prototype['@@transducer/init'] = function () {\n    throw new Error('init not implemented on XWrap');\n  };\n  XWrap.prototype['@@transducer/result'] = function (acc) {\n    return acc;\n  };\n  XWrap.prototype['@@transducer/step'] = function (acc, x) {\n    return this.f(acc, x);\n  };\n\n  return XWrap;\n}();\n\nfunction _xwrap(fn) {\n  return new XWrap(fn);\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/intersection.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/ramda/es/intersection.js ***!\n  \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_contains__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_contains */ \"./node_modules/ramda/es/internal/_contains.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_filter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_filter */ \"./node_modules/ramda/es/internal/_filter.js\");\n/* harmony import */ var _flip__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./flip */ \"./node_modules/ramda/es/flip.js\");\n/* harmony import */ var _uniq__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./uniq */ \"./node_modules/ramda/es/uniq.js\");\n\n\n\n\n\n\n/**\n * Combines two lists into a set (i.e. no duplicates) composed of those\n * elements common to both lists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The list of elements found in both `list1` and `list2`.\n * @see R.innerJoin\n * @example\n *\n *      R.intersection([1,2,3,4], [7,6,5,4,3]); //=> [4, 3]\n */\nvar intersection = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function intersection(list1, list2) {\n  var lookupList, filteredList;\n  if (list1.length > list2.length) {\n    lookupList = list1;\n    filteredList = list2;\n  } else {\n    lookupList = list2;\n    filteredList = list1;\n  }\n  return Object(_uniq__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(Object(_internal_filter__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_flip__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_internal_contains__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(lookupList), filteredList));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (intersection);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/intersperse.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/ramda/es/intersperse.js ***!\n  \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_checkForMethod__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_checkForMethod */ \"./node_modules/ramda/es/internal/_checkForMethod.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n\n/**\n * Creates a new list with the separator interposed between elements.\n *\n * Dispatches to the `intersperse` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig a -> [a] -> [a]\n * @param {*} separator The element to add to the list.\n * @param {Array} list The list to be interposed.\n * @return {Array} The new list.\n * @example\n *\n *      R.intersperse('n', ['ba', 'a', 'a']); //=> ['ba', 'n', 'a', 'n', 'a']\n */\nvar intersperse = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/Object(_internal_checkForMethod__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('intersperse', function intersperse(separator, list) {\n  var out = [];\n  var idx = 0;\n  var length = list.length;\n  while (idx < length) {\n    if (idx === length - 1) {\n      out.push(list[idx]);\n    } else {\n      out.push(list[idx], separator);\n    }\n    idx += 1;\n  }\n  return out;\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (intersperse);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/into.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/into.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_clone__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_clone */ \"./node_modules/ramda/es/internal/_clone.js\");\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _internal_isTransformer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isTransformer */ \"./node_modules/ramda/es/internal/_isTransformer.js\");\n/* harmony import */ var _internal_reduce__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_reduce */ \"./node_modules/ramda/es/internal/_reduce.js\");\n/* harmony import */ var _internal_stepCat__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./internal/_stepCat */ \"./node_modules/ramda/es/internal/_stepCat.js\");\n\n\n\n\n\n\n/**\n * Transforms the items of the list with the transducer and appends the\n * transformed items to the accumulator using an appropriate iterator function\n * based on the accumulator type.\n *\n * The accumulator can be an array, string, object or a transformer. Iterated\n * items will be appended to arrays and concatenated to strings. Objects will\n * be merged directly or 2-item arrays will be merged as key, value pairs.\n *\n * The accumulator can also be a transformer object that provides a 2-arity\n * reducing iterator function, step, 0-arity initial value function, init, and\n * 1-arity result extraction function result. The step function is used as the\n * iterator function in reduce. The result function is used to convert the\n * final accumulator into the return type and in most cases is R.identity. The\n * init function is used to provide the initial accumulator.\n *\n * The iteration is performed with [`R.reduce`](#reduce) after initializing the\n * transducer.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category List\n * @sig a -> (b -> b) -> [c] -> a\n * @param {*} acc The initial accumulator value.\n * @param {Function} xf The transducer function. Receives a transformer and returns a transformer.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @example\n *\n *      var numbers = [1, 2, 3, 4];\n *      var transducer = R.compose(R.map(R.add(1)), R.take(2));\n *\n *      R.into([], transducer, numbers); //=> [2, 3]\n *\n *      var intoArray = R.into([]);\n *      intoArray(transducer, numbers); //=> [2, 3]\n */\nvar into = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function into(acc, xf, list) {\n  return Object(_internal_isTransformer__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(acc) ? Object(_internal_reduce__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(xf(acc), acc['@@transducer/init'](), list) : Object(_internal_reduce__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(xf(Object(_internal_stepCat__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(acc)), Object(_internal_clone__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(acc, [], [], false), list);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (into);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/invert.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/invert.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_has__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has */ \"./node_modules/ramda/es/internal/_has.js\");\n/* harmony import */ var _keys__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keys */ \"./node_modules/ramda/es/keys.js\");\n\n\n\n\n/**\n * Same as [`R.invertObj`](#invertObj), however this accounts for objects with\n * duplicate values by putting the values into an array.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Object\n * @sig {s: x} -> {x: [ s, ... ]}\n * @param {Object} obj The object or array to invert\n * @return {Object} out A new object with keys in an array.\n * @see R.invertObj\n * @example\n *\n *      var raceResultsByFirstName = {\n *        first: 'alice',\n *        second: 'jake',\n *        third: 'alice',\n *      };\n *      R.invert(raceResultsByFirstName);\n *      //=> { 'alice': ['first', 'third'], 'jake':['second'] }\n */\nvar invert = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function invert(obj) {\n  var props = Object(_keys__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(obj);\n  var len = props.length;\n  var idx = 0;\n  var out = {};\n\n  while (idx < len) {\n    var key = props[idx];\n    var val = obj[key];\n    var list = Object(_internal_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(val, out) ? out[val] : out[val] = [];\n    list[list.length] = key;\n    idx += 1;\n  }\n  return out;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (invert);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/invertObj.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/invertObj.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _keys__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys */ \"./node_modules/ramda/es/keys.js\");\n\n\n\n/**\n * Returns a new object with the keys of the given object as values, and the\n * values of the given object, which are coerced to strings, as keys. Note\n * that the last key found is preferred when handling the same value.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Object\n * @sig {s: x} -> {x: s}\n * @param {Object} obj The object or array to invert\n * @return {Object} out A new object\n * @see R.invert\n * @example\n *\n *      var raceResults = {\n *        first: 'alice',\n *        second: 'jake'\n *      };\n *      R.invertObj(raceResults);\n *      //=> { 'alice': 'first', 'jake':'second' }\n *\n *      // Alternatively:\n *      var raceResults = ['alice', 'jake'];\n *      R.invertObj(raceResults);\n *      //=> { 'alice': '0', 'jake':'1' }\n */\nvar invertObj = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function invertObj(obj) {\n  var props = Object(_keys__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(obj);\n  var len = props.length;\n  var idx = 0;\n  var out = {};\n\n  while (idx < len) {\n    var key = props[idx];\n    out[obj[key]] = key;\n    idx += 1;\n  }\n  return out;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (invertObj);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/invoker.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/invoker.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_isFunction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isFunction */ \"./node_modules/ramda/es/internal/_isFunction.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n/* harmony import */ var _toString__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString */ \"./node_modules/ramda/es/toString.js\");\n\n\n\n\n\n/**\n * Turns a named method with a specified arity into a function that can be\n * called directly supplied with arguments and a target object.\n *\n * The returned function is curried and accepts `arity + 1` parameters where\n * the final parameter is the target object.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig Number -> String -> (a -> b -> ... -> n -> Object -> *)\n * @param {Number} arity Number of arguments the returned function should take\n *        before the target object.\n * @param {String} method Name of the method to call.\n * @return {Function} A new curried function.\n * @see R.construct\n * @example\n *\n *      var sliceFrom = R.invoker(1, 'slice');\n *      sliceFrom(6, 'abcdefghijklm'); //=> 'ghijklm'\n *      var sliceFrom6 = R.invoker(2, 'slice')(6);\n *      sliceFrom6(8, 'abcdefghijklm'); //=> 'gh'\n * @symb R.invoker(0, 'method')(o) = o['method']()\n * @symb R.invoker(1, 'method')(a, o) = o['method'](a)\n * @symb R.invoker(2, 'method')(a, b, o) = o['method'](a, b)\n */\nvar invoker = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function invoker(arity, method) {\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(arity + 1, function () {\n    var target = arguments[arity];\n    if (target != null && Object(_internal_isFunction__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(target[method])) {\n      return target[method].apply(target, Array.prototype.slice.call(arguments, 0, arity));\n    }\n    throw new TypeError(Object(_toString__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(target) + ' does not have a method named \"' + method + '\"');\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (invoker);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/is.js\":\n/*!*************************************!*\\\n  !*** ./node_modules/ramda/es/is.js ***!\n  \\*************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * See if an object (`val`) is an instance of the supplied constructor. This\n * function will check up the inheritance chain, if any.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Type\n * @sig (* -> {*}) -> a -> Boolean\n * @param {Object} ctor A constructor\n * @param {*} val The value to test\n * @return {Boolean}\n * @example\n *\n *      R.is(Object, {}); //=> true\n *      R.is(Number, 1); //=> true\n *      R.is(Object, 1); //=> false\n *      R.is(String, 's'); //=> true\n *      R.is(String, new String('')); //=> true\n *      R.is(Object, new String('')); //=> true\n *      R.is(Object, 's'); //=> false\n *      R.is(Number, {}); //=> false\n */\nvar is = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function is(Ctor, val) {\n  return val != null && val.constructor === Ctor || val instanceof Ctor;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (is);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/isEmpty.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/isEmpty.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./empty */ \"./node_modules/ramda/es/empty.js\");\n/* harmony import */ var _equals__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./equals */ \"./node_modules/ramda/es/equals.js\");\n\n\n\n\n/**\n * Returns `true` if the given value is its type's empty value; `false`\n * otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig a -> Boolean\n * @param {*} x\n * @return {Boolean}\n * @see R.empty\n * @example\n *\n *      R.isEmpty([1, 2, 3]);   //=> false\n *      R.isEmpty([]);          //=> true\n *      R.isEmpty('');          //=> true\n *      R.isEmpty(null);        //=> false\n *      R.isEmpty({});          //=> true\n *      R.isEmpty({length: 0}); //=> false\n */\nvar isEmpty = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function isEmpty(x) {\n  return x != null && Object(_equals__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(x, Object(_empty__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(x));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (isEmpty);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/isNil.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/isNil.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n/**\n * Checks if the input value is `null` or `undefined`.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Type\n * @sig * -> Boolean\n * @param {*} x The value to test.\n * @return {Boolean} `true` if `x` is `undefined` or `null`, otherwise `false`.\n * @example\n *\n *      R.isNil(null); //=> true\n *      R.isNil(undefined); //=> true\n *      R.isNil(0); //=> false\n *      R.isNil([]); //=> false\n */\nvar isNil = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function isNil(x) {\n  return x == null;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (isNil);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/join.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/join.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _invoker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./invoker */ \"./node_modules/ramda/es/invoker.js\");\n\n\n/**\n * Returns a string made by inserting the `separator` between each element and\n * concatenating all the elements into a single string.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig String -> [a] -> String\n * @param {Number|String} separator The string used to separate the elements.\n * @param {Array} xs The elements to join into a string.\n * @return {String} str The string made by concatenating `xs` with `separator`.\n * @see R.split\n * @example\n *\n *      var spacer = R.join(' ');\n *      spacer(['a', 2, 3.4]);   //=> 'a 2 3.4'\n *      R.join('|', [1, 2, 3]);    //=> '1|2|3'\n */\nvar join = /*#__PURE__*/Object(_invoker__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(1, 'join');\n/* harmony default export */ __webpack_exports__[\"default\"] = (join);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/juxt.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/juxt.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _converge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./converge */ \"./node_modules/ramda/es/converge.js\");\n\n\n\n/**\n * juxt applies a list of functions to a list of values.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Function\n * @sig [(a, b, ..., m) -> n] -> ((a, b, ..., m) -> [n])\n * @param {Array} fns An array of functions\n * @return {Function} A function that returns a list of values after applying each of the original `fns` to its parameters.\n * @see R.applySpec\n * @example\n *\n *      var getRange = R.juxt([Math.min, Math.max]);\n *      getRange(3, 4, 9, -3); //=> [-3, 9]\n * @symb R.juxt([f, g, h])(a, b) = [f(a, b), g(a, b), h(a, b)]\n */\nvar juxt = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function juxt(fns) {\n  return Object(_converge__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function () {\n    return Array.prototype.slice.call(arguments, 0);\n  }, fns);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (juxt);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/keys.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/keys.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_has__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has */ \"./node_modules/ramda/es/internal/_has.js\");\n/* harmony import */ var _internal_isArguments__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isArguments */ \"./node_modules/ramda/es/internal/_isArguments.js\");\n\n\n\n\n// cover IE < 9 keys issues\nvar hasEnumBug = ! /*#__PURE__*/{ toString: null }.propertyIsEnumerable('toString');\nvar nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n// Safari bug\nvar hasArgsEnumBug = /*#__PURE__*/function () {\n  'use strict';\n\n  return arguments.propertyIsEnumerable('length');\n}();\n\nvar contains = function contains(list, item) {\n  var idx = 0;\n  while (idx < list.length) {\n    if (list[idx] === item) {\n      return true;\n    }\n    idx += 1;\n  }\n  return false;\n};\n\n/**\n * Returns a list containing the names of all the enumerable own properties of\n * the supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own properties.\n * @see R.keysIn, R.values\n * @example\n *\n *      R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c']\n */\nvar _keys = typeof Object.keys === 'function' && !hasArgsEnumBug ? function keys(obj) {\n  return Object(obj) !== obj ? [] : Object.keys(obj);\n} : function keys(obj) {\n  if (Object(obj) !== obj) {\n    return [];\n  }\n  var prop, nIdx;\n  var ks = [];\n  var checkArgsLength = hasArgsEnumBug && Object(_internal_isArguments__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(obj);\n  for (prop in obj) {\n    if (Object(_internal_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(prop, obj) && (!checkArgsLength || prop !== 'length')) {\n      ks[ks.length] = prop;\n    }\n  }\n  if (hasEnumBug) {\n    nIdx = nonEnumerableProps.length - 1;\n    while (nIdx >= 0) {\n      prop = nonEnumerableProps[nIdx];\n      if (Object(_internal_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(prop, obj) && !contains(ks, prop)) {\n        ks[ks.length] = prop;\n      }\n      nIdx -= 1;\n    }\n  }\n  return ks;\n};\nvar keys = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_keys);\n/* harmony default export */ __webpack_exports__[\"default\"] = (keys);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/keysIn.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/keysIn.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n/**\n * Returns a list containing the names of all the properties of the supplied\n * object, including prototype properties.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own and prototype properties.\n * @see R.keys, R.valuesIn\n * @example\n *\n *      var F = function() { this.x = 'X'; };\n *      F.prototype.y = 'Y';\n *      var f = new F();\n *      R.keysIn(f); //=> ['x', 'y']\n */\nvar keysIn = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function keysIn(obj) {\n  var prop;\n  var ks = [];\n  for (prop in obj) {\n    ks[ks.length] = prop;\n  }\n  return ks;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (keysIn);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/last.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/last.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nth__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./nth */ \"./node_modules/ramda/es/nth.js\");\n\n\n/**\n * Returns the last element of the given list or string.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig [a] -> a | Undefined\n * @sig String -> String\n * @param {*} list\n * @return {*}\n * @see R.init, R.head, R.tail\n * @example\n *\n *      R.last(['fi', 'fo', 'fum']); //=> 'fum'\n *      R.last([]); //=> undefined\n *\n *      R.last('abc'); //=> 'c'\n *      R.last(''); //=> ''\n */\nvar last = /*#__PURE__*/Object(_nth__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(-1);\n/* harmony default export */ __webpack_exports__[\"default\"] = (last);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/lastIndexOf.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/ramda/es/lastIndexOf.js ***!\n  \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_isArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isArray */ \"./node_modules/ramda/es/internal/_isArray.js\");\n/* harmony import */ var _equals__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./equals */ \"./node_modules/ramda/es/equals.js\");\n\n\n\n\n/**\n * Returns the position of the last occurrence of an item in an array, or -1 if\n * the item is not included in the array. [`R.equals`](#equals) is used to\n * determine equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> Number\n * @param {*} target The item to find.\n * @param {Array} xs The array to search in.\n * @return {Number} the index of the target, or -1 if the target is not found.\n * @see R.indexOf\n * @example\n *\n *      R.lastIndexOf(3, [-1,3,3,0,1,2,3,4]); //=> 6\n *      R.lastIndexOf(10, [1,2,3,4]); //=> -1\n */\nvar lastIndexOf = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function lastIndexOf(target, xs) {\n  if (typeof xs.lastIndexOf === 'function' && !Object(_internal_isArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(xs)) {\n    return xs.lastIndexOf(target);\n  } else {\n    var idx = xs.length - 1;\n    while (idx >= 0) {\n      if (Object(_equals__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(xs[idx], target)) {\n        return idx;\n      }\n      idx -= 1;\n    }\n    return -1;\n  }\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (lastIndexOf);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/length.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/length.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_isNumber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isNumber */ \"./node_modules/ramda/es/internal/_isNumber.js\");\n\n\n\n/**\n * Returns the number of elements in the array by returning `list.length`.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig [a] -> Number\n * @param {Array} list The array to inspect.\n * @return {Number} The length of the array.\n * @example\n *\n *      R.length([]); //=> 0\n *      R.length([1, 2, 3]); //=> 3\n */\nvar length = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function length(list) {\n  return list != null && Object(_internal_isNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(list.length) ? list.length : NaN;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (length);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/lens.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/lens.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./map */ \"./node_modules/ramda/es/map.js\");\n\n\n\n/**\n * Returns a lens for the given getter and setter functions. The getter \"gets\"\n * the value of the focus; the setter \"sets\" the value of the focus. The setter\n * should not mutate the data structure.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig (s -> a) -> ((a, s) -> s) -> Lens s a\n * @param {Function} getter\n * @param {Function} setter\n * @return {Lens}\n * @see R.view, R.set, R.over, R.lensIndex, R.lensProp\n * @example\n *\n *      var xLens = R.lens(R.prop('x'), R.assoc('x'));\n *\n *      R.view(xLens, {x: 1, y: 2});            //=> 1\n *      R.set(xLens, 4, {x: 1, y: 2});          //=> {x: 4, y: 2}\n *      R.over(xLens, R.negate, {x: 1, y: 2});  //=> {x: -1, y: 2}\n */\nvar lens = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function lens(getter, setter) {\n  return function (toFunctorFn) {\n    return function (target) {\n      return Object(_map__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (focus) {\n        return setter(focus, target);\n      }, toFunctorFn(getter(target)));\n    };\n  };\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (lens);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/lensIndex.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/lensIndex.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _lens__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lens */ \"./node_modules/ramda/es/lens.js\");\n/* harmony import */ var _nth__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./nth */ \"./node_modules/ramda/es/nth.js\");\n/* harmony import */ var _update__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./update */ \"./node_modules/ramda/es/update.js\");\n\n\n\n\n\n/**\n * Returns a lens whose focus is the specified index.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Number -> Lens s a\n * @param {Number} n\n * @return {Lens}\n * @see R.view, R.set, R.over\n * @example\n *\n *      var headLens = R.lensIndex(0);\n *\n *      R.view(headLens, ['a', 'b', 'c']);            //=> 'a'\n *      R.set(headLens, 'x', ['a', 'b', 'c']);        //=> ['x', 'b', 'c']\n *      R.over(headLens, R.toUpper, ['a', 'b', 'c']); //=> ['A', 'b', 'c']\n */\nvar lensIndex = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function lensIndex(n) {\n  return Object(_lens__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_nth__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(n), Object(_update__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(n));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (lensIndex);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/lensPath.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/lensPath.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _assocPath__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assocPath */ \"./node_modules/ramda/es/assocPath.js\");\n/* harmony import */ var _lens__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lens */ \"./node_modules/ramda/es/lens.js\");\n/* harmony import */ var _path__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./path */ \"./node_modules/ramda/es/path.js\");\n\n\n\n\n\n/**\n * Returns a lens whose focus is the specified path.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @typedefn Idx = String | Int\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig [Idx] -> Lens s a\n * @param {Array} path The path to use.\n * @return {Lens}\n * @see R.view, R.set, R.over\n * @example\n *\n *      var xHeadYLens = R.lensPath(['x', 0, 'y']);\n *\n *      R.view(xHeadYLens, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n *      //=> 2\n *      R.set(xHeadYLens, 1, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n *      //=> {x: [{y: 1, z: 3}, {y: 4, z: 5}]}\n *      R.over(xHeadYLens, R.negate, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n *      //=> {x: [{y: -2, z: 3}, {y: 4, z: 5}]}\n */\nvar lensPath = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function lensPath(p) {\n  return Object(_lens__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_path__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(p), Object(_assocPath__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(p));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (lensPath);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/lensProp.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/lensProp.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _assoc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assoc */ \"./node_modules/ramda/es/assoc.js\");\n/* harmony import */ var _lens__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lens */ \"./node_modules/ramda/es/lens.js\");\n/* harmony import */ var _prop__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./prop */ \"./node_modules/ramda/es/prop.js\");\n\n\n\n\n\n/**\n * Returns a lens whose focus is the specified property.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig String -> Lens s a\n * @param {String} k\n * @return {Lens}\n * @see R.view, R.set, R.over\n * @example\n *\n *      var xLens = R.lensProp('x');\n *\n *      R.view(xLens, {x: 1, y: 2});            //=> 1\n *      R.set(xLens, 4, {x: 1, y: 2});          //=> {x: 4, y: 2}\n *      R.over(xLens, R.negate, {x: 1, y: 2});  //=> {x: -1, y: 2}\n */\nvar lensProp = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function lensProp(k) {\n  return Object(_lens__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_prop__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(k), Object(_assoc__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(k));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (lensProp);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/lift.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/lift.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _liftN__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./liftN */ \"./node_modules/ramda/es/liftN.js\");\n\n\n\n/**\n * \"lifts\" a function of arity > 1 so that it may \"map over\" a list, Function or other\n * object that satisfies the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply).\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Function\n * @sig (*... -> *) -> ([*]... -> [*])\n * @param {Function} fn The function to lift into higher context\n * @return {Function} The lifted function.\n * @see R.liftN\n * @example\n *\n *      var madd3 = R.lift((a, b, c) => a + b + c);\n *\n *      madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7]\n *\n *      var madd5 = R.lift((a, b, c, d, e) => a + b + c + d + e);\n *\n *      madd5([1,2], [3], [4, 5], [6], [7, 8]); //=> [21, 22, 22, 23, 22, 23, 23, 24]\n */\nvar lift = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function lift(fn) {\n  return Object(_liftN__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fn.length, fn);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (lift);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/liftN.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/liftN.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_reduce__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_reduce */ \"./node_modules/ramda/es/internal/_reduce.js\");\n/* harmony import */ var _ap__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ap */ \"./node_modules/ramda/es/ap.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./map */ \"./node_modules/ramda/es/map.js\");\n\n\n\n\n\n\n/**\n * \"lifts\" a function to be the specified arity, so that it may \"map over\" that\n * many lists, Functions or other objects that satisfy the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply).\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Function\n * @sig Number -> (*... -> *) -> ([*]... -> [*])\n * @param {Function} fn The function to lift into higher context\n * @return {Function} The lifted function.\n * @see R.lift, R.ap\n * @example\n *\n *      var madd3 = R.liftN(3, (...args) => R.sum(args));\n *      madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7]\n */\nvar liftN = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function liftN(arity, fn) {\n  var lifted = Object(_curryN__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(arity, fn);\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(arity, function () {\n    return Object(_internal_reduce__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_ap__WEBPACK_IMPORTED_MODULE_2__[\"default\"], Object(_map__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(lifted, arguments[0]), Array.prototype.slice.call(arguments, 1));\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (liftN);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/lt.js\":\n/*!*************************************!*\\\n  !*** ./node_modules/ramda/es/lt.js ***!\n  \\*************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns `true` if the first argument is less than the second; `false`\n * otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @see R.gt\n * @example\n *\n *      R.lt(2, 1); //=> false\n *      R.lt(2, 2); //=> false\n *      R.lt(2, 3); //=> true\n *      R.lt('a', 'z'); //=> true\n *      R.lt('z', 'a'); //=> false\n */\nvar lt = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function lt(a, b) {\n  return a < b;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (lt);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/lte.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/lte.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns `true` if the first argument is less than or equal to the second;\n * `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> Boolean\n * @param {Number} a\n * @param {Number} b\n * @return {Boolean}\n * @see R.gte\n * @example\n *\n *      R.lte(2, 1); //=> false\n *      R.lte(2, 2); //=> true\n *      R.lte(2, 3); //=> true\n *      R.lte('a', 'z'); //=> true\n *      R.lte('z', 'a'); //=> false\n */\nvar lte = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function lte(a, b) {\n  return a <= b;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (lte);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/map.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/map.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_map */ \"./node_modules/ramda/es/internal/_map.js\");\n/* harmony import */ var _internal_reduce__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_reduce */ \"./node_modules/ramda/es/internal/_reduce.js\");\n/* harmony import */ var _internal_xmap__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./internal/_xmap */ \"./node_modules/ramda/es/internal/_xmap.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n/* harmony import */ var _keys__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./keys */ \"./node_modules/ramda/es/keys.js\");\n\n\n\n\n\n\n\n\n/**\n * Takes a function and\n * a [functor](https://github.com/fantasyland/fantasy-land#functor),\n * applies the function to each of the functor's values, and returns\n * a functor of the same shape.\n *\n * Ramda provides suitable `map` implementations for `Array` and `Object`,\n * so this function may be applied to `[1, 2, 3]` or `{x: 1, y: 2, z: 3}`.\n *\n * Dispatches to the `map` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * Also treats functions as functors and will compose them together.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => (a -> b) -> f a -> f b\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {Array} list The list to be iterated over.\n * @return {Array} The new list.\n * @see R.transduce, R.addIndex\n * @example\n *\n *      var double = x => x * 2;\n *\n *      R.map(double, [1, 2, 3]); //=> [2, 4, 6]\n *\n *      R.map(double, {x: 1, y: 2, z: 3}); //=> {x: 2, y: 4, z: 6}\n * @symb R.map(f, [a, b]) = [f(a), f(b)]\n * @symb R.map(f, { x: a, y: b }) = { x: f(a), y: f(b) }\n * @symb R.map(f, functor_o) = functor_o.map(f)\n */\nvar map = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(['fantasy-land/map', 'map'], _internal_xmap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], function map(fn, functor) {\n  switch (Object.prototype.toString.call(functor)) {\n    case '[object Function]':\n      return Object(_curryN__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(functor.length, function () {\n        return fn.call(this, functor.apply(this, arguments));\n      });\n    case '[object Object]':\n      return Object(_internal_reduce__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(function (acc, key) {\n        acc[key] = fn(functor[key]);\n        return acc;\n      }, {}, Object(_keys__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(functor));\n    default:\n      return Object(_internal_map__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(fn, functor);\n  }\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (map);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/mapAccum.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/mapAccum.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * The `mapAccum` function behaves like a combination of map and reduce; it\n * applies a function to each element of a list, passing an accumulating\n * parameter from left to right, and returning a final value of this\n * accumulator together with the new list.\n *\n * The iterator function receives two arguments, *acc* and *value*, and should\n * return a tuple *[acc, value]*.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig ((acc, x) -> (acc, y)) -> acc -> [x] -> (acc, [y])\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.addIndex, R.mapAccumRight\n * @example\n *\n *      var digits = ['1', '2', '3', '4'];\n *      var appender = (a, b) => [a + b, a + b];\n *\n *      R.mapAccum(appender, 0, digits); //=> ['01234', ['01', '012', '0123', '01234']]\n * @symb R.mapAccum(f, a, [b, c, d]) = [\n *   f(f(f(a, b)[0], c)[0], d)[0],\n *   [\n *     f(a, b)[1],\n *     f(f(a, b)[0], c)[1],\n *     f(f(f(a, b)[0], c)[0], d)[1]\n *   ]\n * ]\n */\nvar mapAccum = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function mapAccum(fn, acc, list) {\n  var idx = 0;\n  var len = list.length;\n  var result = [];\n  var tuple = [acc];\n  while (idx < len) {\n    tuple = fn(tuple[0], list[idx]);\n    result[idx] = tuple[1];\n    idx += 1;\n  }\n  return [tuple[0], result];\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (mapAccum);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/mapAccumRight.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/ramda/es/mapAccumRight.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * The `mapAccumRight` function behaves like a combination of map and reduce; it\n * applies a function to each element of a list, passing an accumulating\n * parameter from right to left, and returning a final value of this\n * accumulator together with the new list.\n *\n * Similar to [`mapAccum`](#mapAccum), except moves through the input list from\n * the right to the left.\n *\n * The iterator function receives two arguments, *value* and *acc*, and should\n * return a tuple *[value, acc]*.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig ((x, acc) -> (y, acc)) -> acc -> [x] -> ([y], acc)\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.addIndex, R.mapAccum\n * @example\n *\n *      var digits = ['1', '2', '3', '4'];\n *      var append = (a, b) => [a + b, a + b];\n *\n *      R.mapAccumRight(append, 5, digits); //=> [['12345', '2345', '345', '45'], '12345']\n * @symb R.mapAccumRight(f, a, [b, c, d]) = [\n *   [\n *     f(b, f(c, f(d, a)[0])[0])[1],\n *     f(c, f(d, a)[0])[1],\n *     f(d, a)[1],\n *   ]\n *   f(b, f(c, f(d, a)[0])[0])[0],\n * ]\n */\nvar mapAccumRight = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function mapAccumRight(fn, acc, list) {\n  var idx = list.length - 1;\n  var result = [];\n  var tuple = [acc];\n  while (idx >= 0) {\n    tuple = fn(list[idx], tuple[0]);\n    result[idx] = tuple[1];\n    idx -= 1;\n  }\n  return [result, tuple[0]];\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (mapAccumRight);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/mapObjIndexed.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/ramda/es/mapObjIndexed.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_reduce__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_reduce */ \"./node_modules/ramda/es/internal/_reduce.js\");\n/* harmony import */ var _keys__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keys */ \"./node_modules/ramda/es/keys.js\");\n\n\n\n\n/**\n * An Object-specific version of [`map`](#map). The function is applied to three\n * arguments: *(value, key, obj)*. If only the value is significant, use\n * [`map`](#map) instead.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Object\n * @sig ((*, String, Object) -> *) -> Object -> Object\n * @param {Function} fn\n * @param {Object} obj\n * @return {Object}\n * @see R.map\n * @example\n *\n *      var values = { x: 1, y: 2, z: 3 };\n *      var prependKeyAndDouble = (num, key, obj) => key + (num * 2);\n *\n *      R.mapObjIndexed(prependKeyAndDouble, values); //=> { x: 'x2', y: 'y4', z: 'z6' }\n */\nvar mapObjIndexed = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function mapObjIndexed(fn, obj) {\n  return Object(_internal_reduce__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (acc, key) {\n    acc[key] = fn(obj[key], key, obj);\n    return acc;\n  }, {}, Object(_keys__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(obj));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (mapObjIndexed);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/match.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/match.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Tests a regular expression against a String. Note that this function will\n * return an empty array when there are no matches. This differs from\n * [`String.prototype.match`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match)\n * which returns `null` when there are no matches.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category String\n * @sig RegExp -> String -> [String | Undefined]\n * @param {RegExp} rx A regular expression.\n * @param {String} str The string to match against\n * @return {Array} The list of matches or empty array.\n * @see R.test\n * @example\n *\n *      R.match(/([a-z]a)/g, 'bananas'); //=> ['ba', 'na', 'na']\n *      R.match(/a/, 'b'); //=> []\n *      R.match(/a/, null); //=> TypeError: null does not have a method named \"match\"\n */\nvar match = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function match(rx, str) {\n  return str.match(rx) || [];\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (match);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/mathMod.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/mathMod.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_isInteger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isInteger */ \"./node_modules/ramda/es/internal/_isInteger.js\");\n\n\n\n/**\n * `mathMod` behaves like the modulo operator should mathematically, unlike the\n * `%` operator (and by extension, [`R.modulo`](#modulo)). So while\n * `-17 % 5` is `-2`, `mathMod(-17, 5)` is `3`. `mathMod` requires Integer\n * arguments, and returns NaN when the modulus is zero or negative.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} m The dividend.\n * @param {Number} p the modulus.\n * @return {Number} The result of `b mod a`.\n * @see R.modulo\n * @example\n *\n *      R.mathMod(-17, 5);  //=> 3\n *      R.mathMod(17, 5);   //=> 2\n *      R.mathMod(17, -5);  //=> NaN\n *      R.mathMod(17, 0);   //=> NaN\n *      R.mathMod(17.2, 5); //=> NaN\n *      R.mathMod(17, 5.3); //=> NaN\n *\n *      var clock = R.mathMod(R.__, 12);\n *      clock(15); //=> 3\n *      clock(24); //=> 0\n *\n *      var seventeenMod = R.mathMod(17);\n *      seventeenMod(3);  //=> 2\n *      seventeenMod(4);  //=> 1\n *      seventeenMod(10); //=> 7\n */\nvar mathMod = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function mathMod(m, p) {\n  if (!Object(_internal_isInteger__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(m)) {\n    return NaN;\n  }\n  if (!Object(_internal_isInteger__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(p) || p < 1) {\n    return NaN;\n  }\n  return (m % p + p) % p;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (mathMod);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/max.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/max.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns the larger of its two arguments.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> a\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.maxBy, R.min\n * @example\n *\n *      R.max(789, 123); //=> 789\n *      R.max('a', 'b'); //=> 'b'\n */\nvar max = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function max(a, b) {\n  return b > a ? b : a;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (max);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/maxBy.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/maxBy.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Takes a function and two values, and returns whichever value produces the\n * larger result when passed to the provided function.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Relation\n * @sig Ord b => (a -> b) -> a -> a -> a\n * @param {Function} f\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.max, R.minBy\n * @example\n *\n *      //  square :: Number -> Number\n *      var square = n => n * n;\n *\n *      R.maxBy(square, -3, 2); //=> -3\n *\n *      R.reduce(R.maxBy(square), 0, [3, -5, 4, 1, -2]); //=> -5\n *      R.reduce(R.maxBy(square), 0, []); //=> 0\n */\nvar maxBy = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function maxBy(f, a, b) {\n  return f(b) > f(a) ? b : a;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (maxBy);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/mean.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/mean.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _sum__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./sum */ \"./node_modules/ramda/es/sum.js\");\n\n\n\n/**\n * Returns the mean of the given list of numbers.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Math\n * @sig [Number] -> Number\n * @param {Array} list\n * @return {Number}\n * @see R.median\n * @example\n *\n *      R.mean([2, 7, 9]); //=> 6\n *      R.mean([]); //=> NaN\n */\nvar mean = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function mean(list) {\n  return Object(_sum__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(list) / list.length;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (mean);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/median.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/median.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _mean__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mean */ \"./node_modules/ramda/es/mean.js\");\n\n\n\n/**\n * Returns the median of the given list of numbers.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Math\n * @sig [Number] -> Number\n * @param {Array} list\n * @return {Number}\n * @see R.mean\n * @example\n *\n *      R.median([2, 9, 7]); //=> 7\n *      R.median([7, 2, 10, 9]); //=> 8\n *      R.median([]); //=> NaN\n */\nvar median = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function median(list) {\n  var len = list.length;\n  if (len === 0) {\n    return NaN;\n  }\n  var width = 2 - len % 2;\n  var idx = (len - width) / 2;\n  return Object(_mean__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Array.prototype.slice.call(list, 0).sort(function (a, b) {\n    return a < b ? -1 : a > b ? 1 : 0;\n  }).slice(idx, idx + width));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (median);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/memoize.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/memoize.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _memoizeWith__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./memoizeWith */ \"./node_modules/ramda/es/memoizeWith.js\");\n/* harmony import */ var _toString__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toString */ \"./node_modules/ramda/es/toString.js\");\n\n\n\n/**\n * Creates a new function that, when invoked, caches the result of calling `fn`\n * for a given argument set and returns the result. Subsequent calls to the\n * memoized `fn` with the same argument set will not result in an additional\n * call to `fn`; instead, the cached result for that set of arguments will be\n * returned.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (*... -> a) -> (*... -> a)\n * @param {Function} fn The function to memoize.\n * @return {Function} Memoized version of `fn`.\n * @see R.memoizeWith\n * @deprecated since v0.25.0\n * @example\n *\n *      let count = 0;\n *      const factorial = R.memoize(n => {\n *        count += 1;\n *        return R.product(R.range(1, n + 1));\n *      });\n *      factorial(5); //=> 120\n *      factorial(5); //=> 120\n *      factorial(5); //=> 120\n *      count; //=> 1\n */\nvar memoize = /*#__PURE__*/Object(_memoizeWith__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function () {\n  return Object(_toString__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(arguments);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (memoize);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/memoizeWith.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/ramda/es/memoizeWith.js ***!\n  \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_arity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity */ \"./node_modules/ramda/es/internal/_arity.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_has__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_has */ \"./node_modules/ramda/es/internal/_has.js\");\n\n\n\n\n/**\n * A customisable version of [`R.memoize`](#memoize). `memoizeWith` takes an\n * additional function that will be applied to a given argument set and used to\n * create the cache key under which the results of the function to be memoized\n * will be stored. Care must be taken when implementing key generation to avoid\n * clashes that may overwrite previous entries erroneously.\n *\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Function\n * @sig (*... -> String) -> (*... -> a) -> (*... -> a)\n * @param {Function} fn The function to generate the cache key.\n * @param {Function} fn The function to memoize.\n * @return {Function} Memoized version of `fn`.\n * @see R.memoize\n * @example\n *\n *      let count = 0;\n *      const factorial = R.memoizeWith(R.identity, n => {\n *        count += 1;\n *        return R.product(R.range(1, n + 1));\n *      });\n *      factorial(5); //=> 120\n *      factorial(5); //=> 120\n *      factorial(5); //=> 120\n *      count; //=> 1\n */\nvar memoizeWith = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function memoizeWith(mFn, fn) {\n  var cache = {};\n  return Object(_internal_arity__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fn.length, function () {\n    var key = mFn.apply(this, arguments);\n    if (!Object(_internal_has__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(key, cache)) {\n      cache[key] = fn.apply(this, arguments);\n    }\n    return cache[key];\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (memoizeWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/merge.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/merge.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_assign__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_assign */ \"./node_modules/ramda/es/internal/_assign.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n\n/**\n * Create a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects,\n * the value from the second object will be used.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> {k: v} -> {k: v}\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeDeepRight, R.mergeWith, R.mergeWithKey\n * @example\n *\n *      R.merge({ 'name': 'fred', 'age': 10 }, { 'age': 40 });\n *      //=> { 'name': 'fred', 'age': 40 }\n *\n *      var resetToDefault = R.merge(R.__, {x: 0});\n *      resetToDefault({x: 5, y: 2}); //=> {x: 0, y: 2}\n * @symb R.merge({ x: 1, y: 2 }, { y: 5, z: 3 }) = { x: 1, y: 5, z: 3 }\n */\nvar merge = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function merge(l, r) {\n  return Object(_internal_assign__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, l, r);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (merge);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/mergeAll.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/mergeAll.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_assign__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_assign */ \"./node_modules/ramda/es/internal/_assign.js\");\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n\n/**\n * Merges a list of objects together into one object.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig [{k: v}] -> {k: v}\n * @param {Array} list An array of objects\n * @return {Object} A merged object.\n * @see R.reduce\n * @example\n *\n *      R.mergeAll([{foo:1},{bar:2},{baz:3}]); //=> {foo:1,bar:2,baz:3}\n *      R.mergeAll([{foo:1},{foo:2},{bar:2}]); //=> {foo:2,bar:2}\n * @symb R.mergeAll([{ x: 1 }, { y: 2 }, { z: 3 }]) = { x: 1, y: 2, z: 3 }\n */\nvar mergeAll = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function mergeAll(list) {\n  return _internal_assign__WEBPACK_IMPORTED_MODULE_0__[\"default\"].apply(null, [{}].concat(list));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (mergeAll);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/mergeDeepLeft.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/ramda/es/mergeDeepLeft.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _mergeDeepWithKey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mergeDeepWithKey */ \"./node_modules/ramda/es/mergeDeepWithKey.js\");\n\n\n\n/**\n * Creates a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects:\n * - and both values are objects, the two values will be recursively merged\n * - otherwise the value from the first object will be used.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig {a} -> {a} -> {a}\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.merge, R.mergeDeepRight, R.mergeDeepWith, R.mergeDeepWithKey\n * @example\n *\n *      R.mergeDeepLeft({ name: 'fred', age: 10, contact: { email: 'moo@example.com' }},\n *                      { age: 40, contact: { email: 'baa@example.com' }});\n *      //=> { name: 'fred', age: 10, contact: { email: 'moo@example.com' }}\n */\nvar mergeDeepLeft = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function mergeDeepLeft(lObj, rObj) {\n  return Object(_mergeDeepWithKey__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (k, lVal, rVal) {\n    return lVal;\n  }, lObj, rObj);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (mergeDeepLeft);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/mergeDeepRight.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/ramda/es/mergeDeepRight.js ***!\n  \\*************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _mergeDeepWithKey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mergeDeepWithKey */ \"./node_modules/ramda/es/mergeDeepWithKey.js\");\n\n\n\n/**\n * Creates a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects:\n * - and both values are objects, the two values will be recursively merged\n * - otherwise the value from the second object will be used.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig {a} -> {a} -> {a}\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.merge, R.mergeDeepLeft, R.mergeDeepWith, R.mergeDeepWithKey\n * @example\n *\n *      R.mergeDeepRight({ name: 'fred', age: 10, contact: { email: 'moo@example.com' }},\n *                       { age: 40, contact: { email: 'baa@example.com' }});\n *      //=> { name: 'fred', age: 40, contact: { email: 'baa@example.com' }}\n */\nvar mergeDeepRight = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function mergeDeepRight(lObj, rObj) {\n  return Object(_mergeDeepWithKey__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (k, lVal, rVal) {\n    return rVal;\n  }, lObj, rObj);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (mergeDeepRight);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/mergeDeepWith.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/ramda/es/mergeDeepWith.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _mergeDeepWithKey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mergeDeepWithKey */ \"./node_modules/ramda/es/mergeDeepWithKey.js\");\n\n\n\n/**\n * Creates a new object with the own properties of the two provided objects.\n * If a key exists in both objects:\n * - and both associated values are also objects then the values will be\n *   recursively merged.\n * - otherwise the provided function is applied to associated values using the\n *   resulting value as the new value associated with the key.\n * If a key only exists in one object, the value will be associated with the key\n * of the resulting object.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig ((a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.mergeWith, R.mergeDeep, R.mergeDeepWithKey\n * @example\n *\n *      R.mergeDeepWith(R.concat,\n *                      { a: true, c: { values: [10, 20] }},\n *                      { b: true, c: { values: [15, 35] }});\n *      //=> { a: true, b: true, c: { values: [10, 20, 15, 35] }}\n */\nvar mergeDeepWith = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function mergeDeepWith(fn, lObj, rObj) {\n  return Object(_mergeDeepWithKey__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (k, lVal, rVal) {\n    return fn(lVal, rVal);\n  }, lObj, rObj);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (mergeDeepWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/mergeDeepWithKey.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/ramda/es/mergeDeepWithKey.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _internal_isObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isObject */ \"./node_modules/ramda/es/internal/_isObject.js\");\n/* harmony import */ var _mergeWithKey__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mergeWithKey */ \"./node_modules/ramda/es/mergeWithKey.js\");\n\n\n\n\n/**\n * Creates a new object with the own properties of the two provided objects.\n * If a key exists in both objects:\n * - and both associated values are also objects then the values will be\n *   recursively merged.\n * - otherwise the provided function is applied to the key and associated values\n *   using the resulting value as the new value associated with the key.\n * If a key only exists in one object, the value will be associated with the key\n * of the resulting object.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.mergeWithKey, R.mergeDeep, R.mergeDeepWith\n * @example\n *\n *      let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r\n *      R.mergeDeepWithKey(concatValues,\n *                         { a: true, c: { thing: 'foo', values: [10, 20] }},\n *                         { b: true, c: { thing: 'bar', values: [15, 35] }});\n *      //=> { a: true, b: true, c: { thing: 'bar', values: [10, 20, 15, 35] }}\n */\nvar mergeDeepWithKey = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function mergeDeepWithKey(fn, lObj, rObj) {\n  return Object(_mergeWithKey__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function (k, lVal, rVal) {\n    if (Object(_internal_isObject__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(lVal) && Object(_internal_isObject__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(rVal)) {\n      return mergeDeepWithKey(fn, lVal, rVal);\n    } else {\n      return fn(k, lVal, rVal);\n    }\n  }, lObj, rObj);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (mergeDeepWithKey);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/mergeWith.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/mergeWith.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _mergeWithKey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mergeWithKey */ \"./node_modules/ramda/es/mergeWithKey.js\");\n\n\n\n/**\n * Creates a new object with the own properties of the two provided objects. If\n * a key exists in both objects, the provided function is applied to the values\n * associated with the key in each object, with the result being used as the\n * value associated with the key in the returned object.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @sig ((a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeDeepWith, R.merge, R.mergeWithKey\n * @example\n *\n *      R.mergeWith(R.concat,\n *                  { a: true, values: [10, 20] },\n *                  { b: true, values: [15, 35] });\n *      //=> { a: true, b: true, values: [10, 20, 15, 35] }\n */\nvar mergeWith = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function mergeWith(fn, l, r) {\n  return Object(_mergeWithKey__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (_, _l, _r) {\n    return fn(_l, _r);\n  }, l, r);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (mergeWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/mergeWithKey.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/ramda/es/mergeWithKey.js ***!\n  \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _internal_has__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has */ \"./node_modules/ramda/es/internal/_has.js\");\n\n\n\n/**\n * Creates a new object with the own properties of the two provided objects. If\n * a key exists in both objects, the provided function is applied to the key\n * and the values associated with the key in each object, with the result being\n * used as the value associated with the key in the returned object.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeDeepWithKey, R.merge, R.mergeWith\n * @example\n *\n *      let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r\n *      R.mergeWithKey(concatValues,\n *                     { a: true, thing: 'foo', values: [10, 20] },\n *                     { b: true, thing: 'bar', values: [15, 35] });\n *      //=> { a: true, b: true, thing: 'bar', values: [10, 20, 15, 35] }\n * @symb R.mergeWithKey(f, { x: 1, y: 2 }, { y: 5, z: 3 }) = { x: 1, y: f('y', 2, 5), z: 3 }\n */\nvar mergeWithKey = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function mergeWithKey(fn, l, r) {\n  var result = {};\n  var k;\n\n  for (k in l) {\n    if (Object(_internal_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(k, l)) {\n      result[k] = Object(_internal_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(k, r) ? fn(k, l[k], r[k]) : l[k];\n    }\n  }\n\n  for (k in r) {\n    if (Object(_internal_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(k, r) && !Object(_internal_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(k, result)) {\n      result[k] = r[k];\n    }\n  }\n\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (mergeWithKey);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/min.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/min.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns the smaller of its two arguments.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> a\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.minBy, R.max\n * @example\n *\n *      R.min(789, 123); //=> 123\n *      R.min('a', 'b'); //=> 'a'\n */\nvar min = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function min(a, b) {\n  return b < a ? b : a;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (min);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/minBy.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/minBy.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Takes a function and two values, and returns whichever value produces the\n * smaller result when passed to the provided function.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Relation\n * @sig Ord b => (a -> b) -> a -> a -> a\n * @param {Function} f\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.min, R.maxBy\n * @example\n *\n *      //  square :: Number -> Number\n *      var square = n => n * n;\n *\n *      R.minBy(square, -3, 2); //=> 2\n *\n *      R.reduce(R.minBy(square), Infinity, [3, -5, 4, 1, -2]); //=> 1\n *      R.reduce(R.minBy(square), Infinity, []); //=> Infinity\n */\nvar minBy = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function minBy(f, a, b) {\n  return f(b) < f(a) ? b : a;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (minBy);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/modulo.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/modulo.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Divides the first parameter by the second and returns the remainder. Note\n * that this function preserves the JavaScript-style behavior for modulo. For\n * mathematical modulo see [`mathMod`](#mathMod).\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a The value to the divide.\n * @param {Number} b The pseudo-modulus\n * @return {Number} The result of `b % a`.\n * @see R.mathMod\n * @example\n *\n *      R.modulo(17, 3); //=> 2\n *      // JS behavior:\n *      R.modulo(-17, 3); //=> -2\n *      R.modulo(17, -3); //=> 2\n *\n *      var isOdd = R.modulo(R.__, 2);\n *      isOdd(42); //=> 0\n *      isOdd(21); //=> 1\n */\nvar modulo = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function modulo(a, b) {\n  return a % b;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (modulo);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/multiply.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/multiply.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Multiplies two numbers. Equivalent to `a * b` but curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a The first value.\n * @param {Number} b The second value.\n * @return {Number} The result of `a * b`.\n * @see R.divide\n * @example\n *\n *      var double = R.multiply(2);\n *      var triple = R.multiply(3);\n *      double(3);       //=>  6\n *      triple(4);       //=> 12\n *      R.multiply(2, 5);  //=> 10\n */\nvar multiply = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function multiply(a, b) {\n  return a * b;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (multiply);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/nAry.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/nAry.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Wraps a function of any arity (including nullary) in a function that accepts\n * exactly `n` parameters. Any extraneous parameters will not be passed to the\n * supplied function.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} n The desired arity of the new function.\n * @param {Function} fn The function to wrap.\n * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of\n *         arity `n`.\n * @see R.binary, R.unary\n * @example\n *\n *      var takesTwoArgs = (a, b) => [a, b];\n *\n *      takesTwoArgs.length; //=> 2\n *      takesTwoArgs(1, 2); //=> [1, 2]\n *\n *      var takesOneArg = R.nAry(1, takesTwoArgs);\n *      takesOneArg.length; //=> 1\n *      // Only `n` arguments are passed to the wrapped function\n *      takesOneArg(1, 2); //=> [1, undefined]\n * @symb R.nAry(0, f)(a, b) = f()\n * @symb R.nAry(1, f)(a, b) = f(a)\n * @symb R.nAry(2, f)(a, b) = f(a, b)\n */\nvar nAry = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function nAry(n, fn) {\n  switch (n) {\n    case 0:\n      return function () {\n        return fn.call(this);\n      };\n    case 1:\n      return function (a0) {\n        return fn.call(this, a0);\n      };\n    case 2:\n      return function (a0, a1) {\n        return fn.call(this, a0, a1);\n      };\n    case 3:\n      return function (a0, a1, a2) {\n        return fn.call(this, a0, a1, a2);\n      };\n    case 4:\n      return function (a0, a1, a2, a3) {\n        return fn.call(this, a0, a1, a2, a3);\n      };\n    case 5:\n      return function (a0, a1, a2, a3, a4) {\n        return fn.call(this, a0, a1, a2, a3, a4);\n      };\n    case 6:\n      return function (a0, a1, a2, a3, a4, a5) {\n        return fn.call(this, a0, a1, a2, a3, a4, a5);\n      };\n    case 7:\n      return function (a0, a1, a2, a3, a4, a5, a6) {\n        return fn.call(this, a0, a1, a2, a3, a4, a5, a6);\n      };\n    case 8:\n      return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n        return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7);\n      };\n    case 9:\n      return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n        return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8);\n      };\n    case 10:\n      return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n        return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n      };\n    default:\n      throw new Error('First argument to nAry must be a non-negative integer no greater than ten');\n  }\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (nAry);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/negate.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/negate.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n/**\n * Negates its argument.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Math\n * @sig Number -> Number\n * @param {Number} n\n * @return {Number}\n * @example\n *\n *      R.negate(42); //=> -42\n */\nvar negate = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function negate(n) {\n  return -n;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (negate);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/none.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/none.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_complement__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_complement */ \"./node_modules/ramda/es/internal/_complement.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xany__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_xany */ \"./node_modules/ramda/es/internal/_xany.js\");\n/* harmony import */ var _any__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./any */ \"./node_modules/ramda/es/any.js\");\n\n\n\n\n\n\n/**\n * Returns `true` if no elements of the list match the predicate, `false`\n * otherwise.\n *\n * Dispatches to the `any` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> Boolean\n * @param {Function} fn The predicate function.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if the predicate is not satisfied by every element, `false` otherwise.\n * @see R.all, R.any\n * @example\n *\n *      var isEven = n => n % 2 === 0;\n *      var isOdd = n => n % 2 === 1;\n *\n *      R.none(isEven, [1, 3, 5, 7, 9, 11]); //=> true\n *      R.none(isOdd, [1, 3, 5, 7, 8, 11]); //=> false\n */\nvar none = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/Object(_internal_complement__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(['any'], _internal_xany__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _any__WEBPACK_IMPORTED_MODULE_4__[\"default\"])));\n/* harmony default export */ __webpack_exports__[\"default\"] = (none);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/not.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/not.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n/**\n * A function that returns the `!` of its argument. It will return `true` when\n * passed false-y value, and `false` when passed a truth-y one.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig * -> Boolean\n * @param {*} a any value\n * @return {Boolean} the logical inverse of passed argument.\n * @see R.complement\n * @example\n *\n *      R.not(true); //=> false\n *      R.not(false); //=> true\n *      R.not(0); //=> true\n *      R.not(1); //=> false\n */\nvar not = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function not(a) {\n  return !a;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (not);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/nth.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/nth.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_isString__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isString */ \"./node_modules/ramda/es/internal/_isString.js\");\n\n\n\n/**\n * Returns the nth element of the given list or string. If n is negative the\n * element at index length + n is returned.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> a | Undefined\n * @sig Number -> String -> String\n * @param {Number} offset\n * @param {*} list\n * @return {*}\n * @example\n *\n *      var list = ['foo', 'bar', 'baz', 'quux'];\n *      R.nth(1, list); //=> 'bar'\n *      R.nth(-1, list); //=> 'quux'\n *      R.nth(-99, list); //=> undefined\n *\n *      R.nth(2, 'abc'); //=> 'c'\n *      R.nth(3, 'abc'); //=> ''\n * @symb R.nth(-1, [a, b, c]) = c\n * @symb R.nth(0, [a, b, c]) = a\n * @symb R.nth(1, [a, b, c]) = b\n */\nvar nth = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function nth(offset, list) {\n  var idx = offset < 0 ? list.length + offset : offset;\n  return Object(_internal_isString__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(list) ? list.charAt(idx) : list[idx];\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (nth);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/nthArg.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/nthArg.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n/* harmony import */ var _nth__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./nth */ \"./node_modules/ramda/es/nth.js\");\n\n\n\n\n/**\n * Returns a function which returns its nth argument.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Function\n * @sig Number -> *... -> *\n * @param {Number} n\n * @return {Function}\n * @example\n *\n *      R.nthArg(1)('a', 'b', 'c'); //=> 'b'\n *      R.nthArg(-1)('a', 'b', 'c'); //=> 'c'\n * @symb R.nthArg(-1)(a, b, c) = c\n * @symb R.nthArg(0)(a, b, c) = a\n * @symb R.nthArg(1)(a, b, c) = b\n */\nvar nthArg = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function nthArg(n) {\n  var arity = n < 0 ? 1 : n + 1;\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(arity, function () {\n    return Object(_nth__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(n, arguments);\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (nthArg);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/o.js\":\n/*!************************************!*\\\n  !*** ./node_modules/ramda/es/o.js ***!\n  \\************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * `o` is a curried composition function that returns a unary function.\n * Like [`compose`](#compose), `o` performs right-to-left function composition.\n * Unlike [`compose`](#compose), the rightmost function passed to `o` will be\n * invoked with only one argument.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Function\n * @sig (b -> c) -> (a -> b) -> a -> c\n * @param {Function} f\n * @param {Function} g\n * @return {Function}\n * @see R.compose, R.pipe\n * @example\n *\n *      var classyGreeting = name => \"The name's \" + name.last + \", \" + name.first + \" \" + name.last\n *      var yellGreeting = R.o(R.toUpper, classyGreeting);\n *      yellGreeting({first: 'James', last: 'Bond'}); //=> \"THE NAME'S BOND, JAMES BOND\"\n *\n *      R.o(R.multiply(10), R.add(10))(-4) //=> 60\n *\n * @symb R.o(f, g, x) = f(g(x))\n */\nvar o = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function o(f, g, x) {\n  return f(g(x));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (o);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/objOf.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/objOf.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Creates an object containing a single key:value pair.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Object\n * @sig String -> a -> {String:a}\n * @param {String} key\n * @param {*} val\n * @return {Object}\n * @see R.pair\n * @example\n *\n *      var matchPhrases = R.compose(\n *        R.objOf('must'),\n *        R.map(R.objOf('match_phrase'))\n *      );\n *      matchPhrases(['foo', 'bar', 'baz']); //=> {must: [{match_phrase: 'foo'}, {match_phrase: 'bar'}, {match_phrase: 'baz'}]}\n */\nvar objOf = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function objOf(key, val) {\n  var obj = {};\n  obj[key] = val;\n  return obj;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (objOf);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/of.js\":\n/*!*************************************!*\\\n  !*** ./node_modules/ramda/es/of.js ***!\n  \\*************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_of__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_of */ \"./node_modules/ramda/es/internal/_of.js\");\n\n\n\n/**\n * Returns a singleton array containing the value provided.\n *\n * Note this `of` is different from the ES6 `of`; See\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/of\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig a -> [a]\n * @param {*} x any value\n * @return {Array} An array wrapping `x`.\n * @example\n *\n *      R.of(null); //=> [null]\n *      R.of([42]); //=> [[42]]\n */\nvar of = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_internal_of__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (of);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/omit.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/omit.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns a partial copy of an object omitting the keys specified.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [String] -> {String: *} -> {String: *}\n * @param {Array} names an array of String property names to omit from the new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with properties from `names` not on it.\n * @see R.pick\n * @example\n *\n *      R.omit(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, c: 3}\n */\nvar omit = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function omit(names, obj) {\n  var result = {};\n  var index = {};\n  var idx = 0;\n  var len = names.length;\n\n  while (idx < len) {\n    index[names[idx]] = 1;\n    idx += 1;\n  }\n\n  for (var prop in obj) {\n    if (!index.hasOwnProperty(prop)) {\n      result[prop] = obj[prop];\n    }\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (omit);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/once.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/once.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_arity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity */ \"./node_modules/ramda/es/internal/_arity.js\");\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n\n/**\n * Accepts a function `fn` and returns a function that guards invocation of\n * `fn` such that `fn` can only ever be called once, no matter how many times\n * the returned function is invoked. The first value calculated is returned in\n * subsequent invocations.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (a... -> b) -> (a... -> b)\n * @param {Function} fn The function to wrap in a call-only-once wrapper.\n * @return {Function} The wrapped function.\n * @example\n *\n *      var addOneOnce = R.once(x => x + 1);\n *      addOneOnce(10); //=> 11\n *      addOneOnce(addOneOnce(50)); //=> 11\n */\nvar once = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function once(fn) {\n  var called = false;\n  var result;\n  return Object(_internal_arity__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fn.length, function () {\n    if (called) {\n      return result;\n    }\n    called = true;\n    result = fn.apply(this, arguments);\n    return result;\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (once);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/or.js\":\n/*!*************************************!*\\\n  !*** ./node_modules/ramda/es/or.js ***!\n  \\*************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns `true` if one or both of its arguments are `true`. Returns `false`\n * if both arguments are `false`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig a -> b -> a | b\n * @param {Any} a\n * @param {Any} b\n * @return {Any} the first argument if truthy, otherwise the second argument.\n * @see R.either\n * @example\n *\n *      R.or(true, true); //=> true\n *      R.or(true, false); //=> true\n *      R.or(false, true); //=> true\n *      R.or(false, false); //=> false\n */\nvar or = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function or(a, b) {\n  return a || b;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (or);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/over.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/over.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n// `Identity` is a functor that holds a single value, where `map` simply\n// transforms the held value with the provided function.\nvar Identity = function (x) {\n  return { value: x, map: function (f) {\n      return Identity(f(x));\n    } };\n};\n\n/**\n * Returns the result of \"setting\" the portion of the given data structure\n * focused by the given lens to the result of applying the given function to\n * the focused value.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Lens s a -> (a -> a) -> s -> s\n * @param {Lens} lens\n * @param {*} v\n * @param {*} x\n * @return {*}\n * @see R.prop, R.lensIndex, R.lensProp\n * @example\n *\n *      var headLens = R.lensIndex(0);\n *\n *      R.over(headLens, R.toUpper, ['foo', 'bar', 'baz']); //=> ['FOO', 'bar', 'baz']\n */\nvar over = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function over(lens, f, x) {\n  // The value returned by the getter function is first transformed with `f`,\n  // then set as the value of an `Identity`. This is then mapped over with the\n  // setter function of the lens.\n  return lens(function (y) {\n    return Identity(f(y));\n  })(x).value;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (over);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/pair.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/pair.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Takes two arguments, `fst` and `snd`, and returns `[fst, snd]`.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category List\n * @sig a -> b -> (a,b)\n * @param {*} fst\n * @param {*} snd\n * @return {Array}\n * @see R.objOf, R.of\n * @example\n *\n *      R.pair('foo', 'bar'); //=> ['foo', 'bar']\n */\nvar pair = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function pair(fst, snd) {\n  return [fst, snd];\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (pair);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/partial.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/partial.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat */ \"./node_modules/ramda/es/internal/_concat.js\");\n/* harmony import */ var _internal_createPartialApplicator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_createPartialApplicator */ \"./node_modules/ramda/es/internal/_createPartialApplicator.js\");\n\n\n\n/**\n * Takes a function `f` and a list of arguments, and returns a function `g`.\n * When applied, `g` returns the result of applying `f` to the arguments\n * provided initially followed by the arguments provided to `g`.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Function\n * @sig ((a, b, c, ..., n) -> x) -> [a, b, c, ...] -> ((d, e, f, ..., n) -> x)\n * @param {Function} f\n * @param {Array} args\n * @return {Function}\n * @see R.partialRight\n * @example\n *\n *      var multiply2 = (a, b) => a * b;\n *      var double = R.partial(multiply2, [2]);\n *      double(2); //=> 4\n *\n *      var greet = (salutation, title, firstName, lastName) =>\n *        salutation + ', ' + title + ' ' + firstName + ' ' + lastName + '!';\n *\n *      var sayHello = R.partial(greet, ['Hello']);\n *      var sayHelloToMs = R.partial(sayHello, ['Ms.']);\n *      sayHelloToMs('Jane', 'Jones'); //=> 'Hello, Ms. Jane Jones!'\n * @symb R.partial(f, [a, b])(c, d) = f(a, b, c, d)\n */\nvar partial = /*#__PURE__*/Object(_internal_createPartialApplicator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_internal_concat__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (partial);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/partialRight.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/ramda/es/partialRight.js ***!\n  \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat */ \"./node_modules/ramda/es/internal/_concat.js\");\n/* harmony import */ var _internal_createPartialApplicator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_createPartialApplicator */ \"./node_modules/ramda/es/internal/_createPartialApplicator.js\");\n/* harmony import */ var _flip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./flip */ \"./node_modules/ramda/es/flip.js\");\n\n\n\n\n/**\n * Takes a function `f` and a list of arguments, and returns a function `g`.\n * When applied, `g` returns the result of applying `f` to the arguments\n * provided to `g` followed by the arguments provided initially.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Function\n * @sig ((a, b, c, ..., n) -> x) -> [d, e, f, ..., n] -> ((a, b, c, ...) -> x)\n * @param {Function} f\n * @param {Array} args\n * @return {Function}\n * @see R.partial\n * @example\n *\n *      var greet = (salutation, title, firstName, lastName) =>\n *        salutation + ', ' + title + ' ' + firstName + ' ' + lastName + '!';\n *\n *      var greetMsJaneJones = R.partialRight(greet, ['Ms.', 'Jane', 'Jones']);\n *\n *      greetMsJaneJones('Hello'); //=> 'Hello, Ms. Jane Jones!'\n * @symb R.partialRight(f, [a, b])(c, d) = f(c, d, a, b)\n */\nvar partialRight = /*#__PURE__*/Object(_internal_createPartialApplicator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/Object(_flip__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_internal_concat__WEBPACK_IMPORTED_MODULE_0__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (partialRight);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/partition.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/partition.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./filter */ \"./node_modules/ramda/es/filter.js\");\n/* harmony import */ var _juxt__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./juxt */ \"./node_modules/ramda/es/juxt.js\");\n/* harmony import */ var _reject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reject */ \"./node_modules/ramda/es/reject.js\");\n\n\n\n\n/**\n * Takes a predicate and a list or other `Filterable` object and returns the\n * pair of filterable objects of the same type of elements which do and do not\n * satisfy, the predicate, respectively. Filterable objects include plain objects or any object\n * that has a filter method such as `Array`.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> [f a, f a]\n * @param {Function} pred A predicate to determine which side the element belongs to.\n * @param {Array} filterable the list (or other filterable) to partition.\n * @return {Array} An array, containing first the subset of elements that satisfy the\n *         predicate, and second the subset of elements that do not satisfy.\n * @see R.filter, R.reject\n * @example\n *\n *      R.partition(R.contains('s'), ['sss', 'ttt', 'foo', 'bars']);\n *      // => [ [ 'sss', 'bars' ],  [ 'ttt', 'foo' ] ]\n *\n *      R.partition(R.contains('s'), { a: 'sss', b: 'ttt', foo: 'bars' });\n *      // => [ { a: 'sss', foo: 'bars' }, { b: 'ttt' }  ]\n */\nvar partition = /*#__PURE__*/Object(_juxt__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([_filter__WEBPACK_IMPORTED_MODULE_0__[\"default\"], _reject__WEBPACK_IMPORTED_MODULE_2__[\"default\"]]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (partition);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/path.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/path.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Retrieve the value at a given path.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> {a} -> a | Undefined\n * @param {Array} path The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path`.\n * @see R.prop\n * @example\n *\n *      R.path(['a', 'b'], {a: {b: 2}}); //=> 2\n *      R.path(['a', 'b'], {c: {b: 2}}); //=> undefined\n */\nvar path = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function path(paths, obj) {\n  var val = obj;\n  var idx = 0;\n  while (idx < paths.length) {\n    if (val == null) {\n      return;\n    }\n    val = val[paths[idx]];\n    idx += 1;\n  }\n  return val;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (path);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/pathEq.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/pathEq.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _equals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals */ \"./node_modules/ramda/es/equals.js\");\n/* harmony import */ var _path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./path */ \"./node_modules/ramda/es/path.js\");\n\n\n\n\n/**\n * Determines whether a nested path on an object has a specific value, in\n * [`R.equals`](#equals) terms. Most likely used to filter a list.\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Relation\n * @typedefn Idx = String | Int\n * @sig [Idx] -> a -> {a} -> Boolean\n * @param {Array} path The path of the nested property to use\n * @param {*} val The value to compare the nested property with\n * @param {Object} obj The object to check the nested property in\n * @return {Boolean} `true` if the value equals the nested object property,\n *         `false` otherwise.\n * @example\n *\n *      var user1 = { address: { zipCode: 90210 } };\n *      var user2 = { address: { zipCode: 55555 } };\n *      var user3 = { name: 'Bob' };\n *      var users = [ user1, user2, user3 ];\n *      var isFamous = R.pathEq(['address', 'zipCode'], 90210);\n *      R.filter(isFamous, users); //=> [ user1 ]\n */\nvar pathEq = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function pathEq(_path, val, obj) {\n  return Object(_equals__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_path__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_path, obj), val);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (pathEq);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/pathOr.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/pathOr.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _defaultTo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./defaultTo */ \"./node_modules/ramda/es/defaultTo.js\");\n/* harmony import */ var _path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./path */ \"./node_modules/ramda/es/path.js\");\n\n\n\n\n/**\n * If the given, non-null object has a value at the given path, returns the\n * value at that path. Otherwise returns the provided default value.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig a -> [Idx] -> {a} -> a\n * @param {*} d The default value.\n * @param {Array} p The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path` of the supplied object or the default value.\n * @example\n *\n *      R.pathOr('N/A', ['a', 'b'], {a: {b: 2}}); //=> 2\n *      R.pathOr('N/A', ['a', 'b'], {c: {b: 2}}); //=> \"N/A\"\n */\nvar pathOr = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function pathOr(d, p, obj) {\n  return Object(_defaultTo__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(d, Object(_path__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(p, obj));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (pathOr);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/pathSatisfies.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/ramda/es/pathSatisfies.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./path */ \"./node_modules/ramda/es/path.js\");\n\n\n\n/**\n * Returns `true` if the specified object property at given path satisfies the\n * given predicate; `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Logic\n * @typedefn Idx = String | Int\n * @sig (a -> Boolean) -> [Idx] -> {a} -> Boolean\n * @param {Function} pred\n * @param {Array} propPath\n * @param {*} obj\n * @return {Boolean}\n * @see R.propSatisfies, R.path\n * @example\n *\n *      R.pathSatisfies(y => y > 0, ['x', 'y'], {x: {y: 2}}); //=> true\n */\nvar pathSatisfies = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function pathSatisfies(pred, propPath, obj) {\n  return propPath.length > 0 && pred(Object(_path__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(propPath, obj));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (pathSatisfies);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/pick.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/pick.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns a partial copy of an object containing only the keys specified. If\n * the key does not exist, the property is ignored.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [k] -> {k: v} -> {k: v}\n * @param {Array} names an array of String property names to copy onto a new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with only properties from `names` on it.\n * @see R.omit, R.props\n * @example\n *\n *      R.pick(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4}\n *      R.pick(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1}\n */\nvar pick = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function pick(names, obj) {\n  var result = {};\n  var idx = 0;\n  while (idx < names.length) {\n    if (names[idx] in obj) {\n      result[names[idx]] = obj[names[idx]];\n    }\n    idx += 1;\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (pick);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/pickAll.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/pickAll.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Similar to `pick` except that this one includes a `key: undefined` pair for\n * properties that don't exist.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [k] -> {k: v} -> {k: v}\n * @param {Array} names an array of String property names to copy onto a new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with only properties from `names` on it.\n * @see R.pick\n * @example\n *\n *      R.pickAll(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4}\n *      R.pickAll(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, e: undefined, f: undefined}\n */\nvar pickAll = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function pickAll(names, obj) {\n  var result = {};\n  var idx = 0;\n  var len = names.length;\n  while (idx < len) {\n    var name = names[idx];\n    result[name] = obj[name];\n    idx += 1;\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (pickAll);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/pickBy.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/pickBy.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns a partial copy of an object containing only the keys that satisfy\n * the supplied predicate.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @sig ((v, k) -> Boolean) -> {k: v} -> {k: v}\n * @param {Function} pred A predicate to determine whether or not a key\n *        should be included on the output object.\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with only properties that satisfy `pred`\n *         on it.\n * @see R.pick, R.filter\n * @example\n *\n *      var isUpperCase = (val, key) => key.toUpperCase() === key;\n *      R.pickBy(isUpperCase, {a: 1, b: 2, A: 3, B: 4}); //=> {A: 3, B: 4}\n */\nvar pickBy = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function pickBy(test, obj) {\n  var result = {};\n  for (var prop in obj) {\n    if (test(obj[prop], prop, obj)) {\n      result[prop] = obj[prop];\n    }\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (pickBy);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/pipe.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/pipe.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return pipe; });\n/* harmony import */ var _internal_arity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity */ \"./node_modules/ramda/es/internal/_arity.js\");\n/* harmony import */ var _internal_pipe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_pipe */ \"./node_modules/ramda/es/internal/_pipe.js\");\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reduce */ \"./node_modules/ramda/es/reduce.js\");\n/* harmony import */ var _tail__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./tail */ \"./node_modules/ramda/es/tail.js\");\n\n\n\n\n\n/**\n * Performs left-to-right function composition. The leftmost function may have\n * any arity; the remaining functions must be unary.\n *\n * In some libraries this function is named `sequence`.\n *\n * **Note:** The result of pipe is not automatically curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)) -> ((a, b, ..., n) -> z)\n * @param {...Function} functions\n * @return {Function}\n * @see R.compose\n * @example\n *\n *      var f = R.pipe(Math.pow, R.negate, R.inc);\n *\n *      f(3, 4); // -(3^4) + 1\n * @symb R.pipe(f, g, h)(a, b) = h(g(f(a, b)))\n */\nfunction pipe() {\n  if (arguments.length === 0) {\n    throw new Error('pipe requires at least one argument');\n  }\n  return Object(_internal_arity__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(arguments[0].length, Object(_reduce__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_internal_pipe__WEBPACK_IMPORTED_MODULE_1__[\"default\"], arguments[0], Object(_tail__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(arguments)));\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/pipeK.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/pipeK.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return pipeK; });\n/* harmony import */ var _composeK__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./composeK */ \"./node_modules/ramda/es/composeK.js\");\n/* harmony import */ var _reverse__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reverse */ \"./node_modules/ramda/es/reverse.js\");\n\n\n\n/**\n * Returns the left-to-right Kleisli composition of the provided functions,\n * each of which must return a value of a type supported by [`chain`](#chain).\n *\n * `R.pipeK(f, g, h)` is equivalent to `R.pipe(f, R.chain(g), R.chain(h))`.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Function\n * @sig Chain m => ((a -> m b), (b -> m c), ..., (y -> m z)) -> (a -> m z)\n * @param {...Function}\n * @return {Function}\n * @see R.composeK\n * @example\n *\n *      //  parseJson :: String -> Maybe *\n *      //  get :: String -> Object -> Maybe *\n *\n *      //  getStateCode :: Maybe String -> Maybe String\n *      var getStateCode = R.pipeK(\n *        parseJson,\n *        get('user'),\n *        get('address'),\n *        get('state'),\n *        R.compose(Maybe.of, R.toUpper)\n *      );\n *\n *      getStateCode('{\"user\":{\"address\":{\"state\":\"ny\"}}}');\n *      //=> Just('NY')\n *      getStateCode('[Invalid JSON]');\n *      //=> Nothing()\n * @symb R.pipeK(f, g, h)(a) = R.chain(h, R.chain(g, f(a)))\n */\nfunction pipeK() {\n  if (arguments.length === 0) {\n    throw new Error('pipeK requires at least one argument');\n  }\n  return _composeK__WEBPACK_IMPORTED_MODULE_0__[\"default\"].apply(this, Object(_reverse__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(arguments));\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/pipeP.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/pipeP.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return pipeP; });\n/* harmony import */ var _internal_arity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity */ \"./node_modules/ramda/es/internal/_arity.js\");\n/* harmony import */ var _internal_pipeP__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_pipeP */ \"./node_modules/ramda/es/internal/_pipeP.js\");\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reduce */ \"./node_modules/ramda/es/reduce.js\");\n/* harmony import */ var _tail__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./tail */ \"./node_modules/ramda/es/tail.js\");\n\n\n\n\n\n/**\n * Performs left-to-right composition of one or more Promise-returning\n * functions. The leftmost function may have any arity; the remaining functions\n * must be unary.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Function\n * @sig ((a -> Promise b), (b -> Promise c), ..., (y -> Promise z)) -> (a -> Promise z)\n * @param {...Function} functions\n * @return {Function}\n * @see R.composeP\n * @example\n *\n *      //  followersForUser :: String -> Promise [User]\n *      var followersForUser = R.pipeP(db.getUserById, db.getFollowers);\n */\nfunction pipeP() {\n  if (arguments.length === 0) {\n    throw new Error('pipeP requires at least one argument');\n  }\n  return Object(_internal_arity__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(arguments[0].length, Object(_reduce__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_internal_pipeP__WEBPACK_IMPORTED_MODULE_1__[\"default\"], arguments[0], Object(_tail__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(arguments)));\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/pluck.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/pluck.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./map */ \"./node_modules/ramda/es/map.js\");\n/* harmony import */ var _prop__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./prop */ \"./node_modules/ramda/es/prop.js\");\n\n\n\n\n/**\n * Returns a new list by plucking the same named property off all objects in\n * the list supplied.\n *\n * `pluck` will work on\n * any [functor](https://github.com/fantasyland/fantasy-land#functor) in\n * addition to arrays, as it is equivalent to `R.map(R.prop(k), f)`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => k -> f {k: v} -> f v\n * @param {Number|String} key The key name to pluck off of each object.\n * @param {Array} f The array or functor to consider.\n * @return {Array} The list of values for the given key.\n * @see R.props\n * @example\n *\n *      R.pluck('a')([{a: 1}, {a: 2}]); //=> [1, 2]\n *      R.pluck(0)([[1, 2], [3, 4]]);   //=> [1, 3]\n *      R.pluck('val', {a: {val: 3}, b: {val: 5}}); //=> {a: 3, b: 5}\n * @symb R.pluck('x', [{x: 1, y: 2}, {x: 3, y: 4}, {x: 5, y: 6}]) = [1, 3, 5]\n * @symb R.pluck(0, [[1, 2], [3, 4], [5, 6]]) = [1, 3, 5]\n */\nvar pluck = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function pluck(p, list) {\n  return Object(_map__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_prop__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(p), list);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (pluck);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/prepend.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/prepend.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat */ \"./node_modules/ramda/es/internal/_concat.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n\n/**\n * Returns a new list with the given element at the front, followed by the\n * contents of the list.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> [a]\n * @param {*} el The item to add to the head of the output list.\n * @param {Array} list The array to add to the tail of the output list.\n * @return {Array} A new array.\n * @see R.append\n * @example\n *\n *      R.prepend('fee', ['fi', 'fo', 'fum']); //=> ['fee', 'fi', 'fo', 'fum']\n */\nvar prepend = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function prepend(el, list) {\n  return Object(_internal_concat__WEBPACK_IMPORTED_MODULE_0__[\"default\"])([el], list);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (prepend);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/product.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/product.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _multiply__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./multiply */ \"./node_modules/ramda/es/multiply.js\");\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reduce */ \"./node_modules/ramda/es/reduce.js\");\n\n\n\n/**\n * Multiplies together all the elements of a list.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig [Number] -> Number\n * @param {Array} list An array of numbers\n * @return {Number} The product of all the numbers in the list.\n * @see R.reduce\n * @example\n *\n *      R.product([2,4,6,8,100,1]); //=> 38400\n */\nvar product = /*#__PURE__*/Object(_reduce__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_multiply__WEBPACK_IMPORTED_MODULE_0__[\"default\"], 1);\n/* harmony default export */ __webpack_exports__[\"default\"] = (product);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/project.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/project.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_map__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_map */ \"./node_modules/ramda/es/internal/_map.js\");\n/* harmony import */ var _identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./identity */ \"./node_modules/ramda/es/identity.js\");\n/* harmony import */ var _pickAll__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pickAll */ \"./node_modules/ramda/es/pickAll.js\");\n/* harmony import */ var _useWith__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./useWith */ \"./node_modules/ramda/es/useWith.js\");\n\n\n\n\n\n/**\n * Reasonable analog to SQL `select` statement.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @category Relation\n * @sig [k] -> [{k: v}] -> [{k: v}]\n * @param {Array} props The property names to project\n * @param {Array} objs The objects to query\n * @return {Array} An array of objects with just the `props` properties.\n * @example\n *\n *      var abby = {name: 'Abby', age: 7, hair: 'blond', grade: 2};\n *      var fred = {name: 'Fred', age: 12, hair: 'brown', grade: 7};\n *      var kids = [abby, fred];\n *      R.project(['name', 'grade'], kids); //=> [{name: 'Abby', grade: 2}, {name: 'Fred', grade: 7}]\n */\nvar project = /*#__PURE__*/Object(_useWith__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_internal_map__WEBPACK_IMPORTED_MODULE_0__[\"default\"], [_pickAll__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _identity__WEBPACK_IMPORTED_MODULE_1__[\"default\"]]); // passing `identity` gives correct arity\n/* harmony default export */ __webpack_exports__[\"default\"] = (project);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/prop.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/prop.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./path */ \"./node_modules/ramda/es/path.js\");\n\n\n\n/**\n * Returns a function that when supplied an object returns the indicated\n * property of that object, if it exists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig s -> {s: a} -> a | Undefined\n * @param {String} p The property name\n * @param {Object} obj The object to query\n * @return {*} The value at `obj.p`.\n * @see R.path\n * @example\n *\n *      R.prop('x', {x: 100}); //=> 100\n *      R.prop('x', {}); //=> undefined\n */\n\nvar prop = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function prop(p, obj) {\n  return Object(_path__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([p], obj);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (prop);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/propEq.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/propEq.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _equals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals */ \"./node_modules/ramda/es/equals.js\");\n\n\n\n/**\n * Returns `true` if the specified object property is equal, in\n * [`R.equals`](#equals) terms, to the given value; `false` otherwise.\n * You can test multiple properties with [`R.where`](#where).\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig String -> a -> Object -> Boolean\n * @param {String} name\n * @param {*} val\n * @param {*} obj\n * @return {Boolean}\n * @see R.whereEq, R.propSatisfies, R.equals\n * @example\n *\n *      var abby = {name: 'Abby', age: 7, hair: 'blond'};\n *      var fred = {name: 'Fred', age: 12, hair: 'brown'};\n *      var rusty = {name: 'Rusty', age: 10, hair: 'brown'};\n *      var alois = {name: 'Alois', age: 15, disposition: 'surly'};\n *      var kids = [abby, fred, rusty, alois];\n *      var hasBrownHair = R.propEq('hair', 'brown');\n *      R.filter(hasBrownHair, kids); //=> [fred, rusty]\n */\nvar propEq = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function propEq(name, val, obj) {\n  return Object(_equals__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(val, obj[name]);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (propEq);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/propIs.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/propIs.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _is__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./is */ \"./node_modules/ramda/es/is.js\");\n\n\n\n/**\n * Returns `true` if the specified object property is of the given type;\n * `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Type\n * @sig Type -> String -> Object -> Boolean\n * @param {Function} type\n * @param {String} name\n * @param {*} obj\n * @return {Boolean}\n * @see R.is, R.propSatisfies\n * @example\n *\n *      R.propIs(Number, 'x', {x: 1, y: 2});  //=> true\n *      R.propIs(Number, 'x', {x: 'foo'});    //=> false\n *      R.propIs(Number, 'x', {});            //=> false\n */\nvar propIs = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function propIs(type, name, obj) {\n  return Object(_is__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(type, obj[name]);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (propIs);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/propOr.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/propOr.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _internal_has__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has */ \"./node_modules/ramda/es/internal/_has.js\");\n\n\n\n/**\n * If the given, non-null object has an own property with the specified name,\n * returns the value of that property. Otherwise returns the provided default\n * value.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Object\n * @sig a -> String -> Object -> a\n * @param {*} val The default value.\n * @param {String} p The name of the property to return.\n * @param {Object} obj The object to query.\n * @return {*} The value of given property of the supplied object or the default value.\n * @example\n *\n *      var alice = {\n *        name: 'ALICE',\n *        age: 101\n *      };\n *      var favorite = R.prop('favoriteLibrary');\n *      var favoriteWithDefault = R.propOr('Ramda', 'favoriteLibrary');\n *\n *      favorite(alice);  //=> undefined\n *      favoriteWithDefault(alice);  //=> 'Ramda'\n */\nvar propOr = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function propOr(val, p, obj) {\n  return obj != null && Object(_internal_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(p, obj) ? obj[p] : val;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (propOr);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/propSatisfies.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/ramda/es/propSatisfies.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Returns `true` if the specified object property satisfies the given\n * predicate; `false` otherwise. You can test multiple properties with\n * [`R.where`](#where).\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Logic\n * @sig (a -> Boolean) -> String -> {String: a} -> Boolean\n * @param {Function} pred\n * @param {String} name\n * @param {*} obj\n * @return {Boolean}\n * @see R.where, R.propEq, R.propIs\n * @example\n *\n *      R.propSatisfies(x => x > 0, 'x', {x: 1, y: 2}); //=> true\n */\nvar propSatisfies = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function propSatisfies(pred, name, obj) {\n  return pred(obj[name]);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (propSatisfies);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/props.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/props.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Acts as multiple `prop`: array of keys in, array of values out. Preserves\n * order.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [k] -> {k: v} -> [v]\n * @param {Array} ps The property names to fetch\n * @param {Object} obj The object to query\n * @return {Array} The corresponding values or partially applied function.\n * @example\n *\n *      R.props(['x', 'y'], {x: 1, y: 2}); //=> [1, 2]\n *      R.props(['c', 'a', 'b'], {b: 2, a: 1}); //=> [undefined, 1, 2]\n *\n *      var fullName = R.compose(R.join(' '), R.props(['first', 'last']));\n *      fullName({last: 'Bullet-Tooth', age: 33, first: 'Tony'}); //=> 'Tony Bullet-Tooth'\n */\nvar props = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function props(ps, obj) {\n  var len = ps.length;\n  var out = [];\n  var idx = 0;\n\n  while (idx < len) {\n    out[idx] = obj[ps[idx]];\n    idx += 1;\n  }\n\n  return out;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (props);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/range.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/range.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_isNumber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isNumber */ \"./node_modules/ramda/es/internal/_isNumber.js\");\n\n\n\n/**\n * Returns a list of numbers from `from` (inclusive) to `to` (exclusive).\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> Number -> [Number]\n * @param {Number} from The first number in the list.\n * @param {Number} to One more than the last number in the list.\n * @return {Array} The list of numbers in tthe set `[a, b)`.\n * @example\n *\n *      R.range(1, 5);    //=> [1, 2, 3, 4]\n *      R.range(50, 53);  //=> [50, 51, 52]\n */\nvar range = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function range(from, to) {\n  if (!(Object(_internal_isNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(from) && Object(_internal_isNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(to))) {\n    throw new TypeError('Both arguments to range must be numbers');\n  }\n  var result = [];\n  var n = from;\n  while (n < to) {\n    result.push(n);\n    n += 1;\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (range);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/reduce.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/reduce.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _internal_reduce__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_reduce */ \"./node_modules/ramda/es/internal/_reduce.js\");\n\n\n\n/**\n * Returns a single item by iterating through the list, successively calling\n * the iterator function and passing it an accumulator value and the current\n * value from the array, and then passing the result to the next call.\n *\n * The iterator function receives two values: *(acc, value)*. It may use\n * [`R.reduced`](#reduced) to shortcut the iteration.\n *\n * The arguments' order of [`reduceRight`](#reduceRight)'s iterator function\n * is *(value, acc)*.\n *\n * Note: `R.reduce` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.reduce` method. For more details\n * on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce#Description\n *\n * Dispatches to the `reduce` method of the third argument, if present. When\n * doing so, it is up to the user to handle the [`R.reduced`](#reduced)\n * shortcuting, as this is not implemented by `reduce`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n *        current element from the array.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduced, R.addIndex, R.reduceRight\n * @example\n *\n *      R.reduce(R.subtract, 0, [1, 2, 3, 4]) // => ((((0 - 1) - 2) - 3) - 4) = -10\n *      //          -               -10\n *      //         / \\              / \\\n *      //        -   4           -6   4\n *      //       / \\              / \\\n *      //      -   3   ==>     -3   3\n *      //     / \\              / \\\n *      //    -   2           -1   2\n *      //   / \\              / \\\n *      //  0   1            0   1\n *\n * @symb R.reduce(f, a, [b, c, d]) = f(f(f(a, b), c), d)\n */\nvar reduce = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_internal_reduce__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (reduce);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/reduceBy.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/reduceBy.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curryN__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curryN */ \"./node_modules/ramda/es/internal/_curryN.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_has__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_has */ \"./node_modules/ramda/es/internal/_has.js\");\n/* harmony import */ var _internal_reduce__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_reduce */ \"./node_modules/ramda/es/internal/_reduce.js\");\n/* harmony import */ var _internal_xreduceBy__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./internal/_xreduceBy */ \"./node_modules/ramda/es/internal/_xreduceBy.js\");\n\n\n\n\n\n\n/**\n * Groups the elements of the list according to the result of calling\n * the String-returning function `keyFn` on each element and reduces the elements\n * of each group to a single value via the reducer function `valueFn`.\n *\n * This function is basically a more general [`groupBy`](#groupBy) function.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category List\n * @sig ((a, b) -> a) -> a -> (b -> String) -> [b] -> {String: a}\n * @param {Function} valueFn The function that reduces the elements of each group to a single\n *        value. Receives two values, accumulator for a particular group and the current element.\n * @param {*} acc The (initial) accumulator value for each group.\n * @param {Function} keyFn The function that maps the list's element into a key.\n * @param {Array} list The array to group.\n * @return {Object} An object with the output of `keyFn` for keys, mapped to the output of\n *         `valueFn` for elements which produced that key when passed to `keyFn`.\n * @see R.groupBy, R.reduce\n * @example\n *\n *      var reduceToNamesBy = R.reduceBy((acc, student) => acc.concat(student.name), []);\n *      var namesByGrade = reduceToNamesBy(function(student) {\n *        var score = student.score;\n *        return score < 65 ? 'F' :\n *               score < 70 ? 'D' :\n *               score < 80 ? 'C' :\n *               score < 90 ? 'B' : 'A';\n *      });\n *      var students = [{name: 'Lucy', score: 92},\n *                      {name: 'Drew', score: 85},\n *                      // ...\n *                      {name: 'Bart', score: 62}];\n *      namesByGrade(students);\n *      // {\n *      //   'A': ['Lucy'],\n *      //   'B': ['Drew']\n *      //   // ...,\n *      //   'F': ['Bart']\n *      // }\n */\nvar reduceBy = /*#__PURE__*/Object(_internal_curryN__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(4, [], /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([], _internal_xreduceBy__WEBPACK_IMPORTED_MODULE_4__[\"default\"], function reduceBy(valueFn, valueAcc, keyFn, list) {\n  return Object(_internal_reduce__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(function (acc, elt) {\n    var key = keyFn(elt);\n    acc[key] = valueFn(Object(_internal_has__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(key, acc) ? acc[key] : valueAcc, elt);\n    return acc;\n  }, {}, list);\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (reduceBy);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/reduceRight.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/ramda/es/reduceRight.js ***!\n  \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Returns a single item by iterating through the list, successively calling\n * the iterator function and passing it an accumulator value and the current\n * value from the array, and then passing the result to the next call.\n *\n * Similar to [`reduce`](#reduce), except moves through the input list from the\n * right to the left.\n *\n * The iterator function receives two values: *(value, acc)*, while the arguments'\n * order of `reduce`'s iterator function is *(acc, value)*.\n *\n * Note: `R.reduceRight` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.reduceRight` method. For more details\n * on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight#Description\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> b) -> b -> [a] -> b\n * @param {Function} fn The iterator function. Receives two values, the current element from the array\n *        and the accumulator.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduce, R.addIndex\n * @example\n *\n *      R.reduceRight(R.subtract, 0, [1, 2, 3, 4]) // => (1 - (2 - (3 - (4 - 0)))) = -2\n *      //    -               -2\n *      //   / \\              / \\\n *      //  1   -            1   3\n *      //     / \\              / \\\n *      //    2   -     ==>    2  -1\n *      //       / \\              / \\\n *      //      3   -            3   4\n *      //         / \\              / \\\n *      //        4   0            4   0\n *\n * @symb R.reduceRight(f, a, [b, c, d]) = f(b, f(c, f(d, a)))\n */\nvar reduceRight = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function reduceRight(fn, acc, list) {\n  var idx = list.length - 1;\n  while (idx >= 0) {\n    acc = fn(list[idx], acc);\n    idx -= 1;\n  }\n  return acc;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (reduceRight);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/reduceWhile.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/ramda/es/reduceWhile.js ***!\n  \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curryN__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curryN */ \"./node_modules/ramda/es/internal/_curryN.js\");\n/* harmony import */ var _internal_reduce__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_reduce */ \"./node_modules/ramda/es/internal/_reduce.js\");\n/* harmony import */ var _internal_reduced__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_reduced */ \"./node_modules/ramda/es/internal/_reduced.js\");\n\n\n\n\n/**\n * Like [`reduce`](#reduce), `reduceWhile` returns a single item by iterating\n * through the list, successively calling the iterator function. `reduceWhile`\n * also takes a predicate that is evaluated before each step. If the predicate\n * returns `false`, it \"short-circuits\" the iteration and returns the current\n * value of the accumulator.\n *\n * @func\n * @memberOf R\n * @since v0.22.0\n * @category List\n * @sig ((a, b) -> Boolean) -> ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} pred The predicate. It is passed the accumulator and the\n *        current element.\n * @param {Function} fn The iterator function. Receives two values, the\n *        accumulator and the current element.\n * @param {*} a The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduce, R.reduced\n * @example\n *\n *      var isOdd = (acc, x) => x % 2 === 1;\n *      var xs = [1, 3, 5, 60, 777, 800];\n *      R.reduceWhile(isOdd, R.add, 0, xs); //=> 9\n *\n *      var ys = [2, 4, 6]\n *      R.reduceWhile(isOdd, R.add, 111, ys); //=> 111\n */\nvar reduceWhile = /*#__PURE__*/Object(_internal_curryN__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(4, [], function _reduceWhile(pred, fn, a, list) {\n  return Object(_internal_reduce__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (acc, x) {\n    return pred(acc, x) ? fn(acc, x) : Object(_internal_reduced__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(acc);\n  }, a, list);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (reduceWhile);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/reduced.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/reduced.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_reduced__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_reduced */ \"./node_modules/ramda/es/internal/_reduced.js\");\n\n\n\n/**\n * Returns a value wrapped to indicate that it is the final value of the reduce\n * and transduce functions. The returned value should be considered a black\n * box: the internal structure is not guaranteed to be stable.\n *\n * Note: this optimization is unavailable to functions not explicitly listed\n * above. For instance, it is not currently supported by\n * [`reduceRight`](#reduceRight).\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category List\n * @sig a -> *\n * @param {*} x The final value of the reduce.\n * @return {*} The wrapped value.\n * @see R.reduce, R.transduce\n * @example\n *\n *     R.reduce(\n *       (acc, item) => item > 3 ? R.reduced(acc) : acc.concat(item),\n *       [],\n *       [1, 2, 3, 4, 5]) // [1, 2, 3]\n */\nvar reduced = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_internal_reduced__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (reduced);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/reject.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/reject.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_complement__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_complement */ \"./node_modules/ramda/es/internal/_complement.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./filter */ \"./node_modules/ramda/es/filter.js\");\n\n\n\n\n/**\n * The complement of [`filter`](#filter).\n *\n * Acts as a transducer if a transformer is given in list position. Filterable\n * objects include plain objects or any object that has a filter method such\n * as `Array`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array}\n * @see R.filter, R.transduce, R.addIndex\n * @example\n *\n *      var isOdd = (n) => n % 2 === 1;\n *\n *      R.reject(isOdd, [1, 2, 3, 4]); //=> [2, 4]\n *\n *      R.reject(isOdd, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\nvar reject = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function reject(pred, filterable) {\n  return Object(_filter__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_internal_complement__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pred), filterable);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (reject);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/remove.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/remove.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Removes the sub-list of `list` starting at index `start` and containing\n * `count` elements. _Note that this is not destructive_: it returns a copy of\n * the list with the changes.\n * <small>No lists have been harmed in the application of this function.</small>\n *\n * @func\n * @memberOf R\n * @since v0.2.2\n * @category List\n * @sig Number -> Number -> [a] -> [a]\n * @param {Number} start The position to start removing elements\n * @param {Number} count The number of elements to remove\n * @param {Array} list The list to remove from\n * @return {Array} A new Array with `count` elements from `start` removed.\n * @example\n *\n *      R.remove(2, 3, [1,2,3,4,5,6,7,8]); //=> [1,2,6,7,8]\n */\nvar remove = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function remove(start, count, list) {\n  var result = Array.prototype.slice.call(list, 0);\n  result.splice(start, count);\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (remove);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/repeat.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/repeat.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _always__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./always */ \"./node_modules/ramda/es/always.js\");\n/* harmony import */ var _times__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./times */ \"./node_modules/ramda/es/times.js\");\n\n\n\n\n/**\n * Returns a fixed list of size `n` containing a specified identical value.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig a -> n -> [a]\n * @param {*} value The value to repeat.\n * @param {Number} n The desired size of the output list.\n * @return {Array} A new array containing `n` `value`s.\n * @see R.times\n * @example\n *\n *      R.repeat('hi', 5); //=> ['hi', 'hi', 'hi', 'hi', 'hi']\n *\n *      var obj = {};\n *      var repeatedObjs = R.repeat(obj, 5); //=> [{}, {}, {}, {}, {}]\n *      repeatedObjs[0] === repeatedObjs[1]; //=> true\n * @symb R.repeat(a, 0) = []\n * @symb R.repeat(a, 1) = [a]\n * @symb R.repeat(a, 2) = [a, a]\n */\nvar repeat = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function repeat(value, n) {\n  return Object(_times__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_always__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value), n);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (repeat);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/replace.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/replace.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Replace a substring or regex match in a string with a replacement.\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category String\n * @sig RegExp|String -> String -> String -> String\n * @param {RegExp|String} pattern A regular expression or a substring to match.\n * @param {String} replacement The string to replace the matches with.\n * @param {String} str The String to do the search and replacement in.\n * @return {String} The result.\n * @example\n *\n *      R.replace('foo', 'bar', 'foo foo foo'); //=> 'bar foo foo'\n *      R.replace(/foo/, 'bar', 'foo foo foo'); //=> 'bar foo foo'\n *\n *      // Use the \"g\" (global) flag to replace all occurrences:\n *      R.replace(/foo/g, 'bar', 'foo foo foo'); //=> 'bar bar bar'\n */\nvar replace = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function replace(regex, replacement, str) {\n  return str.replace(regex, replacement);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (replace);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/reverse.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/reverse.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_isString__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isString */ \"./node_modules/ramda/es/internal/_isString.js\");\n\n\n\n/**\n * Returns a new list or string with the elements or characters in reverse\n * order.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {Array|String} list\n * @return {Array|String}\n * @example\n *\n *      R.reverse([1, 2, 3]);  //=> [3, 2, 1]\n *      R.reverse([1, 2]);     //=> [2, 1]\n *      R.reverse([1]);        //=> [1]\n *      R.reverse([]);         //=> []\n *\n *      R.reverse('abc');      //=> 'cba'\n *      R.reverse('ab');       //=> 'ba'\n *      R.reverse('a');        //=> 'a'\n *      R.reverse('');         //=> ''\n */\nvar reverse = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function reverse(list) {\n  return Object(_internal_isString__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(list) ? list.split('').reverse().join('') : Array.prototype.slice.call(list, 0).reverse();\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (reverse);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/scan.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/scan.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Scan is similar to [`reduce`](#reduce), but returns a list of successively\n * reduced values from the left\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig ((a, b) -> a) -> a -> [b] -> [a]\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n *        current element from the array\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {Array} A list of all intermediately reduced values.\n * @see R.reduce\n * @example\n *\n *      var numbers = [1, 2, 3, 4];\n *      var factorials = R.scan(R.multiply, 1, numbers); //=> [1, 1, 2, 6, 24]\n * @symb R.scan(f, a, [b, c]) = [a, f(a, b), f(f(a, b), c)]\n */\nvar scan = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function scan(fn, acc, list) {\n  var idx = 0;\n  var len = list.length;\n  var result = [acc];\n  while (idx < len) {\n    acc = fn(acc, list[idx]);\n    result[idx + 1] = acc;\n    idx += 1;\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (scan);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/sequence.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/sequence.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _ap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ap */ \"./node_modules/ramda/es/ap.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./map */ \"./node_modules/ramda/es/map.js\");\n/* harmony import */ var _prepend__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./prepend */ \"./node_modules/ramda/es/prepend.js\");\n/* harmony import */ var _reduceRight__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reduceRight */ \"./node_modules/ramda/es/reduceRight.js\");\n\n\n\n\n\n\n/**\n * Transforms a [Traversable](https://github.com/fantasyland/fantasy-land#traversable)\n * of [Applicative](https://github.com/fantasyland/fantasy-land#applicative) into an\n * Applicative of Traversable.\n *\n * Dispatches to the `sequence` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig (Applicative f, Traversable t) => (a -> f a) -> t (f a) -> f (t a)\n * @param {Function} of\n * @param {*} traversable\n * @return {*}\n * @see R.traverse\n * @example\n *\n *      R.sequence(Maybe.of, [Just(1), Just(2), Just(3)]);   //=> Just([1, 2, 3])\n *      R.sequence(Maybe.of, [Just(1), Just(2), Nothing()]); //=> Nothing()\n *\n *      R.sequence(R.of, Just([1, 2, 3])); //=> [Just(1), Just(2), Just(3)]\n *      R.sequence(R.of, Nothing());       //=> [Nothing()]\n */\nvar sequence = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function sequence(of, traversable) {\n  return typeof traversable.sequence === 'function' ? traversable.sequence(of) : Object(_reduceRight__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(function (x, acc) {\n    return Object(_ap__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_map__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_prepend__WEBPACK_IMPORTED_MODULE_3__[\"default\"], x), acc);\n  }, of([]), traversable);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (sequence);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/set.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/set.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _always__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./always */ \"./node_modules/ramda/es/always.js\");\n/* harmony import */ var _over__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./over */ \"./node_modules/ramda/es/over.js\");\n\n\n\n\n/**\n * Returns the result of \"setting\" the portion of the given data structure\n * focused by the given lens to the given value.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Lens s a -> a -> s -> s\n * @param {Lens} lens\n * @param {*} v\n * @param {*} x\n * @return {*}\n * @see R.prop, R.lensIndex, R.lensProp\n * @example\n *\n *      var xLens = R.lensProp('x');\n *\n *      R.set(xLens, 4, {x: 1, y: 2});  //=> {x: 4, y: 2}\n *      R.set(xLens, 8, {x: 1, y: 2});  //=> {x: 8, y: 2}\n */\nvar set = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function set(lens, v, x) {\n  return Object(_over__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(lens, Object(_always__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(v), x);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (set);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/slice.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/slice.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_checkForMethod__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_checkForMethod */ \"./node_modules/ramda/es/internal/_checkForMethod.js\");\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n\n/**\n * Returns the elements of the given list or string (or object with a `slice`\n * method) from `fromIndex` (inclusive) to `toIndex` (exclusive).\n *\n * Dispatches to the `slice` method of the third argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig Number -> Number -> [a] -> [a]\n * @sig Number -> Number -> String -> String\n * @param {Number} fromIndex The start index (inclusive).\n * @param {Number} toIndex The end index (exclusive).\n * @param {*} list\n * @return {*}\n * @example\n *\n *      R.slice(1, 3, ['a', 'b', 'c', 'd']);        //=> ['b', 'c']\n *      R.slice(1, Infinity, ['a', 'b', 'c', 'd']); //=> ['b', 'c', 'd']\n *      R.slice(0, -1, ['a', 'b', 'c', 'd']);       //=> ['a', 'b', 'c']\n *      R.slice(-3, -1, ['a', 'b', 'c', 'd']);      //=> ['b', 'c']\n *      R.slice(0, 3, 'ramda');                     //=> 'ram'\n */\nvar slice = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/Object(_internal_checkForMethod__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('slice', function slice(fromIndex, toIndex, list) {\n  return Array.prototype.slice.call(list, fromIndex, toIndex);\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (slice);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/sort.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/sort.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns a copy of the list, sorted according to the comparator function,\n * which should accept two values at a time and return a negative number if the\n * first value is smaller, a positive number if it's larger, and zero if they\n * are equal. Please note that this is a **copy** of the list. It does not\n * modify the original.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, a) -> Number) -> [a] -> [a]\n * @param {Function} comparator A sorting function :: a -> b -> Int\n * @param {Array} list The list to sort\n * @return {Array} a new array with its elements sorted by the comparator function.\n * @example\n *\n *      var diff = function(a, b) { return a - b; };\n *      R.sort(diff, [4,2,7,5]); //=> [2, 4, 5, 7]\n */\nvar sort = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function sort(comparator, list) {\n  return Array.prototype.slice.call(list, 0).sort(comparator);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (sort);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/sortBy.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/sortBy.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Sorts the list according to the supplied function.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord b => (a -> b) -> [a] -> [a]\n * @param {Function} fn\n * @param {Array} list The list to sort.\n * @return {Array} A new list sorted by the keys generated by `fn`.\n * @example\n *\n *      var sortByFirstItem = R.sortBy(R.prop(0));\n *      var sortByNameCaseInsensitive = R.sortBy(R.compose(R.toLower, R.prop('name')));\n *      var pairs = [[-1, 1], [-2, 2], [-3, 3]];\n *      sortByFirstItem(pairs); //=> [[-3, 3], [-2, 2], [-1, 1]]\n *      var alice = {\n *        name: 'ALICE',\n *        age: 101\n *      };\n *      var bob = {\n *        name: 'Bob',\n *        age: -10\n *      };\n *      var clara = {\n *        name: 'clara',\n *        age: 314.159\n *      };\n *      var people = [clara, bob, alice];\n *      sortByNameCaseInsensitive(people); //=> [alice, bob, clara]\n */\nvar sortBy = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function sortBy(fn, list) {\n  return Array.prototype.slice.call(list, 0).sort(function (a, b) {\n    var aa = fn(a);\n    var bb = fn(b);\n    return aa < bb ? -1 : aa > bb ? 1 : 0;\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (sortBy);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/sortWith.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/sortWith.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Sorts a list according to a list of comparators.\n *\n * @func\n * @memberOf R\n * @since v0.23.0\n * @category Relation\n * @sig [(a, a) -> Number] -> [a] -> [a]\n * @param {Array} functions A list of comparator functions.\n * @param {Array} list The list to sort.\n * @return {Array} A new list sorted according to the comarator functions.\n * @example\n *\n *      var alice = {\n *        name: 'alice',\n *        age: 40\n *      };\n *      var bob = {\n *        name: 'bob',\n *        age: 30\n *      };\n *      var clara = {\n *        name: 'clara',\n *        age: 40\n *      };\n *      var people = [clara, bob, alice];\n *      var ageNameSort = R.sortWith([\n *        R.descend(R.prop('age')),\n *        R.ascend(R.prop('name'))\n *      ]);\n *      ageNameSort(people); //=> [alice, clara, bob]\n */\nvar sortWith = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function sortWith(fns, list) {\n  return Array.prototype.slice.call(list, 0).sort(function (a, b) {\n    var result = 0;\n    var i = 0;\n    while (result === 0 && i < fns.length) {\n      result = fns[i](a, b);\n      i += 1;\n    }\n    return result;\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (sortWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/split.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/split.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _invoker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./invoker */ \"./node_modules/ramda/es/invoker.js\");\n\n\n/**\n * Splits a string into an array of strings based on the given\n * separator.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category String\n * @sig (String | RegExp) -> String -> [String]\n * @param {String|RegExp} sep The pattern.\n * @param {String} str The string to separate into an array.\n * @return {Array} The array of strings from `str` separated by `str`.\n * @see R.join\n * @example\n *\n *      var pathComponents = R.split('/');\n *      R.tail(pathComponents('/usr/local/bin/node')); //=> ['usr', 'local', 'bin', 'node']\n *\n *      R.split('.', 'a.b.c.xyz.d'); //=> ['a', 'b', 'c', 'xyz', 'd']\n */\nvar split = /*#__PURE__*/Object(_invoker__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(1, 'split');\n/* harmony default export */ __webpack_exports__[\"default\"] = (split);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/splitAt.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/splitAt.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _length__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./length */ \"./node_modules/ramda/es/length.js\");\n/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./slice */ \"./node_modules/ramda/es/slice.js\");\n\n\n\n\n/**\n * Splits a given list or string at a given index.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig Number -> [a] -> [[a], [a]]\n * @sig Number -> String -> [String, String]\n * @param {Number} index The index where the array/string is split.\n * @param {Array|String} array The array/string to be split.\n * @return {Array}\n * @example\n *\n *      R.splitAt(1, [1, 2, 3]);          //=> [[1], [2, 3]]\n *      R.splitAt(5, 'hello world');      //=> ['hello', ' world']\n *      R.splitAt(-1, 'foobar');          //=> ['fooba', 'r']\n */\nvar splitAt = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function splitAt(index, array) {\n  return [Object(_slice__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(0, index, array), Object(_slice__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(index, Object(_length__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array), array)];\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (splitAt);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/splitEvery.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/ramda/es/splitEvery.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slice */ \"./node_modules/ramda/es/slice.js\");\n\n\n\n/**\n * Splits a collection into slices of the specified length.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig Number -> [a] -> [[a]]\n * @sig Number -> String -> [String]\n * @param {Number} n\n * @param {Array} list\n * @return {Array}\n * @example\n *\n *      R.splitEvery(3, [1, 2, 3, 4, 5, 6, 7]); //=> [[1, 2, 3], [4, 5, 6], [7]]\n *      R.splitEvery(3, 'foobarbaz'); //=> ['foo', 'bar', 'baz']\n */\nvar splitEvery = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function splitEvery(n, list) {\n  if (n <= 0) {\n    throw new Error('First argument to splitEvery must be a positive integer');\n  }\n  var result = [];\n  var idx = 0;\n  while (idx < list.length) {\n    result.push(Object(_slice__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(idx, idx += n, list));\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (splitEvery);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/splitWhen.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/splitWhen.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Takes a list and a predicate and returns a pair of lists with the following properties:\n *\n *  - the result of concatenating the two output lists is equivalent to the input list;\n *  - none of the elements of the first output list satisfies the predicate; and\n *  - if the second output list is non-empty, its first element satisfies the predicate.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [[a], [a]]\n * @param {Function} pred The predicate that determines where the array is split.\n * @param {Array} list The array to be split.\n * @return {Array}\n * @example\n *\n *      R.splitWhen(R.equals(2), [1, 2, 3, 1, 2, 3]);   //=> [[1], [2, 3, 1, 2, 3]]\n */\nvar splitWhen = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function splitWhen(pred, list) {\n  var idx = 0;\n  var len = list.length;\n  var prefix = [];\n\n  while (idx < len && !pred(list[idx])) {\n    prefix.push(list[idx]);\n    idx += 1;\n  }\n\n  return [prefix, Array.prototype.slice.call(list, idx)];\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (splitWhen);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/startsWith.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/ramda/es/startsWith.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _equals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals */ \"./node_modules/ramda/es/equals.js\");\n/* harmony import */ var _take__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./take */ \"./node_modules/ramda/es/take.js\");\n\n\n\n\n/**\n * Checks if a list starts with the provided values\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category List\n * @sig [a] -> Boolean\n * @sig String -> Boolean\n * @param {*} prefix\n * @param {*} list\n * @return {Boolean}\n * @example\n *\n *      R.startsWith('a', 'abc')                //=> true\n *      R.startsWith('b', 'abc')                //=> false\n *      R.startsWith(['a'], ['a', 'b', 'c'])    //=> true\n *      R.startsWith(['b'], ['a', 'b', 'c'])    //=> false\n */\nvar startsWith = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (prefix, list) {\n  return Object(_equals__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_take__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(prefix.length, list), prefix);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (startsWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/subtract.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/subtract.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Subtracts its second argument from its first argument.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a The first value.\n * @param {Number} b The second value.\n * @return {Number} The result of `a - b`.\n * @see R.add\n * @example\n *\n *      R.subtract(10, 8); //=> 2\n *\n *      var minus5 = R.subtract(R.__, 5);\n *      minus5(17); //=> 12\n *\n *      var complementaryAngle = R.subtract(90);\n *      complementaryAngle(30); //=> 60\n *      complementaryAngle(72); //=> 18\n */\nvar subtract = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function subtract(a, b) {\n  return Number(a) - Number(b);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (subtract);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/sum.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/sum.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _add__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./add */ \"./node_modules/ramda/es/add.js\");\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reduce */ \"./node_modules/ramda/es/reduce.js\");\n\n\n\n/**\n * Adds together all the elements of a list.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig [Number] -> Number\n * @param {Array} list An array of numbers\n * @return {Number} The sum of all the numbers in the list.\n * @see R.reduce\n * @example\n *\n *      R.sum([2,4,6,8,100,1]); //=> 121\n */\nvar sum = /*#__PURE__*/Object(_reduce__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_add__WEBPACK_IMPORTED_MODULE_0__[\"default\"], 0);\n/* harmony default export */ __webpack_exports__[\"default\"] = (sum);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/symmetricDifference.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/ramda/es/symmetricDifference.js ***!\n  \\******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _concat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./concat */ \"./node_modules/ramda/es/concat.js\");\n/* harmony import */ var _difference__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./difference */ \"./node_modules/ramda/es/difference.js\");\n\n\n\n\n/**\n * Finds the set (i.e. no duplicates) of all elements contained in the first or\n * second list, but not both.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The elements in `list1` or `list2`, but not both.\n * @see R.symmetricDifferenceWith, R.difference, R.differenceWith\n * @example\n *\n *      R.symmetricDifference([1,2,3,4], [7,6,5,4,3]); //=> [1,2,7,6,5]\n *      R.symmetricDifference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5,1,2]\n */\nvar symmetricDifference = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function symmetricDifference(list1, list2) {\n  return Object(_concat__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_difference__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(list1, list2), Object(_difference__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(list2, list1));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (symmetricDifference);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/symmetricDifferenceWith.js\":\n/*!**********************************************************!*\\\n  !*** ./node_modules/ramda/es/symmetricDifferenceWith.js ***!\n  \\**********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _concat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./concat */ \"./node_modules/ramda/es/concat.js\");\n/* harmony import */ var _differenceWith__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./differenceWith */ \"./node_modules/ramda/es/differenceWith.js\");\n\n\n\n\n/**\n * Finds the set (i.e. no duplicates) of all elements contained in the first or\n * second list, but not both. Duplication is determined according to the value\n * returned by applying the supplied predicate to two list elements.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Relation\n * @sig ((a, a) -> Boolean) -> [a] -> [a] -> [a]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The elements in `list1` or `list2`, but not both.\n * @see R.symmetricDifference, R.difference, R.differenceWith\n * @example\n *\n *      var eqA = R.eqBy(R.prop('a'));\n *      var l1 = [{a: 1}, {a: 2}, {a: 3}, {a: 4}];\n *      var l2 = [{a: 3}, {a: 4}, {a: 5}, {a: 6}];\n *      R.symmetricDifferenceWith(eqA, l1, l2); //=> [{a: 1}, {a: 2}, {a: 5}, {a: 6}]\n */\nvar symmetricDifferenceWith = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function symmetricDifferenceWith(pred, list1, list2) {\n  return Object(_concat__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_differenceWith__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(pred, list1, list2), Object(_differenceWith__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(pred, list2, list1));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (symmetricDifferenceWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/tail.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/tail.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_checkForMethod__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_checkForMethod */ \"./node_modules/ramda/es/internal/_checkForMethod.js\");\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./slice */ \"./node_modules/ramda/es/slice.js\");\n\n\n\n\n/**\n * Returns all but the first element of the given list or string (or object\n * with a `tail` method).\n *\n * Dispatches to the `slice` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {*} list\n * @return {*}\n * @see R.head, R.init, R.last\n * @example\n *\n *      R.tail([1, 2, 3]);  //=> [2, 3]\n *      R.tail([1, 2]);     //=> [2]\n *      R.tail([1]);        //=> []\n *      R.tail([]);         //=> []\n *\n *      R.tail('abc');  //=> 'bc'\n *      R.tail('ab');   //=> 'b'\n *      R.tail('a');    //=> ''\n *      R.tail('');     //=> ''\n */\nvar tail = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/Object(_internal_checkForMethod__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('tail', /*#__PURE__*/Object(_slice__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(1, Infinity)));\n/* harmony default export */ __webpack_exports__[\"default\"] = (tail);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/take.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/take.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xtake__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xtake */ \"./node_modules/ramda/es/internal/_xtake.js\");\n/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./slice */ \"./node_modules/ramda/es/slice.js\");\n\n\n\n\n\n/**\n * Returns the first `n` elements of the given list, string, or\n * transducer/transformer (or object with a `take` method).\n *\n * Dispatches to the `take` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n\n * @param {*} list\n * @return {*}\n * @see R.drop\n * @example\n *\n *      R.take(1, ['foo', 'bar', 'baz']); //=> ['foo']\n *      R.take(2, ['foo', 'bar', 'baz']); //=> ['foo', 'bar']\n *      R.take(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n *      R.take(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n *      R.take(3, 'ramda');               //=> 'ram'\n *\n *      var personnel = [\n *        'Dave Brubeck',\n *        'Paul Desmond',\n *        'Eugene Wright',\n *        'Joe Morello',\n *        'Gerry Mulligan',\n *        'Bob Bates',\n *        'Joe Dodge',\n *        'Ron Crotty'\n *      ];\n *\n *      var takeFive = R.take(5);\n *      takeFive(personnel);\n *      //=> ['Dave Brubeck', 'Paul Desmond', 'Eugene Wright', 'Joe Morello', 'Gerry Mulligan']\n * @symb R.take(-1, [a, b]) = [a, b]\n * @symb R.take(0, [a, b]) = []\n * @symb R.take(1, [a, b]) = [a]\n * @symb R.take(2, [a, b]) = [a, b]\n */\nvar take = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(['take'], _internal_xtake__WEBPACK_IMPORTED_MODULE_2__[\"default\"], function take(n, xs) {\n  return Object(_slice__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(0, n < 0 ? Infinity : n, xs);\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (take);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/takeLast.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/takeLast.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _drop__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./drop */ \"./node_modules/ramda/es/drop.js\");\n\n\n\n/**\n * Returns a new list containing the last `n` elements of the given list.\n * If `n > list.length`, returns a list of `list.length` elements.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n The number of elements to return.\n * @param {Array} xs The collection to consider.\n * @return {Array}\n * @see R.dropLast\n * @example\n *\n *      R.takeLast(1, ['foo', 'bar', 'baz']); //=> ['baz']\n *      R.takeLast(2, ['foo', 'bar', 'baz']); //=> ['bar', 'baz']\n *      R.takeLast(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n *      R.takeLast(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n *      R.takeLast(3, 'ramda');               //=> 'mda'\n */\nvar takeLast = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function takeLast(n, xs) {\n  return Object(_drop__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(n >= 0 ? xs.length - n : 0, xs);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (takeLast);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/takeLastWhile.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/ramda/es/takeLastWhile.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slice */ \"./node_modules/ramda/es/slice.js\");\n\n\n\n/**\n * Returns a new list containing the last `n` elements of a given list, passing\n * each value to the supplied predicate function, and terminating when the\n * predicate function returns `false`. Excludes the element that caused the\n * predicate function to fail. The predicate function is passed one argument:\n * *(value)*.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [a]\n * @sig (a -> Boolean) -> String -> String\n * @param {Function} fn The function called per iteration.\n * @param {Array} xs The collection to iterate over.\n * @return {Array} A new array.\n * @see R.dropLastWhile, R.addIndex\n * @example\n *\n *      var isNotOne = x => x !== 1;\n *\n *      R.takeLastWhile(isNotOne, [1, 2, 3, 4]); //=> [2, 3, 4]\n *\n *      R.takeLastWhile(x => x !== 'R' , 'Ramda'); //=> 'amda'\n */\nvar takeLastWhile = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function takeLastWhile(fn, xs) {\n  var idx = xs.length - 1;\n  while (idx >= 0 && fn(xs[idx])) {\n    idx -= 1;\n  }\n  return Object(_slice__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(idx + 1, Infinity, xs);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (takeLastWhile);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/takeWhile.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/takeWhile.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xtakeWhile__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xtakeWhile */ \"./node_modules/ramda/es/internal/_xtakeWhile.js\");\n/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./slice */ \"./node_modules/ramda/es/slice.js\");\n\n\n\n\n\n/**\n * Returns a new list containing the first `n` elements of a given list,\n * passing each value to the supplied predicate function, and terminating when\n * the predicate function returns `false`. Excludes the element that caused the\n * predicate function to fail. The predicate function is passed one argument:\n * *(value)*.\n *\n * Dispatches to the `takeWhile` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [a]\n * @sig (a -> Boolean) -> String -> String\n * @param {Function} fn The function called per iteration.\n * @param {Array} xs The collection to iterate over.\n * @return {Array} A new array.\n * @see R.dropWhile, R.transduce, R.addIndex\n * @example\n *\n *      var isNotFour = x => x !== 4;\n *\n *      R.takeWhile(isNotFour, [1, 2, 3, 4, 3, 2, 1]); //=> [1, 2, 3]\n *\n *      R.takeWhile(x => x !== 'd' , 'Ramda'); //=> 'Ram'\n */\nvar takeWhile = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(['takeWhile'], _internal_xtakeWhile__WEBPACK_IMPORTED_MODULE_2__[\"default\"], function takeWhile(fn, xs) {\n  var idx = 0;\n  var len = xs.length;\n  while (idx < len && fn(xs[idx])) {\n    idx += 1;\n  }\n  return Object(_slice__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(0, idx, xs);\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (takeWhile);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/tap.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/tap.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xtap__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xtap */ \"./node_modules/ramda/es/internal/_xtap.js\");\n\n\n\n\n/**\n * Runs the given function with the supplied object, then returns the object.\n *\n * Acts as a transducer if a transformer is given as second parameter.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (a -> *) -> a -> a\n * @param {Function} fn The function to call with `x`. The return value of `fn` will be thrown away.\n * @param {*} x\n * @return {*} `x`.\n * @example\n *\n *      var sayX = x => console.log('x is ' + x);\n *      R.tap(sayX, 100); //=> 100\n *      // logs 'x is 100'\n * @symb R.tap(f, a) = a\n */\nvar tap = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([], _internal_xtap__WEBPACK_IMPORTED_MODULE_2__[\"default\"], function tap(fn, x) {\n  fn(x);\n  return x;\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (tap);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/test.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/test.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_cloneRegExp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_cloneRegExp */ \"./node_modules/ramda/es/internal/_cloneRegExp.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_isRegExp__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isRegExp */ \"./node_modules/ramda/es/internal/_isRegExp.js\");\n/* harmony import */ var _toString__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString */ \"./node_modules/ramda/es/toString.js\");\n\n\n\n\n\n/**\n * Determines whether a given string matches a given regular expression.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category String\n * @sig RegExp -> String -> Boolean\n * @param {RegExp} pattern\n * @param {String} str\n * @return {Boolean}\n * @see R.match\n * @example\n *\n *      R.test(/^x/, 'xyz'); //=> true\n *      R.test(/^y/, 'xyz'); //=> false\n */\nvar test = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function test(pattern, str) {\n  if (!Object(_internal_isRegExp__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(pattern)) {\n    throw new TypeError('‘test’ requires a value of type RegExp as its first argument; received ' + Object(_toString__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(pattern));\n  }\n  return Object(_internal_cloneRegExp__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pattern).test(str);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (test);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/times.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/times.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Calls an input function `n` times, returning an array containing the results\n * of those function calls.\n *\n * `fn` is passed one argument: The current value of `n`, which begins at `0`\n * and is gradually incremented to `n - 1`.\n *\n * @func\n * @memberOf R\n * @since v0.2.3\n * @category List\n * @sig (Number -> a) -> Number -> [a]\n * @param {Function} fn The function to invoke. Passed one argument, the current value of `n`.\n * @param {Number} n A value between `0` and `n - 1`. Increments after each function call.\n * @return {Array} An array containing the return values of all calls to `fn`.\n * @see R.repeat\n * @example\n *\n *      R.times(R.identity, 5); //=> [0, 1, 2, 3, 4]\n * @symb R.times(f, 0) = []\n * @symb R.times(f, 1) = [f(0)]\n * @symb R.times(f, 2) = [f(0), f(1)]\n */\nvar times = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function times(fn, n) {\n  var len = Number(n);\n  var idx = 0;\n  var list;\n\n  if (len < 0 || isNaN(len)) {\n    throw new RangeError('n must be a non-negative number');\n  }\n  list = new Array(len);\n  while (idx < len) {\n    list[idx] = fn(idx);\n    idx += 1;\n  }\n  return list;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (times);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/toLower.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/toLower.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _invoker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./invoker */ \"./node_modules/ramda/es/invoker.js\");\n\n\n/**\n * The lower case version of a string.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category String\n * @sig String -> String\n * @param {String} str The string to lower case.\n * @return {String} The lower case version of `str`.\n * @see R.toUpper\n * @example\n *\n *      R.toLower('XYZ'); //=> 'xyz'\n */\nvar toLower = /*#__PURE__*/Object(_invoker__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(0, 'toLowerCase');\n/* harmony default export */ __webpack_exports__[\"default\"] = (toLower);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/toPairs.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/toPairs.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_has__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has */ \"./node_modules/ramda/es/internal/_has.js\");\n\n\n\n/**\n * Converts an object into an array of key, value arrays. Only the object's\n * own properties are used.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.4.0\n * @category Object\n * @sig {String: *} -> [[String,*]]\n * @param {Object} obj The object to extract from\n * @return {Array} An array of key, value arrays from the object's own properties.\n * @see R.fromPairs\n * @example\n *\n *      R.toPairs({a: 1, b: 2, c: 3}); //=> [['a', 1], ['b', 2], ['c', 3]]\n */\nvar toPairs = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function toPairs(obj) {\n  var pairs = [];\n  for (var prop in obj) {\n    if (Object(_internal_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(prop, obj)) {\n      pairs[pairs.length] = [prop, obj[prop]];\n    }\n  }\n  return pairs;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (toPairs);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/toPairsIn.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/toPairsIn.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n/**\n * Converts an object into an array of key, value arrays. The object's own\n * properties and prototype properties are used. Note that the order of the\n * output array is not guaranteed to be consistent across different JS\n * platforms.\n *\n * @func\n * @memberOf R\n * @since v0.4.0\n * @category Object\n * @sig {String: *} -> [[String,*]]\n * @param {Object} obj The object to extract from\n * @return {Array} An array of key, value arrays from the object's own\n *         and prototype properties.\n * @example\n *\n *      var F = function() { this.x = 'X'; };\n *      F.prototype.y = 'Y';\n *      var f = new F();\n *      R.toPairsIn(f); //=> [['x','X'], ['y','Y']]\n */\nvar toPairsIn = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function toPairsIn(obj) {\n  var pairs = [];\n  for (var prop in obj) {\n    pairs[pairs.length] = [prop, obj[prop]];\n  }\n  return pairs;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (toPairsIn);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/toString.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/toString.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_toString__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_toString */ \"./node_modules/ramda/es/internal/_toString.js\");\n\n\n\n/**\n * Returns the string representation of the given value. `eval`'ing the output\n * should result in a value equivalent to the input value. Many of the built-in\n * `toString` methods do not satisfy this requirement.\n *\n * If the given value is an `[object Object]` with a `toString` method other\n * than `Object.prototype.toString`, this method is invoked with no arguments\n * to produce the return value. This means user-defined constructor functions\n * can provide a suitable `toString` method. For example:\n *\n *     function Point(x, y) {\n *       this.x = x;\n *       this.y = y;\n *     }\n *\n *     Point.prototype.toString = function() {\n *       return 'new Point(' + this.x + ', ' + this.y + ')';\n *     };\n *\n *     R.toString(new Point(1, 2)); //=> 'new Point(1, 2)'\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category String\n * @sig * -> String\n * @param {*} val\n * @return {String}\n * @example\n *\n *      R.toString(42); //=> '42'\n *      R.toString('abc'); //=> '\"abc\"'\n *      R.toString([1, 2, 3]); //=> '[1, 2, 3]'\n *      R.toString({foo: 1, bar: 2, baz: 3}); //=> '{\"bar\": 2, \"baz\": 3, \"foo\": 1}'\n *      R.toString(new Date('2001-02-03T04:05:06Z')); //=> 'new Date(\"2001-02-03T04:05:06.000Z\")'\n */\nvar toString = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function toString(val) {\n  return Object(_internal_toString__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(val, []);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (toString);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/toUpper.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/toUpper.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _invoker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./invoker */ \"./node_modules/ramda/es/invoker.js\");\n\n\n/**\n * The upper case version of a string.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category String\n * @sig String -> String\n * @param {String} str The string to upper case.\n * @return {String} The upper case version of `str`.\n * @see R.toLower\n * @example\n *\n *      R.toUpper('abc'); //=> 'ABC'\n */\nvar toUpper = /*#__PURE__*/Object(_invoker__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(0, 'toUpperCase');\n/* harmony default export */ __webpack_exports__[\"default\"] = (toUpper);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/transduce.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/transduce.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_reduce */ \"./node_modules/ramda/es/internal/_reduce.js\");\n/* harmony import */ var _internal_xwrap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_xwrap */ \"./node_modules/ramda/es/internal/_xwrap.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n\n\n\n\n/**\n * Initializes a transducer using supplied iterator function. Returns a single\n * item by iterating through the list, successively calling the transformed\n * iterator function and passing it an accumulator value and the current value\n * from the array, and then passing the result to the next call.\n *\n * The iterator function receives two values: *(acc, value)*. It will be\n * wrapped as a transformer to initialize the transducer. A transformer can be\n * passed directly in place of an iterator function. In both cases, iteration\n * may be stopped early with the [`R.reduced`](#reduced) function.\n *\n * A transducer is a function that accepts a transformer and returns a\n * transformer and can be composed directly.\n *\n * A transformer is an an object that provides a 2-arity reducing iterator\n * function, step, 0-arity initial value function, init, and 1-arity result\n * extraction function, result. The step function is used as the iterator\n * function in reduce. The result function is used to convert the final\n * accumulator into the return type and in most cases is\n * [`R.identity`](#identity). The init function can be used to provide an\n * initial accumulator, but is ignored by transduce.\n *\n * The iteration is performed with [`R.reduce`](#reduce) after initializing the transducer.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category List\n * @sig (c -> c) -> ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} xf The transducer function. Receives a transformer and returns a transformer.\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n *        current element from the array. Wrapped as transformer, if necessary, and used to\n *        initialize the transducer\n * @param {*} acc The initial accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduce, R.reduced, R.into\n * @example\n *\n *      var numbers = [1, 2, 3, 4];\n *      var transducer = R.compose(R.map(R.add(1)), R.take(2));\n *      R.transduce(transducer, R.flip(R.append), [], numbers); //=> [2, 3]\n *\n *      var isOdd = (x) => x % 2 === 1;\n *      var firstOddTransducer = R.compose(R.filter(isOdd), R.take(1));\n *      R.transduce(firstOddTransducer, R.flip(R.append), [], R.range(0, 100)); //=> [1]\n */\nvar transduce = /*#__PURE__*/Object(_curryN__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(4, function transduce(xf, fn, acc, list) {\n  return Object(_internal_reduce__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(xf(typeof fn === 'function' ? Object(_internal_xwrap__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fn) : fn), acc, list);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (transduce);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/transpose.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/transpose.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n/**\n * Transposes the rows and columns of a 2D list.\n * When passed a list of `n` lists of length `x`,\n * returns a list of `x` lists of length `n`.\n *\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig [[a]] -> [[a]]\n * @param {Array} list A 2D list\n * @return {Array} A 2D list\n * @example\n *\n *      R.transpose([[1, 'a'], [2, 'b'], [3, 'c']]) //=> [[1, 2, 3], ['a', 'b', 'c']]\n *      R.transpose([[1, 2, 3], ['a', 'b', 'c']]) //=> [[1, 'a'], [2, 'b'], [3, 'c']]\n *\n *      // If some of the rows are shorter than the following rows, their elements are skipped:\n *      R.transpose([[10, 11], [20], [], [30, 31, 32]]) //=> [[10, 20, 30], [11, 31], [32]]\n * @symb R.transpose([[a], [b], [c]]) = [a, b, c]\n * @symb R.transpose([[a, b], [c, d]]) = [[a, c], [b, d]]\n * @symb R.transpose([[a, b], [c]]) = [[a, c], [b]]\n */\nvar transpose = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function transpose(outerlist) {\n  var i = 0;\n  var result = [];\n  while (i < outerlist.length) {\n    var innerlist = outerlist[i];\n    var j = 0;\n    while (j < innerlist.length) {\n      if (typeof result[j] === 'undefined') {\n        result[j] = [];\n      }\n      result[j].push(innerlist[j]);\n      j += 1;\n    }\n    i += 1;\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (transpose);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/traverse.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/traverse.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./map */ \"./node_modules/ramda/es/map.js\");\n/* harmony import */ var _sequence__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./sequence */ \"./node_modules/ramda/es/sequence.js\");\n\n\n\n\n/**\n * Maps an [Applicative](https://github.com/fantasyland/fantasy-land#applicative)-returning\n * function over a [Traversable](https://github.com/fantasyland/fantasy-land#traversable),\n * then uses [`sequence`](#sequence) to transform the resulting Traversable of Applicative\n * into an Applicative of Traversable.\n *\n * Dispatches to the `traverse` method of the third argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig (Applicative f, Traversable t) => (a -> f a) -> (a -> f b) -> t a -> f (t b)\n * @param {Function} of\n * @param {Function} f\n * @param {*} traversable\n * @return {*}\n * @see R.sequence\n * @example\n *\n *      // Returns `Nothing` if the given divisor is `0`\n *      safeDiv = n => d => d === 0 ? Nothing() : Just(n / d)\n *\n *      R.traverse(Maybe.of, safeDiv(10), [2, 4, 5]); //=> Just([5, 2.5, 2])\n *      R.traverse(Maybe.of, safeDiv(10), [2, 0, 5]); //=> Nothing\n */\nvar traverse = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function traverse(of, f, traversable) {\n  return typeof traversable['fantasy-land/traverse'] === 'function' ? traversable['fantasy-land/traverse'](f, of) : Object(_sequence__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(of, Object(_map__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(f, traversable));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (traverse);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/trim.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/trim.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\nvar ws = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' + '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028' + '\\u2029\\uFEFF';\nvar zeroWidth = '\\u200b';\nvar hasProtoTrim = typeof String.prototype.trim === 'function';\n/**\n * Removes (strips) whitespace from both ends of the string.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category String\n * @sig String -> String\n * @param {String} str The string to trim.\n * @return {String} Trimmed version of `str`.\n * @example\n *\n *      R.trim('   xyz  '); //=> 'xyz'\n *      R.map(R.trim, R.split(',', 'x, y, z')); //=> ['x', 'y', 'z']\n */\nvar _trim = !hasProtoTrim || /*#__PURE__*/ws.trim() || ! /*#__PURE__*/zeroWidth.trim() ? function trim(str) {\n  var beginRx = new RegExp('^[' + ws + '][' + ws + ']*');\n  var endRx = new RegExp('[' + ws + '][' + ws + ']*$');\n  return str.replace(beginRx, '').replace(endRx, '');\n} : function trim(str) {\n  return str.trim();\n};\nvar trim = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_trim);\n/* harmony default export */ __webpack_exports__[\"default\"] = (trim);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/tryCatch.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/tryCatch.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_arity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity */ \"./node_modules/ramda/es/internal/_arity.js\");\n/* harmony import */ var _internal_concat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_concat */ \"./node_modules/ramda/es/internal/_concat.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n\n\n/**\n * `tryCatch` takes two functions, a `tryer` and a `catcher`. The returned\n * function evaluates the `tryer`; if it does not throw, it simply returns the\n * result. If the `tryer` *does* throw, the returned function evaluates the\n * `catcher` function and returns its result. Note that for effective\n * composition with this function, both the `tryer` and `catcher` functions\n * must return the same type of results.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category Function\n * @sig (...x -> a) -> ((e, ...x) -> a) -> (...x -> a)\n * @param {Function} tryer The function that may throw.\n * @param {Function} catcher The function that will be evaluated if `tryer` throws.\n * @return {Function} A new function that will catch exceptions and send then to the catcher.\n * @example\n *\n *      R.tryCatch(R.prop('x'), R.F)({x: true}); //=> true\n *      R.tryCatch(R.prop('x'), R.F)(null);      //=> false\n */\nvar tryCatch = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function _tryCatch(tryer, catcher) {\n  return Object(_internal_arity__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tryer.length, function () {\n    try {\n      return tryer.apply(this, arguments);\n    } catch (e) {\n      return catcher.apply(this, Object(_internal_concat__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([e], arguments));\n    }\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (tryCatch);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/type.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/type.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n/**\n * Gives a single-word string description of the (native) type of a value,\n * returning such answers as 'Object', 'Number', 'Array', or 'Null'. Does not\n * attempt to distinguish user Object types any further, reporting them all as\n * 'Object'.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Type\n * @sig (* -> {*}) -> String\n * @param {*} val The value to test\n * @return {String}\n * @example\n *\n *      R.type({}); //=> \"Object\"\n *      R.type(1); //=> \"Number\"\n *      R.type(false); //=> \"Boolean\"\n *      R.type('s'); //=> \"String\"\n *      R.type(null); //=> \"Null\"\n *      R.type([]); //=> \"Array\"\n *      R.type(/[A-z]/); //=> \"RegExp\"\n *      R.type(() => {}); //=> \"Function\"\n *      R.type(undefined); //=> \"Undefined\"\n */\nvar type = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function type(val) {\n  return val === null ? 'Null' : val === undefined ? 'Undefined' : Object.prototype.toString.call(val).slice(8, -1);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (type);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/unapply.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/unapply.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n/**\n * Takes a function `fn`, which takes a single array argument, and returns a\n * function which:\n *\n *   - takes any number of positional arguments;\n *   - passes these arguments to `fn` as an array; and\n *   - returns the result.\n *\n * In other words, `R.unapply` derives a variadic function from a function which\n * takes an array. `R.unapply` is the inverse of [`R.apply`](#apply).\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Function\n * @sig ([*...] -> a) -> (*... -> a)\n * @param {Function} fn\n * @return {Function}\n * @see R.apply\n * @example\n *\n *      R.unapply(JSON.stringify)(1, 2, 3); //=> '[1,2,3]'\n * @symb R.unapply(f)(a, b) = f([a, b])\n */\nvar unapply = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function unapply(fn) {\n  return function () {\n    return fn(Array.prototype.slice.call(arguments, 0));\n  };\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (unapply);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/unary.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/unary.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _nAry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./nAry */ \"./node_modules/ramda/es/nAry.js\");\n\n\n\n/**\n * Wraps a function of any arity (including nullary) in a function that accepts\n * exactly 1 parameter. Any extraneous parameters will not be passed to the\n * supplied function.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Function\n * @sig (* -> b) -> (a -> b)\n * @param {Function} fn The function to wrap.\n * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of\n *         arity 1.\n * @see R.binary, R.nAry\n * @example\n *\n *      var takesTwoArgs = function(a, b) {\n *        return [a, b];\n *      };\n *      takesTwoArgs.length; //=> 2\n *      takesTwoArgs(1, 2); //=> [1, 2]\n *\n *      var takesOneArg = R.unary(takesTwoArgs);\n *      takesOneArg.length; //=> 1\n *      // Only 1 argument is passed to the wrapped function\n *      takesOneArg(1, 2); //=> [1, undefined]\n * @symb R.unary(f)(a, b, c) = f(a)\n */\nvar unary = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function unary(fn) {\n  return Object(_nAry__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(1, fn);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (unary);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/uncurryN.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/uncurryN.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n\n\n\n/**\n * Returns a function of arity `n` from a (manually) curried function.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Function\n * @sig Number -> (a -> b) -> (a -> c)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to uncurry.\n * @return {Function} A new function.\n * @see R.curry\n * @example\n *\n *      var addFour = a => b => c => d => a + b + c + d;\n *\n *      var uncurriedAddFour = R.uncurryN(4, addFour);\n *      uncurriedAddFour(1, 2, 3, 4); //=> 10\n */\nvar uncurryN = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function uncurryN(depth, fn) {\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(depth, function () {\n    var currentDepth = 1;\n    var value = fn;\n    var idx = 0;\n    var endIdx;\n    while (currentDepth <= depth && typeof value === 'function') {\n      endIdx = currentDepth === depth ? arguments.length : idx + value.length;\n      value = value.apply(this, Array.prototype.slice.call(arguments, idx, endIdx));\n      currentDepth += 1;\n      idx = endIdx;\n    }\n    return value;\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (uncurryN);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/unfold.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/unfold.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Builds a list from a seed value. Accepts an iterator function, which returns\n * either false to stop iteration or an array of length 2 containing the value\n * to add to the resulting list and the seed to be used in the next call to the\n * iterator function.\n *\n * The iterator function receives one argument: *(seed)*.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig (a -> [b]) -> * -> [b]\n * @param {Function} fn The iterator function. receives one argument, `seed`, and returns\n *        either false to quit iteration or an array of length two to proceed. The element\n *        at index 0 of this array will be added to the resulting array, and the element\n *        at index 1 will be passed to the next call to `fn`.\n * @param {*} seed The seed value.\n * @return {Array} The final list.\n * @example\n *\n *      var f = n => n > 50 ? false : [-n, n + 10];\n *      R.unfold(f, 10); //=> [-10, -20, -30, -40, -50]\n * @symb R.unfold(f, x) = [f(x)[0], f(f(x)[1])[0], f(f(f(x)[1])[1])[0], ...]\n */\nvar unfold = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function unfold(fn, seed) {\n  var pair = fn(seed);\n  var result = [];\n  while (pair && pair.length) {\n    result[result.length] = pair[0];\n    pair = fn(pair[1]);\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (unfold);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/union.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/union.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat */ \"./node_modules/ramda/es/internal/_concat.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _compose__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./compose */ \"./node_modules/ramda/es/compose.js\");\n/* harmony import */ var _uniq__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./uniq */ \"./node_modules/ramda/es/uniq.js\");\n\n\n\n\n\n/**\n * Combines two lists into a set (i.e. no duplicates) composed of the elements\n * of each list.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} as The first list.\n * @param {Array} bs The second list.\n * @return {Array} The first and second lists concatenated, with\n *         duplicates removed.\n * @example\n *\n *      R.union([1, 2, 3], [2, 3, 4]); //=> [1, 2, 3, 4]\n */\nvar union = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/Object(_compose__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_uniq__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _internal_concat__WEBPACK_IMPORTED_MODULE_0__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (union);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/unionWith.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/unionWith.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat */ \"./node_modules/ramda/es/internal/_concat.js\");\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _uniqWith__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./uniqWith */ \"./node_modules/ramda/es/uniqWith.js\");\n\n\n\n\n/**\n * Combines two lists into a set (i.e. no duplicates) composed of the elements\n * of each list. Duplication is determined according to the value returned by\n * applying the supplied predicate to two list elements.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig ((a, a) -> Boolean) -> [*] -> [*] -> [*]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The first and second lists concatenated, with\n *         duplicates removed.\n * @see R.union\n * @example\n *\n *      var l1 = [{a: 1}, {a: 2}];\n *      var l2 = [{a: 1}, {a: 4}];\n *      R.unionWith(R.eqBy(R.prop('a')), l1, l2); //=> [{a: 1}, {a: 2}, {a: 4}]\n */\nvar unionWith = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function unionWith(pred, list1, list2) {\n  return Object(_uniqWith__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(pred, Object(_internal_concat__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(list1, list2));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (unionWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/uniq.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/uniq.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _identity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./identity */ \"./node_modules/ramda/es/identity.js\");\n/* harmony import */ var _uniqBy__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./uniqBy */ \"./node_modules/ramda/es/uniqBy.js\");\n\n\n\n/**\n * Returns a new list containing only one copy of each element in the original\n * list. [`R.equals`](#equals) is used to determine equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n *      R.uniq([1, 1, 2, 1]); //=> [1, 2]\n *      R.uniq([1, '1']);     //=> [1, '1']\n *      R.uniq([[42], [42]]); //=> [[42]]\n */\nvar uniq = /*#__PURE__*/Object(_uniqBy__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_identity__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (uniq);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/uniqBy.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/uniqBy.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_Set__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_Set */ \"./node_modules/ramda/es/internal/_Set.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n\n/**\n * Returns a new list containing only one copy of each element in the original\n * list, based upon the value returned by applying the supplied function to\n * each list element. Prefers the first item if the supplied function produces\n * the same value on two items. [`R.equals`](#equals) is used for comparison.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig (a -> b) -> [a] -> [a]\n * @param {Function} fn A function used to produce a value to use during comparisons.\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n *      R.uniqBy(Math.abs, [-1, -5, 2, 10, 1, 2]); //=> [-1, -5, 2, 10]\n */\nvar uniqBy = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function uniqBy(fn, list) {\n  var set = new _internal_Set__WEBPACK_IMPORTED_MODULE_0__[\"default\"]();\n  var result = [];\n  var idx = 0;\n  var appliedItem, item;\n\n  while (idx < list.length) {\n    item = list[idx];\n    appliedItem = fn(item);\n    if (set.add(appliedItem)) {\n      result.push(item);\n    }\n    idx += 1;\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (uniqBy);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/uniqWith.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/uniqWith.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_containsWith__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_containsWith */ \"./node_modules/ramda/es/internal/_containsWith.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n\n/**\n * Returns a new list containing only one copy of each element in the original\n * list, based upon the value returned by applying the supplied predicate to\n * two list elements. Prefers the first item if two items compare equal based\n * on the predicate.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category List\n * @sig ((a, a) -> Boolean) -> [a] -> [a]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n *      var strEq = R.eqBy(String);\n *      R.uniqWith(strEq)([1, '1', 2, 1]); //=> [1, 2]\n *      R.uniqWith(strEq)([{}, {}]);       //=> [{}]\n *      R.uniqWith(strEq)([1, '1', 1]);    //=> [1]\n *      R.uniqWith(strEq)(['1', 1, 1]);    //=> ['1']\n */\nvar uniqWith = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function uniqWith(pred, list) {\n  var idx = 0;\n  var len = list.length;\n  var result = [];\n  var item;\n  while (idx < len) {\n    item = list[idx];\n    if (!Object(_internal_containsWith__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pred, item, result)) {\n      result[result.length] = item;\n    }\n    idx += 1;\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (uniqWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/unless.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/unless.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Tests the final argument by passing it to the given predicate function. If\n * the predicate is not satisfied, the function will return the result of\n * calling the `whenFalseFn` function with the same argument. If the predicate\n * is satisfied, the argument is returned as is.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Logic\n * @sig (a -> Boolean) -> (a -> a) -> a -> a\n * @param {Function} pred        A predicate function\n * @param {Function} whenFalseFn A function to invoke when the `pred` evaluates\n *                               to a falsy value.\n * @param {*}        x           An object to test with the `pred` function and\n *                               pass to `whenFalseFn` if necessary.\n * @return {*} Either `x` or the result of applying `x` to `whenFalseFn`.\n * @see R.ifElse, R.when\n * @example\n *\n *      let safeInc = R.unless(R.isNil, R.inc);\n *      safeInc(null); //=> null\n *      safeInc(1); //=> 2\n */\nvar unless = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function unless(pred, whenFalseFn, x) {\n  return pred(x) ? x : whenFalseFn(x);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (unless);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/unnest.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/unnest.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_identity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_identity */ \"./node_modules/ramda/es/internal/_identity.js\");\n/* harmony import */ var _chain__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./chain */ \"./node_modules/ramda/es/chain.js\");\n\n\n\n/**\n * Shorthand for `R.chain(R.identity)`, which removes one level of nesting from\n * any [Chain](https://github.com/fantasyland/fantasy-land#chain).\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig Chain c => c (c a) -> c a\n * @param {*} list\n * @return {*}\n * @see R.flatten, R.chain\n * @example\n *\n *      R.unnest([1, [2], [[3]]]); //=> [1, 2, [3]]\n *      R.unnest([[1, 2], [3, 4], [5, 6]]); //=> [1, 2, 3, 4, 5, 6]\n */\nvar unnest = /*#__PURE__*/Object(_chain__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_internal_identity__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (unnest);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/until.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/until.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Takes a predicate, a transformation function, and an initial value,\n * and returns a value of the same type as the initial value.\n * It does so by applying the transformation until the predicate is satisfied,\n * at which point it returns the satisfactory value.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category Logic\n * @sig (a -> Boolean) -> (a -> a) -> a -> a\n * @param {Function} pred A predicate function\n * @param {Function} fn The iterator function\n * @param {*} init Initial value\n * @return {*} Final value that satisfies predicate\n * @example\n *\n *      R.until(R.gt(R.__, 100), R.multiply(2))(1) // => 128\n */\nvar until = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function until(pred, fn, init) {\n  var val = init;\n  while (!pred(val)) {\n    val = fn(val);\n  }\n  return val;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (until);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/update.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/update.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _adjust__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./adjust */ \"./node_modules/ramda/es/adjust.js\");\n/* harmony import */ var _always__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./always */ \"./node_modules/ramda/es/always.js\");\n\n\n\n\n/**\n * Returns a new copy of the array with the element at the provided index\n * replaced with the given value.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig Number -> a -> [a] -> [a]\n * @param {Number} idx The index to update.\n * @param {*} x The value to exist at the given index of the returned array.\n * @param {Array|Arguments} list The source array-like object to be updated.\n * @return {Array} A copy of `list` with the value at index `idx` replaced with `x`.\n * @see R.adjust\n * @example\n *\n *      R.update(1, 11, [0, 1, 2]);     //=> [0, 11, 2]\n *      R.update(1)(11)([0, 1, 2]);     //=> [0, 11, 2]\n * @symb R.update(-1, a, [b, c]) = [b, a]\n * @symb R.update(0, a, [b, c]) = [a, c]\n * @symb R.update(1, a, [b, c]) = [b, a]\n */\nvar update = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function update(idx, x, list) {\n  return Object(_adjust__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_always__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(x), idx, list);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (update);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/useWith.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/useWith.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n\n\n\n/**\n * Accepts a function `fn` and a list of transformer functions and returns a\n * new curried function. When the new function is invoked, it calls the\n * function `fn` with parameters consisting of the result of calling each\n * supplied handler on successive arguments to the new function.\n *\n * If more arguments are passed to the returned function than transformer\n * functions, those arguments are passed directly to `fn` as additional\n * parameters. If you expect additional arguments that don't need to be\n * transformed, although you can ignore them, it's best to pass an identity\n * function so that the new function reports the correct arity.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((x1, x2, ...) -> z) -> [(a -> x1), (b -> x2), ...] -> (a -> b -> ... -> z)\n * @param {Function} fn The function to wrap.\n * @param {Array} transformers A list of transformer functions\n * @return {Function} The wrapped function.\n * @see R.converge\n * @example\n *\n *      R.useWith(Math.pow, [R.identity, R.identity])(3, 4); //=> 81\n *      R.useWith(Math.pow, [R.identity, R.identity])(3)(4); //=> 81\n *      R.useWith(Math.pow, [R.dec, R.inc])(3, 4); //=> 32\n *      R.useWith(Math.pow, [R.dec, R.inc])(3)(4); //=> 32\n * @symb R.useWith(f, [g, h])(a, b) = f(g(a), h(b))\n */\nvar useWith = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function useWith(fn, transformers) {\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(transformers.length, function () {\n    var args = [];\n    var idx = 0;\n    while (idx < transformers.length) {\n      args.push(transformers[idx].call(this, arguments[idx]));\n      idx += 1;\n    }\n    return fn.apply(this, args.concat(Array.prototype.slice.call(arguments, transformers.length)));\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (useWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/values.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/values.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _keys__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys */ \"./node_modules/ramda/es/keys.js\");\n\n\n\n/**\n * Returns a list of all the enumerable own properties of the supplied object.\n * Note that the order of the output array is not guaranteed across different\n * JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [v]\n * @param {Object} obj The object to extract values from\n * @return {Array} An array of the values of the object's own properties.\n * @see R.valuesIn, R.keys\n * @example\n *\n *      R.values({a: 1, b: 2, c: 3}); //=> [1, 2, 3]\n */\nvar values = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function values(obj) {\n  var props = Object(_keys__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(obj);\n  var len = props.length;\n  var vals = [];\n  var idx = 0;\n  while (idx < len) {\n    vals[idx] = obj[props[idx]];\n    idx += 1;\n  }\n  return vals;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (values);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/valuesIn.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/valuesIn.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n/**\n * Returns a list of all the properties, including prototype properties, of the\n * supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @sig {k: v} -> [v]\n * @param {Object} obj The object to extract values from\n * @return {Array} An array of the values of the object's own and prototype properties.\n * @see R.values, R.keysIn\n * @example\n *\n *      var F = function() { this.x = 'X'; };\n *      F.prototype.y = 'Y';\n *      var f = new F();\n *      R.valuesIn(f); //=> ['X', 'Y']\n */\nvar valuesIn = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function valuesIn(obj) {\n  var prop;\n  var vs = [];\n  for (prop in obj) {\n    vs[vs.length] = obj[prop];\n  }\n  return vs;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (valuesIn);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/view.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/view.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n// `Const` is a functor that effectively ignores the function given to `map`.\nvar Const = function (x) {\n  return { value: x, 'fantasy-land/map': function () {\n      return this;\n    } };\n};\n\n/**\n * Returns a \"view\" of the given data structure, determined by the given lens.\n * The lens's focus determines which portion of the data structure is visible.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Lens s a -> s -> a\n * @param {Lens} lens\n * @param {*} x\n * @return {*}\n * @see R.prop, R.lensIndex, R.lensProp\n * @example\n *\n *      var xLens = R.lensProp('x');\n *\n *      R.view(xLens, {x: 1, y: 2});  //=> 1\n *      R.view(xLens, {x: 4, y: 2});  //=> 4\n */\nvar view = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function view(lens, x) {\n  // Using `Const` effectively ignores the setter function of the `lens`,\n  // leaving the value returned by the getter function unmodified.\n  return lens(Const)(x).value;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (view);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/when.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/when.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Tests the final argument by passing it to the given predicate function. If\n * the predicate is satisfied, the function will return the result of calling\n * the `whenTrueFn` function with the same argument. If the predicate is not\n * satisfied, the argument is returned as is.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Logic\n * @sig (a -> Boolean) -> (a -> a) -> a -> a\n * @param {Function} pred       A predicate function\n * @param {Function} whenTrueFn A function to invoke when the `condition`\n *                              evaluates to a truthy value.\n * @param {*}        x          An object to test with the `pred` function and\n *                              pass to `whenTrueFn` if necessary.\n * @return {*} Either `x` or the result of applying `x` to `whenTrueFn`.\n * @see R.ifElse, R.unless\n * @example\n *\n *      // truncate :: String -> String\n *      var truncate = R.when(\n *        R.propSatisfies(R.gt(R.__, 10), 'length'),\n *        R.pipe(R.take(10), R.append('…'), R.join(''))\n *      );\n *      truncate('12345');         //=> '12345'\n *      truncate('0123456789ABC'); //=> '0123456789…'\n */\nvar when = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function when(pred, whenTrueFn, x) {\n  return pred(x) ? whenTrueFn(x) : x;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (when);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/where.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/where.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_has__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has */ \"./node_modules/ramda/es/internal/_has.js\");\n\n\n\n/**\n * Takes a spec object and a test object; returns true if the test satisfies\n * the spec. Each of the spec's own properties must be a predicate function.\n * Each predicate is applied to the value of the corresponding property of the\n * test object. `where` returns true if all the predicates return true, false\n * otherwise.\n *\n * `where` is well suited to declaratively expressing constraints for other\n * functions such as [`filter`](#filter) and [`find`](#find).\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category Object\n * @sig {String: (* -> Boolean)} -> {String: *} -> Boolean\n * @param {Object} spec\n * @param {Object} testObj\n * @return {Boolean}\n * @see R.propSatisfies, R.whereEq\n * @example\n *\n *      // pred :: Object -> Boolean\n *      var pred = R.where({\n *        a: R.equals('foo'),\n *        b: R.complement(R.equals('bar')),\n *        x: R.gt(R.__, 10),\n *        y: R.lt(R.__, 20)\n *      });\n *\n *      pred({a: 'foo', b: 'xxx', x: 11, y: 19}); //=> true\n *      pred({a: 'xxx', b: 'xxx', x: 11, y: 19}); //=> false\n *      pred({a: 'foo', b: 'bar', x: 11, y: 19}); //=> false\n *      pred({a: 'foo', b: 'xxx', x: 10, y: 19}); //=> false\n *      pred({a: 'foo', b: 'xxx', x: 11, y: 20}); //=> false\n */\nvar where = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function where(spec, testObj) {\n  for (var prop in spec) {\n    if (Object(_internal_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(prop, spec) && !spec[prop](testObj[prop])) {\n      return false;\n    }\n  }\n  return true;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (where);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/whereEq.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/whereEq.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _equals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals */ \"./node_modules/ramda/es/equals.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./map */ \"./node_modules/ramda/es/map.js\");\n/* harmony import */ var _where__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./where */ \"./node_modules/ramda/es/where.js\");\n\n\n\n\n\n/**\n * Takes a spec object and a test object; returns true if the test satisfies\n * the spec, false otherwise. An object satisfies the spec if, for each of the\n * spec's own properties, accessing that property of the object gives the same\n * value (in [`R.equals`](#equals) terms) as accessing that property of the\n * spec.\n *\n * `whereEq` is a specialization of [`where`](#where).\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Object\n * @sig {String: *} -> {String: *} -> Boolean\n * @param {Object} spec\n * @param {Object} testObj\n * @return {Boolean}\n * @see R.propEq, R.where\n * @example\n *\n *      // pred :: Object -> Boolean\n *      var pred = R.whereEq({a: 1, b: 2});\n *\n *      pred({a: 1});              //=> false\n *      pred({a: 1, b: 2});        //=> true\n *      pred({a: 1, b: 2, c: 3});  //=> true\n *      pred({a: 1, b: 1});        //=> false\n */\nvar whereEq = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function whereEq(spec, testObj) {\n  return Object(_where__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(Object(_map__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_equals__WEBPACK_IMPORTED_MODULE_1__[\"default\"], spec), testObj);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (whereEq);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/without.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/without.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_contains__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_contains */ \"./node_modules/ramda/es/internal/_contains.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _flip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./flip */ \"./node_modules/ramda/es/flip.js\");\n/* harmony import */ var _reject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./reject */ \"./node_modules/ramda/es/reject.js\");\n\n\n\n\n\n/**\n * Returns a new list without values in the first argument.\n * [`R.equals`](#equals) is used to determine equality.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig [a] -> [a] -> [a]\n * @param {Array} list1 The values to be removed from `list2`.\n * @param {Array} list2 The array to remove values from.\n * @return {Array} The new array without values in `list1`.\n * @see R.transduce, R.difference\n * @example\n *\n *      R.without([1, 2], [1, 2, 1, 3, 4]); //=> [3, 4]\n */\nvar without = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (xs, list) {\n  return Object(_reject__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(Object(_flip__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_internal_contains__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(xs), list);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (without);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/xprod.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/xprod.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Creates a new list out of the two supplied by creating each possible pair\n * from the lists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [b] -> [[a,b]]\n * @param {Array} as The first list.\n * @param {Array} bs The second list.\n * @return {Array} The list made by combining each possible pair from\n *         `as` and `bs` into pairs (`[a, b]`).\n * @example\n *\n *      R.xprod([1, 2], ['a', 'b']); //=> [[1, 'a'], [1, 'b'], [2, 'a'], [2, 'b']]\n * @symb R.xprod([a, b], [c, d]) = [[a, c], [a, d], [b, c], [b, d]]\n */\nvar xprod = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function xprod(a, b) {\n  // = xprodWith(prepend); (takes about 3 times as long...)\n  var idx = 0;\n  var ilen = a.length;\n  var j;\n  var jlen = b.length;\n  var result = [];\n  while (idx < ilen) {\n    j = 0;\n    while (j < jlen) {\n      result[result.length] = [a[idx], b[j]];\n      j += 1;\n    }\n    idx += 1;\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (xprod);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/zip.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/zip.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Creates a new list out of the two supplied by pairing up equally-positioned\n * items from both lists. The returned list is truncated to the length of the\n * shorter of the two input lists.\n * Note: `zip` is equivalent to `zipWith(function(a, b) { return [a, b] })`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [b] -> [[a,b]]\n * @param {Array} list1 The first array to consider.\n * @param {Array} list2 The second array to consider.\n * @return {Array} The list made by pairing up same-indexed elements of `list1` and `list2`.\n * @example\n *\n *      R.zip([1, 2, 3], ['a', 'b', 'c']); //=> [[1, 'a'], [2, 'b'], [3, 'c']]\n * @symb R.zip([a, b, c], [d, e, f]) = [[a, d], [b, e], [c, f]]\n */\nvar zip = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function zip(a, b) {\n  var rv = [];\n  var idx = 0;\n  var len = Math.min(a.length, b.length);\n  while (idx < len) {\n    rv[idx] = [a[idx], b[idx]];\n    idx += 1;\n  }\n  return rv;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (zip);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/zipObj.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/zipObj.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Creates a new object out of a list of keys and a list of values.\n * Key/value pairing is truncated to the length of the shorter of the two lists.\n * Note: `zipObj` is equivalent to `pipe(zip, fromPairs)`.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig [String] -> [*] -> {String: *}\n * @param {Array} keys The array that will be properties on the output object.\n * @param {Array} values The list of values on the output object.\n * @return {Object} The object made by pairing up same-indexed elements of `keys` and `values`.\n * @example\n *\n *      R.zipObj(['a', 'b', 'c'], [1, 2, 3]); //=> {a: 1, b: 2, c: 3}\n */\nvar zipObj = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function zipObj(keys, values) {\n  var idx = 0;\n  var len = Math.min(keys.length, values.length);\n  var out = {};\n  while (idx < len) {\n    out[keys[idx]] = values[idx];\n    idx += 1;\n  }\n  return out;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (zipObj);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/zipWith.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/zipWith.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Creates a new list out of the two supplied by applying the function to each\n * equally-positioned pair in the lists. The returned list is truncated to the\n * length of the shorter of the two input lists.\n *\n * @function\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> c) -> [a] -> [b] -> [c]\n * @param {Function} fn The function used to combine the two elements into one value.\n * @param {Array} list1 The first array to consider.\n * @param {Array} list2 The second array to consider.\n * @return {Array} The list made by combining same-indexed elements of `list1` and `list2`\n *         using `fn`.\n * @example\n *\n *      var f = (x, y) => {\n *        // ...\n *      };\n *      R.zipWith(f, [1, 2, 3], ['a', 'b', 'c']);\n *      //=> [f(1, 'a'), f(2, 'b'), f(3, 'c')]\n * @symb R.zipWith(fn, [a, b, c], [d, e, f]) = [fn(a, d), fn(b, e), fn(c, f)]\n */\nvar zipWith = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function zipWith(fn, a, b) {\n  var rv = [];\n  var idx = 0;\n  var len = Math.min(a.length, b.length);\n  while (idx < len) {\n    rv[idx] = fn(a[idx], b[idx]);\n    idx += 1;\n  }\n  return rv;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (zipWith);\n\n/***/ }),\n\n/***/ \"./node_modules/rc-align/es/Align.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/rc-align/es/Align.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var rc_util_es_ref__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rc-util/es/ref */ \"./node_modules/rc-util/es/ref.js\");\n/* harmony import */ var dom_align__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dom-align */ \"./node_modules/dom-align/dist-web/index.js\");\n/* harmony import */ var rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! rc-util/es/Dom/addEventListener */ \"./node_modules/rc-util/es/Dom/addEventListener.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./util */ \"./node_modules/rc-align/es/util.js\");\n/* harmony import */ var _hooks_useBuffer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./hooks/useBuffer */ \"./node_modules/rc-align/es/hooks/useBuffer.js\");\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * Removed props:\n *  - childrenProps\n */\n\n\n\n\n\n\n\nfunction getElement(func) {\n  if (typeof func !== 'function') return null;\n  return func();\n}\n\nfunction getPoint(point) {\n  if (_typeof(point) !== 'object' || !point) return null;\n  return point;\n}\n\nvar Align = function Align(_ref, ref) {\n  var children = _ref.children,\n      disabled = _ref.disabled,\n      target = _ref.target,\n      align = _ref.align,\n      onAlign = _ref.onAlign,\n      monitorWindowResize = _ref.monitorWindowResize,\n      _ref$monitorBufferTim = _ref.monitorBufferTime,\n      monitorBufferTime = _ref$monitorBufferTim === void 0 ? 0 : _ref$monitorBufferTim;\n  var cacheRef = react__WEBPACK_IMPORTED_MODULE_0___default.a.useRef({});\n  var nodeRef = react__WEBPACK_IMPORTED_MODULE_0___default.a.useRef();\n  var childNode = react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.only(children); // ===================== Align ======================\n  // We save the props here to avoid closure makes props ood\n\n  var forceAlignPropsRef = react__WEBPACK_IMPORTED_MODULE_0___default.a.useRef({});\n  forceAlignPropsRef.current.disabled = disabled;\n  forceAlignPropsRef.current.target = target;\n  forceAlignPropsRef.current.onAlign = onAlign;\n\n  var _useBuffer = Object(_hooks_useBuffer__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(function () {\n    var _forceAlignPropsRef$c = forceAlignPropsRef.current,\n        latestDisabled = _forceAlignPropsRef$c.disabled,\n        latestTarget = _forceAlignPropsRef$c.target;\n\n    if (!latestDisabled && latestTarget) {\n      var source = nodeRef.current;\n      var result;\n      var element = getElement(latestTarget);\n      var point = getPoint(latestTarget);\n      cacheRef.current.element = element;\n      cacheRef.current.point = point; // IE lose focus after element realign\n      // We should record activeElement and restore later\n\n      var _document = document,\n          activeElement = _document.activeElement;\n\n      if (element) {\n        result = Object(dom_align__WEBPACK_IMPORTED_MODULE_2__[\"alignElement\"])(source, element, align);\n      } else if (point) {\n        result = Object(dom_align__WEBPACK_IMPORTED_MODULE_2__[\"alignPoint\"])(source, point, align);\n      }\n\n      Object(_util__WEBPACK_IMPORTED_MODULE_4__[\"restoreFocus\"])(activeElement, source);\n\n      if (onAlign) {\n        onAlign(source, result);\n      }\n\n      return true;\n    }\n\n    return false;\n  }, monitorBufferTime),\n      _useBuffer2 = _slicedToArray(_useBuffer, 2),\n      _forceAlign = _useBuffer2[0],\n      cancelForceAlign = _useBuffer2[1]; // ===================== Effect =====================\n  // Listen for target updated\n\n\n  var resizeMonitor = react__WEBPACK_IMPORTED_MODULE_0___default.a.useRef({\n    cancel: function cancel() {}\n  }); // Listen for source updated\n\n  var sourceResizeMonitor = react__WEBPACK_IMPORTED_MODULE_0___default.a.useRef({\n    cancel: function cancel() {}\n  });\n  react__WEBPACK_IMPORTED_MODULE_0___default.a.useEffect(function () {\n    var element = getElement(target);\n    var point = getPoint(target);\n\n    if (nodeRef.current !== sourceResizeMonitor.current.element) {\n      sourceResizeMonitor.current.cancel();\n      sourceResizeMonitor.current.element = nodeRef.current;\n      sourceResizeMonitor.current.cancel = Object(_util__WEBPACK_IMPORTED_MODULE_4__[\"monitorResize\"])(nodeRef.current, _forceAlign);\n    }\n\n    if (cacheRef.current.element !== element || !Object(_util__WEBPACK_IMPORTED_MODULE_4__[\"isSamePoint\"])(cacheRef.current.point, point)) {\n      _forceAlign(); // Add resize observer\n\n\n      if (resizeMonitor.current.element !== element) {\n        resizeMonitor.current.cancel();\n        resizeMonitor.current.element = element;\n        resizeMonitor.current.cancel = Object(_util__WEBPACK_IMPORTED_MODULE_4__[\"monitorResize\"])(element, _forceAlign);\n      }\n    }\n  }); // Listen for disabled change\n\n  react__WEBPACK_IMPORTED_MODULE_0___default.a.useEffect(function () {\n    if (!disabled) {\n      _forceAlign();\n    } else {\n      cancelForceAlign();\n    }\n  }, [disabled]); // Listen for window resize\n\n  var winResizeRef = react__WEBPACK_IMPORTED_MODULE_0___default.a.useRef(null);\n  react__WEBPACK_IMPORTED_MODULE_0___default.a.useEffect(function () {\n    if (monitorWindowResize) {\n      if (!winResizeRef.current) {\n        winResizeRef.current = Object(rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(window, 'resize', _forceAlign);\n      }\n    } else if (winResizeRef.current) {\n      winResizeRef.current.remove();\n      winResizeRef.current = null;\n    }\n  }, [monitorWindowResize]); // Clear all if unmount\n\n  react__WEBPACK_IMPORTED_MODULE_0___default.a.useEffect(function () {\n    return function () {\n      resizeMonitor.current.cancel();\n      sourceResizeMonitor.current.cancel();\n      if (winResizeRef.current) winResizeRef.current.remove();\n      cancelForceAlign();\n    };\n  }, []); // ====================== Ref =======================\n\n  react__WEBPACK_IMPORTED_MODULE_0___default.a.useImperativeHandle(ref, function () {\n    return {\n      forceAlign: function forceAlign() {\n        return _forceAlign(true);\n      }\n    };\n  }); // ===================== Render =====================\n\n  if (react__WEBPACK_IMPORTED_MODULE_0___default.a.isValidElement(childNode)) {\n    childNode = react__WEBPACK_IMPORTED_MODULE_0___default.a.cloneElement(childNode, {\n      ref: Object(rc_util_es_ref__WEBPACK_IMPORTED_MODULE_1__[\"composeRef\"])(childNode.ref, nodeRef)\n    });\n  }\n\n  return childNode;\n};\n\nvar RefAlign = react__WEBPACK_IMPORTED_MODULE_0___default.a.forwardRef(Align);\nRefAlign.displayName = 'Align';\n/* harmony default export */ __webpack_exports__[\"default\"] = (RefAlign);\n\n/***/ }),\n\n/***/ \"./node_modules/rc-align/es/hooks/useBuffer.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/rc-align/es/hooks/useBuffer.js ***!\n  \\*****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (callback, buffer) {\n  var calledRef = react__WEBPACK_IMPORTED_MODULE_0___default.a.useRef(false);\n  var timeoutRef = react__WEBPACK_IMPORTED_MODULE_0___default.a.useRef(null);\n\n  function cancelTrigger() {\n    window.clearTimeout(timeoutRef.current);\n  }\n\n  function trigger(force) {\n    if (!calledRef.current || force === true) {\n      if (callback() === false) {\n        // Not delay since callback cancelled self\n        return;\n      }\n\n      calledRef.current = true;\n      cancelTrigger();\n      timeoutRef.current = window.setTimeout(function () {\n        calledRef.current = false;\n      }, buffer);\n    } else {\n      cancelTrigger();\n      timeoutRef.current = window.setTimeout(function () {\n        calledRef.current = false;\n        trigger();\n      }, buffer);\n    }\n  }\n\n  return [trigger, function () {\n    calledRef.current = false;\n    cancelTrigger();\n  }];\n});\n\n/***/ }),\n\n/***/ \"./node_modules/rc-align/es/index.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/rc-align/es/index.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Align__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Align */ \"./node_modules/rc-align/es/Align.js\");\n// export this package's api\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_Align__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./node_modules/rc-align/es/util.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/rc-align/es/util.js ***!\n  \\******************************************/\n/*! exports provided: isSamePoint, restoreFocus, monitorResize */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isSamePoint\", function() { return isSamePoint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"restoreFocus\", function() { return restoreFocus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"monitorResize\", function() { return monitorResize; });\n/* harmony import */ var resize_observer_polyfill__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! resize-observer-polyfill */ \"./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js\");\n/* harmony import */ var rc_util_es_Dom_contains__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rc-util/es/Dom/contains */ \"./node_modules/rc-util/es/Dom/contains.js\");\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\nfunction isSamePoint(prev, next) {\n  if (prev === next) return true;\n  if (!prev || !next) return false;\n\n  if ('pageX' in next && 'pageY' in next) {\n    return prev.pageX === next.pageX && prev.pageY === next.pageY;\n  }\n\n  if ('clientX' in next && 'clientY' in next) {\n    return prev.clientX === next.clientX && prev.clientY === next.clientY;\n  }\n\n  return false;\n}\nfunction restoreFocus(activeElement, container) {\n  // Focus back if is in the container\n  if (activeElement !== document.activeElement && Object(rc_util_es_Dom_contains__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(container, activeElement)) {\n    activeElement.focus();\n  }\n}\nfunction monitorResize(element, callback) {\n  var prevWidth = null;\n  var prevHeight = null;\n\n  function onResize(_ref) {\n    var _ref2 = _slicedToArray(_ref, 1),\n        target = _ref2[0].target;\n\n    var _target$getBoundingCl = target.getBoundingClientRect(),\n        width = _target$getBoundingCl.width,\n        height = _target$getBoundingCl.height;\n\n    var fixedWidth = Math.floor(width);\n    var fixedHeight = Math.floor(height);\n\n    if (prevWidth !== fixedWidth || prevHeight !== fixedHeight) {\n      callback({\n        width: fixedWidth,\n        height: fixedHeight\n      });\n    }\n\n    prevWidth = fixedWidth;\n    prevHeight = fixedHeight;\n  }\n\n  var resizeObserver = new resize_observer_polyfill__WEBPACK_IMPORTED_MODULE_0__[\"default\"](onResize);\n\n  if (element) {\n    resizeObserver.observe(element);\n  }\n\n  return function () {\n    resizeObserver.disconnect();\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/rc-animate/es/CSSMotion.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/rc-animate/es/CSSMotion.js ***!\n  \\*************************************************/\n/*! exports provided: MotionPropTypes, genCSSMotion, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MotionPropTypes\", function() { return MotionPropTypes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"genCSSMotion\", function() { return genCSSMotion; });\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ \"./node_modules/babel-runtime/helpers/defineProperty.js\");\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/extends */ \"./node_modules/babel-runtime/helpers/extends.js\");\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ \"./node_modules/babel-runtime/helpers/classCallCheck.js\");\n/* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ \"./node_modules/babel-runtime/helpers/createClass.js\");\n/* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ \"./node_modules/babel-runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ \"./node_modules/babel-runtime/helpers/inherits.js\");\n/* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var react_lifecycles_compat__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react-lifecycles-compat */ \"./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js\");\n/* harmony import */ var rc_util_es_Dom_findDOMNode__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! rc-util/es/Dom/findDOMNode */ \"./node_modules/rc-util/es/Dom/findDOMNode.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var raf__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! raf */ \"./node_modules/raf/index.js\");\n/* harmony import */ var raf__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(raf__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _util_motion__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./util/motion */ \"./node_modules/rc-animate/es/util/motion.js\");\n\n\n\n\n\n\n/* eslint-disable react/default-props-match-prop-types, react/no-multi-comp */\n\n\n\n\n\n\n\n\nvar STATUS_NONE = 'none';\nvar STATUS_APPEAR = 'appear';\nvar STATUS_ENTER = 'enter';\nvar STATUS_LEAVE = 'leave';\n\nvar MotionPropTypes = {\n  eventProps: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.object, // Internal usage. Only pass by CSSMotionList\n  visible: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.bool,\n  children: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func,\n  motionName: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.object]),\n  motionAppear: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.bool,\n  motionEnter: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.bool,\n  motionLeave: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.bool,\n  motionLeaveImmediately: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.bool, // Trigger leave motion immediately\n  removeOnLeave: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.bool,\n  leavedClassName: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string,\n  onAppearStart: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func,\n  onAppearActive: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func,\n  onAppearEnd: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func,\n  onEnterStart: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func,\n  onEnterActive: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func,\n  onEnterEnd: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func,\n  onLeaveStart: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func,\n  onLeaveActive: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func,\n  onLeaveEnd: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func\n};\n\n/**\n * `transitionSupport` is used for none transition test case.\n * Default we use browser transition event support check.\n */\nfunction genCSSMotion(config) {\n  var transitionSupport = config;\n  var forwardRef = !!react__WEBPACK_IMPORTED_MODULE_6___default.a.forwardRef;\n\n  if (typeof config === 'object') {\n    transitionSupport = config.transitionSupport;\n    forwardRef = 'forwardRef' in config ? config.forwardRef : forwardRef;\n  }\n\n  function isSupportTransition(props) {\n    return !!(props.motionName && transitionSupport);\n  }\n\n  var CSSMotion = function (_React$Component) {\n    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(CSSMotion, _React$Component);\n\n    function CSSMotion() {\n      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, CSSMotion);\n\n      var _this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, (CSSMotion.__proto__ || Object.getPrototypeOf(CSSMotion)).call(this));\n\n      _this.onDomUpdate = function () {\n        var _this$state = _this.state,\n            status = _this$state.status,\n            newStatus = _this$state.newStatus;\n        var _this$props = _this.props,\n            onAppearStart = _this$props.onAppearStart,\n            onEnterStart = _this$props.onEnterStart,\n            onLeaveStart = _this$props.onLeaveStart,\n            onAppearActive = _this$props.onAppearActive,\n            onEnterActive = _this$props.onEnterActive,\n            onLeaveActive = _this$props.onLeaveActive,\n            motionAppear = _this$props.motionAppear,\n            motionEnter = _this$props.motionEnter,\n            motionLeave = _this$props.motionLeave;\n\n\n        if (!isSupportTransition(_this.props)) {\n          return;\n        }\n\n        // Event injection\n        var $ele = _this.getElement();\n        if (_this.$cacheEle !== $ele) {\n          _this.removeEventListener(_this.$cacheEle);\n          _this.addEventListener($ele);\n          _this.$cacheEle = $ele;\n        }\n\n        // Init status\n        if (newStatus && status === STATUS_APPEAR && motionAppear) {\n          _this.updateStatus(onAppearStart, null, null, function () {\n            _this.updateActiveStatus(onAppearActive, STATUS_APPEAR);\n          });\n        } else if (newStatus && status === STATUS_ENTER && motionEnter) {\n          _this.updateStatus(onEnterStart, null, null, function () {\n            _this.updateActiveStatus(onEnterActive, STATUS_ENTER);\n          });\n        } else if (newStatus && status === STATUS_LEAVE && motionLeave) {\n          _this.updateStatus(onLeaveStart, null, null, function () {\n            _this.updateActiveStatus(onLeaveActive, STATUS_LEAVE);\n          });\n        }\n      };\n\n      _this.onMotionEnd = function (event) {\n        var _this$state2 = _this.state,\n            status = _this$state2.status,\n            statusActive = _this$state2.statusActive;\n        var _this$props2 = _this.props,\n            onAppearEnd = _this$props2.onAppearEnd,\n            onEnterEnd = _this$props2.onEnterEnd,\n            onLeaveEnd = _this$props2.onLeaveEnd;\n\n        if (status === STATUS_APPEAR && statusActive) {\n          _this.updateStatus(onAppearEnd, { status: STATUS_NONE }, event);\n        } else if (status === STATUS_ENTER && statusActive) {\n          _this.updateStatus(onEnterEnd, { status: STATUS_NONE }, event);\n        } else if (status === STATUS_LEAVE && statusActive) {\n          _this.updateStatus(onLeaveEnd, { status: STATUS_NONE }, event);\n        }\n      };\n\n      _this.setNodeRef = function (node) {\n        var internalRef = _this.props.internalRef;\n\n        _this.node = node;\n\n        if (typeof internalRef === 'function') {\n          internalRef(node);\n        } else if (internalRef && 'current' in internalRef) {\n          internalRef.current = node;\n        }\n      };\n\n      _this.getElement = function () {\n        return Object(rc_util_es_Dom_findDOMNode__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(_this.node || _this);\n      };\n\n      _this.addEventListener = function ($ele) {\n        if (!$ele) return;\n\n        $ele.addEventListener(_util_motion__WEBPACK_IMPORTED_MODULE_12__[\"transitionEndName\"], _this.onMotionEnd);\n        $ele.addEventListener(_util_motion__WEBPACK_IMPORTED_MODULE_12__[\"animationEndName\"], _this.onMotionEnd);\n      };\n\n      _this.removeEventListener = function ($ele) {\n        if (!$ele) return;\n\n        $ele.removeEventListener(_util_motion__WEBPACK_IMPORTED_MODULE_12__[\"transitionEndName\"], _this.onMotionEnd);\n        $ele.removeEventListener(_util_motion__WEBPACK_IMPORTED_MODULE_12__[\"animationEndName\"], _this.onMotionEnd);\n      };\n\n      _this.updateStatus = function (styleFunc, additionalState, event, callback) {\n        var statusStyle = styleFunc ? styleFunc(_this.getElement(), event) : null;\n\n        if (statusStyle === false || _this._destroyed) return;\n\n        var nextStep = void 0;\n        if (callback) {\n          nextStep = function nextStep() {\n            _this.nextFrame(callback);\n          };\n        }\n\n        _this.setState(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({\n          statusStyle: typeof statusStyle === 'object' ? statusStyle : null,\n          newStatus: false\n        }, additionalState), nextStep); // Trigger before next frame & after `componentDidMount`\n      };\n\n      _this.updateActiveStatus = function (styleFunc, currentStatus) {\n        // `setState` use `postMessage` to trigger at the end of frame.\n        // Let's use requestAnimationFrame to update new state in next frame.\n        _this.nextFrame(function () {\n          var status = _this.state.status;\n\n          if (status !== currentStatus) return;\n\n          _this.updateStatus(styleFunc, { statusActive: true });\n        });\n      };\n\n      _this.nextFrame = function (func) {\n        _this.cancelNextFrame();\n        _this.raf = raf__WEBPACK_IMPORTED_MODULE_11___default()(func);\n      };\n\n      _this.cancelNextFrame = function () {\n        if (_this.raf) {\n          raf__WEBPACK_IMPORTED_MODULE_11___default.a.cancel(_this.raf);\n          _this.raf = null;\n        }\n      };\n\n      _this.state = {\n        status: STATUS_NONE,\n        statusActive: false,\n        newStatus: false,\n        statusStyle: null\n      };\n      _this.$cacheEle = null;\n      _this.node = null;\n      _this.raf = null;\n      return _this;\n    }\n\n    babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(CSSMotion, [{\n      key: 'componentDidMount',\n      value: function componentDidMount() {\n        this.onDomUpdate();\n      }\n    }, {\n      key: 'componentDidUpdate',\n      value: function componentDidUpdate() {\n        this.onDomUpdate();\n      }\n    }, {\n      key: 'componentWillUnmount',\n      value: function componentWillUnmount() {\n        this._destroyed = true;\n        this.removeEventListener(this.$cacheEle);\n        this.cancelNextFrame();\n      }\n    }, {\n      key: 'render',\n      value: function render() {\n        var _classNames;\n\n        var _state = this.state,\n            status = _state.status,\n            statusActive = _state.statusActive,\n            statusStyle = _state.statusStyle;\n        var _props = this.props,\n            children = _props.children,\n            motionName = _props.motionName,\n            visible = _props.visible,\n            removeOnLeave = _props.removeOnLeave,\n            leavedClassName = _props.leavedClassName,\n            eventProps = _props.eventProps;\n\n\n        if (!children) return null;\n\n        if (status === STATUS_NONE || !isSupportTransition(this.props)) {\n          if (visible) {\n            return children(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, eventProps), this.setNodeRef);\n          } else if (!removeOnLeave) {\n            return children(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, eventProps, { className: leavedClassName }), this.setNodeRef);\n          }\n\n          return null;\n        }\n\n        return children(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, eventProps, {\n          className: classnames__WEBPACK_IMPORTED_MODULE_10___default()((_classNames = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, Object(_util_motion__WEBPACK_IMPORTED_MODULE_12__[\"getTransitionName\"])(motionName, status), status !== STATUS_NONE), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, Object(_util_motion__WEBPACK_IMPORTED_MODULE_12__[\"getTransitionName\"])(motionName, status + '-active'), status !== STATUS_NONE && statusActive), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, motionName, typeof motionName === 'string'), _classNames)),\n          style: statusStyle\n        }), this.setNodeRef);\n      }\n    }], [{\n      key: 'getDerivedStateFromProps',\n      value: function getDerivedStateFromProps(props, _ref) {\n        var prevProps = _ref.prevProps,\n            prevStatus = _ref.status;\n\n        if (!isSupportTransition(props)) return {};\n\n        var visible = props.visible,\n            motionAppear = props.motionAppear,\n            motionEnter = props.motionEnter,\n            motionLeave = props.motionLeave,\n            motionLeaveImmediately = props.motionLeaveImmediately;\n\n        var newState = {\n          prevProps: props\n        };\n\n        // Clean up status if prop set to false\n        if (prevStatus === STATUS_APPEAR && !motionAppear || prevStatus === STATUS_ENTER && !motionEnter || prevStatus === STATUS_LEAVE && !motionLeave) {\n          newState.status = STATUS_NONE;\n          newState.statusActive = false;\n          newState.newStatus = false;\n        }\n\n        // Appear\n        if (!prevProps && visible && motionAppear) {\n          newState.status = STATUS_APPEAR;\n          newState.statusActive = false;\n          newState.newStatus = true;\n        }\n\n        // Enter\n        if (prevProps && !prevProps.visible && visible && motionEnter) {\n          newState.status = STATUS_ENTER;\n          newState.statusActive = false;\n          newState.newStatus = true;\n        }\n\n        // Leave\n        if (prevProps && prevProps.visible && !visible && motionLeave || !prevProps && motionLeaveImmediately && !visible && motionLeave) {\n          newState.status = STATUS_LEAVE;\n          newState.statusActive = false;\n          newState.newStatus = true;\n        }\n\n        return newState;\n      }\n    }]);\n\n    return CSSMotion;\n  }(react__WEBPACK_IMPORTED_MODULE_6___default.a.Component);\n\n  CSSMotion.propTypes = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, MotionPropTypes, {\n\n    internalRef: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.object, prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func])\n  });\n  CSSMotion.defaultProps = {\n    visible: true,\n    motionEnter: true,\n    motionAppear: true,\n    motionLeave: true,\n    removeOnLeave: true\n  };\n\n\n  Object(react_lifecycles_compat__WEBPACK_IMPORTED_MODULE_8__[\"polyfill\"])(CSSMotion);\n\n  if (!forwardRef) {\n    return CSSMotion;\n  }\n\n  return react__WEBPACK_IMPORTED_MODULE_6___default.a.forwardRef(function (props, ref) {\n    return react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement(CSSMotion, babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({ internalRef: ref }, props));\n  });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (genCSSMotion(_util_motion__WEBPACK_IMPORTED_MODULE_12__[\"supportTransition\"]));\n\n/***/ }),\n\n/***/ \"./node_modules/rc-animate/es/util/motion.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/rc-animate/es/util/motion.js ***!\n  \\***************************************************/\n/*! exports provided: getVendorPrefixes, getVendorPrefixedEventName, animationEndName, transitionEndName, supportTransition, getTransitionName */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getVendorPrefixes\", function() { return getVendorPrefixes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getVendorPrefixedEventName\", function() { return getVendorPrefixedEventName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"animationEndName\", function() { return animationEndName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"transitionEndName\", function() { return transitionEndName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"supportTransition\", function() { return supportTransition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTransitionName\", function() { return getTransitionName; });\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\n// ================= Transition =================\n// Event wrapper. Copy from react source code\nfunction makePrefixMap(styleProp, eventName) {\n  var prefixes = {};\n\n  prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n  prefixes['Webkit' + styleProp] = 'webkit' + eventName;\n  prefixes['Moz' + styleProp] = 'moz' + eventName;\n  prefixes['ms' + styleProp] = 'MS' + eventName;\n  prefixes['O' + styleProp] = 'o' + eventName.toLowerCase();\n\n  return prefixes;\n}\n\nfunction getVendorPrefixes(domSupport, win) {\n  var prefixes = {\n    animationend: makePrefixMap('Animation', 'AnimationEnd'),\n    transitionend: makePrefixMap('Transition', 'TransitionEnd')\n  };\n\n  if (domSupport) {\n    if (!('AnimationEvent' in win)) {\n      delete prefixes.animationend.animation;\n    }\n\n    if (!('TransitionEvent' in win)) {\n      delete prefixes.transitionend.transition;\n    }\n  }\n\n  return prefixes;\n}\n\nvar vendorPrefixes = getVendorPrefixes(canUseDOM, typeof window !== 'undefined' ? window : {});\n\nvar style = {};\n\nif (canUseDOM) {\n  style = document.createElement('div').style;\n}\n\nvar prefixedEventNames = {};\n\nfunction getVendorPrefixedEventName(eventName) {\n  if (prefixedEventNames[eventName]) {\n    return prefixedEventNames[eventName];\n  }\n\n  var prefixMap = vendorPrefixes[eventName];\n\n  if (prefixMap) {\n    var stylePropList = Object.keys(prefixMap);\n    var len = stylePropList.length;\n    for (var i = 0; i < len; i += 1) {\n      var styleProp = stylePropList[i];\n      if (Object.prototype.hasOwnProperty.call(prefixMap, styleProp) && styleProp in style) {\n        prefixedEventNames[eventName] = prefixMap[styleProp];\n        return prefixedEventNames[eventName];\n      }\n    }\n  }\n\n  return '';\n}\n\nvar animationEndName = getVendorPrefixedEventName('animationend');\nvar transitionEndName = getVendorPrefixedEventName('transitionend');\nvar supportTransition = !!(animationEndName && transitionEndName);\n\nfunction getTransitionName(transitionName, transitionType) {\n  if (!transitionName) return null;\n\n  if (typeof transitionName === 'object') {\n    var type = transitionType.replace(/-\\w/g, function (match) {\n      return match[1].toUpperCase();\n    });\n    return transitionName[type];\n  }\n\n  return transitionName + '-' + transitionType;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/rc-slider/assets/index.css\":\n/*!*************************************************!*\\\n  !*** ./node_modules/rc-slider/assets/index.css ***!\n  \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar api = __webpack_require__(/*! ../../style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n            var content = __webpack_require__(/*! !../../css-loader/dist/cjs.js!./index.css */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/rc-slider/assets/index.css\");\n\n            content = content.__esModule ? content.default : content;\n\n            if (typeof content === 'string') {\n              content = [[module.i, content, '']];\n            }\n\nvar options = {};\n\noptions.insert = function insertAtTop(element) {\r\n\t\t\t\t    document.head.insertBefore(element, document.head.firstElementChild);\r\n\t\t\t\t};\noptions.singleton = false;\n\nvar update = api(content, options);\n\nvar exported = content.locals ? content.locals : {};\n\n\n\nmodule.exports = exported;\n\n/***/ }),\n\n/***/ \"./node_modules/rc-slider/es/Handle.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/rc-slider/es/Handle.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ \"./node_modules/babel-runtime/helpers/extends.js\");\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ \"./node_modules/babel-runtime/helpers/defineProperty.js\");\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/objectWithoutProperties */ \"./node_modules/babel-runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ \"./node_modules/babel-runtime/helpers/classCallCheck.js\");\n/* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ \"./node_modules/babel-runtime/helpers/createClass.js\");\n/* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ \"./node_modules/babel-runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ \"./node_modules/babel-runtime/helpers/inherits.js\");\n/* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! rc-util/es/Dom/addEventListener */ \"./node_modules/rc-util/es/Dom/addEventListener.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nvar Handle = function (_React$Component) {\n  babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default()(Handle, _React$Component);\n\n  function Handle() {\n    var _ref;\n\n    var _temp, _this, _ret;\n\n    babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default()(this, Handle);\n\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    return _ret = (_temp = (_this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default()(this, (_ref = Handle.__proto__ || Object.getPrototypeOf(Handle)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n      clickFocused: false\n    }, _this.setHandleRef = function (node) {\n      _this.handle = node;\n    }, _this.handleMouseUp = function () {\n      if (document.activeElement === _this.handle) {\n        _this.setClickFocus(true);\n      }\n    }, _this.handleMouseDown = function () {\n      // fix https://github.com/ant-design/ant-design/issues/15324\n      _this.focus();\n    }, _this.handleBlur = function () {\n      _this.setClickFocus(false);\n    }, _this.handleKeyDown = function () {\n      _this.setClickFocus(false);\n    }, _temp), babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default()(_this, _ret);\n  }\n\n  babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default()(Handle, [{\n    key: 'componentDidMount',\n    value: function componentDidMount() {\n      // mouseup won't trigger if mouse moved out of handle,\n      // so we listen on document here.\n      this.onMouseUpListener = Object(rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(document, 'mouseup', this.handleMouseUp);\n    }\n  }, {\n    key: 'componentWillUnmount',\n    value: function componentWillUnmount() {\n      if (this.onMouseUpListener) {\n        this.onMouseUpListener.remove();\n      }\n    }\n  }, {\n    key: 'setClickFocus',\n    value: function setClickFocus(focused) {\n      this.setState({ clickFocused: focused });\n    }\n  }, {\n    key: 'clickFocus',\n    value: function clickFocus() {\n      this.setClickFocus(true);\n      this.focus();\n    }\n  }, {\n    key: 'focus',\n    value: function focus() {\n      this.handle.focus();\n    }\n  }, {\n    key: 'blur',\n    value: function blur() {\n      this.handle.blur();\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      var _ref2, _ref3;\n\n      var _props = this.props,\n          prefixCls = _props.prefixCls,\n          vertical = _props.vertical,\n          reverse = _props.reverse,\n          offset = _props.offset,\n          style = _props.style,\n          disabled = _props.disabled,\n          min = _props.min,\n          max = _props.max,\n          value = _props.value,\n          tabIndex = _props.tabIndex,\n          ariaLabel = _props.ariaLabel,\n          ariaLabelledBy = _props.ariaLabelledBy,\n          ariaValueTextFormatter = _props.ariaValueTextFormatter,\n          restProps = babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2___default()(_props, ['prefixCls', 'vertical', 'reverse', 'offset', 'style', 'disabled', 'min', 'max', 'value', 'tabIndex', 'ariaLabel', 'ariaLabelledBy', 'ariaValueTextFormatter']);\n\n      var className = classnames__WEBPACK_IMPORTED_MODULE_9___default()(this.props.className, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()({}, prefixCls + '-handle-click-focused', this.state.clickFocused));\n      var positionStyle = vertical ? (_ref2 = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_ref2, reverse ? 'top' : 'bottom', offset + '%'), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_ref2, reverse ? 'bottom' : 'top', 'auto'), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_ref2, 'transform', 'translateY(+50%)'), _ref2) : (_ref3 = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_ref3, reverse ? 'right' : 'left', offset + '%'), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_ref3, reverse ? 'left' : 'right', 'auto'), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_ref3, 'transform', 'translateX(' + (reverse ? '+' : '-') + '50%)'), _ref3);\n      var elStyle = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, style, positionStyle);\n\n      var _tabIndex = tabIndex || 0;\n      if (disabled || tabIndex === null) {\n        _tabIndex = null;\n      }\n\n      var ariaValueText = void 0;\n      if (ariaValueTextFormatter) {\n        ariaValueText = ariaValueTextFormatter(value);\n      }\n\n      return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement('div', babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n        ref: this.setHandleRef,\n        tabIndex: _tabIndex\n      }, restProps, {\n        className: className,\n        style: elStyle,\n        onBlur: this.handleBlur,\n        onKeyDown: this.handleKeyDown,\n        onMouseDown: this.handleMouseDown\n\n        // aria attribute\n        , role: 'slider',\n        'aria-valuemin': min,\n        'aria-valuemax': max,\n        'aria-valuenow': value,\n        'aria-disabled': !!disabled,\n        'aria-label': ariaLabel,\n        'aria-labelledby': ariaLabelledBy,\n        'aria-valuetext': ariaValueText\n      }));\n    }\n  }]);\n\n  return Handle;\n}(react__WEBPACK_IMPORTED_MODULE_7___default.a.Component);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Handle);\n\n\nHandle.propTypes = {\n  prefixCls: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string,\n  className: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string,\n  vertical: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,\n  offset: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number,\n  style: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.object,\n  disabled: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,\n  min: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number,\n  max: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number,\n  value: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number,\n  tabIndex: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number,\n  reverse: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,\n  ariaLabel: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string,\n  ariaLabelledBy: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string,\n  ariaValueTextFormatter: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.func\n};\n\n/***/ }),\n\n/***/ \"./node_modules/rc-slider/es/Range.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/rc-slider/es/Range.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ \"./node_modules/babel-runtime/helpers/defineProperty.js\");\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/extends */ \"./node_modules/babel-runtime/helpers/extends.js\");\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/toConsumableArray */ \"./node_modules/babel-runtime/helpers/toConsumableArray.js\");\n/* harmony import */ var babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ \"./node_modules/babel-runtime/helpers/classCallCheck.js\");\n/* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ \"./node_modules/babel-runtime/helpers/createClass.js\");\n/* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ \"./node_modules/babel-runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ \"./node_modules/babel-runtime/helpers/inherits.js\");\n/* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! shallowequal */ \"./node_modules/shallowequal/index.js\");\n/* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(shallowequal__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _common_Track__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./common/Track */ \"./node_modules/rc-slider/es/common/Track.js\");\n/* harmony import */ var _common_createSlider__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./common/createSlider */ \"./node_modules/rc-slider/es/common/createSlider.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./utils */ \"./node_modules/rc-slider/es/utils.js\");\n\n\n\n\n\n\n\n/* eslint-disable react/prop-types */\n\n\n\n\n\n\n\n\nvar _trimAlignValue = function _trimAlignValue(_ref) {\n  var value = _ref.value,\n      handle = _ref.handle,\n      bounds = _ref.bounds,\n      props = _ref.props;\n  var allowCross = props.allowCross,\n      pushable = props.pushable;\n\n  var thershold = Number(pushable);\n  var valInRange = _utils__WEBPACK_IMPORTED_MODULE_13__[\"ensureValueInRange\"](value, props);\n  var valNotConflict = valInRange;\n  if (!allowCross && handle != null && bounds !== undefined) {\n    if (handle > 0 && valInRange <= bounds[handle - 1] + thershold) {\n      valNotConflict = bounds[handle - 1] + thershold;\n    }\n    if (handle < bounds.length - 1 && valInRange >= bounds[handle + 1] - thershold) {\n      valNotConflict = bounds[handle + 1] - thershold;\n    }\n  }\n  return _utils__WEBPACK_IMPORTED_MODULE_13__[\"ensureValuePrecision\"](valNotConflict, props);\n};\n\nvar Range = function (_React$Component) {\n  babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default()(Range, _React$Component);\n\n  function Range(props) {\n    babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default()(this, Range);\n\n    var _this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default()(this, (Range.__proto__ || Object.getPrototypeOf(Range)).call(this, props));\n\n    _this.onEnd = function (force) {\n      var handle = _this.state.handle;\n\n      _this.removeDocumentEvents();\n\n      if (handle !== null || force) {\n        _this.props.onAfterChange(_this.getValue());\n      }\n\n      _this.setState({\n        handle: null\n      });\n    };\n\n    var count = props.count,\n        min = props.min,\n        max = props.max;\n\n    var initialValue = Array.apply(undefined, babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2___default()(Array(count + 1))).map(function () {\n      return min;\n    });\n    var defaultValue = 'defaultValue' in props ? props.defaultValue : initialValue;\n    var value = props.value !== undefined ? props.value : defaultValue;\n    var bounds = value.map(function (v, i) {\n      return _trimAlignValue({\n        value: v,\n        handle: i,\n        props: props\n      });\n    });\n    var recent = bounds[0] === max ? 0 : bounds.length - 1;\n\n    _this.state = {\n      handle: null,\n      recent: recent,\n      bounds: bounds\n    };\n    return _this;\n  }\n\n  babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default()(Range, [{\n    key: 'componentDidUpdate',\n    value: function componentDidUpdate(prevProps, prevState) {\n      var _this2 = this;\n\n      if (!('value' in this.props || 'min' in this.props || 'max' in this.props)) {\n        return;\n      }\n      if (this.props.min === prevProps.min && this.props.max === prevProps.max && shallowequal__WEBPACK_IMPORTED_MODULE_10___default()(this.props.value, prevProps.value)) {\n        return;\n      }\n      var _props = this.props,\n          onChange = _props.onChange,\n          value = _props.value;\n\n      var currentValue = value || prevState.bounds;\n      if (currentValue.some(function (v) {\n        return _utils__WEBPACK_IMPORTED_MODULE_13__[\"isValueOutOfRange\"](v, _this2.props);\n      })) {\n        var newValues = currentValue.map(function (v) {\n          return _utils__WEBPACK_IMPORTED_MODULE_13__[\"ensureValueInRange\"](v, _this2.props);\n        });\n        onChange(newValues);\n      }\n    }\n  }, {\n    key: 'onChange',\n    value: function onChange(state) {\n      var props = this.props;\n      var isNotControlled = !('value' in props);\n      if (isNotControlled) {\n        this.setState(state);\n      } else {\n        var controlledState = {};\n\n        ['handle', 'recent'].forEach(function (item) {\n          if (state[item] !== undefined) {\n            controlledState[item] = state[item];\n          }\n        });\n\n        if (Object.keys(controlledState).length) {\n          this.setState(controlledState);\n        }\n      }\n\n      var data = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, this.state, state);\n      var changedValue = data.bounds;\n      props.onChange(changedValue);\n    }\n  }, {\n    key: 'onStart',\n    value: function onStart(position) {\n      var props = this.props;\n      var state = this.state;\n      var bounds = this.getValue();\n      props.onBeforeChange(bounds);\n\n      var value = this.calcValueByPos(position);\n      this.startValue = value;\n      this.startPosition = position;\n\n      var closestBound = this.getClosestBound(value);\n      this.prevMovedHandleIndex = this.getBoundNeedMoving(value, closestBound);\n\n      this.setState({\n        handle: this.prevMovedHandleIndex,\n        recent: this.prevMovedHandleIndex\n      });\n\n      var prevValue = bounds[this.prevMovedHandleIndex];\n      if (value === prevValue) return;\n\n      var nextBounds = [].concat(babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2___default()(state.bounds));\n      nextBounds[this.prevMovedHandleIndex] = value;\n      this.onChange({ bounds: nextBounds });\n    }\n  }, {\n    key: 'onMove',\n    value: function onMove(e, position) {\n      _utils__WEBPACK_IMPORTED_MODULE_13__[\"pauseEvent\"](e);\n      var state = this.state;\n\n      var value = this.calcValueByPos(position);\n      var oldValue = state.bounds[state.handle];\n      if (value === oldValue) return;\n\n      this.moveTo(value);\n    }\n  }, {\n    key: 'onKeyboard',\n    value: function onKeyboard(e) {\n      var _props2 = this.props,\n          reverse = _props2.reverse,\n          vertical = _props2.vertical;\n\n      var valueMutator = _utils__WEBPACK_IMPORTED_MODULE_13__[\"getKeyboardValueMutator\"](e, vertical, reverse);\n\n      if (valueMutator) {\n        _utils__WEBPACK_IMPORTED_MODULE_13__[\"pauseEvent\"](e);\n        var state = this.state,\n            props = this.props;\n        var bounds = state.bounds,\n            handle = state.handle;\n\n        var oldValue = bounds[handle === null ? state.recent : handle];\n        var mutatedValue = valueMutator(oldValue, props);\n        var value = _trimAlignValue({\n          value: mutatedValue,\n          handle: handle,\n          bounds: state.bounds,\n          props: props\n        });\n        if (value === oldValue) return;\n        var isFromKeyboardEvent = true;\n        this.moveTo(value, isFromKeyboardEvent);\n      }\n    }\n  }, {\n    key: 'getValue',\n    value: function getValue() {\n      return this.state.bounds;\n    }\n  }, {\n    key: 'getClosestBound',\n    value: function getClosestBound(value) {\n      var bounds = this.state.bounds;\n\n      var closestBound = 0;\n      for (var i = 1; i < bounds.length - 1; ++i) {\n        if (value >= bounds[i]) {\n          closestBound = i;\n        }\n      }\n      if (Math.abs(bounds[closestBound + 1] - value) < Math.abs(bounds[closestBound] - value)) {\n        closestBound += 1;\n      }\n      return closestBound;\n    }\n  }, {\n    key: 'getBoundNeedMoving',\n    value: function getBoundNeedMoving(value, closestBound) {\n      var _state = this.state,\n          bounds = _state.bounds,\n          recent = _state.recent;\n\n      var boundNeedMoving = closestBound;\n      var isAtTheSamePoint = bounds[closestBound + 1] === bounds[closestBound];\n\n      if (isAtTheSamePoint && bounds[recent] === bounds[closestBound]) {\n        boundNeedMoving = recent;\n      }\n\n      if (isAtTheSamePoint && value !== bounds[closestBound + 1]) {\n        boundNeedMoving = value < bounds[closestBound + 1] ? closestBound : closestBound + 1;\n      }\n      return boundNeedMoving;\n    }\n  }, {\n    key: 'getLowerBound',\n    value: function getLowerBound() {\n      return this.state.bounds[0];\n    }\n  }, {\n    key: 'getUpperBound',\n    value: function getUpperBound() {\n      var bounds = this.state.bounds;\n\n      return bounds[bounds.length - 1];\n    }\n\n    /**\n     * Returns an array of possible slider points, taking into account both\n     * `marks` and `step`. The result is cached.\n     */\n\n  }, {\n    key: 'getPoints',\n    value: function getPoints() {\n      var _props3 = this.props,\n          marks = _props3.marks,\n          step = _props3.step,\n          min = _props3.min,\n          max = _props3.max;\n\n      var cache = this._getPointsCache;\n      if (!cache || cache.marks !== marks || cache.step !== step) {\n        var pointsObject = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, marks);\n        if (step !== null) {\n          for (var point = min; point <= max; point += step) {\n            pointsObject[point] = point;\n          }\n        }\n        var points = Object.keys(pointsObject).map(parseFloat);\n        points.sort(function (a, b) {\n          return a - b;\n        });\n        this._getPointsCache = { marks: marks, step: step, points: points };\n      }\n      return this._getPointsCache.points;\n    }\n  }, {\n    key: 'moveTo',\n    value: function moveTo(value, isFromKeyboardEvent) {\n      var _this3 = this;\n\n      var state = this.state,\n          props = this.props;\n\n      var nextBounds = [].concat(babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2___default()(state.bounds));\n      var handle = state.handle === null ? state.recent : state.handle;\n      nextBounds[handle] = value;\n      var nextHandle = handle;\n      if (props.pushable !== false) {\n        this.pushSurroundingHandles(nextBounds, nextHandle);\n      } else if (props.allowCross) {\n        nextBounds.sort(function (a, b) {\n          return a - b;\n        });\n        nextHandle = nextBounds.indexOf(value);\n      }\n      this.onChange({\n        recent: nextHandle,\n        handle: nextHandle,\n        bounds: nextBounds\n      });\n      if (isFromKeyboardEvent) {\n        // known problem: because setState is async,\n        // so trigger focus will invoke handler's onEnd and another handler's onStart too early,\n        // cause onBeforeChange and onAfterChange receive wrong value.\n        // here use setState callback to hack，but not elegant\n        this.props.onAfterChange(nextBounds);\n        this.setState({}, function () {\n          _this3.handlesRefs[nextHandle].focus();\n        });\n        this.onEnd();\n      }\n    }\n  }, {\n    key: 'pushSurroundingHandles',\n    value: function pushSurroundingHandles(bounds, handle) {\n      var value = bounds[handle];\n      var threshold = this.props.pushable;\n\n      threshold = Number(threshold);\n\n      var direction = 0;\n      if (bounds[handle + 1] - value < threshold) {\n        direction = +1; // push to right\n      }\n      if (value - bounds[handle - 1] < threshold) {\n        direction = -1; // push to left\n      }\n\n      if (direction === 0) {\n        return;\n      }\n\n      var nextHandle = handle + direction;\n      var diffToNext = direction * (bounds[nextHandle] - value);\n      if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) {\n        // revert to original value if pushing is impossible\n        bounds[handle] = bounds[nextHandle] - direction * threshold;\n      }\n    }\n  }, {\n    key: 'pushHandle',\n    value: function pushHandle(bounds, handle, direction, amount) {\n      var originalValue = bounds[handle];\n      var currentValue = bounds[handle];\n      while (direction * (currentValue - originalValue) < amount) {\n        if (!this.pushHandleOnePoint(bounds, handle, direction)) {\n          // can't push handle enough to create the needed `amount` gap, so we\n          // revert its position to the original value\n          bounds[handle] = originalValue;\n          return false;\n        }\n        currentValue = bounds[handle];\n      }\n      // the handle was pushed enough to create the needed `amount` gap\n      return true;\n    }\n  }, {\n    key: 'pushHandleOnePoint',\n    value: function pushHandleOnePoint(bounds, handle, direction) {\n      var points = this.getPoints();\n      var pointIndex = points.indexOf(bounds[handle]);\n      var nextPointIndex = pointIndex + direction;\n      if (nextPointIndex >= points.length || nextPointIndex < 0) {\n        // reached the minimum or maximum available point, can't push anymore\n        return false;\n      }\n      var nextHandle = handle + direction;\n      var nextValue = points[nextPointIndex];\n      var threshold = this.props.pushable;\n\n      var diffToNext = direction * (bounds[nextHandle] - nextValue);\n      if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) {\n        // couldn't push next handle, so we won't push this one either\n        return false;\n      }\n      // push the handle\n      bounds[handle] = nextValue;\n      return true;\n    }\n  }, {\n    key: 'trimAlignValue',\n    value: function trimAlignValue(value) {\n      var _state2 = this.state,\n          handle = _state2.handle,\n          bounds = _state2.bounds;\n\n      return _trimAlignValue({\n        value: value,\n        handle: handle,\n        bounds: bounds,\n        props: this.props\n      });\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      var _this4 = this;\n\n      var _state3 = this.state,\n          handle = _state3.handle,\n          bounds = _state3.bounds;\n      var _props4 = this.props,\n          prefixCls = _props4.prefixCls,\n          vertical = _props4.vertical,\n          included = _props4.included,\n          disabled = _props4.disabled,\n          min = _props4.min,\n          max = _props4.max,\n          reverse = _props4.reverse,\n          handleGenerator = _props4.handle,\n          trackStyle = _props4.trackStyle,\n          handleStyle = _props4.handleStyle,\n          tabIndex = _props4.tabIndex,\n          ariaLabelGroupForHandles = _props4.ariaLabelGroupForHandles,\n          ariaLabelledByGroupForHandles = _props4.ariaLabelledByGroupForHandles,\n          ariaValueTextFormatterGroupForHandles = _props4.ariaValueTextFormatterGroupForHandles;\n\n\n      var offsets = bounds.map(function (v) {\n        return _this4.calcOffset(v);\n      });\n\n      var handleClassName = prefixCls + '-handle';\n      var handles = bounds.map(function (v, i) {\n        var _classNames;\n\n        var _tabIndex = tabIndex[i] || 0;\n        if (disabled || tabIndex[i] === null) {\n          _tabIndex = null;\n        }\n        return handleGenerator({\n          className: classnames__WEBPACK_IMPORTED_MODULE_9___default()((_classNames = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, handleClassName, true), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, handleClassName + '-' + (i + 1), true), _classNames)),\n          prefixCls: prefixCls,\n          vertical: vertical,\n          offset: offsets[i],\n          value: v,\n          dragging: handle === i,\n          index: i,\n          tabIndex: _tabIndex,\n          min: min,\n          max: max,\n          reverse: reverse,\n          disabled: disabled,\n          style: handleStyle[i],\n          ref: function ref(h) {\n            return _this4.saveHandle(i, h);\n          },\n          ariaLabel: ariaLabelGroupForHandles[i],\n          ariaLabelledBy: ariaLabelledByGroupForHandles[i],\n          ariaValueTextFormatter: ariaValueTextFormatterGroupForHandles[i]\n        });\n      });\n\n      var tracks = bounds.slice(0, -1).map(function (_, index) {\n        var _classNames2;\n\n        var i = index + 1;\n        var trackClassName = classnames__WEBPACK_IMPORTED_MODULE_9___default()((_classNames2 = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames2, prefixCls + '-track', true), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames2, prefixCls + '-track-' + i, true), _classNames2));\n        return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_common_Track__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n          className: trackClassName,\n          vertical: vertical,\n          reverse: reverse,\n          included: included,\n          offset: offsets[i - 1],\n          length: offsets[i] - offsets[i - 1],\n          style: trackStyle[index],\n          key: i\n        });\n      });\n\n      return { tracks: tracks, handles: handles };\n    }\n  }], [{\n    key: 'getDerivedStateFromProps',\n    value: function getDerivedStateFromProps(props, state) {\n      if ('value' in props || 'min' in props || 'max' in props) {\n        var value = props.value || state.bounds;\n        var nextBounds = value.map(function (v, i) {\n          return _trimAlignValue({\n            value: v,\n            handle: i,\n            bounds: state.bounds,\n            props: props\n          });\n        });\n        if (nextBounds.length === state.bounds.length && nextBounds.every(function (v, i) {\n          return v === state.bounds[i];\n        })) {\n          return null;\n        }\n        return babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, state, {\n          bounds: nextBounds\n        });\n      }\n      return null;\n    }\n  }]);\n\n  return Range;\n}(react__WEBPACK_IMPORTED_MODULE_7___default.a.Component);\n\nRange.displayName = 'Range';\nRange.propTypes = {\n  autoFocus: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,\n  defaultValue: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number),\n  value: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number),\n  count: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number,\n  pushable: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool, prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number]),\n  allowCross: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,\n  disabled: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,\n  reverse: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,\n  tabIndex: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number),\n  min: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number,\n  max: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number,\n  ariaLabelGroupForHandles: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string),\n  ariaLabelledByGroupForHandles: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string),\n  ariaValueTextFormatterGroupForHandles: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.func)\n};\nRange.defaultProps = {\n  count: 1,\n  allowCross: true,\n  pushable: false,\n  tabIndex: [],\n  ariaLabelGroupForHandles: [],\n  ariaLabelledByGroupForHandles: [],\n  ariaValueTextFormatterGroupForHandles: []\n};\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_common_createSlider__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(Range));\n\n/***/ }),\n\n/***/ \"./node_modules/rc-slider/es/Slider.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/rc-slider/es/Slider.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ \"./node_modules/babel-runtime/helpers/extends.js\");\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ \"./node_modules/babel-runtime/helpers/classCallCheck.js\");\n/* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ \"./node_modules/babel-runtime/helpers/createClass.js\");\n/* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ \"./node_modules/babel-runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ \"./node_modules/babel-runtime/helpers/inherits.js\");\n/* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var warning__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! warning */ \"./node_modules/warning/warning.js\");\n/* harmony import */ var warning__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(warning__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _common_Track__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./common/Track */ \"./node_modules/rc-slider/es/common/Track.js\");\n/* harmony import */ var _common_createSlider__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./common/createSlider */ \"./node_modules/rc-slider/es/common/createSlider.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils */ \"./node_modules/rc-slider/es/utils.js\");\n\n\n\n\n\n/* eslint-disable react/prop-types */\n\n\n\n\n\n\n\nvar Slider = function (_React$Component) {\n  babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(Slider, _React$Component);\n\n  function Slider(props) {\n    babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, Slider);\n\n    var _this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, (Slider.__proto__ || Object.getPrototypeOf(Slider)).call(this, props));\n\n    _this.onEnd = function (force) {\n      var dragging = _this.state.dragging;\n\n      _this.removeDocumentEvents();\n      if (dragging || force) {\n        _this.props.onAfterChange(_this.getValue());\n      }\n      _this.setState({ dragging: false });\n    };\n\n    var defaultValue = props.defaultValue !== undefined ? props.defaultValue : props.min;\n    var value = props.value !== undefined ? props.value : defaultValue;\n\n    _this.state = {\n      value: _this.trimAlignValue(value),\n      dragging: false\n    };\n\n    warning__WEBPACK_IMPORTED_MODULE_7___default()(!('minimumTrackStyle' in props), 'minimumTrackStyle will be deprecated, please use trackStyle instead.');\n    warning__WEBPACK_IMPORTED_MODULE_7___default()(!('maximumTrackStyle' in props), 'maximumTrackStyle will be deprecated, please use railStyle instead.');\n    return _this;\n  }\n\n  babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(Slider, [{\n    key: 'componentDidUpdate',\n    value: function componentDidUpdate(prevProps, prevState) {\n      if (!('value' in this.props || 'min' in this.props || 'max' in this.props)) {\n        return;\n      }\n      var _props = this.props,\n          value = _props.value,\n          onChange = _props.onChange;\n\n      var theValue = value !== undefined ? value : prevState.value;\n      var nextValue = this.trimAlignValue(theValue, this.props);\n      if (nextValue !== prevState.value) {\n        // eslint-disable-next-line\n        this.setState({ value: nextValue });\n        if (_utils__WEBPACK_IMPORTED_MODULE_10__[\"isValueOutOfRange\"](theValue, this.props)) {\n          onChange(nextValue);\n        }\n      }\n    }\n  }, {\n    key: 'onChange',\n    value: function onChange(state) {\n      var props = this.props;\n      var isNotControlled = !('value' in props);\n      var nextState = state.value > this.props.max ? babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, state, { value: this.props.max }) : state;\n      if (isNotControlled) {\n        this.setState(nextState);\n      }\n\n      var changedValue = nextState.value;\n      props.onChange(changedValue);\n    }\n  }, {\n    key: 'onStart',\n    value: function onStart(position) {\n      this.setState({ dragging: true });\n      var props = this.props;\n      var prevValue = this.getValue();\n      props.onBeforeChange(prevValue);\n\n      var value = this.calcValueByPos(position);\n      this.startValue = value;\n      this.startPosition = position;\n\n      if (value === prevValue) return;\n\n      this.prevMovedHandleIndex = 0;\n\n      this.onChange({ value: value });\n    }\n  }, {\n    key: 'onMove',\n    value: function onMove(e, position) {\n      _utils__WEBPACK_IMPORTED_MODULE_10__[\"pauseEvent\"](e);\n      var oldValue = this.state.value;\n\n      var value = this.calcValueByPos(position);\n      if (value === oldValue) return;\n\n      this.onChange({ value: value });\n    }\n  }, {\n    key: 'onKeyboard',\n    value: function onKeyboard(e) {\n      var _props2 = this.props,\n          reverse = _props2.reverse,\n          vertical = _props2.vertical;\n\n      var valueMutator = _utils__WEBPACK_IMPORTED_MODULE_10__[\"getKeyboardValueMutator\"](e, vertical, reverse);\n      if (valueMutator) {\n        _utils__WEBPACK_IMPORTED_MODULE_10__[\"pauseEvent\"](e);\n        var state = this.state;\n        var oldValue = state.value;\n        var mutatedValue = valueMutator(oldValue, this.props);\n        var value = this.trimAlignValue(mutatedValue);\n        if (value === oldValue) return;\n\n        this.onChange({ value: value });\n        this.props.onAfterChange(value);\n        this.onEnd();\n      }\n    }\n  }, {\n    key: 'getValue',\n    value: function getValue() {\n      return this.state.value;\n    }\n  }, {\n    key: 'getLowerBound',\n    value: function getLowerBound() {\n      return this.props.min;\n    }\n  }, {\n    key: 'getUpperBound',\n    value: function getUpperBound() {\n      return this.state.value;\n    }\n  }, {\n    key: 'trimAlignValue',\n    value: function trimAlignValue(v) {\n      var nextProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n      if (v === null) {\n        return null;\n      }\n\n      var mergedProps = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, this.props, nextProps);\n      var val = _utils__WEBPACK_IMPORTED_MODULE_10__[\"ensureValueInRange\"](v, mergedProps);\n      return _utils__WEBPACK_IMPORTED_MODULE_10__[\"ensureValuePrecision\"](val, mergedProps);\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      var _this2 = this;\n\n      var _props3 = this.props,\n          prefixCls = _props3.prefixCls,\n          vertical = _props3.vertical,\n          included = _props3.included,\n          disabled = _props3.disabled,\n          minimumTrackStyle = _props3.minimumTrackStyle,\n          trackStyle = _props3.trackStyle,\n          handleStyle = _props3.handleStyle,\n          tabIndex = _props3.tabIndex,\n          ariaLabelForHandle = _props3.ariaLabelForHandle,\n          ariaLabelledByForHandle = _props3.ariaLabelledByForHandle,\n          ariaValueTextFormatterForHandle = _props3.ariaValueTextFormatterForHandle,\n          min = _props3.min,\n          max = _props3.max,\n          startPoint = _props3.startPoint,\n          reverse = _props3.reverse,\n          handleGenerator = _props3.handle;\n      var _state = this.state,\n          value = _state.value,\n          dragging = _state.dragging;\n\n      var offset = this.calcOffset(value);\n      var handle = handleGenerator({\n        className: prefixCls + '-handle',\n        prefixCls: prefixCls,\n        vertical: vertical,\n        offset: offset,\n        value: value,\n        dragging: dragging,\n        disabled: disabled,\n        min: min,\n        max: max,\n        reverse: reverse,\n        index: 0,\n        tabIndex: tabIndex,\n        ariaLabel: ariaLabelForHandle,\n        ariaLabelledBy: ariaLabelledByForHandle,\n        ariaValueTextFormatter: ariaValueTextFormatterForHandle,\n        style: handleStyle[0] || handleStyle,\n        ref: function ref(h) {\n          return _this2.saveHandle(0, h);\n        }\n      });\n\n      var trackOffset = startPoint !== undefined ? this.calcOffset(startPoint) : 0;\n      var _trackStyle = trackStyle[0] || trackStyle;\n      var track = react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement(_common_Track__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n        className: prefixCls + '-track',\n        vertical: vertical,\n        included: included,\n        offset: trackOffset,\n        reverse: reverse,\n        length: offset - trackOffset,\n        style: babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, minimumTrackStyle, _trackStyle)\n      });\n\n      return { tracks: track, handles: handle };\n    }\n  }]);\n\n  return Slider;\n}(react__WEBPACK_IMPORTED_MODULE_5___default.a.Component);\n\nSlider.propTypes = {\n  defaultValue: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.number,\n  value: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.number,\n  disabled: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,\n  autoFocus: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,\n  tabIndex: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.number,\n  reverse: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,\n  min: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.number,\n  max: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.number,\n  startPoint: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.number,\n  ariaLabelForHandle: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,\n  ariaLabelledByForHandle: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,\n  ariaValueTextFormatterForHandle: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func\n};\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_common_createSlider__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(Slider));\n\n/***/ }),\n\n/***/ \"./node_modules/rc-slider/es/common/Marks.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/rc-slider/es/common/Marks.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ \"./node_modules/babel-runtime/helpers/extends.js\");\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ \"./node_modules/babel-runtime/helpers/defineProperty.js\");\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\nvar Marks = function Marks(_ref) {\n  var className = _ref.className,\n      vertical = _ref.vertical,\n      reverse = _ref.reverse,\n      marks = _ref.marks,\n      included = _ref.included,\n      upperBound = _ref.upperBound,\n      lowerBound = _ref.lowerBound,\n      max = _ref.max,\n      min = _ref.min,\n      onClickLabel = _ref.onClickLabel;\n\n  var marksKeys = Object.keys(marks);\n\n  var range = max - min;\n  var elements = marksKeys.map(parseFloat).sort(function (a, b) {\n    return a - b;\n  }).map(function (point) {\n    var _classNames;\n\n    var markPoint = marks[point];\n    var markPointIsObject = typeof markPoint === 'object' && !react__WEBPACK_IMPORTED_MODULE_2___default.a.isValidElement(markPoint);\n    var markLabel = markPointIsObject ? markPoint.label : markPoint;\n    if (!markLabel && markLabel !== 0) {\n      return null;\n    }\n\n    var isActive = !included && point === upperBound || included && point <= upperBound && point >= lowerBound;\n    var markClassName = classnames__WEBPACK_IMPORTED_MODULE_4___default()((_classNames = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, className + '-text', true), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, className + '-text-active', isActive), _classNames));\n\n    var bottomStyle = babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()({\n      marginBottom: '-50%'\n    }, reverse ? 'top' : 'bottom', (point - min) / range * 100 + '%');\n\n    var leftStyle = babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()({\n      transform: 'translateX(-50%)',\n      msTransform: 'translateX(-50%)'\n    }, reverse ? 'right' : 'left', reverse ? (point - min / 4) / range * 100 + '%' : (point - min) / range * 100 + '%');\n\n    var style = vertical ? bottomStyle : leftStyle;\n    var markStyle = markPointIsObject ? babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, style, markPoint.style) : style;\n    return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(\n      'span',\n      {\n        className: markClassName,\n        style: markStyle,\n        key: point,\n        onMouseDown: function onMouseDown(e) {\n          return onClickLabel(e, point);\n        },\n        onTouchStart: function onTouchStart(e) {\n          return onClickLabel(e, point);\n        }\n      },\n      markLabel\n    );\n  });\n\n  return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(\n    'div',\n    { className: className },\n    elements\n  );\n};\n\nMarks.propTypes = {\n  className: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.string,\n  vertical: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.bool,\n  reverse: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.bool,\n  marks: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.object,\n  included: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.bool,\n  upperBound: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.number,\n  lowerBound: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.number,\n  max: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.number,\n  min: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.number,\n  onClickLabel: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.func\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Marks);\n\n/***/ }),\n\n/***/ \"./node_modules/rc-slider/es/common/Steps.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/rc-slider/es/common/Steps.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ \"./node_modules/babel-runtime/helpers/defineProperty.js\");\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/extends */ \"./node_modules/babel-runtime/helpers/extends.js\");\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var warning__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! warning */ \"./node_modules/warning/warning.js\");\n/* harmony import */ var warning__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(warning__WEBPACK_IMPORTED_MODULE_5__);\n\n\n\n\n\n\n\nvar calcPoints = function calcPoints(vertical, marks, dots, step, min, max) {\n  warning__WEBPACK_IMPORTED_MODULE_5___default()(dots ? step > 0 : true, '`Slider[step]` should be a positive number in order to make Slider[dots] work.');\n  var points = Object.keys(marks).map(parseFloat).sort(function (a, b) {\n    return a - b;\n  });\n  if (dots && step) {\n    for (var i = min; i <= max; i += step) {\n      if (points.indexOf(i) === -1) {\n        points.push(i);\n      }\n    }\n  }\n  return points;\n};\n\nvar Steps = function Steps(_ref) {\n  var prefixCls = _ref.prefixCls,\n      vertical = _ref.vertical,\n      reverse = _ref.reverse,\n      marks = _ref.marks,\n      dots = _ref.dots,\n      step = _ref.step,\n      included = _ref.included,\n      lowerBound = _ref.lowerBound,\n      upperBound = _ref.upperBound,\n      max = _ref.max,\n      min = _ref.min,\n      dotStyle = _ref.dotStyle,\n      activeDotStyle = _ref.activeDotStyle;\n\n  var range = max - min;\n  var elements = calcPoints(vertical, marks, dots, step, min, max).map(function (point) {\n    var _classNames;\n\n    var offset = Math.abs(point - min) / range * 100 + '%';\n\n    var isActived = !included && point === upperBound || included && point <= upperBound && point >= lowerBound;\n    var style = vertical ? babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, dotStyle, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()({}, reverse ? 'top' : 'bottom', offset)) : babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, dotStyle, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()({}, reverse ? 'right' : 'left', offset));\n    if (isActived) {\n      style = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, style, activeDotStyle);\n    }\n\n    var pointClassName = classnames__WEBPACK_IMPORTED_MODULE_4___default()((_classNames = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, prefixCls + '-dot', true), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, prefixCls + '-dot-active', isActived), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, prefixCls + '-dot-reverse', reverse), _classNames));\n\n    return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement('span', { className: pointClassName, style: style, key: point });\n  });\n\n  return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(\n    'div',\n    { className: prefixCls + '-step' },\n    elements\n  );\n};\n\nSteps.propTypes = {\n  prefixCls: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.string,\n  activeDotStyle: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.object,\n  dotStyle: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.object,\n  min: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.number,\n  max: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.number,\n  upperBound: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.number,\n  lowerBound: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.number,\n  included: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.bool,\n  dots: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.bool,\n  step: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.number,\n  marks: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.object,\n  vertical: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.bool,\n  reverse: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.bool\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Steps);\n\n/***/ }),\n\n/***/ \"./node_modules/rc-slider/es/common/Track.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/rc-slider/es/common/Track.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ \"./node_modules/babel-runtime/helpers/extends.js\");\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ \"./node_modules/babel-runtime/helpers/defineProperty.js\");\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n\n\n/* eslint-disable react/prop-types */\n\n\nvar Track = function Track(props) {\n  var _ref, _ref2;\n\n  var className = props.className,\n      included = props.included,\n      vertical = props.vertical,\n      style = props.style;\n  var length = props.length,\n      offset = props.offset,\n      reverse = props.reverse;\n\n  if (length < 0) {\n    reverse = !reverse;\n    length = Math.abs(length);\n    offset = 100 - offset;\n  }\n\n  var positonStyle = vertical ? (_ref = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_ref, reverse ? 'top' : 'bottom', offset + '%'), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_ref, reverse ? 'bottom' : 'top', 'auto'), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_ref, 'height', length + '%'), _ref) : (_ref2 = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_ref2, reverse ? 'right' : 'left', offset + '%'), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_ref2, reverse ? 'left' : 'right', 'auto'), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_ref2, 'width', length + '%'), _ref2);\n\n  var elStyle = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, style, positonStyle);\n  return included ? react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement('div', { className: className, style: elStyle }) : null;\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Track);\n\n/***/ }),\n\n/***/ \"./node_modules/rc-slider/es/common/createSlider.js\":\n/*!**********************************************************!*\\\n  !*** ./node_modules/rc-slider/es/common/createSlider.js ***!\n  \\**********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return createSlider; });\n/* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/objectWithoutProperties */ \"./node_modules/babel-runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/extends */ \"./node_modules/babel-runtime/helpers/extends.js\");\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ \"./node_modules/babel-runtime/helpers/defineProperty.js\");\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ \"./node_modules/babel-runtime/helpers/classCallCheck.js\");\n/* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ \"./node_modules/babel-runtime/helpers/createClass.js\");\n/* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ \"./node_modules/babel-runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! babel-runtime/helpers/get */ \"./node_modules/babel-runtime/helpers/get.js\");\n/* harmony import */ var babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ \"./node_modules/babel-runtime/helpers/inherits.js\");\n/* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! rc-util/es/Dom/addEventListener */ \"./node_modules/rc-util/es/Dom/addEventListener.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var warning__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! warning */ \"./node_modules/warning/warning.js\");\n/* harmony import */ var warning__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(warning__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var _Steps__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Steps */ \"./node_modules/rc-slider/es/common/Steps.js\");\n/* harmony import */ var _Marks__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Marks */ \"./node_modules/rc-slider/es/common/Marks.js\");\n/* harmony import */ var _Handle__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../Handle */ \"./node_modules/rc-slider/es/Handle.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../utils */ \"./node_modules/rc-slider/es/utils.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction noop() {}\n\nfunction createSlider(Component) {\n  var _class, _temp;\n\n  return _temp = _class = function (_Component) {\n    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7___default()(ComponentEnhancer, _Component);\n\n    function ComponentEnhancer(props) {\n      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default()(this, ComponentEnhancer);\n\n      var _this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default()(this, (ComponentEnhancer.__proto__ || Object.getPrototypeOf(ComponentEnhancer)).call(this, props));\n\n      _this.onMouseDown = function (e) {\n        if (e.button !== 0) {\n          return;\n        }\n\n        var isVertical = _this.props.vertical;\n        var position = _utils__WEBPACK_IMPORTED_MODULE_16__[\"getMousePosition\"](isVertical, e);\n        if (!_utils__WEBPACK_IMPORTED_MODULE_16__[\"isEventFromHandle\"](e, _this.handlesRefs)) {\n          _this.dragOffset = 0;\n        } else {\n          var handlePosition = _utils__WEBPACK_IMPORTED_MODULE_16__[\"getHandleCenterPosition\"](isVertical, e.target);\n          _this.dragOffset = position - handlePosition;\n          position = handlePosition;\n        }\n        _this.removeDocumentEvents();\n        _this.onStart(position);\n        _this.addDocumentMouseEvents();\n      };\n\n      _this.onTouchStart = function (e) {\n        if (_utils__WEBPACK_IMPORTED_MODULE_16__[\"isNotTouchEvent\"](e)) return;\n\n        var isVertical = _this.props.vertical;\n        var position = _utils__WEBPACK_IMPORTED_MODULE_16__[\"getTouchPosition\"](isVertical, e);\n        if (!_utils__WEBPACK_IMPORTED_MODULE_16__[\"isEventFromHandle\"](e, _this.handlesRefs)) {\n          _this.dragOffset = 0;\n        } else {\n          var handlePosition = _utils__WEBPACK_IMPORTED_MODULE_16__[\"getHandleCenterPosition\"](isVertical, e.target);\n          _this.dragOffset = position - handlePosition;\n          position = handlePosition;\n        }\n        _this.onStart(position);\n        _this.addDocumentTouchEvents();\n        _utils__WEBPACK_IMPORTED_MODULE_16__[\"pauseEvent\"](e);\n      };\n\n      _this.onFocus = function (e) {\n        var _this$props = _this.props,\n            onFocus = _this$props.onFocus,\n            vertical = _this$props.vertical;\n\n        if (_utils__WEBPACK_IMPORTED_MODULE_16__[\"isEventFromHandle\"](e, _this.handlesRefs)) {\n          var handlePosition = _utils__WEBPACK_IMPORTED_MODULE_16__[\"getHandleCenterPosition\"](vertical, e.target);\n          _this.dragOffset = 0;\n          _this.onStart(handlePosition);\n          _utils__WEBPACK_IMPORTED_MODULE_16__[\"pauseEvent\"](e);\n          if (onFocus) {\n            onFocus(e);\n          }\n        }\n      };\n\n      _this.onBlur = function (e) {\n        var onBlur = _this.props.onBlur;\n\n        _this.onEnd();\n        if (onBlur) {\n          onBlur(e);\n        }\n      };\n\n      _this.onMouseUp = function () {\n        if (_this.handlesRefs[_this.prevMovedHandleIndex]) {\n          _this.handlesRefs[_this.prevMovedHandleIndex].clickFocus();\n        }\n      };\n\n      _this.onMouseMove = function (e) {\n        if (!_this.sliderRef) {\n          _this.onEnd();\n          return;\n        }\n        var position = _utils__WEBPACK_IMPORTED_MODULE_16__[\"getMousePosition\"](_this.props.vertical, e);\n        _this.onMove(e, position - _this.dragOffset);\n      };\n\n      _this.onTouchMove = function (e) {\n        if (_utils__WEBPACK_IMPORTED_MODULE_16__[\"isNotTouchEvent\"](e) || !_this.sliderRef) {\n          _this.onEnd();\n          return;\n        }\n\n        var position = _utils__WEBPACK_IMPORTED_MODULE_16__[\"getTouchPosition\"](_this.props.vertical, e);\n        _this.onMove(e, position - _this.dragOffset);\n      };\n\n      _this.onKeyDown = function (e) {\n        if (_this.sliderRef && _utils__WEBPACK_IMPORTED_MODULE_16__[\"isEventFromHandle\"](e, _this.handlesRefs)) {\n          _this.onKeyboard(e);\n        }\n      };\n\n      _this.onClickMarkLabel = function (e, value) {\n        e.stopPropagation();\n        _this.onChange({ value: value });\n        _this.setState({ value: value }, function () {\n          return _this.onEnd(true);\n        });\n      };\n\n      _this.saveSlider = function (slider) {\n        _this.sliderRef = slider;\n      };\n\n      var step = props.step,\n          max = props.max,\n          min = props.min;\n\n      var isPointDiffEven = isFinite(max - min) ? (max - min) % step === 0 : true; // eslint-disable-line\n      warning__WEBPACK_IMPORTED_MODULE_12___default()(step && Math.floor(step) === step ? isPointDiffEven : true, 'Slider[max] - Slider[min] (%s) should be a multiple of Slider[step] (%s)', max - min, step);\n      _this.handlesRefs = {};\n      return _this;\n    }\n\n    babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default()(ComponentEnhancer, [{\n      key: 'componentDidMount',\n      value: function componentDidMount() {\n        // Snapshot testing cannot handle refs, so be sure to null-check this.\n        this.document = this.sliderRef && this.sliderRef.ownerDocument;\n\n        var _props = this.props,\n            autoFocus = _props.autoFocus,\n            disabled = _props.disabled;\n\n        if (autoFocus && !disabled) {\n          this.focus();\n        }\n      }\n    }, {\n      key: 'componentWillUnmount',\n      value: function componentWillUnmount() {\n        if (babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_6___default()(ComponentEnhancer.prototype.__proto__ || Object.getPrototypeOf(ComponentEnhancer.prototype), 'componentWillUnmount', this)) babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_6___default()(ComponentEnhancer.prototype.__proto__ || Object.getPrototypeOf(ComponentEnhancer.prototype), 'componentWillUnmount', this).call(this);\n        this.removeDocumentEvents();\n      }\n    }, {\n      key: 'getSliderStart',\n      value: function getSliderStart() {\n        var slider = this.sliderRef;\n        var _props2 = this.props,\n            vertical = _props2.vertical,\n            reverse = _props2.reverse;\n\n        var rect = slider.getBoundingClientRect();\n        if (vertical) {\n          return reverse ? rect.bottom : rect.top;\n        }\n        return window.pageXOffset + (reverse ? rect.right : rect.left);\n      }\n    }, {\n      key: 'getSliderLength',\n      value: function getSliderLength() {\n        var slider = this.sliderRef;\n        if (!slider) {\n          return 0;\n        }\n\n        var coords = slider.getBoundingClientRect();\n        return this.props.vertical ? coords.height : coords.width;\n      }\n    }, {\n      key: 'addDocumentTouchEvents',\n      value: function addDocumentTouchEvents() {\n        // just work for Chrome iOS Safari and Android Browser\n        this.onTouchMoveListener = Object(rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(this.document, 'touchmove', this.onTouchMove);\n        this.onTouchUpListener = Object(rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(this.document, 'touchend', this.onEnd);\n      }\n    }, {\n      key: 'addDocumentMouseEvents',\n      value: function addDocumentMouseEvents() {\n        this.onMouseMoveListener = Object(rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(this.document, 'mousemove', this.onMouseMove);\n        this.onMouseUpListener = Object(rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(this.document, 'mouseup', this.onEnd);\n      }\n    }, {\n      key: 'removeDocumentEvents',\n      value: function removeDocumentEvents() {\n        /* eslint-disable no-unused-expressions */\n        this.onTouchMoveListener && this.onTouchMoveListener.remove();\n        this.onTouchUpListener && this.onTouchUpListener.remove();\n\n        this.onMouseMoveListener && this.onMouseMoveListener.remove();\n        this.onMouseUpListener && this.onMouseUpListener.remove();\n        /* eslint-enable no-unused-expressions */\n      }\n    }, {\n      key: 'focus',\n      value: function focus() {\n        if (!this.props.disabled) {\n          this.handlesRefs[0].focus();\n        }\n      }\n    }, {\n      key: 'blur',\n      value: function blur() {\n        var _this2 = this;\n\n        if (!this.props.disabled) {\n          Object.keys(this.handlesRefs).forEach(function (key) {\n            if (_this2.handlesRefs[key] && _this2.handlesRefs[key].blur) {\n              _this2.handlesRefs[key].blur();\n            }\n          });\n        }\n      }\n    }, {\n      key: 'calcValue',\n      value: function calcValue(offset) {\n        var _props3 = this.props,\n            vertical = _props3.vertical,\n            min = _props3.min,\n            max = _props3.max;\n\n        var ratio = Math.abs(Math.max(offset, 0) / this.getSliderLength());\n        var value = vertical ? (1 - ratio) * (max - min) + min : ratio * (max - min) + min;\n        return value;\n      }\n    }, {\n      key: 'calcValueByPos',\n      value: function calcValueByPos(position) {\n        var sign = this.props.reverse ? -1 : +1;\n        var pixelOffset = sign * (position - this.getSliderStart());\n        var nextValue = this.trimAlignValue(this.calcValue(pixelOffset));\n        return nextValue;\n      }\n    }, {\n      key: 'calcOffset',\n      value: function calcOffset(value) {\n        var _props4 = this.props,\n            min = _props4.min,\n            max = _props4.max;\n\n        var ratio = (value - min) / (max - min);\n        return ratio * 100;\n      }\n    }, {\n      key: 'saveHandle',\n      value: function saveHandle(index, handle) {\n        this.handlesRefs[index] = handle;\n      }\n    }, {\n      key: 'render',\n      value: function render() {\n        var _classNames;\n\n        var _props5 = this.props,\n            prefixCls = _props5.prefixCls,\n            className = _props5.className,\n            marks = _props5.marks,\n            dots = _props5.dots,\n            step = _props5.step,\n            included = _props5.included,\n            disabled = _props5.disabled,\n            vertical = _props5.vertical,\n            reverse = _props5.reverse,\n            min = _props5.min,\n            max = _props5.max,\n            children = _props5.children,\n            maximumTrackStyle = _props5.maximumTrackStyle,\n            style = _props5.style,\n            railStyle = _props5.railStyle,\n            dotStyle = _props5.dotStyle,\n            activeDotStyle = _props5.activeDotStyle;\n\n        var _get$call = babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_6___default()(ComponentEnhancer.prototype.__proto__ || Object.getPrototypeOf(ComponentEnhancer.prototype), 'render', this).call(this),\n            tracks = _get$call.tracks,\n            handles = _get$call.handles;\n\n        var sliderClassName = classnames__WEBPACK_IMPORTED_MODULE_11___default()(prefixCls, (_classNames = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(_classNames, prefixCls + '-with-marks', Object.keys(marks).length), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(_classNames, prefixCls + '-disabled', disabled), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(_classNames, prefixCls + '-vertical', vertical), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(_classNames, className, className), _classNames));\n        return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(\n          'div',\n          {\n            ref: this.saveSlider,\n            className: sliderClassName,\n            onTouchStart: disabled ? noop : this.onTouchStart,\n            onMouseDown: disabled ? noop : this.onMouseDown,\n            onMouseUp: disabled ? noop : this.onMouseUp,\n            onKeyDown: disabled ? noop : this.onKeyDown,\n            onFocus: disabled ? noop : this.onFocus,\n            onBlur: disabled ? noop : this.onBlur,\n            style: style\n          },\n          react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement('div', {\n            className: prefixCls + '-rail',\n            style: babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, maximumTrackStyle, railStyle)\n          }),\n          tracks,\n          react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(_Steps__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n            prefixCls: prefixCls,\n            vertical: vertical,\n            reverse: reverse,\n            marks: marks,\n            dots: dots,\n            step: step,\n            included: included,\n            lowerBound: this.getLowerBound(),\n            upperBound: this.getUpperBound(),\n            max: max,\n            min: min,\n            dotStyle: dotStyle,\n            activeDotStyle: activeDotStyle\n          }),\n          handles,\n          react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(_Marks__WEBPACK_IMPORTED_MODULE_14__[\"default\"], {\n            className: prefixCls + '-mark',\n            onClickLabel: disabled ? noop : this.onClickMarkLabel,\n            vertical: vertical,\n            marks: marks,\n            included: included,\n            lowerBound: this.getLowerBound(),\n            upperBound: this.getUpperBound(),\n            max: max,\n            min: min,\n            reverse: reverse\n          }),\n          children\n        );\n      }\n    }]);\n\n    return ComponentEnhancer;\n  }(Component), _class.displayName = 'ComponentEnhancer(' + Component.displayName + ')', _class.propTypes = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, Component.propTypes, {\n    min: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.number,\n    max: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.number,\n    startPoint: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.number,\n    step: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.number,\n    marks: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object,\n    included: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.bool,\n    className: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.string,\n    prefixCls: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.string,\n    disabled: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.bool,\n    children: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.any,\n    onBeforeChange: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.func,\n    onChange: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.func,\n    onAfterChange: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.func,\n    handle: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.func,\n    dots: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.bool,\n    vertical: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.bool,\n    style: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object,\n    reverse: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.bool,\n    minimumTrackStyle: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object, // just for compatibility, will be deperecate\n    maximumTrackStyle: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object, // just for compatibility, will be deperecate\n    handleStyle: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object, prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object)]),\n    trackStyle: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object, prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object)]),\n    railStyle: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object,\n    dotStyle: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object,\n    activeDotStyle: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object,\n    autoFocus: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.bool,\n    onFocus: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.func,\n    onBlur: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.func\n  }), _class.defaultProps = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, Component.defaultProps, {\n    prefixCls: 'rc-slider',\n    className: '',\n    min: 0,\n    max: 100,\n    step: 1,\n    marks: {},\n    handle: function handle(_ref) {\n      var index = _ref.index,\n          restProps = babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default()(_ref, ['index']);\n\n      delete restProps.dragging;\n      if (restProps.value === null) {\n        return null;\n      }\n\n      return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(_Handle__WEBPACK_IMPORTED_MODULE_15__[\"default\"], babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, restProps, { key: index }));\n    },\n\n    onBeforeChange: noop,\n    onChange: noop,\n    onAfterChange: noop,\n    included: true,\n    disabled: false,\n    dots: false,\n    vertical: false,\n    reverse: false,\n    trackStyle: [{}],\n    handleStyle: [{}],\n    railStyle: {},\n    dotStyle: {},\n    activeDotStyle: {}\n  }), _temp;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/rc-slider/es/createSliderWithTooltip.js\":\n/*!**************************************************************!*\\\n  !*** ./node_modules/rc-slider/es/createSliderWithTooltip.js ***!\n  \\**************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return createSliderWithTooltip; });\n/* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/objectWithoutProperties */ \"./node_modules/babel-runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ \"./node_modules/babel-runtime/helpers/defineProperty.js\");\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/extends */ \"./node_modules/babel-runtime/helpers/extends.js\");\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ \"./node_modules/babel-runtime/helpers/classCallCheck.js\");\n/* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ \"./node_modules/babel-runtime/helpers/createClass.js\");\n/* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ \"./node_modules/babel-runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ \"./node_modules/babel-runtime/helpers/inherits.js\");\n/* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var rc_tooltip__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! rc-tooltip */ \"./node_modules/rc-tooltip/es/index.js\");\n/* harmony import */ var _Handle__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Handle */ \"./node_modules/rc-slider/es/Handle.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nfunction createSliderWithTooltip(Component) {\n  var _class, _temp2;\n\n  return _temp2 = _class = function (_React$Component) {\n    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default()(ComponentWrapper, _React$Component);\n\n    function ComponentWrapper() {\n      var _ref;\n\n      var _temp, _this, _ret;\n\n      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default()(this, ComponentWrapper);\n\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      return _ret = (_temp = (_this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default()(this, (_ref = ComponentWrapper.__proto__ || Object.getPrototypeOf(ComponentWrapper)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n        visibles: {}\n      }, _this.handleTooltipVisibleChange = function (index, visible) {\n        _this.setState(function (prevState) {\n          return {\n            visibles: babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_2___default()({}, prevState.visibles, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()({}, index, visible))\n          };\n        });\n      }, _this.handleWithTooltip = function (_ref2) {\n        var value = _ref2.value,\n            dragging = _ref2.dragging,\n            index = _ref2.index,\n            disabled = _ref2.disabled,\n            restProps = babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default()(_ref2, ['value', 'dragging', 'index', 'disabled']);\n\n        var _this$props = _this.props,\n            tipFormatter = _this$props.tipFormatter,\n            tipProps = _this$props.tipProps,\n            handleStyle = _this$props.handleStyle;\n\n        var _tipProps$prefixCls = tipProps.prefixCls,\n            prefixCls = _tipProps$prefixCls === undefined ? 'rc-slider-tooltip' : _tipProps$prefixCls,\n            _tipProps$overlay = tipProps.overlay,\n            overlay = _tipProps$overlay === undefined ? tipFormatter(value) : _tipProps$overlay,\n            _tipProps$placement = tipProps.placement,\n            placement = _tipProps$placement === undefined ? 'top' : _tipProps$placement,\n            _tipProps$visible = tipProps.visible,\n            visible = _tipProps$visible === undefined ? false : _tipProps$visible,\n            restTooltipProps = babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default()(tipProps, ['prefixCls', 'overlay', 'placement', 'visible']);\n\n        var handleStyleWithIndex = void 0;\n        if (Array.isArray(handleStyle)) {\n          handleStyleWithIndex = handleStyle[index] || handleStyle[0];\n        } else {\n          handleStyleWithIndex = handleStyle;\n        }\n\n        return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\n          rc_tooltip__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n          babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_2___default()({}, restTooltipProps, {\n            prefixCls: prefixCls,\n            overlay: overlay,\n            placement: placement,\n            visible: !disabled && (_this.state.visibles[index] || dragging) || visible,\n            key: index\n          }),\n          react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_Handle__WEBPACK_IMPORTED_MODULE_10__[\"default\"], babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_2___default()({}, restProps, {\n            style: babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_2___default()({}, handleStyleWithIndex),\n            value: value,\n            onMouseEnter: function onMouseEnter() {\n              return _this.handleTooltipVisibleChange(index, true);\n            },\n            onMouseLeave: function onMouseLeave() {\n              return _this.handleTooltipVisibleChange(index, false);\n            }\n          }))\n        );\n      }, _temp), babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default()(_this, _ret);\n    }\n\n    babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default()(ComponentWrapper, [{\n      key: 'render',\n      value: function render() {\n        return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(Component, babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_2___default()({}, this.props, { handle: this.handleWithTooltip }));\n      }\n    }]);\n\n    return ComponentWrapper;\n  }(react__WEBPACK_IMPORTED_MODULE_7___default.a.Component), _class.propTypes = {\n    tipFormatter: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.func,\n    handleStyle: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.object, prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.object)]),\n    tipProps: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.object\n  }, _class.defaultProps = {\n    tipFormatter: function tipFormatter(value) {\n      return value;\n    },\n\n    handleStyle: [{}],\n    tipProps: {}\n  }, _temp2;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/rc-slider/es/index.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/rc-slider/es/index.js ***!\n  \\********************************************/\n/*! exports provided: default, Range, Handle, createSliderWithTooltip */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Slider__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Slider */ \"./node_modules/rc-slider/es/Slider.js\");\n/* harmony import */ var _Range__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Range */ \"./node_modules/rc-slider/es/Range.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Range\", function() { return _Range__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _Handle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Handle */ \"./node_modules/rc-slider/es/Handle.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Handle\", function() { return _Handle__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _createSliderWithTooltip__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createSliderWithTooltip */ \"./node_modules/rc-slider/es/createSliderWithTooltip.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createSliderWithTooltip\", function() { return _createSliderWithTooltip__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n\n\n\n\n\n_Slider__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Range = _Range__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n_Slider__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Handle = _Handle__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n_Slider__WEBPACK_IMPORTED_MODULE_0__[\"default\"].createSliderWithTooltip = _createSliderWithTooltip__WEBPACK_IMPORTED_MODULE_3__[\"default\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = (_Slider__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n\n/***/ }),\n\n/***/ \"./node_modules/rc-slider/es/utils.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/rc-slider/es/utils.js ***!\n  \\********************************************/\n/*! exports provided: isEventFromHandle, isValueOutOfRange, isNotTouchEvent, getClosestPoint, getPrecision, getMousePosition, getTouchPosition, getHandleCenterPosition, ensureValueInRange, ensureValuePrecision, pauseEvent, calculateNextValue, getKeyboardValueMutator */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isEventFromHandle\", function() { return isEventFromHandle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isValueOutOfRange\", function() { return isValueOutOfRange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isNotTouchEvent\", function() { return isNotTouchEvent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getClosestPoint\", function() { return getClosestPoint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getPrecision\", function() { return getPrecision; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getMousePosition\", function() { return getMousePosition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTouchPosition\", function() { return getTouchPosition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getHandleCenterPosition\", function() { return getHandleCenterPosition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ensureValueInRange\", function() { return ensureValueInRange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ensureValuePrecision\", function() { return ensureValuePrecision; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pauseEvent\", function() { return pauseEvent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"calculateNextValue\", function() { return calculateNextValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getKeyboardValueMutator\", function() { return getKeyboardValueMutator; });\n/* harmony import */ var babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/toConsumableArray */ \"./node_modules/babel-runtime/helpers/toConsumableArray.js\");\n/* harmony import */ var babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"react-dom\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rc-util/es/KeyCode */ \"./node_modules/rc-util/es/KeyCode.js\");\n\n\n\n\nfunction isEventFromHandle(e, handles) {\n  try {\n    return Object.keys(handles).some(function (key) {\n      return e.target === Object(react_dom__WEBPACK_IMPORTED_MODULE_1__[\"findDOMNode\"])(handles[key]);\n    });\n  } catch (error) {\n    return false;\n  }\n}\n\nfunction isValueOutOfRange(value, _ref) {\n  var min = _ref.min,\n      max = _ref.max;\n\n  return value < min || value > max;\n}\n\nfunction isNotTouchEvent(e) {\n  return e.touches.length > 1 || e.type.toLowerCase() === 'touchend' && e.touches.length > 0;\n}\n\nfunction getClosestPoint(val, _ref2) {\n  var marks = _ref2.marks,\n      step = _ref2.step,\n      min = _ref2.min,\n      max = _ref2.max;\n\n  var points = Object.keys(marks).map(parseFloat);\n  if (step !== null) {\n    var maxSteps = Math.floor((max - min) / step);\n    var steps = Math.min((val - min) / step, maxSteps);\n    var closestStep = Math.round(steps) * step + min;\n    points.push(closestStep);\n  }\n  var diffs = points.map(function (point) {\n    return Math.abs(val - point);\n  });\n  return points[diffs.indexOf(Math.min.apply(Math, babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default()(diffs)))];\n}\n\nfunction getPrecision(step) {\n  var stepString = step.toString();\n  var precision = 0;\n  if (stepString.indexOf('.') >= 0) {\n    precision = stepString.length - stepString.indexOf('.') - 1;\n  }\n  return precision;\n}\n\nfunction getMousePosition(vertical, e) {\n  return vertical ? e.clientY : e.pageX;\n}\n\nfunction getTouchPosition(vertical, e) {\n  return vertical ? e.touches[0].clientY : e.touches[0].pageX;\n}\n\nfunction getHandleCenterPosition(vertical, handle) {\n  var coords = handle.getBoundingClientRect();\n  return vertical ? coords.top + coords.height * 0.5 : window.pageXOffset + coords.left + coords.width * 0.5;\n}\n\nfunction ensureValueInRange(val, _ref3) {\n  var max = _ref3.max,\n      min = _ref3.min;\n\n  if (val <= min) {\n    return min;\n  }\n  if (val >= max) {\n    return max;\n  }\n  return val;\n}\n\nfunction ensureValuePrecision(val, props) {\n  var step = props.step;\n\n  var closestPoint = isFinite(getClosestPoint(val, props)) ? getClosestPoint(val, props) : 0; // eslint-disable-line\n  return step === null ? closestPoint : parseFloat(closestPoint.toFixed(getPrecision(step)));\n}\n\nfunction pauseEvent(e) {\n  e.stopPropagation();\n  e.preventDefault();\n}\n\nfunction calculateNextValue(func, value, props) {\n  var operations = {\n    increase: function increase(a, b) {\n      return a + b;\n    },\n    decrease: function decrease(a, b) {\n      return a - b;\n    }\n  };\n\n  var indexToGet = operations[func](Object.keys(props.marks).indexOf(JSON.stringify(value)), 1);\n  var keyToGet = Object.keys(props.marks)[indexToGet];\n\n  if (props.step) {\n    return operations[func](value, props.step);\n  } else if (!!Object.keys(props.marks).length && !!props.marks[keyToGet]) {\n    return props.marks[keyToGet];\n  }\n  return value;\n}\n\nfunction getKeyboardValueMutator(e, vertical, reverse) {\n  var increase = 'increase';\n  var decrease = 'decrease';\n  var method = increase;\n  switch (e.keyCode) {\n    case rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"].UP:\n      method = vertical && reverse ? decrease : increase;break;\n    case rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"].RIGHT:\n      method = !vertical && reverse ? decrease : increase;break;\n    case rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"].DOWN:\n      method = vertical && reverse ? increase : decrease;break;\n    case rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"].LEFT:\n      method = !vertical && reverse ? increase : decrease;break;\n\n    case rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"].END:\n      return function (value, props) {\n        return props.max;\n      };\n    case rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"].HOME:\n      return function (value, props) {\n        return props.min;\n      };\n    case rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"].PAGE_UP:\n      return function (value, props) {\n        return value + props.step * 2;\n      };\n    case rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"].PAGE_DOWN:\n      return function (value, props) {\n        return value - props.step * 2;\n      };\n\n    default:\n      return undefined;\n  }\n  return function (value, props) {\n    return calculateNextValue(method, value, props);\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/rc-tooltip/es/Content.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/rc-tooltip/es/Content.js ***!\n  \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n\nvar Content = function Content(props) {\n  var overlay = props.overlay,\n      prefixCls = props.prefixCls,\n      id = props.id;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n    className: \"\".concat(prefixCls, \"-inner\"),\n    id: id,\n    role: \"tooltip\"\n  }, typeof overlay === 'function' ? overlay() : overlay);\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Content);\n\n/***/ }),\n\n/***/ \"./node_modules/rc-tooltip/es/Tooltip.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/rc-tooltip/es/Tooltip.js ***!\n  \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var rc_trigger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rc-trigger */ \"./node_modules/rc-trigger/es/index.js\");\n/* harmony import */ var _placements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./placements */ \"./node_modules/rc-tooltip/es/placements.js\");\n/* harmony import */ var _Content__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Content */ \"./node_modules/rc-tooltip/es/Content.js\");\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n\n\n\n\n\nvar Tooltip = function Tooltip(props, ref) {\n  var overlayClassName = props.overlayClassName,\n      _props$trigger = props.trigger,\n      trigger = _props$trigger === void 0 ? ['hover'] : _props$trigger,\n      _props$mouseEnterDela = props.mouseEnterDelay,\n      mouseEnterDelay = _props$mouseEnterDela === void 0 ? 0 : _props$mouseEnterDela,\n      _props$mouseLeaveDela = props.mouseLeaveDelay,\n      mouseLeaveDelay = _props$mouseLeaveDela === void 0 ? 0.1 : _props$mouseLeaveDela,\n      overlayStyle = props.overlayStyle,\n      _props$prefixCls = props.prefixCls,\n      prefixCls = _props$prefixCls === void 0 ? 'rc-tooltip' : _props$prefixCls,\n      children = props.children,\n      onVisibleChange = props.onVisibleChange,\n      afterVisibleChange = props.afterVisibleChange,\n      transitionName = props.transitionName,\n      animation = props.animation,\n      _props$placement = props.placement,\n      placement = _props$placement === void 0 ? 'right' : _props$placement,\n      _props$align = props.align,\n      align = _props$align === void 0 ? {} : _props$align,\n      _props$destroyTooltip = props.destroyTooltipOnHide,\n      destroyTooltipOnHide = _props$destroyTooltip === void 0 ? false : _props$destroyTooltip,\n      defaultVisible = props.defaultVisible,\n      getTooltipContainer = props.getTooltipContainer,\n      restProps = _objectWithoutProperties(props, [\"overlayClassName\", \"trigger\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"overlayStyle\", \"prefixCls\", \"children\", \"onVisibleChange\", \"afterVisibleChange\", \"transitionName\", \"animation\", \"placement\", \"align\", \"destroyTooltipOnHide\", \"defaultVisible\", \"getTooltipContainer\"]);\n\n  var domRef = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useRef\"])(null);\n  Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useImperativeHandle\"])(ref, function () {\n    return domRef.current;\n  });\n\n  var extraProps = _objectSpread({}, restProps);\n\n  if ('visible' in props) {\n    extraProps.popupVisible = props.visible;\n  }\n\n  var getPopupElement = function getPopupElement() {\n    var _props$arrowContent = props.arrowContent,\n        arrowContent = _props$arrowContent === void 0 ? null : _props$arrowContent,\n        overlay = props.overlay,\n        id = props.id;\n    return [react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n      className: \"\".concat(prefixCls, \"-arrow\"),\n      key: \"arrow\"\n    }, arrowContent), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Content__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n      key: \"content\",\n      prefixCls: prefixCls,\n      id: id,\n      overlay: overlay\n    })];\n  };\n\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(rc_trigger__WEBPACK_IMPORTED_MODULE_1__[\"default\"], Object.assign({\n    popupClassName: overlayClassName,\n    prefixCls: prefixCls,\n    popup: getPopupElement,\n    action: trigger,\n    builtinPlacements: _placements__WEBPACK_IMPORTED_MODULE_2__[\"placements\"],\n    popupPlacement: placement,\n    ref: domRef,\n    popupAlign: align,\n    getPopupContainer: getTooltipContainer,\n    onPopupVisibleChange: onVisibleChange,\n    afterPopupVisibleChange: afterVisibleChange,\n    popupTransitionName: transitionName,\n    popupAnimation: animation,\n    defaultPopupVisible: defaultVisible,\n    destroyPopupOnHide: destroyTooltipOnHide,\n    mouseLeaveDelay: mouseLeaveDelay,\n    popupStyle: overlayStyle,\n    mouseEnterDelay: mouseEnterDelay\n  }, extraProps), children);\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react__WEBPACK_IMPORTED_MODULE_0__[\"forwardRef\"])(Tooltip));\n\n/***/ }),\n\n/***/ \"./node_modules/rc-tooltip/es/index.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/rc-tooltip/es/index.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Tooltip__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tooltip */ \"./node_modules/rc-tooltip/es/Tooltip.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_Tooltip__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./node_modules/rc-tooltip/es/placements.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/rc-tooltip/es/placements.js ***!\n  \\**************************************************/\n/*! exports provided: placements, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"placements\", function() { return placements; });\nvar autoAdjustOverflow = {\n  adjustX: 1,\n  adjustY: 1\n};\nvar targetOffset = [0, 0];\nvar placements = {\n  left: {\n    points: ['cr', 'cl'],\n    overflow: autoAdjustOverflow,\n    offset: [-4, 0],\n    targetOffset: targetOffset\n  },\n  right: {\n    points: ['cl', 'cr'],\n    overflow: autoAdjustOverflow,\n    offset: [4, 0],\n    targetOffset: targetOffset\n  },\n  top: {\n    points: ['bc', 'tc'],\n    overflow: autoAdjustOverflow,\n    offset: [0, -4],\n    targetOffset: targetOffset\n  },\n  bottom: {\n    points: ['tc', 'bc'],\n    overflow: autoAdjustOverflow,\n    offset: [0, 4],\n    targetOffset: targetOffset\n  },\n  topLeft: {\n    points: ['bl', 'tl'],\n    overflow: autoAdjustOverflow,\n    offset: [0, -4],\n    targetOffset: targetOffset\n  },\n  leftTop: {\n    points: ['tr', 'tl'],\n    overflow: autoAdjustOverflow,\n    offset: [-4, 0],\n    targetOffset: targetOffset\n  },\n  topRight: {\n    points: ['br', 'tr'],\n    overflow: autoAdjustOverflow,\n    offset: [0, -4],\n    targetOffset: targetOffset\n  },\n  rightTop: {\n    points: ['tl', 'tr'],\n    overflow: autoAdjustOverflow,\n    offset: [4, 0],\n    targetOffset: targetOffset\n  },\n  bottomRight: {\n    points: ['tr', 'br'],\n    overflow: autoAdjustOverflow,\n    offset: [0, 4],\n    targetOffset: targetOffset\n  },\n  rightBottom: {\n    points: ['bl', 'br'],\n    overflow: autoAdjustOverflow,\n    offset: [4, 0],\n    targetOffset: targetOffset\n  },\n  bottomLeft: {\n    points: ['tl', 'bl'],\n    overflow: autoAdjustOverflow,\n    offset: [0, 4],\n    targetOffset: targetOffset\n  },\n  leftBottom: {\n    points: ['br', 'bl'],\n    overflow: autoAdjustOverflow,\n    offset: [-4, 0],\n    targetOffset: targetOffset\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (placements);\n\n/***/ }),\n\n/***/ \"./node_modules/rc-trigger/es/Popup.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/rc-trigger/es/Popup.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var raf__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! raf */ \"./node_modules/raf/index.js\");\n/* harmony import */ var raf__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(raf__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var rc_align__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rc-align */ \"./node_modules/rc-align/es/index.js\");\n/* harmony import */ var rc_util_es_ref__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! rc-util/es/ref */ \"./node_modules/rc-util/es/ref.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var rc_animate_es_CSSMotion__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! rc-animate/es/CSSMotion */ \"./node_modules/rc-animate/es/CSSMotion.js\");\n/* harmony import */ var _PopupInner__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./PopupInner */ \"./node_modules/rc-trigger/es/PopupInner.js\");\n/* harmony import */ var _utils_legacyUtil__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils/legacyUtil */ \"./node_modules/rc-trigger/es/utils/legacyUtil.js\");\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n/* eslint-disable no-param-reassign */\n\n\n\n\n\n\n\n\nvar CSSMotion = rc_animate_es_CSSMotion__WEBPACK_IMPORTED_MODULE_5__[\"default\"];\n\nfunction supportMotion(motion) {\n  return motion && motion.motionName;\n}\n\nvar Popup =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(Popup, _Component);\n\n  function Popup() {\n    var _this;\n\n    _classCallCheck(this, Popup);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(Popup).apply(this, arguments));\n    _this.state = {\n      targetWidth: undefined,\n      targetHeight: undefined,\n      status: null,\n      prevVisible: null,\n      alignClassName: null\n    };\n    _this.popupRef = react__WEBPACK_IMPORTED_MODULE_0___default.a.createRef();\n    _this.alignRef = react__WEBPACK_IMPORTED_MODULE_0___default.a.createRef();\n    _this.nextFrameState = null;\n    _this.nextFrameId = null;\n\n    _this.onAlign = function (popupDomNode, align) {\n      var status = _this.state.status;\n      var _this$props = _this.props,\n          getClassNameFromAlign = _this$props.getClassNameFromAlign,\n          onAlign = _this$props.onAlign;\n      var alignClassName = getClassNameFromAlign(align);\n\n      if (status === 'align') {\n        _this.setState({\n          alignClassName: alignClassName,\n          status: 'aligned'\n        }, function () {\n          _this.alignRef.current.forceAlign();\n        });\n      } else if (status === 'aligned') {\n        _this.setState({\n          alignClassName: alignClassName,\n          status: 'afterAlign'\n        });\n\n        onAlign(popupDomNode, align);\n      } else {\n        _this.setState({\n          alignClassName: alignClassName\n        });\n      }\n    };\n\n    _this.onMotionEnd = function () {\n      var visible = _this.props.visible;\n\n      _this.setState({\n        status: visible ? 'AfterMotion' : 'stable'\n      });\n    };\n\n    _this.setStateOnNextFrame = function (state) {\n      _this.cancelFrameState();\n\n      _this.nextFrameState = _objectSpread({}, _this.nextFrameState, {}, state);\n      _this.nextFrameId = raf__WEBPACK_IMPORTED_MODULE_1___default()(function () {\n        var submitState = _objectSpread({}, _this.nextFrameState);\n\n        _this.nextFrameState = null;\n\n        _this.setState(submitState);\n      });\n    };\n\n    _this.getMotion = function () {\n      return _objectSpread({}, Object(_utils_legacyUtil__WEBPACK_IMPORTED_MODULE_7__[\"getMotion\"])(_this.props));\n    }; // `target` on `rc-align` can accept as a function to get the bind element or a point.\n    // ref: https://www.npmjs.com/package/rc-align\n\n\n    _this.getAlignTarget = function () {\n      var _this$props2 = _this.props,\n          point = _this$props2.point,\n          getRootDomNode = _this$props2.getRootDomNode;\n\n      if (point) {\n        return point;\n      }\n\n      return getRootDomNode;\n    };\n\n    _this.cancelFrameState = function () {\n      raf__WEBPACK_IMPORTED_MODULE_1___default.a.cancel(_this.nextFrameId);\n    };\n\n    _this.renderPopupElement = function () {\n      var _this$state = _this.state,\n          status = _this$state.status,\n          targetHeight = _this$state.targetHeight,\n          targetWidth = _this$state.targetWidth,\n          alignClassName = _this$state.alignClassName;\n      var _this$props3 = _this.props,\n          prefixCls = _this$props3.prefixCls,\n          className = _this$props3.className,\n          style = _this$props3.style,\n          stretch = _this$props3.stretch,\n          visible = _this$props3.visible,\n          align = _this$props3.align,\n          destroyPopupOnHide = _this$props3.destroyPopupOnHide,\n          onMouseEnter = _this$props3.onMouseEnter,\n          onMouseLeave = _this$props3.onMouseLeave,\n          onMouseDown = _this$props3.onMouseDown,\n          onTouchStart = _this$props3.onTouchStart,\n          children = _this$props3.children;\n      var mergedClassName = classnames__WEBPACK_IMPORTED_MODULE_4___default()(prefixCls, className, alignClassName);\n      var hiddenClassName = \"\".concat(prefixCls, \"-hidden\"); // ================== Style ==================\n\n      var sizeStyle = {};\n\n      if (stretch) {\n        // Stretch with target\n        if (stretch.indexOf('height') !== -1) {\n          sizeStyle.height = targetHeight;\n        } else if (stretch.indexOf('minHeight') !== -1) {\n          sizeStyle.minHeight = targetHeight;\n        }\n\n        if (stretch.indexOf('width') !== -1) {\n          sizeStyle.width = targetWidth;\n        } else if (stretch.indexOf('minWidth') !== -1) {\n          sizeStyle.minWidth = targetWidth;\n        }\n      }\n\n      var mergedStyle = _objectSpread({}, sizeStyle, {}, style, {}, _this.getZIndexStyle(), {\n        opacity: status === 'stable' || !visible ? undefined : 0\n      }); // ================= Motions =================\n\n\n      var mergedMotion = _this.getMotion();\n\n      var mergedMotionVisible = visible;\n\n      if (visible && status !== 'beforeMotion' && status !== 'motion' && status !== 'stable') {\n        mergedMotion.motionAppear = false;\n        mergedMotion.motionEnter = false;\n        mergedMotion.motionLeave = false;\n      }\n\n      if (status === 'afterAlign' || status === 'beforeMotion') {\n        mergedMotionVisible = false;\n      } // ================== Align ==================\n\n\n      var mergedAlignDisabled = !visible || status !== 'align' && status !== 'aligned' && status !== 'stable'; // ================== Popup ==================\n\n      var mergedPopupVisible = true;\n\n      if (status === 'stable') {\n        mergedPopupVisible = visible;\n      } // Only remove popup since mask may still need animation\n\n\n      if (destroyPopupOnHide && !mergedPopupVisible) {\n        return null;\n      }\n\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(CSSMotion, Object.assign({\n        visible: mergedMotionVisible\n      }, mergedMotion, {\n        removeOnLeave: false,\n        onEnterEnd: _this.onMotionEnd,\n        onLeaveEnd: _this.onMotionEnd\n      }), function (_ref, motionRef) {\n        var motionStyle = _ref.style,\n            motionClassName = _ref.className;\n        return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(rc_align__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n          target: _this.getAlignTarget(),\n          key: \"popup\",\n          ref: _this.alignRef,\n          monitorWindowResize: true,\n          disabled: mergedAlignDisabled,\n          align: align,\n          onAlign: _this.onAlign\n        }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PopupInner__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n          prefixCls: prefixCls,\n          visible: mergedPopupVisible,\n          hiddenClassName: hiddenClassName,\n          className: classnames__WEBPACK_IMPORTED_MODULE_4___default()(mergedClassName, motionClassName),\n          ref: Object(rc_util_es_ref__WEBPACK_IMPORTED_MODULE_3__[\"composeRef\"])(motionRef, _this.popupRef),\n          onMouseEnter: onMouseEnter,\n          onMouseLeave: onMouseLeave,\n          onMouseDown: onMouseDown,\n          onTouchStart: onTouchStart,\n          style: _objectSpread({}, mergedStyle, {}, motionStyle)\n        }, children));\n      });\n    };\n\n    _this.renderMaskElement = function () {\n      var _this$props4 = _this.props,\n          mask = _this$props4.mask,\n          maskMotion = _this$props4.maskMotion,\n          maskTransitionName = _this$props4.maskTransitionName,\n          maskAnimation = _this$props4.maskAnimation,\n          prefixCls = _this$props4.prefixCls,\n          visible = _this$props4.visible;\n\n      if (!mask) {\n        return null;\n      }\n\n      var motion = {};\n\n      if (maskMotion && maskMotion.motionName) {\n        motion = _objectSpread({\n          motionAppear: true\n        }, Object(_utils_legacyUtil__WEBPACK_IMPORTED_MODULE_7__[\"getMotion\"])({\n          motion: maskMotion,\n          prefixCls: prefixCls,\n          transitionName: maskTransitionName,\n          animation: maskAnimation\n        }));\n      }\n\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(CSSMotion, Object.assign({}, motion, {\n        visible: visible,\n        removeOnLeave: true\n      }), function (_ref2) {\n        var className = _ref2.className;\n        return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n          style: _this.getZIndexStyle(),\n          key: \"mask\",\n          className: classnames__WEBPACK_IMPORTED_MODULE_4___default()(\"\".concat(prefixCls, \"-mask\"), className)\n        });\n      });\n    };\n\n    return _this;\n  }\n\n  _createClass(Popup, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.componentDidUpdate();\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate() {\n      var status = this.state.status;\n      var _this$props5 = this.props,\n          getRootDomNode = _this$props5.getRootDomNode,\n          visible = _this$props5.visible,\n          stretch = _this$props5.stretch;\n\n      if (visible && status !== 'stable') {\n        switch (status) {\n          case null:\n            {\n              this.setStateOnNextFrame({\n                status: stretch ? 'measure' : 'align'\n              });\n              break;\n            }\n\n          case 'afterAlign':\n            {\n              this.setStateOnNextFrame({\n                status: supportMotion(this.getMotion()) ? 'beforeMotion' : 'stable'\n              });\n              break;\n            }\n\n          case 'AfterMotion':\n            {\n              this.setStateOnNextFrame({\n                status: 'stable'\n              });\n              break;\n            }\n\n          default:\n            {\n              // Go to next status\n              var queue = ['measure', 'align', null, 'beforeMotion', 'motion'];\n              var index = queue.indexOf(status);\n              var nextStatus = queue[index + 1];\n\n              if (index !== -1 && nextStatus) {\n                this.setStateOnNextFrame({\n                  status: nextStatus\n                });\n              }\n            }\n        }\n      } // Measure stretch size\n\n\n      if (status === 'measure') {\n        var $ele = getRootDomNode();\n\n        if ($ele) {\n          this.setStateOnNextFrame({\n            targetHeight: $ele.offsetHeight,\n            targetWidth: $ele.offsetWidth\n          });\n        }\n      }\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      this.cancelFrameState();\n    }\n  }, {\n    key: \"getZIndexStyle\",\n    value: function getZIndexStyle() {\n      var zIndex = this.props.zIndex;\n      return {\n        zIndex: zIndex\n      };\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, this.renderMaskElement(), this.renderPopupElement());\n    }\n  }], [{\n    key: \"getDerivedStateFromProps\",\n    value: function getDerivedStateFromProps(_ref3, _ref4) {\n      var visible = _ref3.visible,\n          props = _objectWithoutProperties(_ref3, [\"visible\"]);\n\n      var prevVisible = _ref4.prevVisible,\n          status = _ref4.status;\n      var newState = {\n        prevVisible: visible,\n        status: status\n      };\n      var mergedMotion = Object(_utils_legacyUtil__WEBPACK_IMPORTED_MODULE_7__[\"getMotion\"])(props);\n\n      if (prevVisible === null && visible === false) {\n        // Init render should always be stable\n        newState.status = 'stable';\n      } else if (visible !== prevVisible) {\n        newState.status = visible || supportMotion(mergedMotion) ? null : 'stable';\n\n        if (visible) {\n          newState.alignClassName = null;\n        }\n      }\n\n      return newState;\n    }\n  }]);\n\n  return Popup;\n}(react__WEBPACK_IMPORTED_MODULE_0__[\"Component\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Popup);\n/* eslint-enable */\n\n/***/ }),\n\n/***/ \"./node_modules/rc-trigger/es/PopupInner.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/rc-trigger/es/PopupInner.js ***!\n  \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\nvar PopupInner = function PopupInner(props, ref) {\n  var prefixCls = props.prefixCls,\n      className = props.className,\n      visible = props.visible,\n      style = props.style,\n      children = props.children,\n      onMouseEnter = props.onMouseEnter,\n      onMouseLeave = props.onMouseLeave,\n      onMouseDown = props.onMouseDown,\n      onTouchStart = props.onTouchStart;\n  var childNode = children;\n\n  if (react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.count(children) > 1) {\n    childNode = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n      className: \"\".concat(prefixCls, \"-content\")\n    }, children);\n  }\n\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n    ref: ref,\n    className: classnames__WEBPACK_IMPORTED_MODULE_1___default()(className, !visible && \"\".concat(props.hiddenClassName)),\n    onMouseEnter: onMouseEnter,\n    onMouseLeave: onMouseLeave,\n    onMouseDown: onMouseDown,\n    onTouchStart: onTouchStart,\n    style: style\n  }, childNode);\n};\n\nvar RefPopupInner = react__WEBPACK_IMPORTED_MODULE_0___default.a.forwardRef(PopupInner);\nRefPopupInner.displayName = 'PopupInner';\n/* harmony default export */ __webpack_exports__[\"default\"] = (RefPopupInner);\n\n/***/ }),\n\n/***/ \"./node_modules/rc-trigger/es/context.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/rc-trigger/es/context.js ***!\n  \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\nvar TriggerContext = react__WEBPACK_IMPORTED_MODULE_0___default.a.createContext(null);\n/* harmony default export */ __webpack_exports__[\"default\"] = (TriggerContext);\n\n/***/ }),\n\n/***/ \"./node_modules/rc-trigger/es/index.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/rc-trigger/es/index.js ***!\n  \\*********************************************/\n/*! exports provided: generateTrigger, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"generateTrigger\", function() { return generateTrigger; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"react-dom\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var rc_util_es_Dom_contains__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rc-util/es/Dom/contains */ \"./node_modules/rc-util/es/Dom/contains.js\");\n/* harmony import */ var rc_util_es_Dom_findDOMNode__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! rc-util/es/Dom/findDOMNode */ \"./node_modules/rc-util/es/Dom/findDOMNode.js\");\n/* harmony import */ var rc_util_es_ref__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! rc-util/es/ref */ \"./node_modules/rc-util/es/ref.js\");\n/* harmony import */ var rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! rc-util/es/Dom/addEventListener */ \"./node_modules/rc-util/es/Dom/addEventListener.js\");\n/* harmony import */ var rc_util_es_Portal__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! rc-util/es/Portal */ \"./node_modules/rc-util/es/Portal.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _utils_alignUtil__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/alignUtil */ \"./node_modules/rc-trigger/es/utils/alignUtil.js\");\n/* harmony import */ var _Popup__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Popup */ \"./node_modules/rc-trigger/es/Popup.js\");\n/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./context */ \"./node_modules/rc-trigger/es/context.js\");\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction noop() {}\n\nfunction returnEmptyString() {\n  return '';\n}\n\nfunction returnDocument() {\n  return window.document;\n}\n\nvar ALL_HANDLERS = ['onClick', 'onMouseDown', 'onTouchStart', 'onMouseEnter', 'onMouseLeave', 'onFocus', 'onBlur', 'onContextMenu'];\n/**\n * Internal usage. Do not use in your code since this will be removed.\n */\n\nfunction generateTrigger(PortalComponent) {\n  var Trigger =\n  /*#__PURE__*/\n  function (_React$Component) {\n    _inherits(Trigger, _React$Component);\n\n    function Trigger(props) {\n      var _this;\n\n      _classCallCheck(this, Trigger);\n\n      _this = _possibleConstructorReturn(this, _getPrototypeOf(Trigger).call(this, props));\n      _this.popupRef = react__WEBPACK_IMPORTED_MODULE_0___default.a.createRef();\n      _this.triggerRef = react__WEBPACK_IMPORTED_MODULE_0___default.a.createRef();\n\n      _this.onMouseEnter = function (e) {\n        var mouseEnterDelay = _this.props.mouseEnterDelay;\n\n        _this.fireEvents('onMouseEnter', e);\n\n        _this.delaySetPopupVisible(true, mouseEnterDelay, mouseEnterDelay ? null : e);\n      };\n\n      _this.onMouseMove = function (e) {\n        _this.fireEvents('onMouseMove', e);\n\n        _this.setPoint(e);\n      };\n\n      _this.onMouseLeave = function (e) {\n        _this.fireEvents('onMouseLeave', e);\n\n        _this.delaySetPopupVisible(false, _this.props.mouseLeaveDelay);\n      };\n\n      _this.onPopupMouseEnter = function () {\n        _this.clearDelayTimer();\n      };\n\n      _this.onPopupMouseLeave = function (e) {\n        // https://github.com/react-component/trigger/pull/13\n        // react bug?\n        if (e.relatedTarget && !e.relatedTarget.setTimeout && _this.popupRef.current && _this.popupRef.current.popupRef.current && Object(rc_util_es_Dom_contains__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_this.popupRef.current.popupRef.current, e.relatedTarget)) {\n          return;\n        }\n\n        _this.delaySetPopupVisible(false, _this.props.mouseLeaveDelay);\n      };\n\n      _this.onFocus = function (e) {\n        _this.fireEvents('onFocus', e); // incase focusin and focusout\n\n\n        _this.clearDelayTimer();\n\n        if (_this.isFocusToShow()) {\n          _this.focusTime = Date.now();\n\n          _this.delaySetPopupVisible(true, _this.props.focusDelay);\n        }\n      };\n\n      _this.onMouseDown = function (e) {\n        _this.fireEvents('onMouseDown', e);\n\n        _this.preClickTime = Date.now();\n      };\n\n      _this.onTouchStart = function (e) {\n        _this.fireEvents('onTouchStart', e);\n\n        _this.preTouchTime = Date.now();\n      };\n\n      _this.onBlur = function (e) {\n        _this.fireEvents('onBlur', e);\n\n        _this.clearDelayTimer();\n\n        if (_this.isBlurToHide()) {\n          _this.delaySetPopupVisible(false, _this.props.blurDelay);\n        }\n      };\n\n      _this.onContextMenu = function (e) {\n        e.preventDefault();\n\n        _this.fireEvents('onContextMenu', e);\n\n        _this.setPopupVisible(true, e);\n      };\n\n      _this.onContextMenuClose = function () {\n        if (_this.isContextMenuToShow()) {\n          _this.close();\n        }\n      };\n\n      _this.onClick = function (event) {\n        _this.fireEvents('onClick', event); // focus will trigger click\n\n\n        if (_this.focusTime) {\n          var preTime;\n\n          if (_this.preClickTime && _this.preTouchTime) {\n            preTime = Math.min(_this.preClickTime, _this.preTouchTime);\n          } else if (_this.preClickTime) {\n            preTime = _this.preClickTime;\n          } else if (_this.preTouchTime) {\n            preTime = _this.preTouchTime;\n          }\n\n          if (Math.abs(preTime - _this.focusTime) < 20) {\n            return;\n          }\n\n          _this.focusTime = 0;\n        }\n\n        _this.preClickTime = 0;\n        _this.preTouchTime = 0; // Only prevent default when all the action is click.\n        // https://github.com/ant-design/ant-design/issues/17043\n        // https://github.com/ant-design/ant-design/issues/17291\n\n        if (_this.isClickToShow() && (_this.isClickToHide() || _this.isBlurToHide()) && event && event.preventDefault) {\n          event.preventDefault();\n        }\n\n        var nextVisible = !_this.state.popupVisible;\n\n        if (_this.isClickToHide() && !nextVisible || nextVisible && _this.isClickToShow()) {\n          _this.setPopupVisible(!_this.state.popupVisible, event);\n        }\n      };\n\n      _this.onPopupMouseDown = function () {\n        _this.hasPopupMouseDown = true;\n        clearTimeout(_this.mouseDownTimeout);\n        _this.mouseDownTimeout = window.setTimeout(function () {\n          _this.hasPopupMouseDown = false;\n        }, 0);\n\n        if (_this.context) {\n          var _this$context;\n\n          (_this$context = _this.context).onPopupMouseDown.apply(_this$context, arguments);\n        }\n      };\n\n      _this.onDocumentClick = function (event) {\n        if (_this.props.mask && !_this.props.maskClosable) {\n          return;\n        }\n\n        var target = event.target;\n\n        var root = _this.getRootDomNode();\n\n        var popupNode = _this.getPopupDomNode();\n\n        if (!Object(rc_util_es_Dom_contains__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(root, target) && !Object(rc_util_es_Dom_contains__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(popupNode, target) && !_this.hasPopupMouseDown) {\n          _this.close();\n        }\n      };\n\n      _this.getRootDomNode = function () {\n        var getTriggerDOMNode = _this.props.getTriggerDOMNode;\n\n        if (getTriggerDOMNode) {\n          return getTriggerDOMNode(_this.triggerRef.current);\n        }\n\n        try {\n          var domNode = Object(rc_util_es_Dom_findDOMNode__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_this.triggerRef.current);\n\n          if (domNode) {\n            return domNode;\n          }\n        } catch (err) {// Do nothing\n        }\n\n        return react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.findDOMNode(_assertThisInitialized(_this));\n      };\n\n      _this.getPopupClassNameFromAlign = function (align) {\n        var className = [];\n        var _this$props = _this.props,\n            popupPlacement = _this$props.popupPlacement,\n            builtinPlacements = _this$props.builtinPlacements,\n            prefixCls = _this$props.prefixCls,\n            alignPoint = _this$props.alignPoint,\n            getPopupClassNameFromAlign = _this$props.getPopupClassNameFromAlign;\n\n        if (popupPlacement && builtinPlacements) {\n          className.push(Object(_utils_alignUtil__WEBPACK_IMPORTED_MODULE_8__[\"getAlignPopupClassName\"])(builtinPlacements, prefixCls, align, alignPoint));\n        }\n\n        if (getPopupClassNameFromAlign) {\n          className.push(getPopupClassNameFromAlign(align));\n        }\n\n        return className.join(' ');\n      };\n\n      _this.getComponent = function () {\n        var _this$props2 = _this.props,\n            prefixCls = _this$props2.prefixCls,\n            destroyPopupOnHide = _this$props2.destroyPopupOnHide,\n            popupClassName = _this$props2.popupClassName,\n            onPopupAlign = _this$props2.onPopupAlign,\n            popupMotion = _this$props2.popupMotion,\n            popupAnimation = _this$props2.popupAnimation,\n            popupTransitionName = _this$props2.popupTransitionName,\n            popupStyle = _this$props2.popupStyle,\n            mask = _this$props2.mask,\n            maskAnimation = _this$props2.maskAnimation,\n            maskTransitionName = _this$props2.maskTransitionName,\n            maskMotion = _this$props2.maskMotion,\n            zIndex = _this$props2.zIndex,\n            popup = _this$props2.popup,\n            stretch = _this$props2.stretch,\n            alignPoint = _this$props2.alignPoint;\n        var _this$state = _this.state,\n            popupVisible = _this$state.popupVisible,\n            point = _this$state.point;\n\n        var align = _this.getPopupAlign();\n\n        var mouseProps = {};\n\n        if (_this.isMouseEnterToShow()) {\n          mouseProps.onMouseEnter = _this.onPopupMouseEnter;\n        }\n\n        if (_this.isMouseLeaveToHide()) {\n          mouseProps.onMouseLeave = _this.onPopupMouseLeave;\n        }\n\n        mouseProps.onMouseDown = _this.onPopupMouseDown;\n        mouseProps.onTouchStart = _this.onPopupMouseDown;\n        return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popup__WEBPACK_IMPORTED_MODULE_9__[\"default\"], Object.assign({\n          prefixCls: prefixCls,\n          destroyPopupOnHide: destroyPopupOnHide,\n          visible: popupVisible,\n          point: alignPoint && point,\n          className: popupClassName,\n          align: align,\n          onAlign: onPopupAlign,\n          animation: popupAnimation,\n          getClassNameFromAlign: _this.getPopupClassNameFromAlign\n        }, mouseProps, {\n          stretch: stretch,\n          getRootDomNode: _this.getRootDomNode,\n          style: popupStyle,\n          mask: mask,\n          zIndex: zIndex,\n          transitionName: popupTransitionName,\n          maskAnimation: maskAnimation,\n          maskTransitionName: maskTransitionName,\n          maskMotion: maskMotion,\n          ref: _this.popupRef,\n          motion: popupMotion\n        }), typeof popup === 'function' ? popup() : popup);\n      };\n\n      _this.getContainer = function () {\n        var _assertThisInitialize = _assertThisInitialized(_this),\n            props = _assertThisInitialize.props;\n\n        var popupContainer = document.createElement('div'); // Make sure default popup container will never cause scrollbar appearing\n        // https://github.com/react-component/trigger/issues/41\n\n        popupContainer.style.position = 'absolute';\n        popupContainer.style.top = '0';\n        popupContainer.style.left = '0';\n        popupContainer.style.width = '100%';\n        var mountNode = props.getPopupContainer ? props.getPopupContainer(_this.getRootDomNode()) : props.getDocument().body;\n        mountNode.appendChild(popupContainer);\n        return popupContainer;\n      };\n\n      _this.setPoint = function (point) {\n        var alignPoint = _this.props.alignPoint;\n        if (!alignPoint || !point) return;\n\n        _this.setState({\n          point: {\n            pageX: point.pageX,\n            pageY: point.pageY\n          }\n        });\n      };\n\n      _this.handlePortalUpdate = function () {\n        if (_this.state.prevPopupVisible !== _this.state.popupVisible) {\n          _this.props.afterPopupVisibleChange(_this.state.popupVisible);\n        }\n      };\n\n      var popupVisible;\n\n      if ('popupVisible' in props) {\n        popupVisible = !!props.popupVisible;\n      } else {\n        popupVisible = !!props.defaultPopupVisible;\n      }\n\n      _this.state = {\n        prevPopupVisible: popupVisible,\n        popupVisible: popupVisible\n      };\n      ALL_HANDLERS.forEach(function (h) {\n        _this[\"fire\".concat(h)] = function (e) {\n          _this.fireEvents(h, e);\n        };\n      });\n      return _this;\n    }\n\n    _createClass(Trigger, [{\n      key: \"componentDidMount\",\n      value: function componentDidMount() {\n        this.componentDidUpdate();\n      }\n    }, {\n      key: \"componentDidUpdate\",\n      value: function componentDidUpdate() {\n        var props = this.props;\n        var state = this.state; // We must listen to `mousedown` or `touchstart`, edge case:\n        // https://github.com/ant-design/ant-design/issues/5804\n        // https://github.com/react-component/calendar/issues/250\n        // https://github.com/react-component/trigger/issues/50\n\n        if (state.popupVisible) {\n          var currentDocument;\n\n          if (!this.clickOutsideHandler && (this.isClickToHide() || this.isContextMenuToShow())) {\n            currentDocument = props.getDocument();\n            this.clickOutsideHandler = Object(rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(currentDocument, 'mousedown', this.onDocumentClick);\n          } // always hide on mobile\n\n\n          if (!this.touchOutsideHandler) {\n            currentDocument = currentDocument || props.getDocument();\n            this.touchOutsideHandler = Object(rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(currentDocument, 'touchstart', this.onDocumentClick);\n          } // close popup when trigger type contains 'onContextMenu' and document is scrolling.\n\n\n          if (!this.contextMenuOutsideHandler1 && this.isContextMenuToShow()) {\n            currentDocument = currentDocument || props.getDocument();\n            this.contextMenuOutsideHandler1 = Object(rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(currentDocument, 'scroll', this.onContextMenuClose);\n          } // close popup when trigger type contains 'onContextMenu' and window is blur.\n\n\n          if (!this.contextMenuOutsideHandler2 && this.isContextMenuToShow()) {\n            this.contextMenuOutsideHandler2 = Object(rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(window, 'blur', this.onContextMenuClose);\n          }\n\n          return;\n        }\n\n        this.clearOutsideHandler();\n      }\n    }, {\n      key: \"componentWillUnmount\",\n      value: function componentWillUnmount() {\n        this.clearDelayTimer();\n        this.clearOutsideHandler();\n        clearTimeout(this.mouseDownTimeout);\n      }\n    }, {\n      key: \"getPopupDomNode\",\n      value: function getPopupDomNode() {\n        // for test\n        if (this.popupRef.current && this.popupRef.current.popupRef.current) {\n          return this.popupRef.current.popupRef.current;\n        }\n\n        return null;\n      }\n    }, {\n      key: \"getPopupAlign\",\n      value: function getPopupAlign() {\n        var props = this.props;\n        var popupPlacement = props.popupPlacement,\n            popupAlign = props.popupAlign,\n            builtinPlacements = props.builtinPlacements;\n\n        if (popupPlacement && builtinPlacements) {\n          return Object(_utils_alignUtil__WEBPACK_IMPORTED_MODULE_8__[\"getAlignFromPlacement\"])(builtinPlacements, popupPlacement, popupAlign);\n        }\n\n        return popupAlign;\n      }\n      /**\n       * @param popupVisible    Show or not the popup element\n       * @param event           SyntheticEvent, used for `pointAlign`\n       */\n\n    }, {\n      key: \"setPopupVisible\",\n      value: function setPopupVisible(popupVisible, event) {\n        var alignPoint = this.props.alignPoint;\n        var prevPopupVisible = this.state.popupVisible;\n        this.clearDelayTimer();\n\n        if (prevPopupVisible !== popupVisible) {\n          if (!('popupVisible' in this.props)) {\n            this.setState({\n              popupVisible: popupVisible,\n              prevPopupVisible: prevPopupVisible\n            });\n          }\n\n          this.props.onPopupVisibleChange(popupVisible);\n        } // Always record the point position since mouseEnterDelay will delay the show\n\n\n        if (alignPoint && event) {\n          this.setPoint(event);\n        }\n      }\n    }, {\n      key: \"delaySetPopupVisible\",\n      value: function delaySetPopupVisible(visible, delayS, event) {\n        var _this2 = this;\n\n        var delay = delayS * 1000;\n        this.clearDelayTimer();\n\n        if (delay) {\n          var point = event ? {\n            pageX: event.pageX,\n            pageY: event.pageY\n          } : null;\n          this.delayTimer = window.setTimeout(function () {\n            _this2.setPopupVisible(visible, point);\n\n            _this2.clearDelayTimer();\n          }, delay);\n        } else {\n          this.setPopupVisible(visible, event);\n        }\n      }\n    }, {\n      key: \"clearDelayTimer\",\n      value: function clearDelayTimer() {\n        if (this.delayTimer) {\n          clearTimeout(this.delayTimer);\n          this.delayTimer = null;\n        }\n      }\n    }, {\n      key: \"clearOutsideHandler\",\n      value: function clearOutsideHandler() {\n        if (this.clickOutsideHandler) {\n          this.clickOutsideHandler.remove();\n          this.clickOutsideHandler = null;\n        }\n\n        if (this.contextMenuOutsideHandler1) {\n          this.contextMenuOutsideHandler1.remove();\n          this.contextMenuOutsideHandler1 = null;\n        }\n\n        if (this.contextMenuOutsideHandler2) {\n          this.contextMenuOutsideHandler2.remove();\n          this.contextMenuOutsideHandler2 = null;\n        }\n\n        if (this.touchOutsideHandler) {\n          this.touchOutsideHandler.remove();\n          this.touchOutsideHandler = null;\n        }\n      }\n    }, {\n      key: \"createTwoChains\",\n      value: function createTwoChains(event) {\n        var childPros = this.props.children.props;\n        var props = this.props;\n\n        if (childPros[event] && props[event]) {\n          return this[\"fire\".concat(event)];\n        }\n\n        return childPros[event] || props[event];\n      }\n    }, {\n      key: \"isClickToShow\",\n      value: function isClickToShow() {\n        var _this$props3 = this.props,\n            action = _this$props3.action,\n            showAction = _this$props3.showAction;\n        return action.indexOf('click') !== -1 || showAction.indexOf('click') !== -1;\n      }\n    }, {\n      key: \"isContextMenuToShow\",\n      value: function isContextMenuToShow() {\n        var _this$props4 = this.props,\n            action = _this$props4.action,\n            showAction = _this$props4.showAction;\n        return action.indexOf('contextMenu') !== -1 || showAction.indexOf('contextMenu') !== -1;\n      }\n    }, {\n      key: \"isClickToHide\",\n      value: function isClickToHide() {\n        var _this$props5 = this.props,\n            action = _this$props5.action,\n            hideAction = _this$props5.hideAction;\n        return action.indexOf('click') !== -1 || hideAction.indexOf('click') !== -1;\n      }\n    }, {\n      key: \"isMouseEnterToShow\",\n      value: function isMouseEnterToShow() {\n        var _this$props6 = this.props,\n            action = _this$props6.action,\n            showAction = _this$props6.showAction;\n        return action.indexOf('hover') !== -1 || showAction.indexOf('mouseEnter') !== -1;\n      }\n    }, {\n      key: \"isMouseLeaveToHide\",\n      value: function isMouseLeaveToHide() {\n        var _this$props7 = this.props,\n            action = _this$props7.action,\n            hideAction = _this$props7.hideAction;\n        return action.indexOf('hover') !== -1 || hideAction.indexOf('mouseLeave') !== -1;\n      }\n    }, {\n      key: \"isFocusToShow\",\n      value: function isFocusToShow() {\n        var _this$props8 = this.props,\n            action = _this$props8.action,\n            showAction = _this$props8.showAction;\n        return action.indexOf('focus') !== -1 || showAction.indexOf('focus') !== -1;\n      }\n    }, {\n      key: \"isBlurToHide\",\n      value: function isBlurToHide() {\n        var _this$props9 = this.props,\n            action = _this$props9.action,\n            hideAction = _this$props9.hideAction;\n        return action.indexOf('focus') !== -1 || hideAction.indexOf('blur') !== -1;\n      }\n    }, {\n      key: \"forcePopupAlign\",\n      value: function forcePopupAlign() {\n        if (this.state.popupVisible && this.popupRef.current && this.popupRef.current.alignRef.current) {\n          this.popupRef.current.alignRef.current.forceAlign();\n        }\n      }\n    }, {\n      key: \"fireEvents\",\n      value: function fireEvents(type, e) {\n        var childCallback = this.props.children.props[type];\n\n        if (childCallback) {\n          childCallback(e);\n        }\n\n        var callback = this.props[type];\n\n        if (callback) {\n          callback(e);\n        }\n      }\n    }, {\n      key: \"close\",\n      value: function close() {\n        this.setPopupVisible(false);\n      }\n    }, {\n      key: \"render\",\n      value: function render() {\n        var popupVisible = this.state.popupVisible;\n        var _this$props10 = this.props,\n            children = _this$props10.children,\n            forceRender = _this$props10.forceRender,\n            alignPoint = _this$props10.alignPoint,\n            className = _this$props10.className;\n        var child = react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.only(children);\n        var newChildProps = {\n          key: 'trigger'\n        };\n\n        if (this.isContextMenuToShow()) {\n          newChildProps.onContextMenu = this.onContextMenu;\n        } else {\n          newChildProps.onContextMenu = this.createTwoChains('onContextMenu');\n        }\n\n        if (this.isClickToHide() || this.isClickToShow()) {\n          newChildProps.onClick = this.onClick;\n          newChildProps.onMouseDown = this.onMouseDown;\n          newChildProps.onTouchStart = this.onTouchStart;\n        } else {\n          newChildProps.onClick = this.createTwoChains('onClick');\n          newChildProps.onMouseDown = this.createTwoChains('onMouseDown');\n          newChildProps.onTouchStart = this.createTwoChains('onTouchStart');\n        }\n\n        if (this.isMouseEnterToShow()) {\n          newChildProps.onMouseEnter = this.onMouseEnter;\n\n          if (alignPoint) {\n            newChildProps.onMouseMove = this.onMouseMove;\n          }\n        } else {\n          newChildProps.onMouseEnter = this.createTwoChains('onMouseEnter');\n        }\n\n        if (this.isMouseLeaveToHide()) {\n          newChildProps.onMouseLeave = this.onMouseLeave;\n        } else {\n          newChildProps.onMouseLeave = this.createTwoChains('onMouseLeave');\n        }\n\n        if (this.isFocusToShow() || this.isBlurToHide()) {\n          newChildProps.onFocus = this.onFocus;\n          newChildProps.onBlur = this.onBlur;\n        } else {\n          newChildProps.onFocus = this.createTwoChains('onFocus');\n          newChildProps.onBlur = this.createTwoChains('onBlur');\n        }\n\n        var childrenClassName = classnames__WEBPACK_IMPORTED_MODULE_7___default()(child && child.props && child.props.className, className);\n\n        if (childrenClassName) {\n          newChildProps.className = childrenClassName;\n        }\n\n        var trigger = react__WEBPACK_IMPORTED_MODULE_0___default.a.cloneElement(child, _objectSpread({}, newChildProps, {\n          ref: Object(rc_util_es_ref__WEBPACK_IMPORTED_MODULE_4__[\"composeRef\"])(this.triggerRef, child.ref)\n        }));\n        var portal; // prevent unmounting after it's rendered\n\n        if (popupVisible || this.popupRef.current || forceRender) {\n          portal = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PortalComponent, {\n            key: \"portal\",\n            getContainer: this.getContainer,\n            didUpdate: this.handlePortalUpdate\n          }, this.getComponent());\n        }\n\n        return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_context__WEBPACK_IMPORTED_MODULE_10__[\"default\"].Provider, {\n          value: {\n            onPopupMouseDown: this.onPopupMouseDown\n          }\n        }, trigger, portal);\n      }\n    }], [{\n      key: \"getDerivedStateFromProps\",\n      value: function getDerivedStateFromProps(_ref, prevState) {\n        var popupVisible = _ref.popupVisible;\n        var newState = {};\n\n        if (popupVisible !== undefined && prevState.popupVisible !== popupVisible) {\n          newState.popupVisible = popupVisible;\n          newState.prevPopupVisible = prevState.popupVisible;\n        }\n\n        return newState;\n      }\n    }]);\n\n    return Trigger;\n  }(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component);\n\n  Trigger.contextType = _context__WEBPACK_IMPORTED_MODULE_10__[\"default\"];\n  Trigger.defaultProps = {\n    prefixCls: 'rc-trigger-popup',\n    getPopupClassNameFromAlign: returnEmptyString,\n    getDocument: returnDocument,\n    onPopupVisibleChange: noop,\n    afterPopupVisibleChange: noop,\n    onPopupAlign: noop,\n    popupClassName: '',\n    mouseEnterDelay: 0,\n    mouseLeaveDelay: 0.1,\n    focusDelay: 0,\n    blurDelay: 0.15,\n    popupStyle: {},\n    destroyPopupOnHide: false,\n    popupAlign: {},\n    defaultPopupVisible: false,\n    mask: false,\n    maskClosable: true,\n    action: [],\n    showAction: [],\n    hideAction: []\n  };\n  return Trigger;\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (generateTrigger(rc_util_es_Portal__WEBPACK_IMPORTED_MODULE_6__[\"default\"]));\n\n/***/ }),\n\n/***/ \"./node_modules/rc-trigger/es/utils/alignUtil.js\":\n/*!*******************************************************!*\\\n  !*** ./node_modules/rc-trigger/es/utils/alignUtil.js ***!\n  \\*******************************************************/\n/*! exports provided: getAlignFromPlacement, getAlignPopupClassName */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getAlignFromPlacement\", function() { return getAlignFromPlacement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getAlignPopupClassName\", function() { return getAlignPopupClassName; });\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction isPointsEq(a1, a2, isAlignPoint) {\n  if (isAlignPoint) {\n    return a1[0] === a2[0];\n  }\n\n  return a1[0] === a2[0] && a1[1] === a2[1];\n}\n\nfunction getAlignFromPlacement(builtinPlacements, placementStr, align) {\n  var baseAlign = builtinPlacements[placementStr] || {};\n  return _objectSpread({}, baseAlign, {}, align);\n}\nfunction getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {\n  var points = align.points;\n  var placements = Object.keys(builtinPlacements);\n\n  for (var i = 0; i < placements.length; i += 1) {\n    var placement = placements[i];\n\n    if (isPointsEq(builtinPlacements[placement].points, points, isAlignPoint)) {\n      return \"\".concat(prefixCls, \"-placement-\").concat(placement);\n    }\n  }\n\n  return '';\n}\n\n/***/ }),\n\n/***/ \"./node_modules/rc-trigger/es/utils/legacyUtil.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/rc-trigger/es/utils/legacyUtil.js ***!\n  \\********************************************************/\n/*! exports provided: getMotion */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getMotion\", function() { return getMotion; });\nfunction getMotion(_ref) {\n  var prefixCls = _ref.prefixCls,\n      motion = _ref.motion,\n      animation = _ref.animation,\n      transitionName = _ref.transitionName;\n\n  if (motion) {\n    return motion;\n  }\n\n  if (animation) {\n    return {\n      motionName: \"\".concat(prefixCls, \"-\").concat(animation)\n    };\n  }\n\n  if (transitionName) {\n    return {\n      motionName: transitionName\n    };\n  }\n\n  return null;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/rc-util/es/Dom/addEventListener.js\":\n/*!*********************************************************!*\\\n  !*** ./node_modules/rc-util/es/Dom/addEventListener.js ***!\n  \\*********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return addEventListenerWrap; });\n/* harmony import */ var add_dom_event_listener__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! add-dom-event-listener */ \"./node_modules/add-dom-event-listener/lib/index.js\");\n/* harmony import */ var add_dom_event_listener__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(add_dom_event_listener__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"react-dom\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);\n\n\nfunction addEventListenerWrap(target, eventType, cb, option) {\n  /* eslint camelcase: 2 */\n  var callback = react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.unstable_batchedUpdates ? function run(e) {\n    react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.unstable_batchedUpdates(cb, e);\n  } : cb;\n  return add_dom_event_listener__WEBPACK_IMPORTED_MODULE_0___default()(target, eventType, callback, option);\n}\n\n/***/ }),\n\n/***/ \"./node_modules/rc-util/es/Dom/contains.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/rc-util/es/Dom/contains.js ***!\n  \\*************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return contains; });\nfunction contains(root, n) {\n  var node = n;\n\n  while (node) {\n    if (node === root) {\n      return true;\n    }\n\n    node = node.parentNode;\n  }\n\n  return false;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/rc-util/es/Dom/findDOMNode.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/rc-util/es/Dom/findDOMNode.js ***!\n  \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return findDOMNode; });\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-dom */ \"react-dom\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_0__);\n\n/**\n * Return if a node is a DOM node. Else will return by `findDOMNode`\n */\n\nfunction findDOMNode(node) {\n  if (node instanceof HTMLElement) {\n    return node;\n  }\n\n  return react_dom__WEBPACK_IMPORTED_MODULE_0___default.a.findDOMNode(node);\n}\n\n/***/ }),\n\n/***/ \"./node_modules/rc-util/es/KeyCode.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/rc-util/es/KeyCode.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\nvar KeyCode = {\n  /**\n   * MAC_ENTER\n   */\n  MAC_ENTER: 3,\n\n  /**\n   * BACKSPACE\n   */\n  BACKSPACE: 8,\n\n  /**\n   * TAB\n   */\n  TAB: 9,\n\n  /**\n   * NUMLOCK on FF/Safari Mac\n   */\n  NUM_CENTER: 12,\n\n  /**\n   * ENTER\n   */\n  ENTER: 13,\n\n  /**\n   * SHIFT\n   */\n  SHIFT: 16,\n\n  /**\n   * CTRL\n   */\n  CTRL: 17,\n\n  /**\n   * ALT\n   */\n  ALT: 18,\n\n  /**\n   * PAUSE\n   */\n  PAUSE: 19,\n\n  /**\n   * CAPS_LOCK\n   */\n  CAPS_LOCK: 20,\n\n  /**\n   * ESC\n   */\n  ESC: 27,\n\n  /**\n   * SPACE\n   */\n  SPACE: 32,\n\n  /**\n   * PAGE_UP\n   */\n  PAGE_UP: 33,\n\n  /**\n   * PAGE_DOWN\n   */\n  PAGE_DOWN: 34,\n\n  /**\n   * END\n   */\n  END: 35,\n\n  /**\n   * HOME\n   */\n  HOME: 36,\n\n  /**\n   * LEFT\n   */\n  LEFT: 37,\n\n  /**\n   * UP\n   */\n  UP: 38,\n\n  /**\n   * RIGHT\n   */\n  RIGHT: 39,\n\n  /**\n   * DOWN\n   */\n  DOWN: 40,\n\n  /**\n   * PRINT_SCREEN\n   */\n  PRINT_SCREEN: 44,\n\n  /**\n   * INSERT\n   */\n  INSERT: 45,\n\n  /**\n   * DELETE\n   */\n  DELETE: 46,\n\n  /**\n   * ZERO\n   */\n  ZERO: 48,\n\n  /**\n   * ONE\n   */\n  ONE: 49,\n\n  /**\n   * TWO\n   */\n  TWO: 50,\n\n  /**\n   * THREE\n   */\n  THREE: 51,\n\n  /**\n   * FOUR\n   */\n  FOUR: 52,\n\n  /**\n   * FIVE\n   */\n  FIVE: 53,\n\n  /**\n   * SIX\n   */\n  SIX: 54,\n\n  /**\n   * SEVEN\n   */\n  SEVEN: 55,\n\n  /**\n   * EIGHT\n   */\n  EIGHT: 56,\n\n  /**\n   * NINE\n   */\n  NINE: 57,\n\n  /**\n   * QUESTION_MARK\n   */\n  QUESTION_MARK: 63,\n\n  /**\n   * A\n   */\n  A: 65,\n\n  /**\n   * B\n   */\n  B: 66,\n\n  /**\n   * C\n   */\n  C: 67,\n\n  /**\n   * D\n   */\n  D: 68,\n\n  /**\n   * E\n   */\n  E: 69,\n\n  /**\n   * F\n   */\n  F: 70,\n\n  /**\n   * G\n   */\n  G: 71,\n\n  /**\n   * H\n   */\n  H: 72,\n\n  /**\n   * I\n   */\n  I: 73,\n\n  /**\n   * J\n   */\n  J: 74,\n\n  /**\n   * K\n   */\n  K: 75,\n\n  /**\n   * L\n   */\n  L: 76,\n\n  /**\n   * M\n   */\n  M: 77,\n\n  /**\n   * N\n   */\n  N: 78,\n\n  /**\n   * O\n   */\n  O: 79,\n\n  /**\n   * P\n   */\n  P: 80,\n\n  /**\n   * Q\n   */\n  Q: 81,\n\n  /**\n   * R\n   */\n  R: 82,\n\n  /**\n   * S\n   */\n  S: 83,\n\n  /**\n   * T\n   */\n  T: 84,\n\n  /**\n   * U\n   */\n  U: 85,\n\n  /**\n   * V\n   */\n  V: 86,\n\n  /**\n   * W\n   */\n  W: 87,\n\n  /**\n   * X\n   */\n  X: 88,\n\n  /**\n   * Y\n   */\n  Y: 89,\n\n  /**\n   * Z\n   */\n  Z: 90,\n\n  /**\n   * META\n   */\n  META: 91,\n\n  /**\n   * WIN_KEY_RIGHT\n   */\n  WIN_KEY_RIGHT: 92,\n\n  /**\n   * CONTEXT_MENU\n   */\n  CONTEXT_MENU: 93,\n\n  /**\n   * NUM_ZERO\n   */\n  NUM_ZERO: 96,\n\n  /**\n   * NUM_ONE\n   */\n  NUM_ONE: 97,\n\n  /**\n   * NUM_TWO\n   */\n  NUM_TWO: 98,\n\n  /**\n   * NUM_THREE\n   */\n  NUM_THREE: 99,\n\n  /**\n   * NUM_FOUR\n   */\n  NUM_FOUR: 100,\n\n  /**\n   * NUM_FIVE\n   */\n  NUM_FIVE: 101,\n\n  /**\n   * NUM_SIX\n   */\n  NUM_SIX: 102,\n\n  /**\n   * NUM_SEVEN\n   */\n  NUM_SEVEN: 103,\n\n  /**\n   * NUM_EIGHT\n   */\n  NUM_EIGHT: 104,\n\n  /**\n   * NUM_NINE\n   */\n  NUM_NINE: 105,\n\n  /**\n   * NUM_MULTIPLY\n   */\n  NUM_MULTIPLY: 106,\n\n  /**\n   * NUM_PLUS\n   */\n  NUM_PLUS: 107,\n\n  /**\n   * NUM_MINUS\n   */\n  NUM_MINUS: 109,\n\n  /**\n   * NUM_PERIOD\n   */\n  NUM_PERIOD: 110,\n\n  /**\n   * NUM_DIVISION\n   */\n  NUM_DIVISION: 111,\n\n  /**\n   * F1\n   */\n  F1: 112,\n\n  /**\n   * F2\n   */\n  F2: 113,\n\n  /**\n   * F3\n   */\n  F3: 114,\n\n  /**\n   * F4\n   */\n  F4: 115,\n\n  /**\n   * F5\n   */\n  F5: 116,\n\n  /**\n   * F6\n   */\n  F6: 117,\n\n  /**\n   * F7\n   */\n  F7: 118,\n\n  /**\n   * F8\n   */\n  F8: 119,\n\n  /**\n   * F9\n   */\n  F9: 120,\n\n  /**\n   * F10\n   */\n  F10: 121,\n\n  /**\n   * F11\n   */\n  F11: 122,\n\n  /**\n   * F12\n   */\n  F12: 123,\n\n  /**\n   * NUMLOCK\n   */\n  NUMLOCK: 144,\n\n  /**\n   * SEMICOLON\n   */\n  SEMICOLON: 186,\n\n  /**\n   * DASH\n   */\n  DASH: 189,\n\n  /**\n   * EQUALS\n   */\n  EQUALS: 187,\n\n  /**\n   * COMMA\n   */\n  COMMA: 188,\n\n  /**\n   * PERIOD\n   */\n  PERIOD: 190,\n\n  /**\n   * SLASH\n   */\n  SLASH: 191,\n\n  /**\n   * APOSTROPHE\n   */\n  APOSTROPHE: 192,\n\n  /**\n   * SINGLE_QUOTE\n   */\n  SINGLE_QUOTE: 222,\n\n  /**\n   * OPEN_SQUARE_BRACKET\n   */\n  OPEN_SQUARE_BRACKET: 219,\n\n  /**\n   * BACKSLASH\n   */\n  BACKSLASH: 220,\n\n  /**\n   * CLOSE_SQUARE_BRACKET\n   */\n  CLOSE_SQUARE_BRACKET: 221,\n\n  /**\n   * WIN_KEY\n   */\n  WIN_KEY: 224,\n\n  /**\n   * MAC_FF_META\n   */\n  MAC_FF_META: 224,\n\n  /**\n   * WIN_IME\n   */\n  WIN_IME: 229,\n  // ======================== Function ========================\n\n  /**\n   * whether text and modified key is entered at the same time.\n   */\n  isTextModifyingKeyEvent: function isTextModifyingKeyEvent(e) {\n    var keyCode = e.keyCode;\n\n    if (e.altKey && !e.ctrlKey || e.metaKey || // Function keys don't generate text\n    keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {\n      return false;\n    } // The following keys are quite harmless, even in combination with\n    // CTRL, ALT or SHIFT.\n\n\n    switch (keyCode) {\n      case KeyCode.ALT:\n      case KeyCode.CAPS_LOCK:\n      case KeyCode.CONTEXT_MENU:\n      case KeyCode.CTRL:\n      case KeyCode.DOWN:\n      case KeyCode.END:\n      case KeyCode.ESC:\n      case KeyCode.HOME:\n      case KeyCode.INSERT:\n      case KeyCode.LEFT:\n      case KeyCode.MAC_FF_META:\n      case KeyCode.META:\n      case KeyCode.NUMLOCK:\n      case KeyCode.NUM_CENTER:\n      case KeyCode.PAGE_DOWN:\n      case KeyCode.PAGE_UP:\n      case KeyCode.PAUSE:\n      case KeyCode.PRINT_SCREEN:\n      case KeyCode.RIGHT:\n      case KeyCode.SHIFT:\n      case KeyCode.UP:\n      case KeyCode.WIN_KEY:\n      case KeyCode.WIN_KEY_RIGHT:\n        return false;\n\n      default:\n        return true;\n    }\n  },\n\n  /**\n   * whether character is entered.\n   */\n  isCharacterKey: function isCharacterKey(keyCode) {\n    if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n      return true;\n    }\n\n    if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n      return true;\n    }\n\n    if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n      return true;\n    } // Safari sends zero key code for non-latin characters.\n\n\n    if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n      return true;\n    }\n\n    switch (keyCode) {\n      case KeyCode.SPACE:\n      case KeyCode.QUESTION_MARK:\n      case KeyCode.NUM_PLUS:\n      case KeyCode.NUM_MINUS:\n      case KeyCode.NUM_PERIOD:\n      case KeyCode.NUM_DIVISION:\n      case KeyCode.SEMICOLON:\n      case KeyCode.DASH:\n      case KeyCode.EQUALS:\n      case KeyCode.COMMA:\n      case KeyCode.PERIOD:\n      case KeyCode.SLASH:\n      case KeyCode.APOSTROPHE:\n      case KeyCode.SINGLE_QUOTE:\n      case KeyCode.OPEN_SQUARE_BRACKET:\n      case KeyCode.BACKSLASH:\n      case KeyCode.CLOSE_SQUARE_BRACKET:\n        return true;\n\n      default:\n        return false;\n    }\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (KeyCode);\n\n/***/ }),\n\n/***/ \"./node_modules/rc-util/es/Portal.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/rc-util/es/Portal.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Portal; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"react-dom\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\nvar Portal =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inherits(Portal, _React$Component);\n\n  function Portal() {\n    _classCallCheck(this, Portal);\n\n    return _possibleConstructorReturn(this, _getPrototypeOf(Portal).apply(this, arguments));\n  }\n\n  _createClass(Portal, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.createContainer();\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate(prevProps) {\n      var didUpdate = this.props.didUpdate;\n\n      if (didUpdate) {\n        didUpdate(prevProps);\n      }\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      this.removeContainer();\n    }\n  }, {\n    key: \"createContainer\",\n    value: function createContainer() {\n      this._container = this.props.getContainer();\n      this.forceUpdate();\n    }\n  }, {\n    key: \"removeContainer\",\n    value: function removeContainer() {\n      if (this._container) {\n        this._container.parentNode.removeChild(this._container);\n      }\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      if (this._container) {\n        return react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.createPortal(this.props.children, this._container);\n      }\n\n      return null;\n    }\n  }]);\n\n  return Portal;\n}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component);\n\nPortal.propTypes = {\n  getContainer: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func.isRequired,\n  children: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.node.isRequired,\n  didUpdate: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/rc-util/es/ref.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/rc-util/es/ref.js ***!\n  \\****************************************/\n/*! exports provided: fillRef, composeRef, supportRef */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fillRef\", function() { return fillRef; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"composeRef\", function() { return composeRef; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"supportRef\", function() { return supportRef; });\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction fillRef(ref, node) {\n  if (typeof ref === 'function') {\n    ref(node);\n  } else if (_typeof(ref) === 'object' && ref && 'current' in ref) {\n    ref.current = node;\n  }\n}\n/**\n * Merge refs into one ref function to support ref passing.\n */\n\nfunction composeRef() {\n  for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n    refs[_key] = arguments[_key];\n  }\n\n  return function (node) {\n    refs.forEach(function (ref) {\n      fillRef(ref, node);\n    });\n  };\n}\nfunction supportRef(nodeOrComponent) {\n  // Function component node\n  if (nodeOrComponent.type && nodeOrComponent.type.prototype && !nodeOrComponent.type.prototype.render) {\n    return false;\n  } // Class component\n\n\n  if (typeof nodeOrComponent === 'function' && nodeOrComponent.prototype && !nodeOrComponent.prototype.render) {\n    return false;\n  }\n\n  return true;\n}\n/* eslint-enable */\n\n/***/ }),\n\n/***/ \"./node_modules/react-is/cjs/react-is.development.js\":\n/*!***********************************************************!*\\\n  !*** ./node_modules/react-is/cjs/react-is.development.js ***!\n  \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/** @license React v16.8.6\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\n\n\nif (true) {\n  (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\n\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\n\nfunction isValidElementType(type) {\n  return typeof type === 'string' || typeof type === 'function' ||\n  // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n  type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar lowPriorityWarning = function () {};\n\n{\n  var printWarning = function (format) {\n    for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    var argIndex = 0;\n    var message = 'Warning: ' + format.replace(/%s/g, function () {\n      return args[argIndex++];\n    });\n    if (typeof console !== 'undefined') {\n      console.warn(message);\n    }\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  };\n\n  lowPriorityWarning = function (condition, format) {\n    if (format === undefined) {\n      throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument');\n    }\n    if (!condition) {\n      for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n        args[_key2 - 2] = arguments[_key2];\n      }\n\n      printWarning.apply(undefined, [format].concat(args));\n    }\n  };\n}\n\nvar lowPriorityWarning$1 = lowPriorityWarning;\n\nfunction typeOf(object) {\n  if (typeof object === 'object' && object !== null) {\n    var $$typeof = object.$$typeof;\n    switch ($$typeof) {\n      case REACT_ELEMENT_TYPE:\n        var type = object.type;\n\n        switch (type) {\n          case REACT_ASYNC_MODE_TYPE:\n          case REACT_CONCURRENT_MODE_TYPE:\n          case REACT_FRAGMENT_TYPE:\n          case REACT_PROFILER_TYPE:\n          case REACT_STRICT_MODE_TYPE:\n          case REACT_SUSPENSE_TYPE:\n            return type;\n          default:\n            var $$typeofType = type && type.$$typeof;\n\n            switch ($$typeofType) {\n              case REACT_CONTEXT_TYPE:\n              case REACT_FORWARD_REF_TYPE:\n              case REACT_PROVIDER_TYPE:\n                return $$typeofType;\n              default:\n                return $$typeof;\n            }\n        }\n      case REACT_LAZY_TYPE:\n      case REACT_MEMO_TYPE:\n      case REACT_PORTAL_TYPE:\n        return $$typeof;\n    }\n  }\n\n  return undefined;\n}\n\n// AsyncMode is deprecated along with isAsyncMode\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\n\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\n\n// AsyncMode should be deprecated\nfunction isAsyncMode(object) {\n  {\n    if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n      hasWarnedAboutDeprecatedIsAsyncMode = true;\n      lowPriorityWarning$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n    }\n  }\n  return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n  return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n  return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n  return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n  return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n  return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n  return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n  return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n  return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n  return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n  return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n  return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n  return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n  })();\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/react-is/index.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/react-is/index.js ***!\n  \\****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nif (false) {} else {\n  module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ \"./node_modules/react-is/cjs/react-is.development.js\");\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js\":\n/*!****************************************************************************!*\\\n  !*** ./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js ***!\n  \\****************************************************************************/\n/*! exports provided: polyfill */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"polyfill\", function() { return polyfill; });\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n  // Call this.constructor.gDSFP to support sub-classes.\n  var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n  if (state !== null && state !== undefined) {\n    this.setState(state);\n  }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n  // Call this.constructor.gDSFP to support sub-classes.\n  // Use the setState() updater to ensure state isn't stale in certain edge cases.\n  function updater(prevState) {\n    var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n    return state !== null && state !== undefined ? state : null;\n  }\n  // Binding \"this\" is important for shallow renderer support.\n  this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n  try {\n    var prevProps = this.props;\n    var prevState = this.state;\n    this.props = nextProps;\n    this.state = nextState;\n    this.__reactInternalSnapshotFlag = true;\n    this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n      prevProps,\n      prevState\n    );\n  } finally {\n    this.props = prevProps;\n    this.state = prevState;\n  }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n  var prototype = Component.prototype;\n\n  if (!prototype || !prototype.isReactComponent) {\n    throw new Error('Can only polyfill class components');\n  }\n\n  if (\n    typeof Component.getDerivedStateFromProps !== 'function' &&\n    typeof prototype.getSnapshotBeforeUpdate !== 'function'\n  ) {\n    return Component;\n  }\n\n  // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n  // Error if any of these lifecycles are present,\n  // Because they would work differently between older and newer (16.3+) versions of React.\n  var foundWillMountName = null;\n  var foundWillReceivePropsName = null;\n  var foundWillUpdateName = null;\n  if (typeof prototype.componentWillMount === 'function') {\n    foundWillMountName = 'componentWillMount';\n  } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n    foundWillMountName = 'UNSAFE_componentWillMount';\n  }\n  if (typeof prototype.componentWillReceiveProps === 'function') {\n    foundWillReceivePropsName = 'componentWillReceiveProps';\n  } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n    foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n  }\n  if (typeof prototype.componentWillUpdate === 'function') {\n    foundWillUpdateName = 'componentWillUpdate';\n  } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n    foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n  }\n  if (\n    foundWillMountName !== null ||\n    foundWillReceivePropsName !== null ||\n    foundWillUpdateName !== null\n  ) {\n    var componentName = Component.displayName || Component.name;\n    var newApiName =\n      typeof Component.getDerivedStateFromProps === 'function'\n        ? 'getDerivedStateFromProps()'\n        : 'getSnapshotBeforeUpdate()';\n\n    throw Error(\n      'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n        componentName +\n        ' uses ' +\n        newApiName +\n        ' but also contains the following legacy lifecycles:' +\n        (foundWillMountName !== null ? '\\n  ' + foundWillMountName : '') +\n        (foundWillReceivePropsName !== null\n          ? '\\n  ' + foundWillReceivePropsName\n          : '') +\n        (foundWillUpdateName !== null ? '\\n  ' + foundWillUpdateName : '') +\n        '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n        'https://fb.me/react-async-component-lifecycle-hooks'\n    );\n  }\n\n  // React <= 16.2 does not support static getDerivedStateFromProps.\n  // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n  // Newer versions of React will ignore these lifecycles if gDSFP exists.\n  if (typeof Component.getDerivedStateFromProps === 'function') {\n    prototype.componentWillMount = componentWillMount;\n    prototype.componentWillReceiveProps = componentWillReceiveProps;\n  }\n\n  // React <= 16.2 does not support getSnapshotBeforeUpdate.\n  // As a workaround, use cWU to invoke the new lifecycle.\n  // Newer versions of React will ignore that lifecycle if gSBU exists.\n  if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n    if (typeof prototype.componentDidUpdate !== 'function') {\n      throw new Error(\n        'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n      );\n    }\n\n    prototype.componentWillUpdate = componentWillUpdate;\n\n    var componentDidUpdate = prototype.componentDidUpdate;\n\n    prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n      prevProps,\n      prevState,\n      maybeSnapshot\n    ) {\n      // 16.3+ will not execute our will-update method;\n      // It will pass a snapshot value to did-update though.\n      // Older versions will require our polyfilled will-update value.\n      // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n      // Because for <= 15.x versions this might be a \"prevContext\" object.\n      // We also can't just check \"__reactInternalSnapshot\",\n      // Because get-snapshot might return a falsy value.\n      // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n      var snapshot = this.__reactInternalSnapshotFlag\n        ? this.__reactInternalSnapshot\n        : maybeSnapshot;\n\n      componentDidUpdate.call(this, prevProps, prevState, snapshot);\n    };\n  }\n\n  return Component;\n}\n\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/react-numeric-input/index.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/react-numeric-input/index.js ***!\n  \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n\tvar _react = __webpack_require__(1);\n\n\tvar _react2 = _interopRequireDefault(_react);\n\n\tvar _propTypes = __webpack_require__(2);\n\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n\tfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\tvar KEYCODE_UP = 38;\n\tvar KEYCODE_DOWN = 40;\n\tvar IS_BROWSER = typeof document != 'undefined';\n\tvar RE_NUMBER = /^[+-]?((\\.\\d+)|(\\d+(\\.\\d+)?))$/;\n\tvar RE_INCOMPLETE_NUMBER = /^([+-]|\\.0*|[+-]\\.0*|[+-]?\\d+\\.)?$/;\n\n\tfunction addClass(element, className) {\n\t    if (element.classList) {\n\t        return element.classList.add(className);\n\t    }\n\t    if (!element.className.search(new RegExp(\"\\\\b\" + className + \"\\\\b\"))) {\n\t        element.className = \" \" + className;\n\t    }\n\t}\n\n\tfunction removeClass(element, className) {\n\t    if (element.className) {\n\t        if (element.classList) {\n\t            return element.classList.remove(className);\n\t        }\n\n\t        element.className = element.className.replace(new RegExp(\"\\\\b\" + className + \"\\\\b\", \"g\"), \"\");\n\t    }\n\t}\n\n\tfunction access(object, prop, defaultValue) {\n\t    var result = object[prop];\n\t    if (typeof result == \"function\") {\n\t        for (var _len = arguments.length, args = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n\t            args[_key - 3] = arguments[_key];\n\t        }\n\n\t        result = result.apply(undefined, args);\n\t    }\n\t    return result === undefined ? defaultValue : result;\n\t}\n\n\tvar NumericInput = function (_Component) {\n\t    _inherits(NumericInput, _Component);\n\n\t    function NumericInput() {\n\t        var _ref;\n\n\t        _classCallCheck(this, NumericInput);\n\n\t        for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n\t            args[_key2] = arguments[_key2];\n\t        }\n\n\t        var _this = _possibleConstructorReturn(this, (_ref = NumericInput.__proto__ || Object.getPrototypeOf(NumericInput)).call.apply(_ref, [this].concat(args)));\n\n\t        _this._isStrict = !!_this.props.strict;\n\n\t        _this.state = _extends({\n\t            btnDownHover: false,\n\t            btnDownActive: false,\n\t            btnUpHover: false,\n\t            btnUpActive: false,\n\t            stringValue: \"\"\n\t        }, _this._propsToState(_this.props));\n\t        _this.stop = _this.stop.bind(_this);\n\t        _this.onTouchEnd = _this.onTouchEnd.bind(_this);\n\t        _this.refsInput = {};\n\t        _this.refsWrapper = {};\n\t        return _this;\n\t    }\n\n\t    _createClass(NumericInput, [{\n\t        key: '_propsToState',\n\t        value: function _propsToState(props) {\n\t            var out = {};\n\n\t            if (props.hasOwnProperty(\"value\")) {\n\t                out.stringValue = String(props.value || props.value === 0 ? props.value : '').trim();\n\n\t                out.value = out.stringValue !== '' ? this._parse(props.value) : null;\n\t            } else if (!this._isMounted && props.hasOwnProperty(\"defaultValue\")) {\n\t                out.stringValue = String(props.defaultValue || props.defaultValue === 0 ? props.defaultValue : '').trim();\n\n\t                out.value = props.defaultValue !== '' ? this._parse(props.defaultValue) : null;\n\t            }\n\n\t            return out;\n\t        }\n\t    }, {\n\t        key: 'componentWillReceiveProps',\n\t        value: function componentWillReceiveProps(props) {\n\t            var _this2 = this;\n\n\t            this._isStrict = !!props.strict;\n\t            var nextState = this._propsToState(props);\n\t            if (Object.keys(nextState).length) {\n\t                this._ignoreValueChange = true;\n\t                this.setState(nextState, function () {\n\t                    _this2._ignoreValueChange = false;\n\t                });\n\t            }\n\t        }\n\t    }, {\n\t        key: 'componentWillUpdate',\n\t        value: function componentWillUpdate() {\n\t            this.saveSelection();\n\t        }\n\t    }, {\n\t        key: 'componentDidUpdate',\n\t        value: function componentDidUpdate(prevProps, prevState) {\n\t            if (!this._ignoreValueChange && prevState.value !== this.state.value && (!isNaN(this.state.value) || this.state.value === null)) {\n\t                    this._invokeEventCallback(\"onChange\", this.state.value, this.refsInput.value, this.refsInput);\n\t                }\n\n\t            if (this._inputFocus) {\n\t                this.refsInput.focus();\n\n\t                if (this.state.selectionStart || this.state.selectionStart === 0) {\n\t                    this.refsInput.selectionStart = this.state.selectionStart;\n\t                }\n\n\t                if (this.state.selectionEnd || this.state.selectionEnd === 0) {\n\t                    this.refsInput.selectionEnd = this.state.selectionEnd;\n\t                }\n\t            }\n\n\t            this.checkValidity();\n\t        }\n\t    }, {\n\t        key: 'componentWillUnmount',\n\t        value: function componentWillUnmount() {\n\t            this._isMounted = false;\n\t            this.stop();\n\t        }\n\t    }, {\n\t        key: 'componentDidMount',\n\t        value: function componentDidMount() {\n\t            var _this3 = this;\n\n\t            this._isMounted = true;\n\t            this.refsInput.getValueAsNumber = function () {\n\t                return _this3.state.value || 0;\n\t            };\n\n\t            this.refsInput.setValue = function (value) {\n\t                _this3.setState({\n\t                    value: _this3._parse(value),\n\t                    stringValue: value\n\t                });\n\t            };\n\n\t            if (!this._inputFocus && IS_BROWSER && document.activeElement === this.refsInput) {\n\t                this._inputFocus = true;\n\t                this.refsInput.focus();\n\t                this._invokeEventCallback(\"onFocus\", {\n\t                    target: this.refsInput,\n\t                    type: \"focus\"\n\t                });\n\t            }\n\n\t            this.checkValidity();\n\t        }\n\t    }, {\n\t        key: 'saveSelection',\n\t        value: function saveSelection() {\n\t            this.state.selectionStart = this.refsInput.selectionStart;\n\t            this.state.selectionEnd = this.refsInput.selectionEnd;\n\t        }\n\t    }, {\n\t        key: 'checkValidity',\n\t        value: function checkValidity() {\n\t            var valid = void 0,\n\t                validationError = \"\";\n\n\t            var supportsValidation = !!this.refsInput.checkValidity;\n\n\t            var noValidate = !!(this.props.noValidate && this.props.noValidate != \"false\");\n\n\t            this.refsInput.noValidate = noValidate;\n\n\t            valid = noValidate || !supportsValidation;\n\n\t            if (valid) {\n\t                validationError = \"\";\n\t            } else {\n\t                if (this.refsInput.pattern === \"\") {\n\t                    this.refsInput.pattern = this.props.required ? \".+\" : \".*\";\n\t                }\n\n\t                if (supportsValidation) {\n\t                    this.refsInput.checkValidity();\n\t                    valid = this.refsInput.validity.valid;\n\n\t                    if (!valid) {\n\t                        validationError = this.refsInput.validationMessage;\n\t                    }\n\t                }\n\n\t                if (valid && supportsValidation && this.props.maxLength) {\n\t                    if (this.refsInput.value.length > this.props.maxLength) {\n\t                        validationError = \"This value is too long\";\n\t                    }\n\t                }\n\t            }\n\n\t            validationError = validationError || (valid ? \"\" : this.refsInput.validationMessage || \"Unknown Error\");\n\n\t            var validStateChanged = this._valid !== validationError;\n\t            this._valid = validationError;\n\t            if (validationError) {\n\t                addClass(this.refsWrapper, \"has-error\");\n\t                if (validStateChanged) {\n\t                    this._invokeEventCallback(\"onInvalid\", validationError, this.state.value, this.refsInput.value);\n\t                }\n\t            } else {\n\t                removeClass(this.refsWrapper, \"has-error\");\n\t                if (validStateChanged) {\n\t                    this._invokeEventCallback(\"onValid\", this.state.value, this.refsInput.value);\n\t                }\n\t            }\n\t        }\n\t    }, {\n\t        key: '_toNumber',\n\t        value: function _toNumber(x) {\n\t            var n = parseFloat(x);\n\t            if (isNaN(n) || !isFinite(n)) {\n\t                n = 0;\n\t            }\n\n\t            if (this._isStrict) {\n\t                var precision = access(this.props, \"precision\", null, this);\n\t                var q = Math.pow(10, precision === null ? 10 : precision);\n\t                var _min = +access(this.props, \"min\", NumericInput.defaultProps.min, this);\n\t                var _max = +access(this.props, \"max\", NumericInput.defaultProps.max, this);\n\t                n = Math.min(Math.max(n, _min), _max);\n\t                n = Math.round(n * q) / q;\n\t            }\n\n\t            return n;\n\t        }\n\t    }, {\n\t        key: '_parse',\n\t        value: function _parse(x) {\n\t            x = String(x);\n\t            if (typeof this.props.parse == 'function') {\n\t                return parseFloat(this.props.parse(x));\n\t            }\n\t            return parseFloat(x);\n\t        }\n\t    }, {\n\t        key: '_format',\n\t        value: function _format(n) {\n\t            var _n = this._toNumber(n);\n\t            var precision = access(this.props, \"precision\", null, this);\n\t            if (precision !== null) {\n\t                _n = n.toFixed(precision);\n\t            }\n\n\t            _n += \"\";\n\n\t            if (this.props.format) {\n\t                return this.props.format(_n);\n\t            }\n\n\t            return _n;\n\t        }\n\t    }, {\n\t        key: '_step',\n\t        value: function _step(n, callback) {\n\t            var _isStrict = this._isStrict;\n\t            this._isStrict = true;\n\n\t            var _step = +access(this.props, \"step\", NumericInput.defaultProps.step, this, n > 0 ? NumericInput.DIRECTION_UP : NumericInput.DIRECTION_DOWN);\n\n\t            var _n = this._toNumber((this.state.value || 0) + _step * n);\n\n\t            if (this.props.snap) {\n\t                _n = Math.round(_n / _step) * _step;\n\t            }\n\n\t            this._isStrict = _isStrict;\n\n\t            if (_n !== this.state.value) {\n\t                this.setState({ value: _n, stringValue: _n + \"\" }, callback);\n\t                return true;\n\t            }\n\n\t            return false;\n\t        }\n\t    }, {\n\t        key: '_onKeyDown',\n\t        value: function _onKeyDown() {\n\t            for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n\t                args[_key3] = arguments[_key3];\n\t            }\n\n\t            args[0].persist();\n\t            this._invokeEventCallback.apply(this, [\"onKeyDown\"].concat(args));\n\t            var e = args[0];\n\t            if (!e.isDefaultPrevented()) {\n\t                if (e.keyCode === KEYCODE_UP) {\n\t                    e.preventDefault();\n\t                    this._step(e.ctrlKey || e.metaKey ? 0.1 : e.shiftKey ? 10 : 1);\n\t                } else if (e.keyCode === KEYCODE_DOWN) {\n\t                    e.preventDefault();\n\t                    this._step(e.ctrlKey || e.metaKey ? -0.1 : e.shiftKey ? -10 : -1);\n\t                } else {\n\t                    var _value = this.refsInput.value,\n\t                        length = _value.length;\n\t                    if (e.keyCode === 8) {\n\t                        if (this.refsInput.selectionStart == this.refsInput.selectionEnd && this.refsInput.selectionEnd > 0 && _value.length && _value.charAt(this.refsInput.selectionEnd - 1) === \".\") {\n\t                            e.preventDefault();\n\t                            this.refsInput.selectionStart = this.refsInput.selectionEnd = this.refsInput.selectionEnd - 1;\n\t                        }\n\t                    } else if (e.keyCode === 46) {\n\t                        if (this.refsInput.selectionStart == this.refsInput.selectionEnd && this.refsInput.selectionEnd < length + 1 && _value.length && _value.charAt(this.refsInput.selectionEnd) === \".\") {\n\t                            e.preventDefault();\n\t                            this.refsInput.selectionStart = this.refsInput.selectionEnd = this.refsInput.selectionEnd + 1;\n\t                        }\n\t                    }\n\t                }\n\t            }\n\t        }\n\t    }, {\n\t        key: 'stop',\n\t        value: function stop() {\n\t            if (this._timer) {\n\t                clearTimeout(this._timer);\n\t            }\n\t        }\n\t    }, {\n\t        key: 'increase',\n\t        value: function increase() {\n\t            var _this4 = this;\n\n\t            var _recursive = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n\t            var callback = arguments[1];\n\n\t            this.stop();\n\t            this._step(1, callback);\n\t            var _max = +access(this.props, \"max\", NumericInput.defaultProps.max, this);\n\t            if (isNaN(this.state.value) || +this.state.value < _max) {\n\t                this._timer = setTimeout(function () {\n\t                    _this4.increase(true);\n\t                }, _recursive ? NumericInput.SPEED : NumericInput.DELAY);\n\t            }\n\t        }\n\t    }, {\n\t        key: 'decrease',\n\t        value: function decrease() {\n\t            var _this5 = this;\n\n\t            var _recursive = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n\t            var callback = arguments[1];\n\n\t            this.stop();\n\t            this._step(-1, callback);\n\t            var _min = +access(this.props, \"min\", NumericInput.defaultProps.min, this);\n\t            if (isNaN(this.state.value) || +this.state.value > _min) {\n\t                this._timer = setTimeout(function () {\n\t                    _this5.decrease(true);\n\t                }, _recursive ? NumericInput.SPEED : NumericInput.DELAY);\n\t            }\n\t        }\n\t    }, {\n\t        key: 'onMouseDown',\n\t        value: function onMouseDown(dir, callback) {\n\t            if (dir == 'down') {\n\t                this.decrease(false, callback);\n\t            } else if (dir == 'up') {\n\t                this.increase(false, callback);\n\t            }\n\t        }\n\t    }, {\n\t        key: 'onTouchStart',\n\t        value: function onTouchStart(dir, e) {\n\t            e.preventDefault();\n\t            if (dir == 'down') {\n\t                this.decrease();\n\t            } else if (dir == 'up') {\n\t                this.increase();\n\t            }\n\t        }\n\t    }, {\n\t        key: 'onTouchEnd',\n\t        value: function onTouchEnd(e) {\n\t            e.preventDefault();\n\t            this.stop();\n\t        }\n\t    }, {\n\t        key: '_invokeEventCallback',\n\t        value: function _invokeEventCallback(callbackName) {\n\t            if (typeof this.props[callbackName] == \"function\") {\n\t                var _props$callbackName;\n\n\t                for (var _len4 = arguments.length, args = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n\t                    args[_key4 - 1] = arguments[_key4];\n\t                }\n\n\t                (_props$callbackName = this.props[callbackName]).call.apply(_props$callbackName, [null].concat(args));\n\t            }\n\t        }\n\t    }, {\n\t        key: 'render',\n\t        value: function render() {\n\t            var _this6 = this;\n\n\t            var props = this.props;\n\t            var state = this.state;\n\t            var css = {};\n\n\t            var _props = this.props,\n\t                step = _props.step,\n\t                min = _props.min,\n\t                max = _props.max,\n\t                precision = _props.precision,\n\t                parse = _props.parse,\n\t                format = _props.format,\n\t                mobile = _props.mobile,\n\t                snap = _props.snap,\n\t                componentClass = _props.componentClass,\n\t                value = _props.value,\n\t                type = _props.type,\n\t                style = _props.style,\n\t                defaultValue = _props.defaultValue,\n\t                onInvalid = _props.onInvalid,\n\t                onValid = _props.onValid,\n\t                strict = _props.strict,\n\t                noStyle = _props.noStyle,\n\t                rest = _objectWithoutProperties(_props, ['step', 'min', 'max', 'precision', 'parse', 'format', 'mobile', 'snap', 'componentClass', 'value', 'type', 'style', 'defaultValue', 'onInvalid', 'onValid', 'strict', 'noStyle']);\n\n\t            noStyle = noStyle || style === false;\n\n\t            for (var x in NumericInput.style) {\n\t                css[x] = _extends({}, NumericInput.style[x], style ? style[x] || {} : {});\n\t            }\n\n\t            var hasFormControl = props.className && /\\bform-control\\b/.test(props.className);\n\n\t            if (mobile == 'auto') {\n\t                mobile = IS_BROWSER && 'ontouchstart' in document;\n\t            }\n\n\t            if (typeof mobile == \"function\") {\n\t                mobile = mobile.call(this);\n\t            }\n\t            mobile = !!mobile;\n\n\t            var attrs = {\n\t                wrap: {\n\t                    style: noStyle ? null : css.wrap,\n\t                    className: 'react-numeric-input',\n\t                    ref: function ref(e) {\n\t                        if (e != null && e != undefined) {\n\t                            _this6.refsWrapper = e;\n\t                        }\n\t                    },\n\t                    onMouseUp: undefined,\n\t                    onMouseLeave: undefined\n\t                },\n\t                input: _extends({\n\t                    ref: function ref(e) {\n\t                        if (e != null && e != undefined) {\n\t                            _this6.refsInput = e;\n\t                        }\n\t                    },\n\t                    type: 'text',\n\t                    style: noStyle ? null : _extends({}, css.input, !hasFormControl ? css['input:not(.form-control)'] : {}, this._inputFocus ? css['input:focus'] : {})\n\t                }, rest),\n\t                btnUp: {\n\t                    onMouseEnter: undefined,\n\t                    onMouseDown: undefined,\n\t                    onMouseUp: undefined,\n\t                    onMouseLeave: undefined,\n\t                    onTouchStart: undefined,\n\t                    onTouchEnd: undefined,\n\t                    style: noStyle ? null : _extends({}, css.btn, css.btnUp, props.disabled || props.readOnly ? css['btn:disabled'] : state.btnUpActive ? css['btn:active'] : state.btnUpHover ? css['btn:hover'] : {})\n\t                },\n\t                btnDown: {\n\t                    onMouseEnter: undefined,\n\t                    onMouseDown: undefined,\n\t                    onMouseUp: undefined,\n\t                    onMouseLeave: undefined,\n\t                    onTouchStart: undefined,\n\t                    onTouchEnd: undefined,\n\t                    style: noStyle ? null : _extends({}, css.btn, css.btnDown, props.disabled || props.readOnly ? css['btn:disabled'] : state.btnDownActive ? css['btn:active'] : state.btnDownHover ? css['btn:hover'] : {})\n\t                }\n\t            };\n\n\t            var stringValue = String(state.stringValue || (state.value || state.value === 0 ? state.value : \"\") || \"\");\n\n\t            var loose = !this._isStrict && (this._inputFocus || !this._isMounted);\n\n\t            if (loose && RE_INCOMPLETE_NUMBER.test(stringValue)) {\n\t                attrs.input.value = stringValue;\n\t            } else if (loose && stringValue && !RE_NUMBER.test(stringValue)) {\n\t                    attrs.input.value = stringValue;\n\t                } else if (state.value || state.value === 0) {\n\t                        attrs.input.value = this._format(state.value);\n\t                    } else {\n\t                            attrs.input.value = \"\";\n\t                        }\n\n\t            if (hasFormControl && !noStyle) {\n\t                _extends(attrs.wrap.style, css['wrap.hasFormControl']);\n\t            }\n\n\t            if (mobile && !noStyle) {\n\t                _extends(attrs.input.style, css['input.mobile']);\n\t                _extends(attrs.btnUp.style, css['btnUp.mobile']);\n\t                _extends(attrs.btnDown.style, css['btnDown.mobile']);\n\t            }\n\n\t            if (!props.disabled && !props.readOnly) {\n\t                _extends(attrs.wrap, {\n\t                    onMouseUp: this.stop,\n\t                    onMouseLeave: this.stop\n\t                });\n\n\t                _extends(attrs.btnUp, {\n\t                    onTouchStart: this.onTouchStart.bind(this, 'up'),\n\t                    onTouchEnd: this.onTouchEnd,\n\t                    onMouseEnter: function onMouseEnter() {\n\t                        _this6.setState({\n\t                            btnUpHover: true\n\t                        });\n\t                    },\n\t                    onMouseLeave: function onMouseLeave() {\n\t                        _this6.stop();\n\t                        _this6.setState({\n\t                            btnUpHover: false,\n\t                            btnUpActive: false\n\t                        });\n\t                    },\n\t                    onMouseUp: function onMouseUp() {\n\t                        _this6.setState({\n\t                            btnUpHover: true,\n\t                            btnUpActive: false\n\t                        });\n\t                    },\n\t                    onMouseDown: function onMouseDown() {\n\t                        for (var _len5 = arguments.length, args = Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n\t                            args[_key5] = arguments[_key5];\n\t                        }\n\n\t                        args[0].preventDefault();\n\t                        args[0].persist();\n\t                        _this6._inputFocus = true;\n\t                        _this6.setState({\n\t                            btnUpHover: true,\n\t                            btnUpActive: true\n\t                        }, function () {\n\t                            _this6._invokeEventCallback.apply(_this6, [\"onFocus\"].concat(args));\n\t                            _this6.onMouseDown('up');\n\t                        });\n\t                    }\n\t                });\n\n\t                _extends(attrs.btnDown, {\n\t                    onTouchStart: this.onTouchStart.bind(this, 'down'),\n\t                    onTouchEnd: this.onTouchEnd,\n\t                    onMouseEnter: function onMouseEnter() {\n\t                        _this6.setState({\n\t                            btnDownHover: true\n\t                        });\n\t                    },\n\t                    onMouseLeave: function onMouseLeave() {\n\t                        _this6.stop();\n\t                        _this6.setState({\n\t                            btnDownHover: false,\n\t                            btnDownActive: false\n\t                        });\n\t                    },\n\t                    onMouseUp: function onMouseUp() {\n\t                        _this6.setState({\n\t                            btnDownHover: true,\n\t                            btnDownActive: false\n\t                        });\n\t                    },\n\t                    onMouseDown: function onMouseDown() {\n\t                        for (var _len6 = arguments.length, args = Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n\t                            args[_key6] = arguments[_key6];\n\t                        }\n\n\t                        args[0].preventDefault();\n\t                        args[0].persist();\n\t                        _this6._inputFocus = true;\n\t                        _this6.setState({\n\t                            btnDownHover: true,\n\t                            btnDownActive: true\n\t                        }, function () {\n\t                            _this6._invokeEventCallback.apply(_this6, [\"onFocus\"].concat(args));\n\t                            _this6.onMouseDown('down');\n\t                        });\n\t                    }\n\t                });\n\n\t                _extends(attrs.input, {\n\t                    onChange: function onChange(e) {\n\t                        var original = e.target.value;\n\t                        var val = _this6._parse(original);\n\t                        if (isNaN(val)) {\n\t                            val = null;\n\t                        }\n\t                        _this6.setState({\n\t                            value: _this6._isStrict ? _this6._toNumber(val) : val,\n\t                            stringValue: original\n\t                        });\n\t                    },\n\t                    onKeyDown: this._onKeyDown.bind(this),\n\t                    onInput: function onInput() {\n\t                        for (var _len7 = arguments.length, args = Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n\t                            args[_key7] = arguments[_key7];\n\t                        }\n\n\t                        _this6.saveSelection();\n\t                        _this6._invokeEventCallback.apply(_this6, [\"onInput\"].concat(args));\n\t                    },\n\t                    onSelect: function onSelect() {\n\t                        for (var _len8 = arguments.length, args = Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n\t                            args[_key8] = arguments[_key8];\n\t                        }\n\n\t                        _this6.saveSelection();\n\t                        _this6._invokeEventCallback.apply(_this6, [\"onSelect\"].concat(args));\n\t                    },\n\t                    onFocus: function onFocus() {\n\t                        for (var _len9 = arguments.length, args = Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n\t                            args[_key9] = arguments[_key9];\n\t                        }\n\n\t                        args[0].persist();\n\t                        _this6._inputFocus = true;\n\t                        var val = _this6._parse(args[0].target.value);\n\t                        _this6.setState({\n\t                            value: val,\n\t                            stringValue: val || val === 0 ? val + \"\" : \"\"\n\t                        }, function () {\n\t                            _this6._invokeEventCallback.apply(_this6, [\"onFocus\"].concat(args));\n\t                        });\n\t                    },\n\t                    onBlur: function onBlur() {\n\t                        for (var _len10 = arguments.length, args = Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\n\t                            args[_key10] = arguments[_key10];\n\t                        }\n\n\t                        var _isStrict = _this6._isStrict;\n\t                        _this6._isStrict = true;\n\t                        args[0].persist();\n\t                        _this6._inputFocus = false;\n\t                        var val = _this6._parse(args[0].target.value);\n\t                        _this6.setState({\n\t                            value: val\n\t                        }, function () {\n\t                            _this6._invokeEventCallback.apply(_this6, [\"onBlur\"].concat(args));\n\t                            _this6._isStrict = _isStrict;\n\t                        });\n\t                    }\n\t                });\n\t            } else {\n\t                if (!noStyle && props.disabled) {\n\t                    _extends(attrs.input.style, css['input:disabled']);\n\t                }\n\t            }\n\n\t            var InputTag = componentClass || 'input';\n\n\t            if (mobile) {\n\t                return _react2.default.createElement(\n\t                    'span',\n\t                    attrs.wrap,\n\t                    _react2.default.createElement(InputTag, attrs.input),\n\t                    _react2.default.createElement(\n\t                        'b',\n\t                        attrs.btnUp,\n\t                        _react2.default.createElement('i', { style: noStyle ? null : css.minus }),\n\t                        _react2.default.createElement('i', { style: noStyle ? null : css.plus })\n\t                    ),\n\t                    _react2.default.createElement(\n\t                        'b',\n\t                        attrs.btnDown,\n\t                        _react2.default.createElement('i', { style: noStyle ? null : css.minus })\n\t                    )\n\t                );\n\t            }\n\n\t            return _react2.default.createElement(\n\t                'span',\n\t                attrs.wrap,\n\t                _react2.default.createElement(InputTag, attrs.input),\n\t                _react2.default.createElement(\n\t                    'b',\n\t                    attrs.btnUp,\n\t                    _react2.default.createElement('i', { style: noStyle ? null : css.arrowUp })\n\t                ),\n\t                _react2.default.createElement(\n\t                    'b',\n\t                    attrs.btnDown,\n\t                    _react2.default.createElement('i', { style: noStyle ? null : css.arrowDown })\n\t                )\n\t            );\n\t        }\n\t    }]);\n\n\t    return NumericInput;\n\t}(_react.Component);\n\n\tNumericInput.propTypes = {\n\t    step: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.func]),\n\t    min: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.func]),\n\t    max: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.func]),\n\t    precision: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.func]),\n\t    maxLength: _propTypes2.default.number,\n\t    parse: _propTypes2.default.func,\n\t    format: _propTypes2.default.func,\n\t    className: _propTypes2.default.string,\n\t    disabled: _propTypes2.default.bool,\n\t    readOnly: _propTypes2.default.bool,\n\t    required: _propTypes2.default.bool,\n\t    snap: _propTypes2.default.bool,\n\t    noValidate: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.string]),\n\t    style: _propTypes2.default.oneOfType([_propTypes2.default.object, _propTypes2.default.bool]),\n\t    noStyle: _propTypes2.default.bool,\n\t    type: _propTypes2.default.string,\n\t    pattern: _propTypes2.default.string,\n\t    onFocus: _propTypes2.default.func,\n\t    onBlur: _propTypes2.default.func,\n\t    onKeyDown: _propTypes2.default.func,\n\t    onChange: _propTypes2.default.func,\n\t    onInvalid: _propTypes2.default.func,\n\t    onValid: _propTypes2.default.func,\n\t    onInput: _propTypes2.default.func,\n\t    onSelect: _propTypes2.default.func,\n\t    size: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]),\n\t    value: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]),\n\t    defaultValue: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]),\n\t    strict: _propTypes2.default.bool,\n\t    componentClass: _propTypes2.default.string,\n\t    mobile: function mobile(props, propName) {\n\t        var prop = props[propName];\n\t        if (prop !== true && prop !== false && prop !== 'auto' && typeof prop != 'function') {\n\t            return new Error('The \"mobile\" prop must be true, false, \"auto\" or a function');\n\t        }\n\t    }\n\t};\n\tNumericInput.defaultProps = {\n\t    step: 1,\n\t    min: Number.MIN_SAFE_INTEGER || -9007199254740991,\n\t    max: Number.MAX_SAFE_INTEGER || 9007199254740991,\n\t    precision: null,\n\t    parse: null,\n\t    format: null,\n\t    mobile: 'auto',\n\t    strict: false,\n\t    componentClass: \"input\",\n\t    style: {}\n\t};\n\tNumericInput.style = {\n\t    wrap: {\n\t        position: 'relative',\n\t        display: 'inline-block'\n\t    },\n\n\t    'wrap.hasFormControl': {\n\t        display: 'block'\n\t    },\n\n\t    arrowUp: {\n\t        position: 'absolute',\n\t        top: '50%',\n\t        left: '50%',\n\t        width: 0,\n\t        height: 0,\n\t        borderWidth: '0 0.6ex 0.6ex 0.6ex',\n\t        borderColor: 'transparent transparent rgba(0, 0, 0, 0.7)',\n\t        borderStyle: 'solid',\n\t        margin: '-0.3ex 0 0 -0.56ex'\n\t    },\n\n\t    arrowDown: {\n\t        position: 'absolute',\n\t        top: '50%',\n\t        left: '50%',\n\t        width: 0,\n\t        height: 0,\n\t        borderWidth: '0.6ex 0.6ex 0 0.6ex',\n\t        borderColor: 'rgba(0, 0, 0, 0.7) transparent transparent',\n\t        borderStyle: 'solid',\n\t        margin: '-0.3ex 0 0 -0.56ex'\n\t    },\n\n\t    plus: {\n\t        position: 'absolute',\n\t        top: '50%',\n\t        left: '50%',\n\t        width: 2,\n\t        height: 10,\n\t        background: 'rgba(0,0,0,.7)',\n\t        margin: '-5px 0 0 -1px'\n\t    },\n\n\t    minus: {\n\t        position: 'absolute',\n\t        top: '50%',\n\t        left: '50%',\n\t        width: 10,\n\t        height: 2,\n\t        background: 'rgba(0,0,0,.7)',\n\t        margin: '-1px 0 0 -5px'\n\t    },\n\n\t    btn: {\n\t        position: 'absolute',\n\t        right: 2,\n\t        width: '2.26ex',\n\t        borderColor: 'rgba(0,0,0,.1)',\n\t        borderStyle: 'solid',\n\t        textAlign: 'center',\n\t        cursor: 'default',\n\t        transition: 'all 0.1s',\n\t        background: 'rgba(0,0,0,.1)',\n\t        boxShadow: '-1px -1px 3px rgba(0,0,0,.1) inset,' + '1px 1px 3px rgba(255,255,255,.7) inset'\n\t    },\n\n\t    btnUp: {\n\t        top: 2,\n\t        bottom: '50%',\n\t        borderRadius: '2px 2px 0 0',\n\t        borderWidth: '1px 1px 0 1px'\n\t    },\n\n\t    'btnUp.mobile': {\n\t        width: '3.3ex',\n\t        bottom: 2,\n\t        boxShadow: 'none',\n\t        borderRadius: 2,\n\t        borderWidth: 1\n\t    },\n\n\t    btnDown: {\n\t        top: '50%',\n\t        bottom: 2,\n\t        borderRadius: '0 0 2px 2px',\n\t        borderWidth: '0 1px 1px 1px'\n\t    },\n\n\t    'btnDown.mobile': {\n\t        width: '3.3ex',\n\t        bottom: 2,\n\t        left: 2,\n\t        top: 2,\n\t        right: 'auto',\n\t        boxShadow: 'none',\n\t        borderRadius: 2,\n\t        borderWidth: 1\n\t    },\n\n\t    'btn:hover': {\n\t        background: 'rgba(0,0,0,.2)'\n\t    },\n\n\t    'btn:active': {\n\t        background: 'rgba(0,0,0,.3)',\n\t        boxShadow: '0 1px 3px rgba(0,0,0,.2) inset,' + '-1px -1px 4px rgba(255,255,255,.5) inset'\n\t    },\n\n\t    'btn:disabled': {\n\t        opacity: 0.5,\n\t        boxShadow: 'none',\n\t        cursor: 'not-allowed'\n\t    },\n\n\t    input: {\n\t        paddingRight: '3ex',\n\t        boxSizing: 'border-box',\n\t        fontSize: 'inherit'\n\t    },\n\n\t    'input:not(.form-control)': {\n\t        border: '1px solid #ccc',\n\t        borderRadius: 2,\n\t        paddingLeft: 4,\n\t        display: 'block',\n\t        WebkitAppearance: 'none',\n\t        lineHeight: 'normal'\n\t    },\n\n\t    'input.mobile': {\n\t        paddingLeft: ' 3.4ex',\n\t        paddingRight: '3.4ex',\n\t        textAlign: 'center'\n\t    },\n\n\t    'input:focus': {},\n\n\t    'input:disabled': {\n\t        color: 'rgba(0, 0, 0, 0.3)',\n\t        textShadow: '0 1px 0 rgba(255, 255, 255, 0.8)'\n\t    }\n\t};\n\tNumericInput.SPEED = 50;\n\tNumericInput.DELAY = 500;\n\tNumericInput.DIRECTION_UP = \"up\";\n\tNumericInput.DIRECTION_DOWN = \"down\";\n\n\n\tmodule.exports = NumericInput;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n\tmodule.exports = __webpack_require__(/*! react */ \"react\");\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\n\tmodule.exports = __webpack_require__(/*! prop-types */ \"prop-types\");\n\n/***/ })\n/******/ ]);\n\n/***/ }),\n\n/***/ \"./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js\":\n/*!*************************************************************************!*\\\n  !*** ./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js ***!\n  \\*************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n    if (typeof Map !== 'undefined') {\r\n        return Map;\r\n    }\r\n    /**\r\n     * Returns index in provided array that matches the specified key.\r\n     *\r\n     * @param {Array<Array>} arr\r\n     * @param {*} key\r\n     * @returns {number}\r\n     */\r\n    function getIndex(arr, key) {\r\n        var result = -1;\r\n        arr.some(function (entry, index) {\r\n            if (entry[0] === key) {\r\n                result = index;\r\n                return true;\r\n            }\r\n            return false;\r\n        });\r\n        return result;\r\n    }\r\n    return /** @class */ (function () {\r\n        function class_1() {\r\n            this.__entries__ = [];\r\n        }\r\n        Object.defineProperty(class_1.prototype, \"size\", {\r\n            /**\r\n             * @returns {boolean}\r\n             */\r\n            get: function () {\r\n                return this.__entries__.length;\r\n            },\r\n            enumerable: true,\r\n            configurable: true\r\n        });\r\n        /**\r\n         * @param {*} key\r\n         * @returns {*}\r\n         */\r\n        class_1.prototype.get = function (key) {\r\n            var index = getIndex(this.__entries__, key);\r\n            var entry = this.__entries__[index];\r\n            return entry && entry[1];\r\n        };\r\n        /**\r\n         * @param {*} key\r\n         * @param {*} value\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.set = function (key, value) {\r\n            var index = getIndex(this.__entries__, key);\r\n            if (~index) {\r\n                this.__entries__[index][1] = value;\r\n            }\r\n            else {\r\n                this.__entries__.push([key, value]);\r\n            }\r\n        };\r\n        /**\r\n         * @param {*} key\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.delete = function (key) {\r\n            var entries = this.__entries__;\r\n            var index = getIndex(entries, key);\r\n            if (~index) {\r\n                entries.splice(index, 1);\r\n            }\r\n        };\r\n        /**\r\n         * @param {*} key\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.has = function (key) {\r\n            return !!~getIndex(this.__entries__, key);\r\n        };\r\n        /**\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.clear = function () {\r\n            this.__entries__.splice(0);\r\n        };\r\n        /**\r\n         * @param {Function} callback\r\n         * @param {*} [ctx=null]\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.forEach = function (callback, ctx) {\r\n            if (ctx === void 0) { ctx = null; }\r\n            for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n                var entry = _a[_i];\r\n                callback.call(ctx, entry[1], entry[0]);\r\n            }\r\n        };\r\n        return class_1;\r\n    }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n    if (typeof global !== 'undefined' && global.Math === Math) {\r\n        return global;\r\n    }\r\n    if (typeof self !== 'undefined' && self.Math === Math) {\r\n        return self;\r\n    }\r\n    if (typeof window !== 'undefined' && window.Math === Math) {\r\n        return window;\r\n    }\r\n    // eslint-disable-next-line no-new-func\r\n    return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n    if (typeof requestAnimationFrame === 'function') {\r\n        // It's required to use a bounded function because IE sometimes throws\r\n        // an \"Invalid calling object\" error if rAF is invoked without the global\r\n        // object on the left hand side.\r\n        return requestAnimationFrame.bind(global$1);\r\n    }\r\n    return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n    var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n    /**\r\n     * Invokes the original callback function and schedules new invocation if\r\n     * the \"proxy\" was called during current request.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    function resolvePending() {\r\n        if (leadingCall) {\r\n            leadingCall = false;\r\n            callback();\r\n        }\r\n        if (trailingCall) {\r\n            proxy();\r\n        }\r\n    }\r\n    /**\r\n     * Callback invoked after the specified delay. It will further postpone\r\n     * invocation of the original function delegating it to the\r\n     * requestAnimationFrame.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    function timeoutCallback() {\r\n        requestAnimationFrame$1(resolvePending);\r\n    }\r\n    /**\r\n     * Schedules invocation of the original function.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    function proxy() {\r\n        var timeStamp = Date.now();\r\n        if (leadingCall) {\r\n            // Reject immediately following calls.\r\n            if (timeStamp - lastCallTime < trailingTimeout) {\r\n                return;\r\n            }\r\n            // Schedule new call to be in invoked when the pending one is resolved.\r\n            // This is important for \"transitions\" which never actually start\r\n            // immediately so there is a chance that we might miss one if change\r\n            // happens amids the pending invocation.\r\n            trailingCall = true;\r\n        }\r\n        else {\r\n            leadingCall = true;\r\n            trailingCall = false;\r\n            setTimeout(timeoutCallback, delay);\r\n        }\r\n        lastCallTime = timeStamp;\r\n    }\r\n    return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n    /**\r\n     * Creates a new instance of ResizeObserverController.\r\n     *\r\n     * @private\r\n     */\r\n    function ResizeObserverController() {\r\n        /**\r\n         * Indicates whether DOM listeners have been added.\r\n         *\r\n         * @private {boolean}\r\n         */\r\n        this.connected_ = false;\r\n        /**\r\n         * Tells that controller has subscribed for Mutation Events.\r\n         *\r\n         * @private {boolean}\r\n         */\r\n        this.mutationEventsAdded_ = false;\r\n        /**\r\n         * Keeps reference to the instance of MutationObserver.\r\n         *\r\n         * @private {MutationObserver}\r\n         */\r\n        this.mutationsObserver_ = null;\r\n        /**\r\n         * A list of connected observers.\r\n         *\r\n         * @private {Array<ResizeObserverSPI>}\r\n         */\r\n        this.observers_ = [];\r\n        this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n        this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n    }\r\n    /**\r\n     * Adds observer to observers list.\r\n     *\r\n     * @param {ResizeObserverSPI} observer - Observer to be added.\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.addObserver = function (observer) {\r\n        if (!~this.observers_.indexOf(observer)) {\r\n            this.observers_.push(observer);\r\n        }\r\n        // Add listeners if they haven't been added yet.\r\n        if (!this.connected_) {\r\n            this.connect_();\r\n        }\r\n    };\r\n    /**\r\n     * Removes observer from observers list.\r\n     *\r\n     * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.removeObserver = function (observer) {\r\n        var observers = this.observers_;\r\n        var index = observers.indexOf(observer);\r\n        // Remove observer if it's present in registry.\r\n        if (~index) {\r\n            observers.splice(index, 1);\r\n        }\r\n        // Remove listeners if controller has no connected observers.\r\n        if (!observers.length && this.connected_) {\r\n            this.disconnect_();\r\n        }\r\n    };\r\n    /**\r\n     * Invokes the update of observers. It will continue running updates insofar\r\n     * it detects changes.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.refresh = function () {\r\n        var changesDetected = this.updateObservers_();\r\n        // Continue running updates if changes have been detected as there might\r\n        // be future ones caused by CSS transitions.\r\n        if (changesDetected) {\r\n            this.refresh();\r\n        }\r\n    };\r\n    /**\r\n     * Updates every observer from observers list and notifies them of queued\r\n     * entries.\r\n     *\r\n     * @private\r\n     * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n     *      dimensions of it's elements.\r\n     */\r\n    ResizeObserverController.prototype.updateObservers_ = function () {\r\n        // Collect observers that have active observations.\r\n        var activeObservers = this.observers_.filter(function (observer) {\r\n            return observer.gatherActive(), observer.hasActive();\r\n        });\r\n        // Deliver notifications in a separate cycle in order to avoid any\r\n        // collisions between observers, e.g. when multiple instances of\r\n        // ResizeObserver are tracking the same element and the callback of one\r\n        // of them changes content dimensions of the observed target. Sometimes\r\n        // this may result in notifications being blocked for the rest of observers.\r\n        activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n        return activeObservers.length > 0;\r\n    };\r\n    /**\r\n     * Initializes DOM listeners.\r\n     *\r\n     * @private\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.connect_ = function () {\r\n        // Do nothing if running in a non-browser environment or if listeners\r\n        // have been already added.\r\n        if (!isBrowser || this.connected_) {\r\n            return;\r\n        }\r\n        // Subscription to the \"Transitionend\" event is used as a workaround for\r\n        // delayed transitions. This way it's possible to capture at least the\r\n        // final state of an element.\r\n        document.addEventListener('transitionend', this.onTransitionEnd_);\r\n        window.addEventListener('resize', this.refresh);\r\n        if (mutationObserverSupported) {\r\n            this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n            this.mutationsObserver_.observe(document, {\r\n                attributes: true,\r\n                childList: true,\r\n                characterData: true,\r\n                subtree: true\r\n            });\r\n        }\r\n        else {\r\n            document.addEventListener('DOMSubtreeModified', this.refresh);\r\n            this.mutationEventsAdded_ = true;\r\n        }\r\n        this.connected_ = true;\r\n    };\r\n    /**\r\n     * Removes DOM listeners.\r\n     *\r\n     * @private\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.disconnect_ = function () {\r\n        // Do nothing if running in a non-browser environment or if listeners\r\n        // have been already removed.\r\n        if (!isBrowser || !this.connected_) {\r\n            return;\r\n        }\r\n        document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n        window.removeEventListener('resize', this.refresh);\r\n        if (this.mutationsObserver_) {\r\n            this.mutationsObserver_.disconnect();\r\n        }\r\n        if (this.mutationEventsAdded_) {\r\n            document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n        }\r\n        this.mutationsObserver_ = null;\r\n        this.mutationEventsAdded_ = false;\r\n        this.connected_ = false;\r\n    };\r\n    /**\r\n     * \"Transitionend\" event handler.\r\n     *\r\n     * @private\r\n     * @param {TransitionEvent} event\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n        var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n        // Detect whether transition may affect dimensions of an element.\r\n        var isReflowProperty = transitionKeys.some(function (key) {\r\n            return !!~propertyName.indexOf(key);\r\n        });\r\n        if (isReflowProperty) {\r\n            this.refresh();\r\n        }\r\n    };\r\n    /**\r\n     * Returns instance of the ResizeObserverController.\r\n     *\r\n     * @returns {ResizeObserverController}\r\n     */\r\n    ResizeObserverController.getInstance = function () {\r\n        if (!this.instance_) {\r\n            this.instance_ = new ResizeObserverController();\r\n        }\r\n        return this.instance_;\r\n    };\r\n    /**\r\n     * Holds reference to the controller's instance.\r\n     *\r\n     * @private {ResizeObserverController}\r\n     */\r\n    ResizeObserverController.instance_ = null;\r\n    return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n    for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n        var key = _a[_i];\r\n        Object.defineProperty(target, key, {\r\n            value: props[key],\r\n            enumerable: false,\r\n            writable: false,\r\n            configurable: true\r\n        });\r\n    }\r\n    return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n    // Assume that the element is an instance of Node, which means that it\r\n    // has the \"ownerDocument\" property from which we can retrieve a\r\n    // corresponding global object.\r\n    var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n    // Return the local global object if it's not possible extract one from\r\n    // provided element.\r\n    return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n    return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n    var positions = [];\r\n    for (var _i = 1; _i < arguments.length; _i++) {\r\n        positions[_i - 1] = arguments[_i];\r\n    }\r\n    return positions.reduce(function (size, position) {\r\n        var value = styles['border-' + position + '-width'];\r\n        return size + toFloat(value);\r\n    }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n    var positions = ['top', 'right', 'bottom', 'left'];\r\n    var paddings = {};\r\n    for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n        var position = positions_1[_i];\r\n        var value = styles['padding-' + position];\r\n        paddings[position] = toFloat(value);\r\n    }\r\n    return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n *      to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n    var bbox = target.getBBox();\r\n    return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n    // Client width & height properties can't be\r\n    // used exclusively as they provide rounded values.\r\n    var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n    // By this condition we can catch all non-replaced inline, hidden and\r\n    // detached elements. Though elements with width & height properties less\r\n    // than 0.5 will be discarded as well.\r\n    //\r\n    // Without it we would need to implement separate methods for each of\r\n    // those cases and it's not possible to perform a precise and performance\r\n    // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n    // gives wrong results for elements with width & height less than 0.5.\r\n    if (!clientWidth && !clientHeight) {\r\n        return emptyRect;\r\n    }\r\n    var styles = getWindowOf(target).getComputedStyle(target);\r\n    var paddings = getPaddings(styles);\r\n    var horizPad = paddings.left + paddings.right;\r\n    var vertPad = paddings.top + paddings.bottom;\r\n    // Computed styles of width & height are being used because they are the\r\n    // only dimensions available to JS that contain non-rounded values. It could\r\n    // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n    // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n    var width = toFloat(styles.width), height = toFloat(styles.height);\r\n    // Width & height include paddings and borders when the 'border-box' box\r\n    // model is applied (except for IE).\r\n    if (styles.boxSizing === 'border-box') {\r\n        // Following conditions are required to handle Internet Explorer which\r\n        // doesn't include paddings and borders to computed CSS dimensions.\r\n        //\r\n        // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n        // properties then it's either IE, and thus we don't need to subtract\r\n        // anything, or an element merely doesn't have paddings/borders styles.\r\n        if (Math.round(width + horizPad) !== clientWidth) {\r\n            width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n        }\r\n        if (Math.round(height + vertPad) !== clientHeight) {\r\n            height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n        }\r\n    }\r\n    // Following steps can't be applied to the document's root element as its\r\n    // client[Width/Height] properties represent viewport area of the window.\r\n    // Besides, it's as well not necessary as the <html> itself neither has\r\n    // rendered scroll bars nor it can be clipped.\r\n    if (!isDocumentElement(target)) {\r\n        // In some browsers (only in Firefox, actually) CSS width & height\r\n        // include scroll bars size which can be removed at this step as scroll\r\n        // bars are the only difference between rounded dimensions + paddings\r\n        // and \"client\" properties, though that is not always true in Chrome.\r\n        var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n        var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n        // Chrome has a rather weird rounding of \"client\" properties.\r\n        // E.g. for an element with content width of 314.2px it sometimes gives\r\n        // the client width of 315px and for the width of 314.7px it may give\r\n        // 314px. And it doesn't happen all the time. So just ignore this delta\r\n        // as a non-relevant.\r\n        if (Math.abs(vertScrollbar) !== 1) {\r\n            width -= vertScrollbar;\r\n        }\r\n        if (Math.abs(horizScrollbar) !== 1) {\r\n            height -= horizScrollbar;\r\n        }\r\n    }\r\n    return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n    // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n    // interface.\r\n    if (typeof SVGGraphicsElement !== 'undefined') {\r\n        return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n    }\r\n    // If it's so, then check that element is at least an instance of the\r\n    // SVGElement and that it has the \"getBBox\" method.\r\n    // eslint-disable-next-line no-extra-parens\r\n    return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n        typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element (<html>).\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n    return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n    if (!isBrowser) {\r\n        return emptyRect;\r\n    }\r\n    if (isSVGGraphicsElement(target)) {\r\n        return getSVGContentRect(target);\r\n    }\r\n    return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n    var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n    // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n    var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n    var rect = Object.create(Constr.prototype);\r\n    // Rectangle's properties are not writable and non-enumerable.\r\n    defineConfigurable(rect, {\r\n        x: x, y: y, width: width, height: height,\r\n        top: y,\r\n        right: x + width,\r\n        bottom: height + y,\r\n        left: x\r\n    });\r\n    return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n    return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n    /**\r\n     * Creates an instance of ResizeObservation.\r\n     *\r\n     * @param {Element} target - Element to be observed.\r\n     */\r\n    function ResizeObservation(target) {\r\n        /**\r\n         * Broadcasted width of content rectangle.\r\n         *\r\n         * @type {number}\r\n         */\r\n        this.broadcastWidth = 0;\r\n        /**\r\n         * Broadcasted height of content rectangle.\r\n         *\r\n         * @type {number}\r\n         */\r\n        this.broadcastHeight = 0;\r\n        /**\r\n         * Reference to the last observed content rectangle.\r\n         *\r\n         * @private {DOMRectInit}\r\n         */\r\n        this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n        this.target = target;\r\n    }\r\n    /**\r\n     * Updates content rectangle and tells whether it's width or height properties\r\n     * have changed since the last broadcast.\r\n     *\r\n     * @returns {boolean}\r\n     */\r\n    ResizeObservation.prototype.isActive = function () {\r\n        var rect = getContentRect(this.target);\r\n        this.contentRect_ = rect;\r\n        return (rect.width !== this.broadcastWidth ||\r\n            rect.height !== this.broadcastHeight);\r\n    };\r\n    /**\r\n     * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n     * from the corresponding properties of the last observed content rectangle.\r\n     *\r\n     * @returns {DOMRectInit} Last observed content rectangle.\r\n     */\r\n    ResizeObservation.prototype.broadcastRect = function () {\r\n        var rect = this.contentRect_;\r\n        this.broadcastWidth = rect.width;\r\n        this.broadcastHeight = rect.height;\r\n        return rect;\r\n    };\r\n    return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n    /**\r\n     * Creates an instance of ResizeObserverEntry.\r\n     *\r\n     * @param {Element} target - Element that is being observed.\r\n     * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n     */\r\n    function ResizeObserverEntry(target, rectInit) {\r\n        var contentRect = createReadOnlyRect(rectInit);\r\n        // According to the specification following properties are not writable\r\n        // and are also not enumerable in the native implementation.\r\n        //\r\n        // Property accessors are not being used as they'd require to define a\r\n        // private WeakMap storage which may cause memory leaks in browsers that\r\n        // don't support this type of collections.\r\n        defineConfigurable(this, { target: target, contentRect: contentRect });\r\n    }\r\n    return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n    /**\r\n     * Creates a new instance of ResizeObserver.\r\n     *\r\n     * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n     *      when one of the observed elements changes it's content dimensions.\r\n     * @param {ResizeObserverController} controller - Controller instance which\r\n     *      is responsible for the updates of observer.\r\n     * @param {ResizeObserver} callbackCtx - Reference to the public\r\n     *      ResizeObserver instance which will be passed to callback function.\r\n     */\r\n    function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n        /**\r\n         * Collection of resize observations that have detected changes in dimensions\r\n         * of elements.\r\n         *\r\n         * @private {Array<ResizeObservation>}\r\n         */\r\n        this.activeObservations_ = [];\r\n        /**\r\n         * Registry of the ResizeObservation instances.\r\n         *\r\n         * @private {Map<Element, ResizeObservation>}\r\n         */\r\n        this.observations_ = new MapShim();\r\n        if (typeof callback !== 'function') {\r\n            throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n        }\r\n        this.callback_ = callback;\r\n        this.controller_ = controller;\r\n        this.callbackCtx_ = callbackCtx;\r\n    }\r\n    /**\r\n     * Starts observing provided element.\r\n     *\r\n     * @param {Element} target - Element to be observed.\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.observe = function (target) {\r\n        if (!arguments.length) {\r\n            throw new TypeError('1 argument required, but only 0 present.');\r\n        }\r\n        // Do nothing if current environment doesn't have the Element interface.\r\n        if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n            return;\r\n        }\r\n        if (!(target instanceof getWindowOf(target).Element)) {\r\n            throw new TypeError('parameter 1 is not of type \"Element\".');\r\n        }\r\n        var observations = this.observations_;\r\n        // Do nothing if element is already being observed.\r\n        if (observations.has(target)) {\r\n            return;\r\n        }\r\n        observations.set(target, new ResizeObservation(target));\r\n        this.controller_.addObserver(this);\r\n        // Force the update of observations.\r\n        this.controller_.refresh();\r\n    };\r\n    /**\r\n     * Stops observing provided element.\r\n     *\r\n     * @param {Element} target - Element to stop observing.\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.unobserve = function (target) {\r\n        if (!arguments.length) {\r\n            throw new TypeError('1 argument required, but only 0 present.');\r\n        }\r\n        // Do nothing if current environment doesn't have the Element interface.\r\n        if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n            return;\r\n        }\r\n        if (!(target instanceof getWindowOf(target).Element)) {\r\n            throw new TypeError('parameter 1 is not of type \"Element\".');\r\n        }\r\n        var observations = this.observations_;\r\n        // Do nothing if element is not being observed.\r\n        if (!observations.has(target)) {\r\n            return;\r\n        }\r\n        observations.delete(target);\r\n        if (!observations.size) {\r\n            this.controller_.removeObserver(this);\r\n        }\r\n    };\r\n    /**\r\n     * Stops observing all elements.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.disconnect = function () {\r\n        this.clearActive();\r\n        this.observations_.clear();\r\n        this.controller_.removeObserver(this);\r\n    };\r\n    /**\r\n     * Collects observation instances the associated element of which has changed\r\n     * it's content rectangle.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.gatherActive = function () {\r\n        var _this = this;\r\n        this.clearActive();\r\n        this.observations_.forEach(function (observation) {\r\n            if (observation.isActive()) {\r\n                _this.activeObservations_.push(observation);\r\n            }\r\n        });\r\n    };\r\n    /**\r\n     * Invokes initial callback function with a list of ResizeObserverEntry\r\n     * instances collected from active resize observations.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.broadcastActive = function () {\r\n        // Do nothing if observer doesn't have active observations.\r\n        if (!this.hasActive()) {\r\n            return;\r\n        }\r\n        var ctx = this.callbackCtx_;\r\n        // Create ResizeObserverEntry instance for every active observation.\r\n        var entries = this.activeObservations_.map(function (observation) {\r\n            return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n        });\r\n        this.callback_.call(ctx, entries, ctx);\r\n        this.clearActive();\r\n    };\r\n    /**\r\n     * Clears the collection of active observations.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.clearActive = function () {\r\n        this.activeObservations_.splice(0);\r\n    };\r\n    /**\r\n     * Tells whether observer has active observations.\r\n     *\r\n     * @returns {boolean}\r\n     */\r\n    ResizeObserverSPI.prototype.hasActive = function () {\r\n        return this.activeObservations_.length > 0;\r\n    };\r\n    return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n    /**\r\n     * Creates a new instance of ResizeObserver.\r\n     *\r\n     * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n     *      dimensions of the observed elements change.\r\n     */\r\n    function ResizeObserver(callback) {\r\n        if (!(this instanceof ResizeObserver)) {\r\n            throw new TypeError('Cannot call a class as a function.');\r\n        }\r\n        if (!arguments.length) {\r\n            throw new TypeError('1 argument required, but only 0 present.');\r\n        }\r\n        var controller = ResizeObserverController.getInstance();\r\n        var observer = new ResizeObserverSPI(callback, controller, this);\r\n        observers.set(this, observer);\r\n    }\r\n    return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n    'observe',\r\n    'unobserve',\r\n    'disconnect'\r\n].forEach(function (method) {\r\n    ResizeObserver.prototype[method] = function () {\r\n        var _a;\r\n        return (_a = observers.get(this))[method].apply(_a, arguments);\r\n    };\r\n});\n\nvar index = (function () {\r\n    // Export existing implementation if available.\r\n    if (typeof global$1.ResizeObserver !== 'undefined') {\r\n        return global$1.ResizeObserver;\r\n    }\r\n    return ResizeObserver;\r\n})();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (index);\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n/***/ }),\n\n/***/ \"./node_modules/shallowequal/index.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/shallowequal/index.js ***!\n  \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n  var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n  if (ret !== void 0) {\n    return !!ret;\n  }\n\n  if (objA === objB) {\n    return true;\n  }\n\n  if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n    return false;\n  }\n\n  var keysA = Object.keys(objA);\n  var keysB = Object.keys(objB);\n\n  if (keysA.length !== keysB.length) {\n    return false;\n  }\n\n  var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n  // Test for A's keys different from B.\n  for (var idx = 0; idx < keysA.length; idx++) {\n    var key = keysA[idx];\n\n    if (!bHasOwnProperty(key)) {\n      return false;\n    }\n\n    var valueA = objA[key];\n    var valueB = objB[key];\n\n    ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n    if (ret === false || (ret === void 0 && valueA !== valueB)) {\n      return false;\n    }\n  }\n\n  return true;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/simple-swizzle/index.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/simple-swizzle/index.js ***!\n  \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isArrayish = __webpack_require__(/*! is-arrayish */ \"./node_modules/is-arrayish/index.js\");\n\nvar concat = Array.prototype.concat;\nvar slice = Array.prototype.slice;\n\nvar swizzle = module.exports = function swizzle(args) {\n\tvar results = [];\n\n\tfor (var i = 0, len = args.length; i < len; i++) {\n\t\tvar arg = args[i];\n\n\t\tif (isArrayish(arg)) {\n\t\t\t// http://jsperf.com/javascript-array-concat-vs-push/98\n\t\t\tresults = concat.call(results, slice.call(arg));\n\t\t} else {\n\t\t\tresults.push(arg);\n\t\t}\n\t}\n\n\treturn results;\n};\n\nswizzle.wrap = function (fn) {\n\treturn function () {\n\t\treturn fn(swizzle(arguments));\n\t};\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\":\n/*!****************************************************************************!*\\\n  !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!\n  \\****************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isOldIE = function isOldIE() {\n  var memo;\n  return function memorize() {\n    if (typeof memo === 'undefined') {\n      // Test for IE <= 9 as proposed by Browserhacks\n      // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n      // Tests for existence of standard globals is to allow style-loader\n      // to operate correctly into non-standard environments\n      // @see https://github.com/webpack-contrib/style-loader/issues/177\n      memo = Boolean(window && document && document.all && !window.atob);\n    }\n\n    return memo;\n  };\n}();\n\nvar getTarget = function getTarget() {\n  var memo = {};\n  return function memorize(target) {\n    if (typeof memo[target] === 'undefined') {\n      var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n      if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n        try {\n          // This will throw an exception if access to iframe is blocked\n          // due to cross-origin restrictions\n          styleTarget = styleTarget.contentDocument.head;\n        } catch (e) {\n          // istanbul ignore next\n          styleTarget = null;\n        }\n      }\n\n      memo[target] = styleTarget;\n    }\n\n    return memo[target];\n  };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n  var result = -1;\n\n  for (var i = 0; i < stylesInDom.length; i++) {\n    if (stylesInDom[i].identifier === identifier) {\n      result = i;\n      break;\n    }\n  }\n\n  return result;\n}\n\nfunction modulesToDom(list, options) {\n  var idCountMap = {};\n  var identifiers = [];\n\n  for (var i = 0; i < list.length; i++) {\n    var item = list[i];\n    var id = options.base ? item[0] + options.base : item[0];\n    var count = idCountMap[id] || 0;\n    var identifier = \"\".concat(id, \" \").concat(count);\n    idCountMap[id] = count + 1;\n    var index = getIndexByIdentifier(identifier);\n    var obj = {\n      css: item[1],\n      media: item[2],\n      sourceMap: item[3]\n    };\n\n    if (index !== -1) {\n      stylesInDom[index].references++;\n      stylesInDom[index].updater(obj);\n    } else {\n      stylesInDom.push({\n        identifier: identifier,\n        updater: addStyle(obj, options),\n        references: 1\n      });\n    }\n\n    identifiers.push(identifier);\n  }\n\n  return identifiers;\n}\n\nfunction insertStyleElement(options) {\n  var style = document.createElement('style');\n  var attributes = options.attributes || {};\n\n  if (typeof attributes.nonce === 'undefined') {\n    var nonce =  true ? __webpack_require__.nc : undefined;\n\n    if (nonce) {\n      attributes.nonce = nonce;\n    }\n  }\n\n  Object.keys(attributes).forEach(function (key) {\n    style.setAttribute(key, attributes[key]);\n  });\n\n  if (typeof options.insert === 'function') {\n    options.insert(style);\n  } else {\n    var target = getTarget(options.insert || 'head');\n\n    if (!target) {\n      throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n    }\n\n    target.appendChild(style);\n  }\n\n  return style;\n}\n\nfunction removeStyleElement(style) {\n  // istanbul ignore if\n  if (style.parentNode === null) {\n    return false;\n  }\n\n  style.parentNode.removeChild(style);\n}\n/* istanbul ignore next  */\n\n\nvar replaceText = function replaceText() {\n  var textStore = [];\n  return function replace(index, replacement) {\n    textStore[index] = replacement;\n    return textStore.filter(Boolean).join('\\n');\n  };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n  var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n  /* istanbul ignore if  */\n\n  if (style.styleSheet) {\n    style.styleSheet.cssText = replaceText(index, css);\n  } else {\n    var cssNode = document.createTextNode(css);\n    var childNodes = style.childNodes;\n\n    if (childNodes[index]) {\n      style.removeChild(childNodes[index]);\n    }\n\n    if (childNodes.length) {\n      style.insertBefore(cssNode, childNodes[index]);\n    } else {\n      style.appendChild(cssNode);\n    }\n  }\n}\n\nfunction applyToTag(style, options, obj) {\n  var css = obj.css;\n  var media = obj.media;\n  var sourceMap = obj.sourceMap;\n\n  if (media) {\n    style.setAttribute('media', media);\n  } else {\n    style.removeAttribute('media');\n  }\n\n  if (sourceMap && btoa) {\n    css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n  } // For old IE\n\n  /* istanbul ignore if  */\n\n\n  if (style.styleSheet) {\n    style.styleSheet.cssText = css;\n  } else {\n    while (style.firstChild) {\n      style.removeChild(style.firstChild);\n    }\n\n    style.appendChild(document.createTextNode(css));\n  }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n  var style;\n  var update;\n  var remove;\n\n  if (options.singleton) {\n    var styleIndex = singletonCounter++;\n    style = singleton || (singleton = insertStyleElement(options));\n    update = applyToSingletonTag.bind(null, style, styleIndex, false);\n    remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n  } else {\n    style = insertStyleElement(options);\n    update = applyToTag.bind(null, style, options);\n\n    remove = function remove() {\n      removeStyleElement(style);\n    };\n  }\n\n  update(obj);\n  return function updateStyle(newObj) {\n    if (newObj) {\n      if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n        return;\n      }\n\n      update(obj = newObj);\n    } else {\n      remove();\n    }\n  };\n}\n\nmodule.exports = function (list, options) {\n  options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n  // tags it will allow on a page\n\n  if (!options.singleton && typeof options.singleton !== 'boolean') {\n    options.singleton = isOldIE();\n  }\n\n  list = list || [];\n  var lastIdentifiers = modulesToDom(list, options);\n  return function update(newList) {\n    newList = newList || [];\n\n    if (Object.prototype.toString.call(newList) !== '[object Array]') {\n      return;\n    }\n\n    for (var i = 0; i < lastIdentifiers.length; i++) {\n      var identifier = lastIdentifiers[i];\n      var index = getIndexByIdentifier(identifier);\n      stylesInDom[index].references--;\n    }\n\n    var newLastIdentifiers = modulesToDom(newList, options);\n\n    for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n      var _identifier = lastIdentifiers[_i];\n\n      var _index = getIndexByIdentifier(_identifier);\n\n      if (stylesInDom[_index].references === 0) {\n        stylesInDom[_index].updater();\n\n        stylesInDom.splice(_index, 1);\n      }\n    }\n\n    lastIdentifiers = newLastIdentifiers;\n  };\n};\n\n/***/ }),\n\n/***/ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\":\n/*!******************************************************************************!*\\\n  !*** ./node_modules/styled-components/dist/styled-components.browser.esm.js ***!\n  \\******************************************************************************/\n/*! exports provided: default, createGlobalStyle, css, isStyledComponent, keyframes, ServerStyleSheet, StyleSheetConsumer, StyleSheetContext, StyleSheetManager, ThemeConsumer, ThemeContext, ThemeProvider, withTheme, __DO_NOT_USE_OR_YOU_WILL_BE_HAUNTED_BY_SPOOKY_GHOSTS */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createGlobalStyle\", function() { return createGlobalStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"css\", function() { return css; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isStyledComponent\", function() { return isStyledComponent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"keyframes\", function() { return keyframes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ServerStyleSheet\", function() { return ServerStyleSheet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"StyleSheetConsumer\", function() { return StyleSheetConsumer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"StyleSheetContext\", function() { return StyleSheetContext; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"StyleSheetManager\", function() { return StyleSheetManager; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ThemeConsumer\", function() { return ThemeConsumer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ThemeContext\", function() { return ThemeContext; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ThemeProvider\", function() { return ThemeProvider; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"withTheme\", function() { return withTheme; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__DO_NOT_USE_OR_YOU_WILL_BE_HAUNTED_BY_SPOOKY_GHOSTS\", function() { return __DO_NOT_USE_OR_YOU_WILL_BE_HAUNTED_BY_SPOOKY_GHOSTS; });\n/* harmony import */ var stylis_stylis_min__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! stylis/stylis.min */ \"./node_modules/stylis/stylis.min.js\");\n/* harmony import */ var stylis_stylis_min__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(stylis_stylis_min__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var stylis_rule_sheet__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! stylis-rule-sheet */ \"./node_modules/stylis-rule-sheet/index.js\");\n/* harmony import */ var stylis_rule_sheet__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(stylis_rule_sheet__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _emotion_unitless__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/unitless */ \"./node_modules/@emotion/unitless/dist/unitless.browser.esm.js\");\n/* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-is */ \"./node_modules/react-is/index.js\");\n/* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_is__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var memoize_one__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! memoize-one */ \"./node_modules/memoize-one/dist/memoize-one.esm.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _emotion_is_prop_valid__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @emotion/is-prop-valid */ \"./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js\");\n/* harmony import */ var merge_anything__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! merge-anything */ \"./node_modules/merge-anything/dist/index.esm.js\");\n\n\n\n\n\n\n\n\n\n\n// \n\nvar interleave = (function (strings, interpolations) {\n  var result = [strings[0]];\n\n  for (var i = 0, len = interpolations.length; i < len; i += 1) {\n    result.push(interpolations[i], strings[i + 1]);\n  }\n\n  return result;\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n  return typeof obj;\n} : function (obj) {\n  return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function (instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n};\n\nvar createClass = function () {\n  function defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n      var descriptor = props[i];\n      descriptor.enumerable = descriptor.enumerable || false;\n      descriptor.configurable = true;\n      if (\"value\" in descriptor) descriptor.writable = true;\n      Object.defineProperty(target, descriptor.key, descriptor);\n    }\n  }\n\n  return function (Constructor, protoProps, staticProps) {\n    if (protoProps) defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) defineProperties(Constructor, staticProps);\n    return Constructor;\n  };\n}();\n\nvar _extends = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\nvar inherits = function (subClass, superClass) {\n  if (typeof superClass !== \"function\" && superClass !== null) {\n    throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n  }\n\n  subClass.prototype = Object.create(superClass && superClass.prototype, {\n    constructor: {\n      value: subClass,\n      enumerable: false,\n      writable: true,\n      configurable: true\n    }\n  });\n  if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n  var target = {};\n\n  for (var i in obj) {\n    if (keys.indexOf(i) >= 0) continue;\n    if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n    target[i] = obj[i];\n  }\n\n  return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n  if (!self) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n\n  return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n// \nvar isPlainObject = (function (x) {\n  return (typeof x === 'undefined' ? 'undefined' : _typeof(x)) === 'object' && x.constructor === Object;\n});\n\n// \nvar EMPTY_ARRAY = Object.freeze([]);\nvar EMPTY_OBJECT = Object.freeze({});\n\n// \nfunction isFunction(test) {\n  return typeof test === 'function';\n}\n\n// \n\nfunction getComponentName(target) {\n  return ( true ? typeof target === 'string' && target : undefined) || target.displayName || target.name || 'Component';\n}\n\n// \nfunction isStatelessFunction(test) {\n  return typeof test === 'function' && !(test.prototype && test.prototype.isReactComponent);\n}\n\n// \nfunction isStyledComponent(target) {\n  return target && typeof target.styledComponentId === 'string';\n}\n\n// \n\nvar SC_ATTR = typeof process !== 'undefined' && (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR) || 'data-styled';\n\nvar SC_VERSION_ATTR = 'data-styled-version';\n\nvar SC_STREAM_ATTR = 'data-styled-streamed';\n\nvar IS_BROWSER = typeof window !== 'undefined' && 'HTMLElement' in window;\n\nvar DISABLE_SPEEDY = typeof SC_DISABLE_SPEEDY === 'boolean' && SC_DISABLE_SPEEDY || typeof process !== 'undefined' && (process.env.REACT_APP_SC_DISABLE_SPEEDY || process.env.SC_DISABLE_SPEEDY) || \"development\" !== 'production';\n\n// Shared empty execution context when generating static styles\nvar STATIC_EXECUTION_CONTEXT = {};\n\n// \n\n\n/**\n * Parse errors.md and turn it into a simple hash of code: message\n */\nvar ERRORS =  true ? {\n  \"1\": \"Cannot create styled-component for component: %s.\\n\\n\",\n  \"2\": \"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\n\\n- Are you trying to reuse it across renders?\\n- Are you accidentally calling collectStyles twice?\\n\\n\",\n  \"3\": \"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\n\\n\",\n  \"4\": \"The `StyleSheetManager` expects a valid target or sheet prop!\\n\\n- Does this error occur on the client and is your target falsy?\\n- Does this error occur on the server and is the sheet falsy?\\n\\n\",\n  \"5\": \"The clone method cannot be used on the client!\\n\\n- Are you running in a client-like environment on the server?\\n- Are you trying to run SSR on the client?\\n\\n\",\n  \"6\": \"Trying to insert a new style tag, but the given Node is unmounted!\\n\\n- Are you using a custom target that isn't mounted?\\n- Does your document not have a valid head element?\\n- Have you accidentally removed a style tag manually?\\n\\n\",\n  \"7\": \"ThemeProvider: Please return an object from your \\\"theme\\\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n\",\n  \"8\": \"ThemeProvider: Please make your \\\"theme\\\" prop an object.\\n\\n\",\n  \"9\": \"Missing document `<head>`\\n\\n\",\n  \"10\": \"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",\n  \"11\": \"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",\n  \"12\": \"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",\n  \"13\": \"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\"\n} : undefined;\n\n/**\n * super basic version of sprintf\n */\nfunction format() {\n  var a = arguments.length <= 0 ? undefined : arguments[0];\n  var b = [];\n\n  for (var c = 1, len = arguments.length; c < len; c += 1) {\n    b.push(arguments.length <= c ? undefined : arguments[c]);\n  }\n\n  b.forEach(function (d) {\n    a = a.replace(/%[a-z]/, d);\n  });\n\n  return a;\n}\n\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n */\n\nvar StyledComponentsError = function (_Error) {\n  inherits(StyledComponentsError, _Error);\n\n  function StyledComponentsError(code) {\n    classCallCheck(this, StyledComponentsError);\n\n    for (var _len = arguments.length, interpolations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      interpolations[_key - 1] = arguments[_key];\n    }\n\n    if (false) { var _this; } else {\n      var _this = possibleConstructorReturn(this, _Error.call(this, format.apply(undefined, [ERRORS[code]].concat(interpolations)).trim()));\n    }\n    return possibleConstructorReturn(_this);\n  }\n\n  return StyledComponentsError;\n}(Error);\n\n// \nvar SC_COMPONENT_ID = /^[^\\S\\n]*?\\/\\* sc-component-id:\\s*(\\S+)\\s+\\*\\//gm;\n\nvar extractComps = (function (maybeCSS) {\n  var css = '' + (maybeCSS || ''); // Definitely a string, and a clone\n  var existingComponents = [];\n  css.replace(SC_COMPONENT_ID, function (match, componentId, matchIndex) {\n    existingComponents.push({ componentId: componentId, matchIndex: matchIndex });\n    return match;\n  });\n  return existingComponents.map(function (_ref, i) {\n    var componentId = _ref.componentId,\n        matchIndex = _ref.matchIndex;\n\n    var nextComp = existingComponents[i + 1];\n    var cssFromDOM = nextComp ? css.slice(matchIndex, nextComp.matchIndex) : css.slice(matchIndex);\n    return { componentId: componentId, cssFromDOM: cssFromDOM };\n  });\n});\n\n// \n\nvar COMMENT_REGEX = /^\\s*\\/\\/.*$/gm;\n\n// NOTE: This stylis instance is only used to split rules from SSR'd style tags\nvar stylisSplitter = new stylis_stylis_min__WEBPACK_IMPORTED_MODULE_0___default.a({\n  global: false,\n  cascade: true,\n  keyframe: false,\n  prefix: false,\n  compress: false,\n  semicolon: true\n});\n\nvar stylis = new stylis_stylis_min__WEBPACK_IMPORTED_MODULE_0___default.a({\n  global: false,\n  cascade: true,\n  keyframe: false,\n  prefix: true,\n  compress: false,\n  semicolon: false // NOTE: This means \"autocomplete missing semicolons\"\n});\n\n// Wrap `insertRulePlugin to build a list of rules,\n// and then make our own plugin to return the rules. This\n// makes it easier to hook into the existing SSR architecture\n\nvar parsingRules = [];\n\n// eslint-disable-next-line consistent-return\nvar returnRulesPlugin = function returnRulesPlugin(context) {\n  if (context === -2) {\n    var parsedRules = parsingRules;\n    parsingRules = [];\n    return parsedRules;\n  }\n};\n\nvar parseRulesPlugin = stylis_rule_sheet__WEBPACK_IMPORTED_MODULE_1___default()(function (rule) {\n  parsingRules.push(rule);\n});\n\nvar _componentId = void 0;\nvar _selector = void 0;\nvar _selectorRegexp = void 0;\n\nvar selfReferenceReplacer = function selfReferenceReplacer(match, offset, string) {\n  if (\n  // the first self-ref is always untouched\n  offset > 0 &&\n  // there should be at least two self-refs to do a replacement (.b > .b)\n  string.slice(0, offset).indexOf(_selector) !== -1 &&\n  // no consecutive self refs (.b.b); that is a precedence boost and treated differently\n  string.slice(offset - _selector.length, offset) !== _selector) {\n    return '.' + _componentId;\n  }\n\n  return match;\n};\n\n/**\n * When writing a style like\n *\n * & + & {\n *   color: red;\n * }\n *\n * The second ampersand should be a reference to the static component class. stylis\n * has no knowledge of static class so we have to intelligently replace the base selector.\n */\nvar selfReferenceReplacementPlugin = function selfReferenceReplacementPlugin(context, _, selectors) {\n  if (context === 2 && selectors.length && selectors[0].lastIndexOf(_selector) > 0) {\n    // eslint-disable-next-line no-param-reassign\n    selectors[0] = selectors[0].replace(_selectorRegexp, selfReferenceReplacer);\n  }\n};\n\nstylis.use([selfReferenceReplacementPlugin, parseRulesPlugin, returnRulesPlugin]);\nstylisSplitter.use([parseRulesPlugin, returnRulesPlugin]);\n\nvar splitByRules = function splitByRules(css) {\n  return stylisSplitter('', css);\n};\n\nfunction stringifyRules(rules, selector, prefix) {\n  var componentId = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '&';\n\n  var flatCSS = rules.join('').replace(COMMENT_REGEX, ''); // replace JS comments\n\n  var cssStr = selector && prefix ? prefix + ' ' + selector + ' { ' + flatCSS + ' }' : flatCSS;\n\n  // stylis has no concept of state to be passed to plugins\n  // but since JS is single=threaded, we can rely on that to ensure\n  // these properties stay in sync with the current stylis run\n  _componentId = componentId;\n  _selector = selector;\n  _selectorRegexp = new RegExp('\\\\' + _selector + '\\\\b', 'g');\n\n  return stylis(prefix || !selector ? '' : selector, cssStr);\n}\n\n// \n/* eslint-disable camelcase, no-undef */\n\nvar getNonce = (function () {\n  return  true ? __webpack_require__.nc : undefined;\n});\n\n// \n/* These are helpers for the StyleTags to keep track of the injected\n * rule names for each (component) ID that they're keeping track of.\n * They're crucial for detecting whether a name has already been\n * injected.\n * (This excludes rehydrated names) */\n\n/* adds a new ID:name pairing to a names dictionary */\nvar addNameForId = function addNameForId(names, id, name) {\n  if (name) {\n    // eslint-disable-next-line no-param-reassign\n    var namesForId = names[id] || (names[id] = Object.create(null));\n    namesForId[name] = true;\n  }\n};\n\n/* resets an ID entirely by overwriting it in the dictionary */\nvar resetIdNames = function resetIdNames(names, id) {\n  // eslint-disable-next-line no-param-reassign\n  names[id] = Object.create(null);\n};\n\n/* factory for a names dictionary checking the existance of an ID:name pairing */\nvar hasNameForId = function hasNameForId(names) {\n  return function (id, name) {\n    return names[id] !== undefined && names[id][name];\n  };\n};\n\n/* stringifies names for the html/element output */\nvar stringifyNames = function stringifyNames(names) {\n  var str = '';\n  // eslint-disable-next-line guard-for-in\n  for (var id in names) {\n    str += Object.keys(names[id]).join(' ') + ' ';\n  }\n  return str.trim();\n};\n\n/* clones the nested names dictionary */\nvar cloneNames = function cloneNames(names) {\n  var clone = Object.create(null);\n  // eslint-disable-next-line guard-for-in\n  for (var id in names) {\n    clone[id] = _extends({}, names[id]);\n  }\n  return clone;\n};\n\n// \n\n/* These are helpers that deal with the insertRule (aka speedy) API\n * They are used in the StyleTags and specifically the speedy tag\n */\n\n/* retrieve a sheet for a given style tag */\nvar sheetForTag = function sheetForTag(tag) {\n  // $FlowFixMe\n  if (tag.sheet) return tag.sheet;\n\n  /* Firefox quirk requires us to step through all stylesheets to find one owned by the given tag */\n  var size = tag.ownerDocument.styleSheets.length;\n  for (var i = 0; i < size; i += 1) {\n    var sheet = tag.ownerDocument.styleSheets[i];\n    // $FlowFixMe\n    if (sheet.ownerNode === tag) return sheet;\n  }\n\n  /* we should always be able to find a tag */\n  throw new StyledComponentsError(10);\n};\n\n/* insert a rule safely and return whether it was actually injected */\nvar safeInsertRule = function safeInsertRule(sheet, cssRule, index) {\n  /* abort early if cssRule string is falsy */\n  if (!cssRule) return false;\n\n  var maxIndex = sheet.cssRules.length;\n\n  try {\n    /* use insertRule and cap passed index with maxIndex (no of cssRules) */\n    sheet.insertRule(cssRule, index <= maxIndex ? index : maxIndex);\n  } catch (err) {\n    /* any error indicates an invalid rule */\n    return false;\n  }\n\n  return true;\n};\n\n/* deletes `size` rules starting from `removalIndex` */\nvar deleteRules = function deleteRules(sheet, removalIndex, size) {\n  var lowerBound = removalIndex - size;\n  for (var i = removalIndex; i > lowerBound; i -= 1) {\n    sheet.deleteRule(i);\n  }\n};\n\n// \n\n/* this marker separates component styles and is important for rehydration */\nvar makeTextMarker = function makeTextMarker(id) {\n  return '\\n/* sc-component-id: ' + id + ' */\\n';\n};\n\n/* add up all numbers in array up until and including the index */\nvar addUpUntilIndex = function addUpUntilIndex(sizes, index) {\n  var totalUpToIndex = 0;\n  for (var i = 0; i <= index; i += 1) {\n    totalUpToIndex += sizes[i];\n  }\n\n  return totalUpToIndex;\n};\n\n/* create a new style tag after lastEl */\nvar makeStyleTag = function makeStyleTag(target, tagEl, insertBefore) {\n  var targetDocument = document;\n  if (target) targetDocument = target.ownerDocument;else if (tagEl) targetDocument = tagEl.ownerDocument;\n\n  var el = targetDocument.createElement('style');\n  el.setAttribute(SC_ATTR, '');\n  el.setAttribute(SC_VERSION_ATTR, \"4.4.0\");\n\n  var nonce = getNonce();\n  if (nonce) {\n    el.setAttribute('nonce', nonce);\n  }\n\n  /* Work around insertRule quirk in EdgeHTML */\n  el.appendChild(targetDocument.createTextNode(''));\n\n  if (target && !tagEl) {\n    /* Append to target when no previous element was passed */\n    target.appendChild(el);\n  } else {\n    if (!tagEl || !target || !tagEl.parentNode) {\n      throw new StyledComponentsError(6);\n    }\n\n    /* Insert new style tag after the previous one */\n    tagEl.parentNode.insertBefore(el, insertBefore ? tagEl : tagEl.nextSibling);\n  }\n\n  return el;\n};\n\n/* takes a css factory function and outputs an html styled tag factory */\nvar wrapAsHtmlTag = function wrapAsHtmlTag(css, names) {\n  return function (additionalAttrs) {\n    var nonce = getNonce();\n    var attrs = [nonce && 'nonce=\"' + nonce + '\"', SC_ATTR + '=\"' + stringifyNames(names) + '\"', SC_VERSION_ATTR + '=\"' + \"4.4.0\" + '\"', additionalAttrs];\n\n    var htmlAttr = attrs.filter(Boolean).join(' ');\n    return '<style ' + htmlAttr + '>' + css() + '</style>';\n  };\n};\n\n/* takes a css factory function and outputs an element factory */\nvar wrapAsElement = function wrapAsElement(css, names) {\n  return function () {\n    var _props;\n\n    var props = (_props = {}, _props[SC_ATTR] = stringifyNames(names), _props[SC_VERSION_ATTR] = \"4.4.0\", _props);\n\n    var nonce = getNonce();\n    if (nonce) {\n      // $FlowFixMe\n      props.nonce = nonce;\n    }\n\n    // eslint-disable-next-line react/no-danger\n    return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement('style', _extends({}, props, { dangerouslySetInnerHTML: { __html: css() } }));\n  };\n};\n\nvar getIdsFromMarkersFactory = function getIdsFromMarkersFactory(markers) {\n  return function () {\n    return Object.keys(markers);\n  };\n};\n\n/* speedy tags utilise insertRule */\nvar makeSpeedyTag = function makeSpeedyTag(el, getImportRuleTag) {\n  var names = Object.create(null);\n  var markers = Object.create(null);\n  var sizes = [];\n\n  var extractImport = getImportRuleTag !== undefined;\n  /* indicates whether getImportRuleTag was called */\n  var usedImportRuleTag = false;\n\n  var insertMarker = function insertMarker(id) {\n    var prev = markers[id];\n    if (prev !== undefined) {\n      return prev;\n    }\n\n    markers[id] = sizes.length;\n    sizes.push(0);\n    resetIdNames(names, id);\n\n    return markers[id];\n  };\n\n  var insertRules = function insertRules(id, cssRules, name) {\n    var marker = insertMarker(id);\n    var sheet = sheetForTag(el);\n    var insertIndex = addUpUntilIndex(sizes, marker);\n\n    var injectedRules = 0;\n    var importRules = [];\n    var cssRulesSize = cssRules.length;\n\n    for (var i = 0; i < cssRulesSize; i += 1) {\n      var cssRule = cssRules[i];\n      var mayHaveImport = extractImport; /* @import rules are reordered to appear first */\n      if (mayHaveImport && cssRule.indexOf('@import') !== -1) {\n        importRules.push(cssRule);\n      } else if (safeInsertRule(sheet, cssRule, insertIndex + injectedRules)) {\n        mayHaveImport = false;\n        injectedRules += 1;\n      }\n    }\n\n    if (extractImport && importRules.length > 0) {\n      usedImportRuleTag = true;\n      // $FlowFixMe\n      getImportRuleTag().insertRules(id + '-import', importRules);\n    }\n\n    sizes[marker] += injectedRules; /* add up no of injected rules */\n    addNameForId(names, id, name);\n  };\n\n  var removeRules = function removeRules(id) {\n    var marker = markers[id];\n    if (marker === undefined) return;\n    // $FlowFixMe\n    if (el.isConnected === false) return;\n\n    var size = sizes[marker];\n    var sheet = sheetForTag(el);\n    var removalIndex = addUpUntilIndex(sizes, marker) - 1;\n    deleteRules(sheet, removalIndex, size);\n    sizes[marker] = 0;\n    resetIdNames(names, id);\n\n    if (extractImport && usedImportRuleTag) {\n      // $FlowFixMe\n      getImportRuleTag().removeRules(id + '-import');\n    }\n  };\n\n  var css = function css() {\n    var _sheetForTag = sheetForTag(el),\n        cssRules = _sheetForTag.cssRules;\n\n    var str = '';\n\n    // eslint-disable-next-line guard-for-in\n    for (var id in markers) {\n      str += makeTextMarker(id);\n      var marker = markers[id];\n      var end = addUpUntilIndex(sizes, marker);\n      var size = sizes[marker];\n      for (var i = end - size; i < end; i += 1) {\n        var rule = cssRules[i];\n        if (rule !== undefined) {\n          str += rule.cssText;\n        }\n      }\n    }\n\n    return str;\n  };\n\n  return {\n    clone: function clone() {\n      throw new StyledComponentsError(5);\n    },\n\n    css: css,\n    getIds: getIdsFromMarkersFactory(markers),\n    hasNameForId: hasNameForId(names),\n    insertMarker: insertMarker,\n    insertRules: insertRules,\n    removeRules: removeRules,\n    sealed: false,\n    styleTag: el,\n    toElement: wrapAsElement(css, names),\n    toHTML: wrapAsHtmlTag(css, names)\n  };\n};\n\nvar makeTextNode = function makeTextNode(targetDocument, id) {\n  return targetDocument.createTextNode(makeTextMarker(id));\n};\n\nvar makeBrowserTag = function makeBrowserTag(el, getImportRuleTag) {\n  var names = Object.create(null);\n  var markers = Object.create(null);\n\n  var extractImport = getImportRuleTag !== undefined;\n\n  /* indicates whether getImportRuleTag was called */\n  var usedImportRuleTag = false;\n\n  var insertMarker = function insertMarker(id) {\n    var prev = markers[id];\n    if (prev !== undefined) {\n      return prev;\n    }\n\n    markers[id] = makeTextNode(el.ownerDocument, id);\n    el.appendChild(markers[id]);\n    names[id] = Object.create(null);\n\n    return markers[id];\n  };\n\n  var insertRules = function insertRules(id, cssRules, name) {\n    var marker = insertMarker(id);\n    var importRules = [];\n    var cssRulesSize = cssRules.length;\n\n    for (var i = 0; i < cssRulesSize; i += 1) {\n      var rule = cssRules[i];\n      var mayHaveImport = extractImport;\n      if (mayHaveImport && rule.indexOf('@import') !== -1) {\n        importRules.push(rule);\n      } else {\n        mayHaveImport = false;\n        var separator = i === cssRulesSize - 1 ? '' : ' ';\n        marker.appendData('' + rule + separator);\n      }\n    }\n\n    addNameForId(names, id, name);\n\n    if (extractImport && importRules.length > 0) {\n      usedImportRuleTag = true;\n      // $FlowFixMe\n      getImportRuleTag().insertRules(id + '-import', importRules);\n    }\n  };\n\n  var removeRules = function removeRules(id) {\n    var marker = markers[id];\n    if (marker === undefined) return;\n\n    /* create new empty text node and replace the current one */\n    var newMarker = makeTextNode(el.ownerDocument, id);\n    el.replaceChild(newMarker, marker);\n    markers[id] = newMarker;\n    resetIdNames(names, id);\n\n    if (extractImport && usedImportRuleTag) {\n      // $FlowFixMe\n      getImportRuleTag().removeRules(id + '-import');\n    }\n  };\n\n  var css = function css() {\n    var str = '';\n\n    // eslint-disable-next-line guard-for-in\n    for (var id in markers) {\n      str += markers[id].data;\n    }\n\n    return str;\n  };\n\n  return {\n    clone: function clone() {\n      throw new StyledComponentsError(5);\n    },\n\n    css: css,\n    getIds: getIdsFromMarkersFactory(markers),\n    hasNameForId: hasNameForId(names),\n    insertMarker: insertMarker,\n    insertRules: insertRules,\n    removeRules: removeRules,\n    sealed: false,\n    styleTag: el,\n    toElement: wrapAsElement(css, names),\n    toHTML: wrapAsHtmlTag(css, names)\n  };\n};\n\nvar makeServerTag = function makeServerTag(namesArg, markersArg) {\n  var names = namesArg === undefined ? Object.create(null) : namesArg;\n  var markers = markersArg === undefined ? Object.create(null) : markersArg;\n\n  var insertMarker = function insertMarker(id) {\n    var prev = markers[id];\n    if (prev !== undefined) {\n      return prev;\n    }\n\n    return markers[id] = [''];\n  };\n\n  var insertRules = function insertRules(id, cssRules, name) {\n    var marker = insertMarker(id);\n    marker[0] += cssRules.join(' ');\n    addNameForId(names, id, name);\n  };\n\n  var removeRules = function removeRules(id) {\n    var marker = markers[id];\n    if (marker === undefined) return;\n    marker[0] = '';\n    resetIdNames(names, id);\n  };\n\n  var css = function css() {\n    var str = '';\n    // eslint-disable-next-line guard-for-in\n    for (var id in markers) {\n      var cssForId = markers[id][0];\n      if (cssForId) {\n        str += makeTextMarker(id) + cssForId;\n      }\n    }\n    return str;\n  };\n\n  var clone = function clone() {\n    var namesClone = cloneNames(names);\n    var markersClone = Object.create(null);\n\n    // eslint-disable-next-line guard-for-in\n    for (var id in markers) {\n      markersClone[id] = [markers[id][0]];\n    }\n\n    return makeServerTag(namesClone, markersClone);\n  };\n\n  var tag = {\n    clone: clone,\n    css: css,\n    getIds: getIdsFromMarkersFactory(markers),\n    hasNameForId: hasNameForId(names),\n    insertMarker: insertMarker,\n    insertRules: insertRules,\n    removeRules: removeRules,\n    sealed: false,\n    styleTag: null,\n    toElement: wrapAsElement(css, names),\n    toHTML: wrapAsHtmlTag(css, names)\n  };\n\n  return tag;\n};\n\nvar makeTag = function makeTag(target, tagEl, forceServer, insertBefore, getImportRuleTag) {\n  if (IS_BROWSER && !forceServer) {\n    var el = makeStyleTag(target, tagEl, insertBefore);\n\n    if (DISABLE_SPEEDY) {\n      return makeBrowserTag(el, getImportRuleTag);\n    } else {\n      return makeSpeedyTag(el, getImportRuleTag);\n    }\n  }\n\n  return makeServerTag();\n};\n\nvar rehydrate = function rehydrate(tag, els, extracted) {\n  /* add all extracted components to the new tag */\n  for (var i = 0, len = extracted.length; i < len; i += 1) {\n    var _extracted$i = extracted[i],\n        componentId = _extracted$i.componentId,\n        cssFromDOM = _extracted$i.cssFromDOM;\n\n    var cssRules = splitByRules(cssFromDOM);\n    tag.insertRules(componentId, cssRules);\n  }\n\n  /* remove old HTMLStyleElements, since they have been rehydrated */\n  for (var _i = 0, _len = els.length; _i < _len; _i += 1) {\n    var el = els[_i];\n    if (el.parentNode) {\n      el.parentNode.removeChild(el);\n    }\n  }\n};\n\n// \n\nvar SPLIT_REGEX = /\\s+/;\n\n/* determine the maximum number of components before tags are sharded */\nvar MAX_SIZE = void 0;\nif (IS_BROWSER) {\n  /* in speedy mode we can keep a lot more rules in a sheet before a slowdown can be expected */\n  MAX_SIZE = DISABLE_SPEEDY ? 40 : 1000;\n} else {\n  /* for servers we do not need to shard at all */\n  MAX_SIZE = -1;\n}\n\nvar sheetRunningId = 0;\nvar master = void 0;\n\nvar StyleSheet = function () {\n\n  /* a map from ids to tags */\n\n  /* deferred rules for a given id */\n\n  /* this is used for not reinjecting rules via hasNameForId() */\n\n  /* when rules for an id are removed using remove() we have to ignore rehydratedNames for it */\n\n  /* a list of tags belonging to this StyleSheet */\n\n  /* a tag for import rules */\n\n  /* current capacity until a new tag must be created */\n\n  /* children (aka clones) of this StyleSheet inheriting all and future injections */\n\n  function StyleSheet() {\n    var _this = this;\n\n    var target = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : IS_BROWSER ? document.head : null;\n    var forceServer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n    classCallCheck(this, StyleSheet);\n\n    this.getImportRuleTag = function () {\n      var importRuleTag = _this.importRuleTag;\n\n      if (importRuleTag !== undefined) {\n        return importRuleTag;\n      }\n\n      var firstTag = _this.tags[0];\n      var insertBefore = true;\n\n      return _this.importRuleTag = makeTag(_this.target, firstTag ? firstTag.styleTag : null, _this.forceServer, insertBefore);\n    };\n\n    sheetRunningId += 1;\n    this.id = sheetRunningId;\n    this.forceServer = forceServer;\n    this.target = forceServer ? null : target;\n    this.tagMap = {};\n    this.deferred = {};\n    this.rehydratedNames = {};\n    this.ignoreRehydratedNames = {};\n    this.tags = [];\n    this.capacity = 1;\n    this.clones = [];\n  }\n\n  /* rehydrate all SSR'd style tags */\n\n\n  StyleSheet.prototype.rehydrate = function rehydrate$$1() {\n    if (!IS_BROWSER || this.forceServer) return this;\n\n    var els = [];\n    var extracted = [];\n    var isStreamed = false;\n\n    /* retrieve all of our SSR style elements from the DOM */\n    var nodes = document.querySelectorAll('style[' + SC_ATTR + '][' + SC_VERSION_ATTR + '=\"' + \"4.4.0\" + '\"]');\n\n    var nodesSize = nodes.length;\n\n    /* abort rehydration if no previous style tags were found */\n    if (!nodesSize) return this;\n\n    for (var i = 0; i < nodesSize; i += 1) {\n      var el = nodes[i];\n\n      /* check if style tag is a streamed tag */\n      if (!isStreamed) isStreamed = !!el.getAttribute(SC_STREAM_ATTR);\n\n      /* retrieve all component names */\n      var elNames = (el.getAttribute(SC_ATTR) || '').trim().split(SPLIT_REGEX);\n      var elNamesSize = elNames.length;\n      for (var j = 0, name; j < elNamesSize; j += 1) {\n        name = elNames[j];\n        /* add rehydrated name to sheet to avoid re-adding styles */\n        this.rehydratedNames[name] = true;\n      }\n\n      /* extract all components and their CSS */\n      extracted.push.apply(extracted, extractComps(el.textContent));\n\n      /* store original HTMLStyleElement */\n      els.push(el);\n    }\n\n    /* abort rehydration if nothing was extracted */\n    var extractedSize = extracted.length;\n    if (!extractedSize) return this;\n\n    /* create a tag to be used for rehydration */\n    var tag = this.makeTag(null);\n\n    rehydrate(tag, els, extracted);\n\n    /* reset capacity and adjust MAX_SIZE by the initial size of the rehydration */\n    this.capacity = Math.max(1, MAX_SIZE - extractedSize);\n    this.tags.push(tag);\n\n    /* retrieve all component ids */\n    for (var _j = 0; _j < extractedSize; _j += 1) {\n      this.tagMap[extracted[_j].componentId] = tag;\n    }\n\n    return this;\n  };\n\n  /* retrieve a \"master\" instance of StyleSheet which is typically used when no other is available\n   * The master StyleSheet is targeted by createGlobalStyle, keyframes, and components outside of any\n    * StyleSheetManager's context */\n\n\n  /* reset the internal \"master\" instance */\n  StyleSheet.reset = function reset() {\n    var forceServer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n    master = new StyleSheet(undefined, forceServer).rehydrate();\n  };\n\n  /* adds \"children\" to the StyleSheet that inherit all of the parents' rules\n   * while their own rules do not affect the parent */\n\n\n  StyleSheet.prototype.clone = function clone() {\n    var sheet = new StyleSheet(this.target, this.forceServer);\n\n    /* add to clone array */\n    this.clones.push(sheet);\n\n    /* clone all tags */\n    sheet.tags = this.tags.map(function (tag) {\n      var ids = tag.getIds();\n      var newTag = tag.clone();\n\n      /* reconstruct tagMap */\n      for (var i = 0; i < ids.length; i += 1) {\n        sheet.tagMap[ids[i]] = newTag;\n      }\n\n      return newTag;\n    });\n\n    /* clone other maps */\n    sheet.rehydratedNames = _extends({}, this.rehydratedNames);\n    sheet.deferred = _extends({}, this.deferred);\n\n    return sheet;\n  };\n\n  /* force StyleSheet to create a new tag on the next injection */\n\n\n  StyleSheet.prototype.sealAllTags = function sealAllTags() {\n    this.capacity = 1;\n\n    this.tags.forEach(function (tag) {\n      // eslint-disable-next-line no-param-reassign\n      tag.sealed = true;\n    });\n  };\n\n  StyleSheet.prototype.makeTag = function makeTag$$1(tag) {\n    var lastEl = tag ? tag.styleTag : null;\n    var insertBefore = false;\n\n    return makeTag(this.target, lastEl, this.forceServer, insertBefore, this.getImportRuleTag);\n  };\n\n  /* get a tag for a given componentId, assign the componentId to one, or shard */\n  StyleSheet.prototype.getTagForId = function getTagForId(id) {\n    /* simply return a tag, when the componentId was already assigned one */\n    var prev = this.tagMap[id];\n    if (prev !== undefined && !prev.sealed) {\n      return prev;\n    }\n\n    var tag = this.tags[this.tags.length - 1];\n\n    /* shard (create a new tag) if the tag is exhausted (See MAX_SIZE) */\n    this.capacity -= 1;\n\n    if (this.capacity === 0) {\n      this.capacity = MAX_SIZE;\n      tag = this.makeTag(tag);\n      this.tags.push(tag);\n    }\n\n    return this.tagMap[id] = tag;\n  };\n\n  /* mainly for createGlobalStyle to check for its id */\n\n\n  StyleSheet.prototype.hasId = function hasId(id) {\n    return this.tagMap[id] !== undefined;\n  };\n\n  /* caching layer checking id+name to already have a corresponding tag and injected rules */\n\n\n  StyleSheet.prototype.hasNameForId = function hasNameForId(id, name) {\n    /* exception for rehydrated names which are checked separately */\n    if (this.ignoreRehydratedNames[id] === undefined && this.rehydratedNames[name]) {\n      return true;\n    }\n\n    var tag = this.tagMap[id];\n    return tag !== undefined && tag.hasNameForId(id, name);\n  };\n\n  /* registers a componentId and registers it on its tag */\n\n\n  StyleSheet.prototype.deferredInject = function deferredInject(id, cssRules) {\n    /* don't inject when the id is already registered */\n    if (this.tagMap[id] !== undefined) return;\n\n    var clones = this.clones;\n\n    for (var i = 0; i < clones.length; i += 1) {\n      clones[i].deferredInject(id, cssRules);\n    }\n\n    this.getTagForId(id).insertMarker(id);\n    this.deferred[id] = cssRules;\n  };\n\n  /* injects rules for a given id with a name that will need to be cached */\n\n\n  StyleSheet.prototype.inject = function inject(id, cssRules, name) {\n    var clones = this.clones;\n\n\n    for (var i = 0; i < clones.length; i += 1) {\n      clones[i].inject(id, cssRules, name);\n    }\n\n    var tag = this.getTagForId(id);\n\n    /* add deferred rules for component */\n    if (this.deferred[id] !== undefined) {\n      // Combine passed cssRules with previously deferred CSS rules\n      // NOTE: We cannot mutate the deferred array itself as all clones\n      // do the same (see clones[i].inject)\n      var rules = this.deferred[id].concat(cssRules);\n      tag.insertRules(id, rules, name);\n\n      this.deferred[id] = undefined;\n    } else {\n      tag.insertRules(id, cssRules, name);\n    }\n  };\n\n  /* removes all rules for a given id, which doesn't remove its marker but resets it */\n\n\n  StyleSheet.prototype.remove = function remove(id) {\n    var tag = this.tagMap[id];\n    if (tag === undefined) return;\n\n    var clones = this.clones;\n\n    for (var i = 0; i < clones.length; i += 1) {\n      clones[i].remove(id);\n    }\n\n    /* remove all rules from the tag */\n    tag.removeRules(id);\n\n    /* ignore possible rehydrated names */\n    this.ignoreRehydratedNames[id] = true;\n\n    /* delete possible deferred rules */\n    this.deferred[id] = undefined;\n  };\n\n  StyleSheet.prototype.toHTML = function toHTML() {\n    return this.tags.map(function (tag) {\n      return tag.toHTML();\n    }).join('');\n  };\n\n  StyleSheet.prototype.toReactElements = function toReactElements() {\n    var id = this.id;\n\n\n    return this.tags.map(function (tag, i) {\n      var key = 'sc-' + id + '-' + i;\n      return Object(react__WEBPACK_IMPORTED_MODULE_2__[\"cloneElement\"])(tag.toElement(), { key: key });\n    });\n  };\n\n  createClass(StyleSheet, null, [{\n    key: 'master',\n    get: function get$$1() {\n      return master || (master = new StyleSheet().rehydrate());\n    }\n\n    /* NOTE: This is just for backwards-compatibility with jest-styled-components */\n\n  }, {\n    key: 'instance',\n    get: function get$$1() {\n      return StyleSheet.master;\n    }\n  }]);\n  return StyleSheet;\n}();\n\n// \n\nvar Keyframes = function () {\n  function Keyframes(name, rules) {\n    var _this = this;\n\n    classCallCheck(this, Keyframes);\n\n    this.inject = function (styleSheet) {\n      if (!styleSheet.hasNameForId(_this.id, _this.name)) {\n        styleSheet.inject(_this.id, _this.rules, _this.name);\n      }\n    };\n\n    this.toString = function () {\n      throw new StyledComponentsError(12, String(_this.name));\n    };\n\n    this.name = name;\n    this.rules = rules;\n\n    this.id = 'sc-keyframes-' + name;\n  }\n\n  Keyframes.prototype.getName = function getName() {\n    return this.name;\n  };\n\n  return Keyframes;\n}();\n\n// \n\n/**\n * inlined version of\n * https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/hyphenateStyleName.js\n */\n\nvar uppercasePattern = /([A-Z])/g;\nvar msPattern = /^ms-/;\n\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n *   > hyphenateStyleName('backgroundColor')\n *   < \"background-color\"\n *   > hyphenateStyleName('MozTransition')\n *   < \"-moz-transition\"\n *   > hyphenateStyleName('msTransition')\n *   < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n *\n * @param {string} string\n * @return {string}\n */\nfunction hyphenateStyleName(string) {\n  return string.replace(uppercasePattern, '-$1').toLowerCase().replace(msPattern, '-ms-');\n}\n\n// \n\n// Taken from https://github.com/facebook/react/blob/b87aabdfe1b7461e7331abb3601d9e6bb27544bc/packages/react-dom/src/shared/dangerousStyleValue.js\nfunction addUnitIfNeeded(name, value) {\n  // https://github.com/amilajack/eslint-plugin-flowtype-errors/issues/133\n  // $FlowFixMe\n  if (value == null || typeof value === 'boolean' || value === '') {\n    return '';\n  }\n\n  if (typeof value === 'number' && value !== 0 && !(name in _emotion_unitless__WEBPACK_IMPORTED_MODULE_3__[\"default\"])) {\n    return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n  }\n\n  return String(value).trim();\n}\n\n// \n\n/**\n * It's falsish not falsy because 0 is allowed.\n */\nvar isFalsish = function isFalsish(chunk) {\n  return chunk === undefined || chunk === null || chunk === false || chunk === '';\n};\n\nvar objToCssArray = function objToCssArray(obj, prevKey) {\n  var rules = [];\n  var keys = Object.keys(obj);\n\n  keys.forEach(function (key) {\n    if (!isFalsish(obj[key])) {\n      if (isPlainObject(obj[key])) {\n        rules.push.apply(rules, objToCssArray(obj[key], key));\n\n        return rules;\n      } else if (isFunction(obj[key])) {\n        rules.push(hyphenateStyleName(key) + ':', obj[key], ';');\n\n        return rules;\n      }\n      rules.push(hyphenateStyleName(key) + ': ' + addUnitIfNeeded(key, obj[key]) + ';');\n    }\n    return rules;\n  });\n\n  return prevKey ? [prevKey + ' {'].concat(rules, ['}']) : rules;\n};\n\nfunction flatten(chunk, executionContext, styleSheet) {\n  if (Array.isArray(chunk)) {\n    var ruleSet = [];\n\n    for (var i = 0, len = chunk.length, result; i < len; i += 1) {\n      result = flatten(chunk[i], executionContext, styleSheet);\n\n      if (result === null) continue;else if (Array.isArray(result)) ruleSet.push.apply(ruleSet, result);else ruleSet.push(result);\n    }\n\n    return ruleSet;\n  }\n\n  if (isFalsish(chunk)) {\n    return null;\n  }\n\n  /* Handle other components */\n  if (isStyledComponent(chunk)) {\n    return '.' + chunk.styledComponentId;\n  }\n\n  /* Either execute or defer the function */\n  if (isFunction(chunk)) {\n    if (isStatelessFunction(chunk) && executionContext) {\n      var _result = chunk(executionContext);\n\n      if ( true && Object(react_is__WEBPACK_IMPORTED_MODULE_4__[\"isElement\"])(_result)) {\n        // eslint-disable-next-line no-console\n        console.warn(getComponentName(chunk) + ' is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.');\n      }\n\n      return flatten(_result, executionContext, styleSheet);\n    } else return chunk;\n  }\n\n  if (chunk instanceof Keyframes) {\n    if (styleSheet) {\n      chunk.inject(styleSheet);\n      return chunk.getName();\n    } else return chunk;\n  }\n\n  /* Handle objects */\n  return isPlainObject(chunk) ? objToCssArray(chunk) : chunk.toString();\n}\n\n// \n\nfunction css(styles) {\n  for (var _len = arguments.length, interpolations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    interpolations[_key - 1] = arguments[_key];\n  }\n\n  if (isFunction(styles) || isPlainObject(styles)) {\n    // $FlowFixMe\n    return flatten(interleave(EMPTY_ARRAY, [styles].concat(interpolations)));\n  }\n\n  // $FlowFixMe\n  return flatten(interleave(styles, interpolations));\n}\n\n// \n\nfunction constructWithOptions(componentConstructor, tag) {\n  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : EMPTY_OBJECT;\n\n  if (!Object(react_is__WEBPACK_IMPORTED_MODULE_4__[\"isValidElementType\"])(tag)) {\n    throw new StyledComponentsError(1, String(tag));\n  }\n\n  /* This is callable directly as a template function */\n  // $FlowFixMe: Not typed to avoid destructuring arguments\n  var templateFunction = function templateFunction() {\n    return componentConstructor(tag, options, css.apply(undefined, arguments));\n  };\n\n  /* If config methods are called, wrap up a new template function and merge options */\n  templateFunction.withConfig = function (config) {\n    return constructWithOptions(componentConstructor, tag, _extends({}, options, config));\n  };\n\n  /* Modify/inject new props at runtime */\n  templateFunction.attrs = function (attrs) {\n    return constructWithOptions(componentConstructor, tag, _extends({}, options, {\n      attrs: Array.prototype.concat(options.attrs, attrs).filter(Boolean)\n    }));\n  };\n\n  return templateFunction;\n}\n\n// \n// Source: https://github.com/garycourt/murmurhash-js/blob/master/murmurhash2_gc.js\nfunction murmurhash(c) {\n  for (var e = c.length | 0, a = e | 0, d = 0, b; e >= 4;) {\n    b = c.charCodeAt(d) & 255 | (c.charCodeAt(++d) & 255) << 8 | (c.charCodeAt(++d) & 255) << 16 | (c.charCodeAt(++d) & 255) << 24, b = 1540483477 * (b & 65535) + ((1540483477 * (b >>> 16) & 65535) << 16), b ^= b >>> 24, b = 1540483477 * (b & 65535) + ((1540483477 * (b >>> 16) & 65535) << 16), a = 1540483477 * (a & 65535) + ((1540483477 * (a >>> 16) & 65535) << 16) ^ b, e -= 4, ++d;\n  }\n  switch (e) {\n    case 3:\n      a ^= (c.charCodeAt(d + 2) & 255) << 16;\n    case 2:\n      a ^= (c.charCodeAt(d + 1) & 255) << 8;\n    case 1:\n      a ^= c.charCodeAt(d) & 255, a = 1540483477 * (a & 65535) + ((1540483477 * (a >>> 16) & 65535) << 16);\n  }\n  a ^= a >>> 13;\n  a = 1540483477 * (a & 65535) + ((1540483477 * (a >>> 16) & 65535) << 16);\n  return (a ^ a >>> 15) >>> 0;\n}\n\n// \n/* eslint-disable no-bitwise */\n\n/* This is the \"capacity\" of our alphabet i.e. 2x26 for all letters plus their capitalised\n * counterparts */\nvar charsLength = 52;\n\n/* start at 75 for 'a' until 'z' (25) and then start at 65 for capitalised letters */\nvar getAlphabeticChar = function getAlphabeticChar(code) {\n  return String.fromCharCode(code + (code > 25 ? 39 : 97));\n};\n\n/* input a number, usually a hash and convert it to base-52 */\nfunction generateAlphabeticName(code) {\n  var name = '';\n  var x = void 0;\n\n  /* get a char and divide by alphabet-length */\n  for (x = code; x > charsLength; x = Math.floor(x / charsLength)) {\n    name = getAlphabeticChar(x % charsLength) + name;\n  }\n\n  return getAlphabeticChar(x % charsLength) + name;\n}\n\n// \n\nfunction hasFunctionObjectKey(obj) {\n  // eslint-disable-next-line guard-for-in, no-restricted-syntax\n  for (var key in obj) {\n    if (isFunction(obj[key])) {\n      return true;\n    }\n  }\n\n  return false;\n}\n\nfunction isStaticRules(rules, attrs) {\n  for (var i = 0; i < rules.length; i += 1) {\n    var rule = rules[i];\n\n    // recursive case\n    if (Array.isArray(rule) && !isStaticRules(rule, attrs)) {\n      return false;\n    } else if (isFunction(rule) && !isStyledComponent(rule)) {\n      // functions are allowed to be static if they're just being\n      // used to get the classname of a nested styled component\n      return false;\n    }\n  }\n\n  if (attrs.some(function (x) {\n    return isFunction(x) || hasFunctionObjectKey(x);\n  })) return false;\n\n  return true;\n}\n\n// \n\n/* combines hashStr (murmurhash) and nameGenerator for convenience */\nvar hasher = function hasher(str) {\n  return generateAlphabeticName(murmurhash(str));\n};\n\n/*\n ComponentStyle is all the CSS-specific stuff, not\n the React-specific stuff.\n */\n\nvar ComponentStyle = function () {\n  function ComponentStyle(rules, attrs, componentId) {\n    classCallCheck(this, ComponentStyle);\n\n    this.rules = rules;\n    this.isStatic =  false && false;\n    this.componentId = componentId;\n\n    if (!StyleSheet.master.hasId(componentId)) {\n      StyleSheet.master.deferredInject(componentId, []);\n    }\n  }\n\n  /*\n   * Flattens a rule set into valid CSS\n   * Hashes it, wraps the whole chunk in a .hash1234 {}\n   * Returns the hash to be injected on render()\n   * */\n\n\n  ComponentStyle.prototype.generateAndInjectStyles = function generateAndInjectStyles(executionContext, styleSheet) {\n    var isStatic = this.isStatic,\n        componentId = this.componentId,\n        lastClassName = this.lastClassName;\n\n    if (IS_BROWSER && isStatic && typeof lastClassName === 'string' && styleSheet.hasNameForId(componentId, lastClassName)) {\n      return lastClassName;\n    }\n\n    var flatCSS = flatten(this.rules, executionContext, styleSheet);\n    var name = hasher(this.componentId + flatCSS.join(''));\n    if (!styleSheet.hasNameForId(componentId, name)) {\n      styleSheet.inject(this.componentId, stringifyRules(flatCSS, '.' + name, undefined, componentId), name);\n    }\n\n    this.lastClassName = name;\n    return name;\n  };\n\n  ComponentStyle.generateName = function generateName(str) {\n    return hasher(str);\n  };\n\n  return ComponentStyle;\n}();\n\n// \n\nvar LIMIT = 200;\n\nvar createWarnTooManyClasses = (function (displayName) {\n  var generatedClasses = {};\n  var warningSeen = false;\n\n  return function (className) {\n    if (!warningSeen) {\n      generatedClasses[className] = true;\n      if (Object.keys(generatedClasses).length >= LIMIT) {\n        // Unable to find latestRule in test environment.\n        /* eslint-disable no-console, prefer-template */\n        console.warn('Over ' + LIMIT + ' classes were generated for component ' + displayName + '. \\n' + 'Consider using the attrs method, together with a style object for frequently changed styles.\\n' + 'Example:\\n' + '  const Component = styled.div.attrs(props => ({\\n' + '    style: {\\n' + '      background: props.background,\\n' + '    },\\n' + '  }))`width: 100%;`\\n\\n' + '  <Component />');\n        warningSeen = true;\n        generatedClasses = {};\n      }\n    }\n  };\n});\n\n// \n\nvar determineTheme = (function (props, fallbackTheme) {\n  var defaultProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : EMPTY_OBJECT;\n\n  // Props should take precedence over ThemeProvider, which should take precedence over\n  // defaultProps, but React automatically puts defaultProps on props.\n\n  /* eslint-disable react/prop-types, flowtype-errors/show-errors */\n  var isDefaultTheme = defaultProps ? props.theme === defaultProps.theme : false;\n  var theme = props.theme && !isDefaultTheme ? props.theme : fallbackTheme || defaultProps.theme;\n  /* eslint-enable */\n\n  return theme;\n});\n\n// \nvar escapeRegex = /[[\\].#*$><+~=|^:(),\"'`-]+/g;\nvar dashesAtEnds = /(^-|-$)/g;\n\n/**\n * TODO: Explore using CSS.escape when it becomes more available\n * in evergreen browsers.\n */\nfunction escape(str) {\n  return str\n  // Replace all possible CSS selectors\n  .replace(escapeRegex, '-')\n\n  // Remove extraneous hyphens at the start and end\n  .replace(dashesAtEnds, '');\n}\n\n// \n\nfunction isTag(target) {\n  return typeof target === 'string' && ( true ? target.charAt(0) === target.charAt(0).toLowerCase() : undefined);\n}\n\n// \n\nfunction generateDisplayName(target) {\n  // $FlowFixMe\n  return isTag(target) ? 'styled.' + target : 'Styled(' + getComponentName(target) + ')';\n}\n\nvar _TYPE_STATICS;\n\nvar REACT_STATICS = {\n  childContextTypes: true,\n  contextTypes: true,\n  defaultProps: true,\n  displayName: true,\n  getDerivedStateFromProps: true,\n  propTypes: true,\n  type: true\n};\n\nvar KNOWN_STATICS = {\n  name: true,\n  length: true,\n  prototype: true,\n  caller: true,\n  callee: true,\n  arguments: true,\n  arity: true\n};\n\nvar TYPE_STATICS = (_TYPE_STATICS = {}, _TYPE_STATICS[react_is__WEBPACK_IMPORTED_MODULE_4__[\"ForwardRef\"]] = {\n  $$typeof: true,\n  render: true\n}, _TYPE_STATICS);\n\nvar defineProperty$1 = Object.defineProperty,\n    getOwnPropertyNames = Object.getOwnPropertyNames,\n    _Object$getOwnPropert = Object.getOwnPropertySymbols,\n    getOwnPropertySymbols = _Object$getOwnPropert === undefined ? function () {\n  return [];\n} : _Object$getOwnPropert,\n    getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor,\n    getPrototypeOf = Object.getPrototypeOf,\n    objectPrototype = Object.prototype;\nvar arrayPrototype = Array.prototype;\n\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n  if (typeof sourceComponent !== 'string') {\n    // don't hoist over string (html) components\n\n    var inheritedComponent = getPrototypeOf(sourceComponent);\n\n    if (inheritedComponent && inheritedComponent !== objectPrototype) {\n      hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n    }\n\n    var keys = arrayPrototype.concat(getOwnPropertyNames(sourceComponent),\n    // $FlowFixMe\n    getOwnPropertySymbols(sourceComponent));\n\n    var targetStatics = TYPE_STATICS[targetComponent.$$typeof] || REACT_STATICS;\n\n    var sourceStatics = TYPE_STATICS[sourceComponent.$$typeof] || REACT_STATICS;\n\n    var i = keys.length;\n    var descriptor = void 0;\n    var key = void 0;\n\n    // eslint-disable-next-line no-plusplus\n    while (i--) {\n      key = keys[i];\n\n      if (\n      // $FlowFixMe\n      !KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) &&\n      // $FlowFixMe\n      !(targetStatics && targetStatics[key])) {\n        descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n        if (descriptor) {\n          try {\n            // Avoid failures from read-only properties\n            defineProperty$1(targetComponent, key, descriptor);\n          } catch (e) {\n            /* fail silently */\n          }\n        }\n      }\n    }\n\n    return targetComponent;\n  }\n\n  return targetComponent;\n}\n\n// \nfunction isDerivedReactComponent(fn) {\n  return !!(fn && fn.prototype && fn.prototype.isReactComponent);\n}\n\n// \n// Helper to call a given function, only once\nvar once = (function (cb) {\n  var called = false;\n\n  return function () {\n    if (!called) {\n      called = true;\n      cb.apply(undefined, arguments);\n    }\n  };\n});\n\n// \n\nvar ThemeContext = Object(react__WEBPACK_IMPORTED_MODULE_2__[\"createContext\"])();\n\nvar ThemeConsumer = ThemeContext.Consumer;\n\n/**\n * Provide a theme to an entire react component tree via context\n */\n\nvar ThemeProvider = function (_Component) {\n  inherits(ThemeProvider, _Component);\n\n  function ThemeProvider(props) {\n    classCallCheck(this, ThemeProvider);\n\n    var _this = possibleConstructorReturn(this, _Component.call(this, props));\n\n    _this.getContext = Object(memoize_one__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(_this.getContext.bind(_this));\n    _this.renderInner = _this.renderInner.bind(_this);\n    return _this;\n  }\n\n  ThemeProvider.prototype.render = function render() {\n    if (!this.props.children) return null;\n\n    return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(\n      ThemeContext.Consumer,\n      null,\n      this.renderInner\n    );\n  };\n\n  ThemeProvider.prototype.renderInner = function renderInner(outerTheme) {\n    var context = this.getContext(this.props.theme, outerTheme);\n\n    return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(\n      ThemeContext.Provider,\n      { value: context },\n      this.props.children\n    );\n  };\n\n  /**\n   * Get the theme from the props, supporting both (outerTheme) => {}\n   * as well as object notation\n   */\n\n\n  ThemeProvider.prototype.getTheme = function getTheme(theme, outerTheme) {\n    if (isFunction(theme)) {\n      var mergedTheme = theme(outerTheme);\n\n      if ( true && (mergedTheme === null || Array.isArray(mergedTheme) || (typeof mergedTheme === 'undefined' ? 'undefined' : _typeof(mergedTheme)) !== 'object')) {\n        throw new StyledComponentsError(7);\n      }\n\n      return mergedTheme;\n    }\n\n    if (theme === null || Array.isArray(theme) || (typeof theme === 'undefined' ? 'undefined' : _typeof(theme)) !== 'object') {\n      throw new StyledComponentsError(8);\n    }\n\n    return _extends({}, outerTheme, theme);\n  };\n\n  ThemeProvider.prototype.getContext = function getContext(theme, outerTheme) {\n    return this.getTheme(theme, outerTheme);\n  };\n\n  return ThemeProvider;\n}(react__WEBPACK_IMPORTED_MODULE_2__[\"Component\"]);\n\n// \n\nvar CLOSING_TAG_R = /^\\s*<\\/[a-z]/i;\n\nvar ServerStyleSheet = function () {\n  function ServerStyleSheet() {\n    classCallCheck(this, ServerStyleSheet);\n\n    /* The master sheet might be reset, so keep a reference here */\n    this.masterSheet = StyleSheet.master;\n    this.instance = this.masterSheet.clone();\n    this.sealed = false;\n  }\n\n  /**\n   * Mark the ServerStyleSheet as being fully emitted and manually GC it from the\n   * StyleSheet singleton.\n   */\n\n\n  ServerStyleSheet.prototype.seal = function seal() {\n    if (!this.sealed) {\n      /* Remove sealed StyleSheets from the master sheet */\n      var index = this.masterSheet.clones.indexOf(this.instance);\n      this.masterSheet.clones.splice(index, 1);\n      this.sealed = true;\n    }\n  };\n\n  ServerStyleSheet.prototype.collectStyles = function collectStyles(children) {\n    if (this.sealed) {\n      throw new StyledComponentsError(2);\n    }\n\n    return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(\n      StyleSheetManager,\n      { sheet: this.instance },\n      children\n    );\n  };\n\n  ServerStyleSheet.prototype.getStyleTags = function getStyleTags() {\n    this.seal();\n    return this.instance.toHTML();\n  };\n\n  ServerStyleSheet.prototype.getStyleElement = function getStyleElement() {\n    this.seal();\n    return this.instance.toReactElements();\n  };\n\n  ServerStyleSheet.prototype.interleaveWithNodeStream = function interleaveWithNodeStream(readableStream) {\n    var _this = this;\n\n    {\n      throw new StyledComponentsError(3);\n    }\n\n    /* the tag index keeps track of which tags have already been emitted */\n    var instance = this.instance;\n\n    var instanceTagIndex = 0;\n\n    var streamAttr = SC_STREAM_ATTR + '=\"true\"';\n\n    var transformer = new stream.Transform({\n      transform: function appendStyleChunks(chunk, /* encoding */_, callback) {\n        var tags = instance.tags;\n\n        var html = '';\n\n        /* retrieve html for each new style tag */\n        for (; instanceTagIndex < tags.length; instanceTagIndex += 1) {\n          var tag = tags[instanceTagIndex];\n          html += tag.toHTML(streamAttr);\n        }\n\n        /* force our StyleSheets to emit entirely new tags */\n        instance.sealAllTags();\n\n        var renderedHtml = chunk.toString();\n\n        /* prepend style html to chunk, unless the start of the chunk is a closing tag in which case append right after that */\n        if (CLOSING_TAG_R.test(renderedHtml)) {\n          var endOfClosingTag = renderedHtml.indexOf('>');\n\n          this.push(renderedHtml.slice(0, endOfClosingTag + 1) + html + renderedHtml.slice(endOfClosingTag + 1));\n        } else this.push(html + renderedHtml);\n\n        callback();\n      }\n    });\n\n    readableStream.on('end', function () {\n      return _this.seal();\n    });\n\n    readableStream.on('error', function (err) {\n      _this.seal();\n\n      // forward the error to the transform stream\n      transformer.emit('error', err);\n    });\n\n    return readableStream.pipe(transformer);\n  };\n\n  return ServerStyleSheet;\n}();\n\n// \n\nvar StyleSheetContext = Object(react__WEBPACK_IMPORTED_MODULE_2__[\"createContext\"])();\nvar StyleSheetConsumer = StyleSheetContext.Consumer;\n\nvar StyleSheetManager = function (_Component) {\n  inherits(StyleSheetManager, _Component);\n\n  function StyleSheetManager(props) {\n    classCallCheck(this, StyleSheetManager);\n\n    var _this = possibleConstructorReturn(this, _Component.call(this, props));\n\n    _this.getContext = Object(memoize_one__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(_this.getContext);\n    return _this;\n  }\n\n  StyleSheetManager.prototype.getContext = function getContext(sheet, target) {\n    if (sheet) {\n      return sheet;\n    } else if (target) {\n      return new StyleSheet(target);\n    } else {\n      throw new StyledComponentsError(4);\n    }\n  };\n\n  StyleSheetManager.prototype.render = function render() {\n    var _props = this.props,\n        children = _props.children,\n        sheet = _props.sheet,\n        target = _props.target;\n\n\n    return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(\n      StyleSheetContext.Provider,\n      { value: this.getContext(sheet, target) },\n       true ? react__WEBPACK_IMPORTED_MODULE_2___default.a.Children.only(children) : undefined\n    );\n  };\n\n  return StyleSheetManager;\n}(react__WEBPACK_IMPORTED_MODULE_2__[\"Component\"]);\n true ? StyleSheetManager.propTypes = {\n  sheet: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.instanceOf(StyleSheet), prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.instanceOf(ServerStyleSheet)]),\n\n  target: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.shape({\n    appendChild: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func.isRequired\n  })\n} : undefined;\n\n// \n\nvar THEME_PROP_REGEX = /\\.theme[.[]/;\nvar identifiers = {};\n\n/* We depend on components having unique IDs */\nfunction generateId(_ComponentStyle, _displayName, parentComponentId) {\n  var displayName = typeof _displayName !== 'string' ? 'sc' : escape(_displayName);\n\n  /**\n   * This ensures uniqueness if two components happen to share\n   * the same displayName.\n   */\n  var nr = (identifiers[displayName] || 0) + 1;\n  identifiers[displayName] = nr;\n\n  var componentId = displayName + '-' + _ComponentStyle.generateName(displayName + nr);\n\n  return parentComponentId ? parentComponentId + '-' + componentId : componentId;\n}\n\n// $FlowFixMe\n\nvar StyledComponent = function (_Component) {\n  inherits(StyledComponent, _Component);\n\n  function StyledComponent() {\n    classCallCheck(this, StyledComponent);\n\n    var _this = possibleConstructorReturn(this, _Component.call(this));\n\n    _this.attrs = {};\n\n    _this.renderOuter = _this.renderOuter.bind(_this);\n    _this.renderInner = _this.renderInner.bind(_this);\n\n    if (true) {\n      _this.warnInnerRef = once(function (displayName) {\n        return (\n          // eslint-disable-next-line no-console\n          console.warn('The \"innerRef\" API has been removed in styled-components v4 in favor of React 16 ref forwarding, use \"ref\" instead like a typical component. \"innerRef\" was detected on component \"' + displayName + '\".')\n        );\n      });\n\n      _this.warnAttrsFnObjectKeyDeprecated = once(function (key, displayName) {\n        return (\n          // eslint-disable-next-line no-console\n          console.warn('Functions as object-form attrs({}) keys are now deprecated and will be removed in a future version of styled-components. Switch to the new attrs(props => ({})) syntax instead for easier and more powerful composition. The attrs key in question is \"' + key + '\" on component \"' + displayName + '\".', '\\n ' + new Error().stack)\n        );\n      });\n\n      _this.warnNonStyledComponentAttrsObjectKey = once(function (key, displayName) {\n        return (\n          // eslint-disable-next-line no-console\n          console.warn('It looks like you\\'ve used a non styled-component as the value for the \"' + key + '\" prop in an object-form attrs constructor of \"' + displayName + '\".\\n' + 'You should use the new function-form attrs constructor which avoids this issue: attrs(props => ({ yourStuff }))\\n' + \"To continue using the deprecated object syntax, you'll need to wrap your component prop in a function to make it available inside the styled component (you'll still get the deprecation warning though.)\\n\" + ('For example, { ' + key + ': () => InnerComponent } instead of { ' + key + ': InnerComponent }'))\n        );\n      });\n    }\n    return _this;\n  }\n\n  StyledComponent.prototype.render = function render() {\n    return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(\n      StyleSheetConsumer,\n      null,\n      this.renderOuter\n    );\n  };\n\n  StyledComponent.prototype.renderOuter = function renderOuter() {\n    var styleSheet = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : StyleSheet.master;\n\n    this.styleSheet = styleSheet;\n\n    // No need to subscribe a static component to theme changes, it won't change anything\n    if (this.props.forwardedComponent.componentStyle.isStatic) return this.renderInner();\n\n    return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(\n      ThemeConsumer,\n      null,\n      this.renderInner\n    );\n  };\n\n  StyledComponent.prototype.renderInner = function renderInner(theme) {\n    var _props$forwardedCompo = this.props.forwardedComponent,\n        componentStyle = _props$forwardedCompo.componentStyle,\n        defaultProps = _props$forwardedCompo.defaultProps,\n        displayName = _props$forwardedCompo.displayName,\n        foldedComponentIds = _props$forwardedCompo.foldedComponentIds,\n        styledComponentId = _props$forwardedCompo.styledComponentId,\n        target = _props$forwardedCompo.target,\n        usesTheme = _props$forwardedCompo.usesTheme;\n\n\n    var generatedClassName = void 0;\n    var rawTheme = void 0;\n\n    if (componentStyle.isStatic) {\n      generatedClassName = this.generateAndInjectStyles(EMPTY_OBJECT, this.props);\n    } else {\n      rawTheme = determineTheme(this.props, theme, defaultProps);\n      generatedClassName = this.generateAndInjectStyles(rawTheme || EMPTY_OBJECT, this.props);\n\n      if ( true && usesTheme && !rawTheme) {\n        console.error('Component \\'' +\n        // $FlowFixMe\n        displayName + '\\' (.' + styledComponentId + ') references the \\'theme\\' prop in its styles but no theme was provided via prop or <ThemeProvider>.');\n      }\n    }\n\n    var elementToBeCreated = this.props.as || this.attrs.as || target;\n    var isTargetTag = isTag(elementToBeCreated);\n\n    var propsForElement = {};\n    var computedProps = _extends({}, this.props, this.attrs);\n\n    var key = void 0;\n    // eslint-disable-next-line guard-for-in\n    for (key in computedProps) {\n      if ( true && key === 'innerRef' && isTargetTag) {\n        this.warnInnerRef(displayName);\n      }\n\n      if (key === 'forwardedComponent' || key === 'as') {\n        continue;\n      } else if (key === 'forwardedRef') propsForElement.ref = computedProps[key];else if (key === 'forwardedAs') propsForElement.as = computedProps[key];else if (!isTargetTag || Object(_emotion_is_prop_valid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(key)) {\n        // Don't pass through non HTML tags through to HTML elements\n        propsForElement[key] = computedProps[key];\n      }\n    }\n\n    if (this.props.style && this.attrs.style) {\n      propsForElement.style = _extends({}, this.attrs.style, this.props.style);\n    }\n\n    propsForElement.className = Array.prototype.concat(foldedComponentIds, styledComponentId, generatedClassName !== styledComponentId ? generatedClassName : null, this.props.className, this.attrs.className).filter(Boolean).join(' ');\n\n    return Object(react__WEBPACK_IMPORTED_MODULE_2__[\"createElement\"])(elementToBeCreated, propsForElement);\n  };\n\n  StyledComponent.prototype.buildExecutionContext = function buildExecutionContext(theme, props, attrs) {\n    var _this2 = this;\n\n    var context = _extends({}, props, { theme: theme });\n\n    if (!attrs.length) return context;\n\n    this.attrs = {};\n\n    attrs.forEach(function (attrDef) {\n      var resolvedAttrDef = attrDef;\n      var attrDefWasFn = false;\n      var attr = void 0;\n      var key = void 0;\n\n      if (isFunction(resolvedAttrDef)) {\n        // $FlowFixMe\n        resolvedAttrDef = resolvedAttrDef(context);\n        attrDefWasFn = true;\n      }\n\n      /* eslint-disable guard-for-in */\n      // $FlowFixMe\n      for (key in resolvedAttrDef) {\n        attr = resolvedAttrDef[key];\n\n        if (!attrDefWasFn) {\n          if (isFunction(attr) && !isDerivedReactComponent(attr) && !isStyledComponent(attr)) {\n            if (true) {\n              _this2.warnAttrsFnObjectKeyDeprecated(key, props.forwardedComponent.displayName);\n            }\n\n            attr = attr(context);\n\n            if ( true && react__WEBPACK_IMPORTED_MODULE_2___default.a.isValidElement(attr)) {\n              _this2.warnNonStyledComponentAttrsObjectKey(key, props.forwardedComponent.displayName);\n            }\n          }\n        }\n\n        _this2.attrs[key] = attr;\n        context[key] = attr;\n      }\n      /* eslint-enable */\n    });\n\n    return context;\n  };\n\n  StyledComponent.prototype.generateAndInjectStyles = function generateAndInjectStyles(theme, props) {\n    var _props$forwardedCompo2 = props.forwardedComponent,\n        attrs = _props$forwardedCompo2.attrs,\n        componentStyle = _props$forwardedCompo2.componentStyle,\n        warnTooManyClasses = _props$forwardedCompo2.warnTooManyClasses;\n\n    // statically styled-components don't need to build an execution context object,\n    // and shouldn't be increasing the number of class names\n\n    if (componentStyle.isStatic && !attrs.length) {\n      return componentStyle.generateAndInjectStyles(EMPTY_OBJECT, this.styleSheet);\n    }\n\n    var className = componentStyle.generateAndInjectStyles(this.buildExecutionContext(theme, props, attrs), this.styleSheet);\n\n    if ( true && warnTooManyClasses) warnTooManyClasses(className);\n\n    return className;\n  };\n\n  return StyledComponent;\n}(react__WEBPACK_IMPORTED_MODULE_2__[\"Component\"]);\n\nfunction createStyledComponent(target, options, rules) {\n  var isTargetStyledComp = isStyledComponent(target);\n  var isClass = !isTag(target);\n\n  var _options$displayName = options.displayName,\n      displayName = _options$displayName === undefined ? generateDisplayName(target) : _options$displayName,\n      _options$componentId = options.componentId,\n      componentId = _options$componentId === undefined ? generateId(ComponentStyle, options.displayName, options.parentComponentId) : _options$componentId,\n      _options$ParentCompon = options.ParentComponent,\n      ParentComponent = _options$ParentCompon === undefined ? StyledComponent : _options$ParentCompon,\n      _options$attrs = options.attrs,\n      attrs = _options$attrs === undefined ? EMPTY_ARRAY : _options$attrs;\n\n\n  var styledComponentId = options.displayName && options.componentId ? escape(options.displayName) + '-' + options.componentId : options.componentId || componentId;\n\n  // fold the underlying StyledComponent attrs up (implicit extend)\n  var finalAttrs =\n  // $FlowFixMe\n  isTargetStyledComp && target.attrs ? Array.prototype.concat(target.attrs, attrs).filter(Boolean) : attrs;\n\n  var componentStyle = new ComponentStyle(isTargetStyledComp ? // fold the underlying StyledComponent rules up (implicit extend)\n  // $FlowFixMe\n  target.componentStyle.rules.concat(rules) : rules, finalAttrs, styledComponentId);\n\n  /**\n   * forwardRef creates a new interim component, which we'll take advantage of\n   * instead of extending ParentComponent to create _another_ interim class\n   */\n  var WrappedStyledComponent = void 0;\n  var forwardRef = function forwardRef(props, ref) {\n    return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(ParentComponent, _extends({}, props, { forwardedComponent: WrappedStyledComponent, forwardedRef: ref }));\n  };\n  forwardRef.displayName = displayName;\n  WrappedStyledComponent = react__WEBPACK_IMPORTED_MODULE_2___default.a.forwardRef(forwardRef);\n  WrappedStyledComponent.displayName = displayName;\n\n  // $FlowFixMe\n  WrappedStyledComponent.attrs = finalAttrs;\n  // $FlowFixMe\n  WrappedStyledComponent.componentStyle = componentStyle;\n\n  // $FlowFixMe\n  WrappedStyledComponent.foldedComponentIds = isTargetStyledComp ? // $FlowFixMe\n  Array.prototype.concat(target.foldedComponentIds, target.styledComponentId) : EMPTY_ARRAY;\n\n  // $FlowFixMe\n  WrappedStyledComponent.styledComponentId = styledComponentId;\n\n  // fold the underlying StyledComponent target up since we folded the styles\n  // $FlowFixMe\n  WrappedStyledComponent.target = isTargetStyledComp ? target.target : target;\n\n  // $FlowFixMe\n  WrappedStyledComponent.withComponent = function withComponent(tag) {\n    var previousComponentId = options.componentId,\n        optionsToCopy = objectWithoutProperties(options, ['componentId']);\n\n\n    var newComponentId = previousComponentId && previousComponentId + '-' + (isTag(tag) ? tag : escape(getComponentName(tag)));\n\n    var newOptions = _extends({}, optionsToCopy, {\n      attrs: finalAttrs,\n      componentId: newComponentId,\n      ParentComponent: ParentComponent\n    });\n\n    return createStyledComponent(tag, newOptions, rules);\n  };\n\n  // $FlowFixMe\n  Object.defineProperty(WrappedStyledComponent, 'defaultProps', {\n    get: function get$$1() {\n      return this._foldedDefaultProps;\n    },\n    set: function set$$1(obj) {\n      // $FlowFixMe\n      this._foldedDefaultProps = isTargetStyledComp ? Object(merge_anything__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(target.defaultProps, obj) : obj;\n    }\n  });\n\n  if (true) {\n    // $FlowFixMe\n    WrappedStyledComponent.usesTheme = componentStyle.rules.some(function (x) {\n      return isFunction(x) && THEME_PROP_REGEX.test(x.toString());\n    });\n\n    // $FlowFixMe\n    WrappedStyledComponent.warnTooManyClasses = createWarnTooManyClasses(displayName);\n  }\n\n  // $FlowFixMe\n  WrappedStyledComponent.toString = function () {\n    return '.' + WrappedStyledComponent.styledComponentId;\n  };\n\n  if (isClass) {\n    hoistNonReactStatics(WrappedStyledComponent, target, {\n      // all SC-specific things should not be hoisted\n      attrs: true,\n      componentStyle: true,\n      displayName: true,\n      foldedComponentIds: true,\n      styledComponentId: true,\n      target: true,\n      withComponent: true\n    });\n  }\n\n  return WrappedStyledComponent;\n}\n\n// \n// Thanks to ReactDOMFactories for this handy list!\n\nvar domElements = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr',\n\n// SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'marker', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\n// \n\nvar styled = function styled(tag) {\n  return constructWithOptions(createStyledComponent, tag);\n};\n\n// Shorthands for all valid HTML Elements\ndomElements.forEach(function (domElement) {\n  styled[domElement] = styled(domElement);\n});\n\n// \n\nvar GlobalStyle = function () {\n  function GlobalStyle(rules, componentId) {\n    classCallCheck(this, GlobalStyle);\n\n    this.rules = rules;\n    this.componentId = componentId;\n    this.isStatic = isStaticRules(rules, EMPTY_ARRAY);\n\n    if (!StyleSheet.master.hasId(componentId)) {\n      StyleSheet.master.deferredInject(componentId, []);\n    }\n  }\n\n  GlobalStyle.prototype.createStyles = function createStyles(executionContext, styleSheet) {\n    var flatCSS = flatten(this.rules, executionContext, styleSheet);\n    var css = stringifyRules(flatCSS, '');\n\n    styleSheet.inject(this.componentId, css);\n  };\n\n  GlobalStyle.prototype.removeStyles = function removeStyles(styleSheet) {\n    var componentId = this.componentId;\n\n    if (styleSheet.hasId(componentId)) {\n      styleSheet.remove(componentId);\n    }\n  };\n\n  // TODO: overwrite in-place instead of remove+create?\n\n\n  GlobalStyle.prototype.renderStyles = function renderStyles(executionContext, styleSheet) {\n    this.removeStyles(styleSheet);\n    this.createStyles(executionContext, styleSheet);\n  };\n\n  return GlobalStyle;\n}();\n\n// \n\n// place our cache into shared context so it'll persist between HMRs\nif (IS_BROWSER) {\n  window.scCGSHMRCache = {};\n}\n\nfunction createGlobalStyle(strings) {\n  for (var _len = arguments.length, interpolations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    interpolations[_key - 1] = arguments[_key];\n  }\n\n  var rules = css.apply(undefined, [strings].concat(interpolations));\n  var id = 'sc-global-' + murmurhash(JSON.stringify(rules));\n  var style = new GlobalStyle(rules, id);\n\n  var GlobalStyleComponent = function (_React$Component) {\n    inherits(GlobalStyleComponent, _React$Component);\n\n    function GlobalStyleComponent(props) {\n      classCallCheck(this, GlobalStyleComponent);\n\n      var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\n      var _this$constructor = _this.constructor,\n          globalStyle = _this$constructor.globalStyle,\n          styledComponentId = _this$constructor.styledComponentId;\n\n\n      if (IS_BROWSER) {\n        window.scCGSHMRCache[styledComponentId] = (window.scCGSHMRCache[styledComponentId] || 0) + 1;\n      }\n\n      /**\n       * This fixes HMR compatibility. Don't ask me why, but this combination of\n       * caching the closure variables via statics and then persisting the statics in\n       * state works across HMR where no other combination did. ¯\\_(ツ)_/¯\n       */\n      _this.state = {\n        globalStyle: globalStyle,\n        styledComponentId: styledComponentId\n      };\n      return _this;\n    }\n\n    GlobalStyleComponent.prototype.componentWillUnmount = function componentWillUnmount() {\n      if (window.scCGSHMRCache[this.state.styledComponentId]) {\n        window.scCGSHMRCache[this.state.styledComponentId] -= 1;\n      }\n      /**\n       * Depending on the order \"render\" is called this can cause the styles to be lost\n       * until the next render pass of the remaining instance, which may\n       * not be immediate.\n       */\n      if (window.scCGSHMRCache[this.state.styledComponentId] === 0) {\n        this.state.globalStyle.removeStyles(this.styleSheet);\n      }\n    };\n\n    GlobalStyleComponent.prototype.render = function render() {\n      var _this2 = this;\n\n      if ( true && react__WEBPACK_IMPORTED_MODULE_2___default.a.Children.count(this.props.children)) {\n        // eslint-disable-next-line no-console\n        console.warn('The global style component ' + this.state.styledComponentId + ' was given child JSX. createGlobalStyle does not render children.');\n      }\n\n      return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(\n        StyleSheetConsumer,\n        null,\n        function (styleSheet) {\n          _this2.styleSheet = styleSheet || StyleSheet.master;\n\n          var globalStyle = _this2.state.globalStyle;\n\n\n          if (globalStyle.isStatic) {\n            globalStyle.renderStyles(STATIC_EXECUTION_CONTEXT, _this2.styleSheet);\n\n            return null;\n          } else {\n            return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(\n              ThemeConsumer,\n              null,\n              function (theme) {\n                // $FlowFixMe\n                var defaultProps = _this2.constructor.defaultProps;\n\n\n                var context = _extends({}, _this2.props);\n\n                if (typeof theme !== 'undefined') {\n                  context.theme = determineTheme(_this2.props, theme, defaultProps);\n                }\n\n                globalStyle.renderStyles(context, _this2.styleSheet);\n\n                return null;\n              }\n            );\n          }\n        }\n      );\n    };\n\n    return GlobalStyleComponent;\n  }(react__WEBPACK_IMPORTED_MODULE_2___default.a.Component);\n\n  GlobalStyleComponent.globalStyle = style;\n  GlobalStyleComponent.styledComponentId = id;\n\n\n  return GlobalStyleComponent;\n}\n\n// \n\nvar replaceWhitespace = function replaceWhitespace(str) {\n  return str.replace(/\\s|\\\\n/g, '');\n};\n\nfunction keyframes(strings) {\n  /* Warning if you've used keyframes on React Native */\n  if ( true && typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n    // eslint-disable-next-line no-console\n    console.warn('`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.');\n  }\n\n  for (var _len = arguments.length, interpolations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    interpolations[_key - 1] = arguments[_key];\n  }\n\n  var rules = css.apply(undefined, [strings].concat(interpolations));\n\n  var name = generateAlphabeticName(murmurhash(replaceWhitespace(JSON.stringify(rules))));\n\n  return new Keyframes(name, stringifyRules(rules, name, '@keyframes'));\n}\n\n// \n\nvar withTheme = (function (Component$$1) {\n  var WithTheme = react__WEBPACK_IMPORTED_MODULE_2___default.a.forwardRef(function (props, ref) {\n    return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(\n      ThemeConsumer,\n      null,\n      function (theme) {\n        // $FlowFixMe\n        var defaultProps = Component$$1.defaultProps;\n\n        var themeProp = determineTheme(props, theme, defaultProps);\n\n        if ( true && themeProp === undefined) {\n          // eslint-disable-next-line no-console\n          console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \"' + getComponentName(Component$$1) + '\"');\n        }\n\n        return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(Component$$1, _extends({}, props, { theme: themeProp, ref: ref }));\n      }\n    );\n  });\n\n  hoistNonReactStatics(WithTheme, Component$$1);\n\n  WithTheme.displayName = 'WithTheme(' + getComponentName(Component$$1) + ')';\n\n  return WithTheme;\n});\n\n// \n\n/* eslint-disable */\nvar __DO_NOT_USE_OR_YOU_WILL_BE_HAUNTED_BY_SPOOKY_GHOSTS = {\n  StyleSheet: StyleSheet\n};\n\n// \n\n/* Warning if you've imported this file on React Native */\nif ( true && typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n  // eslint-disable-next-line no-console\n  console.warn(\"It looks like you've imported 'styled-components' on React Native.\\n\" + \"Perhaps you're looking to import 'styled-components/native'?\\n\" + 'Read more about this at https://www.styled-components.com/docs/basics#react-native');\n}\n\n/* Warning if there are several instances of styled-components */\nif ( true && typeof window !== 'undefined' && typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string' && navigator.userAgent.indexOf('Node.js') === -1 && navigator.userAgent.indexOf('jsdom') === -1) {\n  window['__styled-components-init__'] = window['__styled-components-init__'] || 0;\n\n  if (window['__styled-components-init__'] === 1) {\n    // eslint-disable-next-line no-console\n    console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. \" + 'This may cause dynamic styles not rendering properly, errors happening during rehydration process ' + 'and makes your application bigger without a good reason.\\n\\n' + 'See https://s-c.sh/2BAXzed for more info.');\n  }\n\n  window['__styled-components-init__'] += 1;\n}\n\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (styled);\n\n//# sourceMappingURL=styled-components.browser.esm.js.map\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../process/browser.js */ \"./node_modules/process/browser.js\")))\n\n/***/ }),\n\n/***/ \"./node_modules/stylis-rule-sheet/index.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/stylis-rule-sheet/index.js ***!\n  \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n(function (factory) {\n\t true ? (module['exports'] = factory()) :\n\t\tundefined\n}(function () {\n\n\t'use strict'\n\n\treturn function (insertRule) {\n\t\tvar delimiter = '/*|*/'\n\t\tvar needle = delimiter+'}'\n\n\t\tfunction toSheet (block) {\n\t\t\tif (block)\n\t\t\t\ttry {\n\t\t\t\t\tinsertRule(block + '}')\n\t\t\t\t} catch (e) {}\n\t\t}\n\n\t\treturn function ruleSheet (context, content, selectors, parents, line, column, length, ns, depth, at) {\n\t\t\tswitch (context) {\n\t\t\t\t// property\n\t\t\t\tcase 1:\n\t\t\t\t\t// @import\n\t\t\t\t\tif (depth === 0 && content.charCodeAt(0) === 64)\n\t\t\t\t\t\treturn insertRule(content+';'), ''\n\t\t\t\t\tbreak\n\t\t\t\t// selector\n\t\t\t\tcase 2:\n\t\t\t\t\tif (ns === 0)\n\t\t\t\t\t\treturn content + delimiter\n\t\t\t\t\tbreak\n\t\t\t\t// at-rule\n\t\t\t\tcase 3:\n\t\t\t\t\tswitch (ns) {\n\t\t\t\t\t\t// @font-face, @page\n\t\t\t\t\t\tcase 102:\n\t\t\t\t\t\tcase 112:\n\t\t\t\t\t\t\treturn insertRule(selectors[0]+content), ''\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\treturn content + (at === 0 ? delimiter : '')\n\t\t\t\t\t}\n\t\t\t\tcase -2:\n\t\t\t\t\tcontent.split(needle).forEach(toSheet)\n\t\t\t}\n\t\t}\n\t}\n}))\n\n\n/***/ }),\n\n/***/ \"./node_modules/stylis/stylis.min.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/stylis/stylis.min.js ***!\n  \\*******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n!function(e){ true?module.exports=e(null):undefined}(function e(a){\"use strict\";var r=/^\\0+/g,c=/[\\0\\r\\f]/g,s=/: */g,t=/zoo|gra/,i=/([,: ])(transform)/g,f=/,+\\s*(?![^(]*[)])/g,n=/ +\\s*(?![^(]*[)])/g,l=/ *[\\0] */g,o=/,\\r+?/g,h=/([\\t\\r\\n ])*\\f?&/g,u=/:global\\(((?:[^\\(\\)\\[\\]]*|\\[.*\\]|\\([^\\(\\)]*\\))*)\\)/g,d=/\\W+/g,b=/@(k\\w+)\\s*(\\S*)\\s*/,p=/::(place)/g,k=/:(read-only)/g,g=/\\s+(?=[{\\];=:>])/g,A=/([[}=:>])\\s+/g,C=/(\\{[^{]+?);(?=\\})/g,w=/\\s{2,}/g,v=/([^\\(])(:+) */g,m=/[svh]\\w+-[tblr]{2}/,x=/\\(\\s*(.*)\\s*\\)/g,$=/([\\s\\S]*?);/g,y=/-self|flex-/g,O=/[^]*?(:[rp][el]a[\\w-]+)[^]*/,j=/stretch|:\\s*\\w+\\-(?:conte|avail)/,z=/([^-])(image-set\\()/,N=\"-webkit-\",S=\"-moz-\",F=\"-ms-\",W=59,q=125,B=123,D=40,E=41,G=91,H=93,I=10,J=13,K=9,L=64,M=32,P=38,Q=45,R=95,T=42,U=44,V=58,X=39,Y=34,Z=47,_=62,ee=43,ae=126,re=0,ce=12,se=11,te=107,ie=109,fe=115,ne=112,le=111,oe=105,he=99,ue=100,de=112,be=1,pe=1,ke=0,ge=1,Ae=1,Ce=1,we=0,ve=0,me=0,xe=[],$e=[],ye=0,Oe=null,je=-2,ze=-1,Ne=0,Se=1,Fe=2,We=3,qe=0,Be=1,De=\"\",Ee=\"\",Ge=\"\";function He(e,a,s,t,i){for(var f,n,o=0,h=0,u=0,d=0,g=0,A=0,C=0,w=0,m=0,$=0,y=0,O=0,j=0,z=0,R=0,we=0,$e=0,Oe=0,je=0,ze=s.length,Je=ze-1,Re=\"\",Te=\"\",Ue=\"\",Ve=\"\",Xe=\"\",Ye=\"\";R<ze;){if(C=s.charCodeAt(R),R===Je)if(h+d+u+o!==0){if(0!==h)C=h===Z?I:Z;d=u=o=0,ze++,Je++}if(h+d+u+o===0){if(R===Je){if(we>0)Te=Te.replace(c,\"\");if(Te.trim().length>0){switch(C){case M:case K:case W:case J:case I:break;default:Te+=s.charAt(R)}C=W}}if(1===$e)switch(C){case B:case q:case W:case Y:case X:case D:case E:case U:$e=0;case K:case J:case I:case M:break;default:for($e=0,je=R,g=C,R--,C=W;je<ze;)switch(s.charCodeAt(je++)){case I:case J:case W:++R,C=g,je=ze;break;case V:if(we>0)++R,C=g;case B:je=ze}}switch(C){case B:for(g=(Te=Te.trim()).charCodeAt(0),y=1,je=++R;R<ze;){switch(C=s.charCodeAt(R)){case B:y++;break;case q:y--;break;case Z:switch(A=s.charCodeAt(R+1)){case T:case Z:R=Qe(A,R,Je,s)}break;case G:C++;case D:C++;case Y:case X:for(;R++<Je&&s.charCodeAt(R)!==C;);}if(0===y)break;R++}if(Ue=s.substring(je,R),g===re)g=(Te=Te.replace(r,\"\").trim()).charCodeAt(0);switch(g){case L:if(we>0)Te=Te.replace(c,\"\");switch(A=Te.charCodeAt(1)){case ue:case ie:case fe:case Q:f=a;break;default:f=xe}if(je=(Ue=He(a,f,Ue,A,i+1)).length,me>0&&0===je)je=Te.length;if(ye>0)if(f=Ie(xe,Te,Oe),n=Pe(We,Ue,f,a,pe,be,je,A,i,t),Te=f.join(\"\"),void 0!==n)if(0===(je=(Ue=n.trim()).length))A=0,Ue=\"\";if(je>0)switch(A){case fe:Te=Te.replace(x,Me);case ue:case ie:case Q:Ue=Te+\"{\"+Ue+\"}\";break;case te:if(Ue=(Te=Te.replace(b,\"$1 $2\"+(Be>0?De:\"\")))+\"{\"+Ue+\"}\",1===Ae||2===Ae&&Le(\"@\"+Ue,3))Ue=\"@\"+N+Ue+\"@\"+Ue;else Ue=\"@\"+Ue;break;default:if(Ue=Te+Ue,t===de)Ve+=Ue,Ue=\"\"}else Ue=\"\";break;default:Ue=He(a,Ie(a,Te,Oe),Ue,t,i+1)}Xe+=Ue,O=0,$e=0,z=0,we=0,Oe=0,j=0,Te=\"\",Ue=\"\",C=s.charCodeAt(++R);break;case q:case W:if((je=(Te=(we>0?Te.replace(c,\"\"):Te).trim()).length)>1){if(0===z)if((g=Te.charCodeAt(0))===Q||g>96&&g<123)je=(Te=Te.replace(\" \",\":\")).length;if(ye>0)if(void 0!==(n=Pe(Se,Te,a,e,pe,be,Ve.length,t,i,t)))if(0===(je=(Te=n.trim()).length))Te=\"\\0\\0\";switch(g=Te.charCodeAt(0),A=Te.charCodeAt(1),g){case re:break;case L:if(A===oe||A===he){Ye+=Te+s.charAt(R);break}default:if(Te.charCodeAt(je-1)===V)break;Ve+=Ke(Te,g,A,Te.charCodeAt(2))}}O=0,$e=0,z=0,we=0,Oe=0,Te=\"\",C=s.charCodeAt(++R)}}switch(C){case J:case I:if(h+d+u+o+ve===0)switch($){case E:case X:case Y:case L:case ae:case _:case T:case ee:case Z:case Q:case V:case U:case W:case B:case q:break;default:if(z>0)$e=1}if(h===Z)h=0;else if(ge+O===0&&t!==te&&Te.length>0)we=1,Te+=\"\\0\";if(ye*qe>0)Pe(Ne,Te,a,e,pe,be,Ve.length,t,i,t);be=1,pe++;break;case W:case q:if(h+d+u+o===0){be++;break}default:switch(be++,Re=s.charAt(R),C){case K:case M:if(d+o+h===0)switch(w){case U:case V:case K:case M:Re=\"\";break;default:if(C!==M)Re=\" \"}break;case re:Re=\"\\\\0\";break;case ce:Re=\"\\\\f\";break;case se:Re=\"\\\\v\";break;case P:if(d+h+o===0&&ge>0)Oe=1,we=1,Re=\"\\f\"+Re;break;case 108:if(d+h+o+ke===0&&z>0)switch(R-z){case 2:if(w===ne&&s.charCodeAt(R-3)===V)ke=w;case 8:if(m===le)ke=m}break;case V:if(d+h+o===0)z=R;break;case U:if(h+u+d+o===0)we=1,Re+=\"\\r\";break;case Y:case X:if(0===h)d=d===C?0:0===d?C:d;break;case G:if(d+h+u===0)o++;break;case H:if(d+h+u===0)o--;break;case E:if(d+h+o===0)u--;break;case D:if(d+h+o===0){if(0===O)switch(2*w+3*m){case 533:break;default:y=0,O=1}u++}break;case L:if(h+u+d+o+z+j===0)j=1;break;case T:case Z:if(d+o+u>0)break;switch(h){case 0:switch(2*C+3*s.charCodeAt(R+1)){case 235:h=Z;break;case 220:je=R,h=T}break;case T:if(C===Z&&w===T&&je+2!==R){if(33===s.charCodeAt(je+2))Ve+=s.substring(je,R+1);Re=\"\",h=0}}}if(0===h){if(ge+d+o+j===0&&t!==te&&C!==W)switch(C){case U:case ae:case _:case ee:case E:case D:if(0===O){switch(w){case K:case M:case I:case J:Re+=\"\\0\";break;default:Re=\"\\0\"+Re+(C===U?\"\":\"\\0\")}we=1}else switch(C){case D:if(z+7===R&&108===w)z=0;O=++y;break;case E:if(0==(O=--y))we=1,Re+=\"\\0\"}break;case K:case M:switch(w){case re:case B:case q:case W:case U:case ce:case K:case M:case I:case J:break;default:if(0===O)we=1,Re+=\"\\0\"}}if(Te+=Re,C!==M&&C!==K)$=C}}m=w,w=C,R++}if(je=Ve.length,me>0)if(0===je&&0===Xe.length&&0===a[0].length==false)if(t!==ie||1===a.length&&(ge>0?Ee:Ge)===a[0])je=a.join(\",\").length+2;if(je>0){if(f=0===ge&&t!==te?function(e){for(var a,r,s=0,t=e.length,i=Array(t);s<t;++s){for(var f=e[s].split(l),n=\"\",o=0,h=0,u=0,d=0,b=f.length;o<b;++o){if(0===(h=(r=f[o]).length)&&b>1)continue;if(u=n.charCodeAt(n.length-1),d=r.charCodeAt(0),a=\"\",0!==o)switch(u){case T:case ae:case _:case ee:case M:case D:break;default:a=\" \"}switch(d){case P:r=a+Ee;case ae:case _:case ee:case M:case E:case D:break;case G:r=a+r+Ee;break;case V:switch(2*r.charCodeAt(1)+3*r.charCodeAt(2)){case 530:if(Ce>0){r=a+r.substring(8,h-1);break}default:if(o<1||f[o-1].length<1)r=a+Ee+r}break;case U:a=\"\";default:if(h>1&&r.indexOf(\":\")>0)r=a+r.replace(v,\"$1\"+Ee+\"$2\");else r=a+r+Ee}n+=r}i[s]=n.replace(c,\"\").trim()}return i}(a):a,ye>0)if(void 0!==(n=Pe(Fe,Ve,f,e,pe,be,je,t,i,t))&&0===(Ve=n).length)return Ye+Ve+Xe;if(Ve=f.join(\",\")+\"{\"+Ve+\"}\",Ae*ke!=0){if(2===Ae&&!Le(Ve,2))ke=0;switch(ke){case le:Ve=Ve.replace(k,\":\"+S+\"$1\")+Ve;break;case ne:Ve=Ve.replace(p,\"::\"+N+\"input-$1\")+Ve.replace(p,\"::\"+S+\"$1\")+Ve.replace(p,\":\"+F+\"input-$1\")+Ve}ke=0}}return Ye+Ve+Xe}function Ie(e,a,r){var c=a.trim().split(o),s=c,t=c.length,i=e.length;switch(i){case 0:case 1:for(var f=0,n=0===i?\"\":e[0]+\" \";f<t;++f)s[f]=Je(n,s[f],r,i).trim();break;default:f=0;var l=0;for(s=[];f<t;++f)for(var h=0;h<i;++h)s[l++]=Je(e[h]+\" \",c[f],r,i).trim()}return s}function Je(e,a,r,c){var s=a,t=s.charCodeAt(0);if(t<33)t=(s=s.trim()).charCodeAt(0);switch(t){case P:switch(ge+c){case 0:case 1:if(0===e.trim().length)break;default:return s.replace(h,\"$1\"+e.trim())}break;case V:switch(s.charCodeAt(1)){case 103:if(Ce>0&&ge>0)return s.replace(u,\"$1\").replace(h,\"$1\"+Ge);break;default:return e.trim()+s.replace(h,\"$1\"+e.trim())}default:if(r*ge>0&&s.indexOf(\"\\f\")>0)return s.replace(h,(e.charCodeAt(0)===V?\"\":\"$1\")+e.trim())}return e+s}function Ke(e,a,r,c){var l,o=0,h=e+\";\",u=2*a+3*r+4*c;if(944===u)return function(e){var a=e.length,r=e.indexOf(\":\",9)+1,c=e.substring(0,r).trim(),s=e.substring(r,a-1).trim();switch(e.charCodeAt(9)*Be){case 0:break;case Q:if(110!==e.charCodeAt(10))break;default:for(var t=s.split((s=\"\",f)),i=0,r=0,a=t.length;i<a;r=0,++i){for(var l=t[i],o=l.split(n);l=o[r];){var h=l.charCodeAt(0);if(1===Be&&(h>L&&h<90||h>96&&h<123||h===R||h===Q&&l.charCodeAt(1)!==Q))switch(isNaN(parseFloat(l))+(-1!==l.indexOf(\"(\"))){case 1:switch(l){case\"infinite\":case\"alternate\":case\"backwards\":case\"running\":case\"normal\":case\"forwards\":case\"both\":case\"none\":case\"linear\":case\"ease\":case\"ease-in\":case\"ease-out\":case\"ease-in-out\":case\"paused\":case\"reverse\":case\"alternate-reverse\":case\"inherit\":case\"initial\":case\"unset\":case\"step-start\":case\"step-end\":break;default:l+=De}}o[r++]=l}s+=(0===i?\"\":\",\")+o.join(\" \")}}if(s=c+s+\";\",1===Ae||2===Ae&&Le(s,1))return N+s+s;return s}(h);else if(0===Ae||2===Ae&&!Le(h,1))return h;switch(u){case 1015:return 97===h.charCodeAt(10)?N+h+h:h;case 951:return 116===h.charCodeAt(3)?N+h+h:h;case 963:return 110===h.charCodeAt(5)?N+h+h:h;case 1009:if(100!==h.charCodeAt(4))break;case 969:case 942:return N+h+h;case 978:return N+h+S+h+h;case 1019:case 983:return N+h+S+h+F+h+h;case 883:if(h.charCodeAt(8)===Q)return N+h+h;if(h.indexOf(\"image-set(\",11)>0)return h.replace(z,\"$1\"+N+\"$2\")+h;return h;case 932:if(h.charCodeAt(4)===Q)switch(h.charCodeAt(5)){case 103:return N+\"box-\"+h.replace(\"-grow\",\"\")+N+h+F+h.replace(\"grow\",\"positive\")+h;case 115:return N+h+F+h.replace(\"shrink\",\"negative\")+h;case 98:return N+h+F+h.replace(\"basis\",\"preferred-size\")+h}return N+h+F+h+h;case 964:return N+h+F+\"flex-\"+h+h;case 1023:if(99!==h.charCodeAt(8))break;return l=h.substring(h.indexOf(\":\",15)).replace(\"flex-\",\"\").replace(\"space-between\",\"justify\"),N+\"box-pack\"+l+N+h+F+\"flex-pack\"+l+h;case 1005:return t.test(h)?h.replace(s,\":\"+N)+h.replace(s,\":\"+S)+h:h;case 1e3:switch(o=(l=h.substring(13).trim()).indexOf(\"-\")+1,l.charCodeAt(0)+l.charCodeAt(o)){case 226:l=h.replace(m,\"tb\");break;case 232:l=h.replace(m,\"tb-rl\");break;case 220:l=h.replace(m,\"lr\");break;default:return h}return N+h+F+l+h;case 1017:if(-1===h.indexOf(\"sticky\",9))return h;case 975:switch(o=(h=e).length-10,u=(l=(33===h.charCodeAt(o)?h.substring(0,o):h).substring(e.indexOf(\":\",7)+1).trim()).charCodeAt(0)+(0|l.charCodeAt(7))){case 203:if(l.charCodeAt(8)<111)break;case 115:h=h.replace(l,N+l)+\";\"+h;break;case 207:case 102:h=h.replace(l,N+(u>102?\"inline-\":\"\")+\"box\")+\";\"+h.replace(l,N+l)+\";\"+h.replace(l,F+l+\"box\")+\";\"+h}return h+\";\";case 938:if(h.charCodeAt(5)===Q)switch(h.charCodeAt(6)){case 105:return l=h.replace(\"-items\",\"\"),N+h+N+\"box-\"+l+F+\"flex-\"+l+h;case 115:return N+h+F+\"flex-item-\"+h.replace(y,\"\")+h;default:return N+h+F+\"flex-line-pack\"+h.replace(\"align-content\",\"\").replace(y,\"\")+h}break;case 973:case 989:if(h.charCodeAt(3)!==Q||122===h.charCodeAt(4))break;case 931:case 953:if(true===j.test(e))if(115===(l=e.substring(e.indexOf(\":\")+1)).charCodeAt(0))return Ke(e.replace(\"stretch\",\"fill-available\"),a,r,c).replace(\":fill-available\",\":stretch\");else return h.replace(l,N+l)+h.replace(l,S+l.replace(\"fill-\",\"\"))+h;break;case 962:if(h=N+h+(102===h.charCodeAt(5)?F+h:\"\")+h,r+c===211&&105===h.charCodeAt(13)&&h.indexOf(\"transform\",10)>0)return h.substring(0,h.indexOf(\";\",27)+1).replace(i,\"$1\"+N+\"$2\")+h}return h}function Le(e,a){var r=e.indexOf(1===a?\":\":\"{\"),c=e.substring(0,3!==a?r:10),s=e.substring(r+1,e.length-1);return Oe(2!==a?c:c.replace(O,\"$1\"),s,a)}function Me(e,a){var r=Ke(a,a.charCodeAt(0),a.charCodeAt(1),a.charCodeAt(2));return r!==a+\";\"?r.replace($,\" or ($1)\").substring(4):\"(\"+a+\")\"}function Pe(e,a,r,c,s,t,i,f,n,l){for(var o,h=0,u=a;h<ye;++h)switch(o=$e[h].call(Te,e,u,r,c,s,t,i,f,n,l)){case void 0:case false:case true:case null:break;default:u=o}if(u!==a)return u}function Qe(e,a,r,c){for(var s=a+1;s<r;++s)switch(c.charCodeAt(s)){case Z:if(e===T)if(c.charCodeAt(s-1)===T&&a+2!==s)return s+1;break;case I:if(e===Z)return s+1}return s}function Re(e){for(var a in e){var r=e[a];switch(a){case\"keyframe\":Be=0|r;break;case\"global\":Ce=0|r;break;case\"cascade\":ge=0|r;break;case\"compress\":we=0|r;break;case\"semicolon\":ve=0|r;break;case\"preserve\":me=0|r;break;case\"prefix\":if(Oe=null,!r)Ae=0;else if(\"function\"!=typeof r)Ae=1;else Ae=2,Oe=r}}return Re}function Te(a,r){if(void 0!==this&&this.constructor===Te)return e(a);var s=a,t=s.charCodeAt(0);if(t<33)t=(s=s.trim()).charCodeAt(0);if(Be>0)De=s.replace(d,t===G?\"\":\"-\");if(t=1,1===ge)Ge=s;else Ee=s;var i,f=[Ge];if(ye>0)if(void 0!==(i=Pe(ze,r,f,f,pe,be,0,0,0,0))&&\"string\"==typeof i)r=i;var n=He(xe,f,r,0,0);if(ye>0)if(void 0!==(i=Pe(je,n,f,f,pe,be,n.length,0,0,0))&&\"string\"!=typeof(n=i))t=0;return De=\"\",Ge=\"\",Ee=\"\",ke=0,pe=1,be=1,we*t==0?n:n.replace(c,\"\").replace(g,\"\").replace(A,\"$1\").replace(C,\"$1\").replace(w,\" \")}if(Te.use=function e(a){switch(a){case void 0:case null:ye=$e.length=0;break;default:if(\"function\"==typeof a)$e[ye++]=a;else if(\"object\"==typeof a)for(var r=0,c=a.length;r<c;++r)e(a[r]);else qe=0|!!a}return e},Te.set=Re,void 0!==a)Re(a);return Te});\n//# sourceMappingURL=stylis.min.js.map\n\n/***/ }),\n\n/***/ \"./node_modules/tinycolor2/tinycolor.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/tinycolor2/tinycolor.js ***!\n  \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_RESULT__;// TinyColor v1.4.1\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\n(function(Math) {\n\nvar trimLeft = /^\\s+/,\n    trimRight = /\\s+$/,\n    tinyCounter = 0,\n    mathRound = Math.round,\n    mathMin = Math.min,\n    mathMax = Math.max,\n    mathRandom = Math.random;\n\nfunction tinycolor (color, opts) {\n\n    color = (color) ? color : '';\n    opts = opts || { };\n\n    // If input is already a tinycolor, return itself\n    if (color instanceof tinycolor) {\n       return color;\n    }\n    // If we are called as a function, call using new instead\n    if (!(this instanceof tinycolor)) {\n        return new tinycolor(color, opts);\n    }\n\n    var rgb = inputToRGB(color);\n    this._originalInput = color,\n    this._r = rgb.r,\n    this._g = rgb.g,\n    this._b = rgb.b,\n    this._a = rgb.a,\n    this._roundA = mathRound(100*this._a) / 100,\n    this._format = opts.format || rgb.format;\n    this._gradientType = opts.gradientType;\n\n    // Don't let the range of [0,255] come back in [0,1].\n    // Potentially lose a little bit of precision here, but will fix issues where\n    // .5 gets interpreted as half of the total, instead of half of 1\n    // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n    if (this._r < 1) { this._r = mathRound(this._r); }\n    if (this._g < 1) { this._g = mathRound(this._g); }\n    if (this._b < 1) { this._b = mathRound(this._b); }\n\n    this._ok = rgb.ok;\n    this._tc_id = tinyCounter++;\n}\n\ntinycolor.prototype = {\n    isDark: function() {\n        return this.getBrightness() < 128;\n    },\n    isLight: function() {\n        return !this.isDark();\n    },\n    isValid: function() {\n        return this._ok;\n    },\n    getOriginalInput: function() {\n      return this._originalInput;\n    },\n    getFormat: function() {\n        return this._format;\n    },\n    getAlpha: function() {\n        return this._a;\n    },\n    getBrightness: function() {\n        //http://www.w3.org/TR/AERT#color-contrast\n        var rgb = this.toRgb();\n        return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n    },\n    getLuminance: function() {\n        //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n        var rgb = this.toRgb();\n        var RsRGB, GsRGB, BsRGB, R, G, B;\n        RsRGB = rgb.r/255;\n        GsRGB = rgb.g/255;\n        BsRGB = rgb.b/255;\n\n        if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n        if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n        if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n        return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n    },\n    setAlpha: function(value) {\n        this._a = boundAlpha(value);\n        this._roundA = mathRound(100*this._a) / 100;\n        return this;\n    },\n    toHsv: function() {\n        var hsv = rgbToHsv(this._r, this._g, this._b);\n        return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\n    },\n    toHsvString: function() {\n        var hsv = rgbToHsv(this._r, this._g, this._b);\n        var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n        return (this._a == 1) ?\n          \"hsv(\"  + h + \", \" + s + \"%, \" + v + \"%)\" :\n          \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n    },\n    toHsl: function() {\n        var hsl = rgbToHsl(this._r, this._g, this._b);\n        return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\n    },\n    toHslString: function() {\n        var hsl = rgbToHsl(this._r, this._g, this._b);\n        var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n        return (this._a == 1) ?\n          \"hsl(\"  + h + \", \" + s + \"%, \" + l + \"%)\" :\n          \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n    },\n    toHex: function(allow3Char) {\n        return rgbToHex(this._r, this._g, this._b, allow3Char);\n    },\n    toHexString: function(allow3Char) {\n        return '#' + this.toHex(allow3Char);\n    },\n    toHex8: function(allow4Char) {\n        return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n    },\n    toHex8String: function(allow4Char) {\n        return '#' + this.toHex8(allow4Char);\n    },\n    toRgb: function() {\n        return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n    },\n    toRgbString: function() {\n        return (this._a == 1) ?\n          \"rgb(\"  + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n          \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n    },\n    toPercentageRgb: function() {\n        return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n    },\n    toPercentageRgbString: function() {\n        return (this._a == 1) ?\n          \"rgb(\"  + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n          \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n    },\n    toName: function() {\n        if (this._a === 0) {\n            return \"transparent\";\n        }\n\n        if (this._a < 1) {\n            return false;\n        }\n\n        return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n    },\n    toFilter: function(secondColor) {\n        var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n        var secondHex8String = hex8String;\n        var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\n        if (secondColor) {\n            var s = tinycolor(secondColor);\n            secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n        }\n\n        return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n    },\n    toString: function(format) {\n        var formatSet = !!format;\n        format = format || this._format;\n\n        var formattedString = false;\n        var hasAlpha = this._a < 1 && this._a >= 0;\n        var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n        if (needsAlphaFormat) {\n            // Special case for \"transparent\", all other non-alpha formats\n            // will return rgba when there is transparency.\n            if (format === \"name\" && this._a === 0) {\n                return this.toName();\n            }\n            return this.toRgbString();\n        }\n        if (format === \"rgb\") {\n            formattedString = this.toRgbString();\n        }\n        if (format === \"prgb\") {\n            formattedString = this.toPercentageRgbString();\n        }\n        if (format === \"hex\" || format === \"hex6\") {\n            formattedString = this.toHexString();\n        }\n        if (format === \"hex3\") {\n            formattedString = this.toHexString(true);\n        }\n        if (format === \"hex4\") {\n            formattedString = this.toHex8String(true);\n        }\n        if (format === \"hex8\") {\n            formattedString = this.toHex8String();\n        }\n        if (format === \"name\") {\n            formattedString = this.toName();\n        }\n        if (format === \"hsl\") {\n            formattedString = this.toHslString();\n        }\n        if (format === \"hsv\") {\n            formattedString = this.toHsvString();\n        }\n\n        return formattedString || this.toHexString();\n    },\n    clone: function() {\n        return tinycolor(this.toString());\n    },\n\n    _applyModification: function(fn, args) {\n        var color = fn.apply(null, [this].concat([].slice.call(args)));\n        this._r = color._r;\n        this._g = color._g;\n        this._b = color._b;\n        this.setAlpha(color._a);\n        return this;\n    },\n    lighten: function() {\n        return this._applyModification(lighten, arguments);\n    },\n    brighten: function() {\n        return this._applyModification(brighten, arguments);\n    },\n    darken: function() {\n        return this._applyModification(darken, arguments);\n    },\n    desaturate: function() {\n        return this._applyModification(desaturate, arguments);\n    },\n    saturate: function() {\n        return this._applyModification(saturate, arguments);\n    },\n    greyscale: function() {\n        return this._applyModification(greyscale, arguments);\n    },\n    spin: function() {\n        return this._applyModification(spin, arguments);\n    },\n\n    _applyCombination: function(fn, args) {\n        return fn.apply(null, [this].concat([].slice.call(args)));\n    },\n    analogous: function() {\n        return this._applyCombination(analogous, arguments);\n    },\n    complement: function() {\n        return this._applyCombination(complement, arguments);\n    },\n    monochromatic: function() {\n        return this._applyCombination(monochromatic, arguments);\n    },\n    splitcomplement: function() {\n        return this._applyCombination(splitcomplement, arguments);\n    },\n    triad: function() {\n        return this._applyCombination(triad, arguments);\n    },\n    tetrad: function() {\n        return this._applyCombination(tetrad, arguments);\n    }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n    if (typeof color == \"object\") {\n        var newColor = {};\n        for (var i in color) {\n            if (color.hasOwnProperty(i)) {\n                if (i === \"a\") {\n                    newColor[i] = color[i];\n                }\n                else {\n                    newColor[i] = convertToPercentage(color[i]);\n                }\n            }\n        }\n        color = newColor;\n    }\n\n    return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n//     \"red\"\n//     \"#f00\" or \"f00\"\n//     \"#ff0000\" or \"ff0000\"\n//     \"#ff000000\" or \"ff000000\"\n//     \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n//     \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n//     \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n//     \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n//     \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n//     \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n//     \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n\n    var rgb = { r: 0, g: 0, b: 0 };\n    var a = 1;\n    var s = null;\n    var v = null;\n    var l = null;\n    var ok = false;\n    var format = false;\n\n    if (typeof color == \"string\") {\n        color = stringInputToObject(color);\n    }\n\n    if (typeof color == \"object\") {\n        if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n            rgb = rgbToRgb(color.r, color.g, color.b);\n            ok = true;\n            format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n        }\n        else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n            s = convertToPercentage(color.s);\n            v = convertToPercentage(color.v);\n            rgb = hsvToRgb(color.h, s, v);\n            ok = true;\n            format = \"hsv\";\n        }\n        else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n            s = convertToPercentage(color.s);\n            l = convertToPercentage(color.l);\n            rgb = hslToRgb(color.h, s, l);\n            ok = true;\n            format = \"hsl\";\n        }\n\n        if (color.hasOwnProperty(\"a\")) {\n            a = color.a;\n        }\n    }\n\n    a = boundAlpha(a);\n\n    return {\n        ok: ok,\n        format: color.format || format,\n        r: mathMin(255, mathMax(rgb.r, 0)),\n        g: mathMin(255, mathMax(rgb.g, 0)),\n        b: mathMin(255, mathMax(rgb.b, 0)),\n        a: a\n    };\n}\n\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// <http://www.w3.org/TR/css3-color/>\n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b){\n    return {\n        r: bound01(r, 255) * 255,\n        g: bound01(g, 255) * 255,\n        b: bound01(b, 255) * 255\n    };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n\n    r = bound01(r, 255);\n    g = bound01(g, 255);\n    b = bound01(b, 255);\n\n    var max = mathMax(r, g, b), min = mathMin(r, g, b);\n    var h, s, l = (max + min) / 2;\n\n    if(max == min) {\n        h = s = 0; // achromatic\n    }\n    else {\n        var d = max - min;\n        s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n        switch(max) {\n            case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n            case g: h = (b - r) / d + 2; break;\n            case b: h = (r - g) / d + 4; break;\n        }\n\n        h /= 6;\n    }\n\n    return { h: h, s: s, l: l };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n    var r, g, b;\n\n    h = bound01(h, 360);\n    s = bound01(s, 100);\n    l = bound01(l, 100);\n\n    function hue2rgb(p, q, t) {\n        if(t < 0) t += 1;\n        if(t > 1) t -= 1;\n        if(t < 1/6) return p + (q - p) * 6 * t;\n        if(t < 1/2) return q;\n        if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n        return p;\n    }\n\n    if(s === 0) {\n        r = g = b = l; // achromatic\n    }\n    else {\n        var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n        var p = 2 * l - q;\n        r = hue2rgb(p, q, h + 1/3);\n        g = hue2rgb(p, q, h);\n        b = hue2rgb(p, q, h - 1/3);\n    }\n\n    return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n    r = bound01(r, 255);\n    g = bound01(g, 255);\n    b = bound01(b, 255);\n\n    var max = mathMax(r, g, b), min = mathMin(r, g, b);\n    var h, s, v = max;\n\n    var d = max - min;\n    s = max === 0 ? 0 : d / max;\n\n    if(max == min) {\n        h = 0; // achromatic\n    }\n    else {\n        switch(max) {\n            case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n            case g: h = (b - r) / d + 2; break;\n            case b: h = (r - g) / d + 4; break;\n        }\n        h /= 6;\n    }\n    return { h: h, s: s, v: v };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n    h = bound01(h, 360) * 6;\n    s = bound01(s, 100);\n    v = bound01(v, 100);\n\n    var i = Math.floor(h),\n        f = h - i,\n        p = v * (1 - s),\n        q = v * (1 - f * s),\n        t = v * (1 - (1 - f) * s),\n        mod = i % 6,\n        r = [v, q, p, p, t, v][mod],\n        g = [t, v, v, q, p, p][mod],\n        b = [p, p, t, v, v, q][mod];\n\n    return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n    var hex = [\n        pad2(mathRound(r).toString(16)),\n        pad2(mathRound(g).toString(16)),\n        pad2(mathRound(b).toString(16))\n    ];\n\n    // Return a 3 character hex if possible\n    if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n        return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n    }\n\n    return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n    var hex = [\n        pad2(mathRound(r).toString(16)),\n        pad2(mathRound(g).toString(16)),\n        pad2(mathRound(b).toString(16)),\n        pad2(convertDecimalToHex(a))\n    ];\n\n    // Return a 4 character hex if possible\n    if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n        return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n    }\n\n    return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n    var hex = [\n        pad2(convertDecimalToHex(a)),\n        pad2(mathRound(r).toString(16)),\n        pad2(mathRound(g).toString(16)),\n        pad2(mathRound(b).toString(16))\n    ];\n\n    return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n    if (!color1 || !color2) { return false; }\n    return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n    return tinycolor.fromRatio({\n        r: mathRandom(),\n        g: mathRandom(),\n        b: mathRandom()\n    });\n};\n\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js>\n\nfunction desaturate(color, amount) {\n    amount = (amount === 0) ? 0 : (amount || 10);\n    var hsl = tinycolor(color).toHsl();\n    hsl.s -= amount / 100;\n    hsl.s = clamp01(hsl.s);\n    return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n    amount = (amount === 0) ? 0 : (amount || 10);\n    var hsl = tinycolor(color).toHsl();\n    hsl.s += amount / 100;\n    hsl.s = clamp01(hsl.s);\n    return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n    return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n    amount = (amount === 0) ? 0 : (amount || 10);\n    var hsl = tinycolor(color).toHsl();\n    hsl.l += amount / 100;\n    hsl.l = clamp01(hsl.l);\n    return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n    amount = (amount === 0) ? 0 : (amount || 10);\n    var rgb = tinycolor(color).toRgb();\n    rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n    rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n    rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n    return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n    amount = (amount === 0) ? 0 : (amount || 10);\n    var hsl = tinycolor(color).toHsl();\n    hsl.l -= amount / 100;\n    hsl.l = clamp01(hsl.l);\n    return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction spin(color, amount) {\n    var hsl = tinycolor(color).toHsl();\n    var hue = (hsl.h + amount) % 360;\n    hsl.h = hue < 0 ? 360 + hue : hue;\n    return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js>\n\nfunction complement(color) {\n    var hsl = tinycolor(color).toHsl();\n    hsl.h = (hsl.h + 180) % 360;\n    return tinycolor(hsl);\n}\n\nfunction triad(color) {\n    var hsl = tinycolor(color).toHsl();\n    var h = hsl.h;\n    return [\n        tinycolor(color),\n        tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n        tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n    ];\n}\n\nfunction tetrad(color) {\n    var hsl = tinycolor(color).toHsl();\n    var h = hsl.h;\n    return [\n        tinycolor(color),\n        tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n        tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n        tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n    ];\n}\n\nfunction splitcomplement(color) {\n    var hsl = tinycolor(color).toHsl();\n    var h = hsl.h;\n    return [\n        tinycolor(color),\n        tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n        tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n    ];\n}\n\nfunction analogous(color, results, slices) {\n    results = results || 6;\n    slices = slices || 30;\n\n    var hsl = tinycolor(color).toHsl();\n    var part = 360 / slices;\n    var ret = [tinycolor(color)];\n\n    for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n        hsl.h = (hsl.h + part) % 360;\n        ret.push(tinycolor(hsl));\n    }\n    return ret;\n}\n\nfunction monochromatic(color, results) {\n    results = results || 6;\n    var hsv = tinycolor(color).toHsv();\n    var h = hsv.h, s = hsv.s, v = hsv.v;\n    var ret = [];\n    var modification = 1 / results;\n\n    while (results--) {\n        ret.push(tinycolor({ h: h, s: s, v: v}));\n        v = (v + modification) % 1;\n    }\n\n    return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n    amount = (amount === 0) ? 0 : (amount || 50);\n\n    var rgb1 = tinycolor(color1).toRgb();\n    var rgb2 = tinycolor(color2).toRgb();\n\n    var p = amount / 100;\n\n    var rgba = {\n        r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n        g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n        b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n        a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n    };\n\n    return tinycolor(rgba);\n};\n\n\n// Readability Functions\n// ---------------------\n// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)\n\n// `contrast`\n// Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)\ntinycolor.readability = function(color1, color2) {\n    var c1 = tinycolor(color1);\n    var c2 = tinycolor(color2);\n    return (Math.max(c1.getLuminance(),c2.getLuminance())+0.05) / (Math.min(c1.getLuminance(),c2.getLuminance())+0.05);\n};\n\n// `isReadable`\n// Ensure that foreground and background color combinations meet WCAG2 guidelines.\n// The third argument is an optional Object.\n//      the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA';\n//      the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'.\n// If the entire object is absent, isReadable defaults to {level:\"AA\",size:\"small\"}.\n\n// *Example*\n//    tinycolor.isReadable(\"#000\", \"#111\") => false\n//    tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n    var readability = tinycolor.readability(color1, color2);\n    var wcag2Parms, out;\n\n    out = false;\n\n    wcag2Parms = validateWCAG2Parms(wcag2);\n    switch (wcag2Parms.level + wcag2Parms.size) {\n        case \"AAsmall\":\n        case \"AAAlarge\":\n            out = readability >= 4.5;\n            break;\n        case \"AAlarge\":\n            out = readability >= 3;\n            break;\n        case \"AAAsmall\":\n            out = readability >= 7;\n            break;\n    }\n    return out;\n\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n//    tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n//    tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString();  // \"#ffffff\"\n//    tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n//    tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n    var bestColor = null;\n    var bestScore = 0;\n    var readability;\n    var includeFallbackColors, level, size ;\n    args = args || {};\n    includeFallbackColors = args.includeFallbackColors ;\n    level = args.level;\n    size = args.size;\n\n    for (var i= 0; i < colorList.length ; i++) {\n        readability = tinycolor.readability(baseColor, colorList[i]);\n        if (readability > bestScore) {\n            bestScore = readability;\n            bestColor = tinycolor(colorList[i]);\n        }\n    }\n\n    if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n        return bestColor;\n    }\n    else {\n        args.includeFallbackColors=false;\n        return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n    }\n};\n\n\n// Big List of Colors\n// ------------------\n// <http://www.w3.org/TR/css3-color/#svg-color>\nvar names = tinycolor.names = {\n    aliceblue: \"f0f8ff\",\n    antiquewhite: \"faebd7\",\n    aqua: \"0ff\",\n    aquamarine: \"7fffd4\",\n    azure: \"f0ffff\",\n    beige: \"f5f5dc\",\n    bisque: \"ffe4c4\",\n    black: \"000\",\n    blanchedalmond: \"ffebcd\",\n    blue: \"00f\",\n    blueviolet: \"8a2be2\",\n    brown: \"a52a2a\",\n    burlywood: \"deb887\",\n    burntsienna: \"ea7e5d\",\n    cadetblue: \"5f9ea0\",\n    chartreuse: \"7fff00\",\n    chocolate: \"d2691e\",\n    coral: \"ff7f50\",\n    cornflowerblue: \"6495ed\",\n    cornsilk: \"fff8dc\",\n    crimson: \"dc143c\",\n    cyan: \"0ff\",\n    darkblue: \"00008b\",\n    darkcyan: \"008b8b\",\n    darkgoldenrod: \"b8860b\",\n    darkgray: \"a9a9a9\",\n    darkgreen: \"006400\",\n    darkgrey: \"a9a9a9\",\n    darkkhaki: \"bdb76b\",\n    darkmagenta: \"8b008b\",\n    darkolivegreen: \"556b2f\",\n    darkorange: \"ff8c00\",\n    darkorchid: \"9932cc\",\n    darkred: \"8b0000\",\n    darksalmon: \"e9967a\",\n    darkseagreen: \"8fbc8f\",\n    darkslateblue: \"483d8b\",\n    darkslategray: \"2f4f4f\",\n    darkslategrey: \"2f4f4f\",\n    darkturquoise: \"00ced1\",\n    darkviolet: \"9400d3\",\n    deeppink: \"ff1493\",\n    deepskyblue: \"00bfff\",\n    dimgray: \"696969\",\n    dimgrey: \"696969\",\n    dodgerblue: \"1e90ff\",\n    firebrick: \"b22222\",\n    floralwhite: \"fffaf0\",\n    forestgreen: \"228b22\",\n    fuchsia: \"f0f\",\n    gainsboro: \"dcdcdc\",\n    ghostwhite: \"f8f8ff\",\n    gold: \"ffd700\",\n    goldenrod: \"daa520\",\n    gray: \"808080\",\n    green: \"008000\",\n    greenyellow: \"adff2f\",\n    grey: \"808080\",\n    honeydew: \"f0fff0\",\n    hotpink: \"ff69b4\",\n    indianred: \"cd5c5c\",\n    indigo: \"4b0082\",\n    ivory: \"fffff0\",\n    khaki: \"f0e68c\",\n    lavender: \"e6e6fa\",\n    lavenderblush: \"fff0f5\",\n    lawngreen: \"7cfc00\",\n    lemonchiffon: \"fffacd\",\n    lightblue: \"add8e6\",\n    lightcoral: \"f08080\",\n    lightcyan: \"e0ffff\",\n    lightgoldenrodyellow: \"fafad2\",\n    lightgray: \"d3d3d3\",\n    lightgreen: \"90ee90\",\n    lightgrey: \"d3d3d3\",\n    lightpink: \"ffb6c1\",\n    lightsalmon: \"ffa07a\",\n    lightseagreen: \"20b2aa\",\n    lightskyblue: \"87cefa\",\n    lightslategray: \"789\",\n    lightslategrey: \"789\",\n    lightsteelblue: \"b0c4de\",\n    lightyellow: \"ffffe0\",\n    lime: \"0f0\",\n    limegreen: \"32cd32\",\n    linen: \"faf0e6\",\n    magenta: \"f0f\",\n    maroon: \"800000\",\n    mediumaquamarine: \"66cdaa\",\n    mediumblue: \"0000cd\",\n    mediumorchid: \"ba55d3\",\n    mediumpurple: \"9370db\",\n    mediumseagreen: \"3cb371\",\n    mediumslateblue: \"7b68ee\",\n    mediumspringgreen: \"00fa9a\",\n    mediumturquoise: \"48d1cc\",\n    mediumvioletred: \"c71585\",\n    midnightblue: \"191970\",\n    mintcream: \"f5fffa\",\n    mistyrose: \"ffe4e1\",\n    moccasin: \"ffe4b5\",\n    navajowhite: \"ffdead\",\n    navy: \"000080\",\n    oldlace: \"fdf5e6\",\n    olive: \"808000\",\n    olivedrab: \"6b8e23\",\n    orange: \"ffa500\",\n    orangered: \"ff4500\",\n    orchid: \"da70d6\",\n    palegoldenrod: \"eee8aa\",\n    palegreen: \"98fb98\",\n    paleturquoise: \"afeeee\",\n    palevioletred: \"db7093\",\n    papayawhip: \"ffefd5\",\n    peachpuff: \"ffdab9\",\n    peru: \"cd853f\",\n    pink: \"ffc0cb\",\n    plum: \"dda0dd\",\n    powderblue: \"b0e0e6\",\n    purple: \"800080\",\n    rebeccapurple: \"663399\",\n    red: \"f00\",\n    rosybrown: \"bc8f8f\",\n    royalblue: \"4169e1\",\n    saddlebrown: \"8b4513\",\n    salmon: \"fa8072\",\n    sandybrown: \"f4a460\",\n    seagreen: \"2e8b57\",\n    seashell: \"fff5ee\",\n    sienna: \"a0522d\",\n    silver: \"c0c0c0\",\n    skyblue: \"87ceeb\",\n    slateblue: \"6a5acd\",\n    slategray: \"708090\",\n    slategrey: \"708090\",\n    snow: \"fffafa\",\n    springgreen: \"00ff7f\",\n    steelblue: \"4682b4\",\n    tan: \"d2b48c\",\n    teal: \"008080\",\n    thistle: \"d8bfd8\",\n    tomato: \"ff6347\",\n    turquoise: \"40e0d0\",\n    violet: \"ee82ee\",\n    wheat: \"f5deb3\",\n    white: \"fff\",\n    whitesmoke: \"f5f5f5\",\n    yellow: \"ff0\",\n    yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n    var flipped = { };\n    for (var i in o) {\n        if (o.hasOwnProperty(i)) {\n            flipped[o[i]] = i;\n        }\n    }\n    return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n    a = parseFloat(a);\n\n    if (isNaN(a) || a < 0 || a > 1) {\n        a = 1;\n    }\n\n    return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n    if (isOnePointZero(n)) { n = \"100%\"; }\n\n    var processPercent = isPercentage(n);\n    n = mathMin(max, mathMax(0, parseFloat(n)));\n\n    // Automatically convert percentage into number\n    if (processPercent) {\n        n = parseInt(n * max, 10) / 100;\n    }\n\n    // Handle floating point rounding errors\n    if ((Math.abs(n - max) < 0.000001)) {\n        return 1;\n    }\n\n    // Convert into [0, 1] range if it isn't already\n    return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n    return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n    return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\nfunction isOnePointZero(n) {\n    return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n    return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n    return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n    if (n <= 1) {\n        n = (n * 100) + \"%\";\n    }\n\n    return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n    return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n    return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n    // <http://www.w3.org/TR/css3-values/#integers>\n    var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n    // <http://www.w3.org/TR/css3-values/#number-value>\n    var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n    // Allow positive/negative integer/number.  Don't capture the either/or, just the entire outcome.\n    var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n    // Actual matching.\n    // Parentheses and commas are optional, but not required.\n    // Whitespace can take the place of commas or opening paren\n    var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n    var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n    return {\n        CSS_UNIT: new RegExp(CSS_UNIT),\n        rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n        rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n        hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n        hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n        hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n        hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n        hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n        hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n        hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n        hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n    };\n})();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n    return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing.  Take in a number of formats, and output an object\n// based on detected format.  Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n\n    color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n    var named = false;\n    if (names[color]) {\n        color = names[color];\n        named = true;\n    }\n    else if (color == 'transparent') {\n        return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n    }\n\n    // Try to match string input using regular expressions.\n    // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n    // Just return an object and let the conversion functions handle that.\n    // This way the result will be the same whether the tinycolor is initialized with string or object.\n    var match;\n    if ((match = matchers.rgb.exec(color))) {\n        return { r: match[1], g: match[2], b: match[3] };\n    }\n    if ((match = matchers.rgba.exec(color))) {\n        return { r: match[1], g: match[2], b: match[3], a: match[4] };\n    }\n    if ((match = matchers.hsl.exec(color))) {\n        return { h: match[1], s: match[2], l: match[3] };\n    }\n    if ((match = matchers.hsla.exec(color))) {\n        return { h: match[1], s: match[2], l: match[3], a: match[4] };\n    }\n    if ((match = matchers.hsv.exec(color))) {\n        return { h: match[1], s: match[2], v: match[3] };\n    }\n    if ((match = matchers.hsva.exec(color))) {\n        return { h: match[1], s: match[2], v: match[3], a: match[4] };\n    }\n    if ((match = matchers.hex8.exec(color))) {\n        return {\n            r: parseIntFromHex(match[1]),\n            g: parseIntFromHex(match[2]),\n            b: parseIntFromHex(match[3]),\n            a: convertHexToDecimal(match[4]),\n            format: named ? \"name\" : \"hex8\"\n        };\n    }\n    if ((match = matchers.hex6.exec(color))) {\n        return {\n            r: parseIntFromHex(match[1]),\n            g: parseIntFromHex(match[2]),\n            b: parseIntFromHex(match[3]),\n            format: named ? \"name\" : \"hex\"\n        };\n    }\n    if ((match = matchers.hex4.exec(color))) {\n        return {\n            r: parseIntFromHex(match[1] + '' + match[1]),\n            g: parseIntFromHex(match[2] + '' + match[2]),\n            b: parseIntFromHex(match[3] + '' + match[3]),\n            a: convertHexToDecimal(match[4] + '' + match[4]),\n            format: named ? \"name\" : \"hex8\"\n        };\n    }\n    if ((match = matchers.hex3.exec(color))) {\n        return {\n            r: parseIntFromHex(match[1] + '' + match[1]),\n            g: parseIntFromHex(match[2] + '' + match[2]),\n            b: parseIntFromHex(match[3] + '' + match[3]),\n            format: named ? \"name\" : \"hex\"\n        };\n    }\n\n    return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n    // return valid WCAG2 parms for isReadable.\n    // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n    var level, size;\n    parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n    level = (parms.level || \"AA\").toUpperCase();\n    size = (parms.size || \"small\").toLowerCase();\n    if (level !== \"AA\" && level !== \"AAA\") {\n        level = \"AA\";\n    }\n    if (size !== \"small\" && size !== \"large\") {\n        size = \"small\";\n    }\n    return {\"level\":level, \"size\":size};\n}\n\n// Node: Export function\nif ( true && module.exports) {\n    module.exports = tinycolor;\n}\n// AMD/requirejs: Define the module\nelse if (true) {\n    !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {return tinycolor;}).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n}\n// Browser: Expose to window\nelse {}\n\n})(Math);\n\n\n/***/ }),\n\n/***/ \"./node_modules/tinygradient/tinygradient.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/tinygradient/tinygradient.js ***!\n  \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n * TinyGradient 0.4.3\n * Copyright 2014-2018 Damien \"Mistic\" Sorel (http://www.strangeplanet.fr)\n * Licensed under MIT (http://opensource.org/licenses/MIT)\n */\n\n(function (root, factory) {\n    if ( true && module.exports) {\n        module.exports = factory(__webpack_require__(/*! tinycolor2 */ \"./node_modules/tinycolor2/tinycolor.js\"));\n    }\n    else if (true) {\n        !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! tinycolor2 */ \"./node_modules/tinycolor2/tinycolor.js\")], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n    }\n    else {}\n}(this, function (tinycolor) {\n    \"use strict\";\n\n    var RGBA_MAX = {r: 256, g: 256, b: 256, a: 1};\n    var HSVA_MAX = {h: 360, s: 1, v: 1, a: 1};\n\n    /**\n     * Linearly compute the step size between start and end (not normalized)\n     * @param {Object} start - rgba or hsva\n     * @param {Object} end - rgba or hsva\n     * @param {int} steps - number of desired steps\n     * @return {Object} rgba or hsva\n     */\n    function stepize(start, end, steps) {\n        var step = {};\n\n        for (var k in start) {\n            if (start.hasOwnProperty(k)) {\n                step[k] = steps === 0 ? 0 : (end[k] - start[k]) / steps;\n            }\n        }\n\n        return step;\n    }\n\n    /**\n     * Compute the final step color\n     * @param {Object} step - rgba or hsva from `stepize`\n     * @param {Object} start - rgba or hsva\n     * @param {int} i - color index\n     * @param {Object} max - rgba or hsva of maximum values for each channel\n     * @return {Object} rgba or hsva\n     */\n    function interpolate(step, start, i, max) {\n        var color = {};\n\n        for (var k in start) {\n            if (start.hasOwnProperty(k)) {\n                color[k] = step[k] * i + start[k];\n                color[k] = color[k] < 0 ? color[k] + max[k] : ( max[k] !== 1 ? color[k] % max[k] : color[k] );\n            }\n        }\n\n        return color;\n    }\n\n    /**\n     * Generate gradient with RGBa interpolation\n     * @param {Object} stop1\n     * @param {Object} stop2\n     * @param {int} steps\n     * @return {tinycolor[]} color1 included, color2 excluded\n     */\n    function interpolateRgb(stop1, stop2, steps) {\n        var start = stop1.color.toRgb(),\n            end = stop2.color.toRgb(),\n            gradient = [stop1.color],\n            step = stepize(start, end, steps),\n            color;\n\n        for (var i = 1; i < steps; i++) {\n            color = interpolate(step, start, i, RGBA_MAX);\n            gradient.push(tinycolor(color));\n        }\n\n        return gradient;\n    }\n\n    /**\n     * Generate gradient with HSVa interpolation\n     * @param {Object} stop1\n     * @param {Object} stop2\n     * @param {int} steps\n     * @param {Boolean} trigonometric - true to step in trigonometric order\n     * @return {tinycolor[]} color1 included, color2 excluded\n     */\n    function interpolateHsv(stop1, stop2, steps, trigonometric) {\n        var start = stop1.color.toHsv(),\n            end = stop2.color.toHsv(),\n            gradient = [stop1.color],\n            step = stepize(start, end, steps),\n            diff, color;\n\n        // recompute hue\n        if ((start.h <= end.h && !trigonometric) || (start.h >= end.h && trigonometric)) {\n            diff = end.h - start.h;\n        }\n        else if (trigonometric) {\n            diff = 360 - end.h + start.h;\n        }\n        else {\n            diff = 360 - start.h + end.h;\n        }\n        step.h = Math.pow(-1, trigonometric ? 1 : 0) * Math.abs(diff) / steps;\n\n        for (var i = 1; i < steps; i++) {\n            color = interpolate(step, start, i, HSVA_MAX);\n            gradient.push(tinycolor(color));\n        }\n\n        return gradient;\n    }\n\n    /**\n     * Compute substeps between each stops\n     * @param {Object[]} stops\n     * @param {int} steps\n     * @return {int[]}\n     */\n    function computeSubsteps(stops, steps) {\n        var l = stops.length;\n\n        // validation\n        steps = parseInt(steps);\n\n        if (isNaN(steps) || steps < 2) {\n            throw new Error('Invalid number of steps (< 2)');\n        }\n        if (steps < l) {\n            throw new Error('Number of steps cannot be inferior to number of stops');\n        }\n\n        // compute substeps from stop positions\n        var substeps = [];\n\n        for (var i = 1; i < l; i++) {\n            var step = (steps - 1) * (stops[i].pos - stops[i - 1].pos);\n            substeps.push(Math.max(1, Math.round(step)));\n        }\n\n        // adjust number of steps\n        var totalSubsteps = 1;\n        for (var n = l - 1; n--;) totalSubsteps += substeps[n];\n\n        while (totalSubsteps !== steps) {\n            if (totalSubsteps < steps) {\n                var min = Math.min.apply(null, substeps);\n                substeps[substeps.indexOf(min)]++;\n                totalSubsteps++;\n            }\n            else {\n                var max = Math.max.apply(null, substeps);\n                substeps[substeps.indexOf(max)]--;\n                totalSubsteps--;\n            }\n        }\n\n        return substeps;\n    }\n\n    /**\n     * Compute the color at a specific position\n     * @param {Object[]} stops\n     * @param {float} pos\n     * @param {string} method\n     * @param {Object} max\n     * @returns {tinycolor}\n     */\n    function computeAt(stops, pos, method, max) {\n        if (pos < 0 || pos > 1) {\n            throw new Error('Position must be between 0 and 1');\n        }\n\n        var start, end;\n        for (var i = 0, l = stops.length; i < l - 1; i++) {\n            if (pos >= stops[i].pos && pos < stops[i + 1].pos) {\n                start = stops[i];\n                end = stops[i + 1];\n                break;\n            }\n        }\n\n        if (!start) {\n            start = end = stops[stops.length - 1];\n        }\n\n        var step = stepize(start.color[method](), end.color[method](), (end.pos - start.pos) * 100);\n        var color = interpolate(step, start.color[method](), Math.round((pos - start.pos) * 100), max);\n        return tinycolor(color);\n    }\n\n    /**\n     * @class tinygradient\n     * @param {*} stops\n     */\n    var TinyGradient = function (stops) {\n        // varargs\n        if (arguments.length === 1) {\n            if (!(arguments[0] instanceof Array)) {\n                throw new Error('\"stops\" is not an array');\n            }\n            stops = arguments[0];\n        }\n        else {\n            stops = Array.prototype.slice.call(arguments);\n        }\n\n        // if we are called as a function, call using new instead\n        if (!(this instanceof TinyGradient)) {\n            return new TinyGradient(stops);\n        }\n\n        // validation\n        if (stops.length < 2) {\n            throw new Error('Invalid number of stops (< 2)');\n        }\n\n        var havingPositions = stops[0].pos !== undefined,\n            l = stops.length,\n            p = -1;\n        // create tinycolor objects and clean positions\n        this.stops = stops.map(function (stop, i) {\n            var hasPosition = stop.pos !== undefined;\n            if (havingPositions ^ hasPosition) {\n                throw new Error('Cannot mix positionned and not posionned color stops');\n            }\n\n            if (hasPosition) {\n                stop = {\n                    color: tinycolor(stop.color),\n                    pos  : stop.pos\n                };\n\n                if (stop.pos < 0 || stop.pos > 1) {\n                    throw new Error('Color stops positions must be between 0 and 1');\n                }\n                else if (stop.pos <= p) {\n                    throw new Error('Color stops positions are not ordered');\n                }\n                p = stop.pos;\n            }\n            else {\n                stop = {\n                    color: tinycolor(stop),\n                    pos  : i / (l - 1)\n                };\n            }\n\n            return stop;\n        });\n\n        if (this.stops[0].pos !== 0) {\n            this.stops.unshift({\n                color: this.stops[0].color,\n                pos  : 0\n            });\n        }\n        if (this.stops[this.stops.length - 1].pos !== 1) {\n            this.stops.push({\n                color: this.stops[this.stops.length - 1].color,\n                pos  : 1\n            });\n        }\n    };\n\n    /**\n     * Return new instance with reversed stops\n     * @return {tinygradient}\n     */\n    TinyGradient.prototype.reverse = function () {\n        var stops = [];\n\n        this.stops.forEach(function (stop) {\n            stops.push({\n                color: stop.color,\n                pos  : 1 - stop.pos\n            });\n        });\n\n        return new TinyGradient(stops.reverse());\n    };\n\n    /**\n     * Generate gradient with RGBa interpolation\n     * @param {int} steps\n     * @return {tinycolor[]}\n     */\n    TinyGradient.prototype.rgb = function (steps) {\n        var substeps = computeSubsteps(this.stops, steps),\n            gradient = [];\n\n        for (var i = 0, l = this.stops.length; i < l - 1; i++) {\n            gradient = gradient.concat(interpolateRgb(this.stops[i], this.stops[i + 1], substeps[i]));\n        }\n\n        gradient.push(this.stops[l - 1].color);\n\n        return gradient;\n    };\n\n    /**\n     * Generate gradient with HSVa interpolation\n     * @param {int} steps\n     * @param {Boolean|String} [mode=false]\n     *    - false to step in clockwise\n     *    - true to step in trigonometric order\n     *    - 'short' to use the shortest way\n     *    - 'long' to use the longest way\n     * @return {tinycolor[]}\n     */\n    TinyGradient.prototype.hsv = function (steps, mode) {\n        var substeps = computeSubsteps(this.stops, steps),\n            trigonometric = mode === true,\n            parametrized = typeof mode === 'string',\n            gradient = [],\n            start, end, trig;\n\n        for (var i = 0, l = this.stops.length; i < l - 1; i++) {\n            start = this.stops[i].color.toHsv();\n            end = this.stops[i + 1].color.toHsv();\n\n            if (parametrized) {\n                trig = (start.h < end.h && end.h - start.h < 180) || (start.h > end.h && start.h - end.h > 180);\n            }\n\n            // rgb interpolation if one of the steps in grayscale\n            if (start.s === 0 || end.s === 0) {\n                gradient = gradient.concat(interpolateRgb(this.stops[i], this.stops[i + 1], substeps[i]));\n            }\n            else {\n                gradient = gradient.concat(interpolateHsv(this.stops[i], this.stops[i + 1], substeps[i],\n                    (mode === 'long' && trig) || (mode === 'short' && !trig) || (!parametrized && trigonometric)\n                ));\n            }\n        }\n\n        gradient.push(this.stops[l - 1].color);\n\n        return gradient;\n    };\n\n    /**\n     * Generate CSS3 command (no prefix) for this gradient\n     * @param {String} [mode=linear] - 'linear' or 'radial'\n     * @param {String} [direction] - default is 'to right' or 'ellipse at center'\n     * @return {String}\n     */\n    TinyGradient.prototype.css = function (mode, direction) {\n        mode = mode || 'linear';\n        direction = direction || (mode === 'linear' ? 'to right' : 'ellipse at center');\n\n        var css = mode + '-gradient(' + direction;\n        this.stops.forEach(function (stop) {\n            css += ', ' + stop.color.toRgbString() + ' ' + (stop.pos * 100) + '%';\n        });\n        css += ')';\n        return css;\n    };\n\n    /**\n     * Returns the color at specific position with RGBa interpolation\n     * @param {float} pos, between 0 and 1\n     * @return {tinycolor}\n     */\n    TinyGradient.prototype.rgbAt = function (pos) {\n        return computeAt(this.stops, pos, 'toRgb', RGBA_MAX);\n    };\n\n    /**\n     * Returns the color at specific position with HSVa interpolation\n     * @param {float} pos, between 0 and 1\n     * @return {tinycolor}\n     */\n    TinyGradient.prototype.hsvAt = function (pos) {\n        return computeAt(this.stops, pos, 'toHsv', HSVA_MAX);\n    };\n\n    var STATIC_FNS = {\n        'rgb'  : 1,\n        'hsv'  : 2,\n        'css'  : 2,\n        'rgbAt': 1,\n        'hsvAt': 1\n    };\n\n    Object.keys(STATIC_FNS).forEach(function (fn) {\n        TinyGradient[fn] = function () {\n            var colors = Array.prototype.slice.call(arguments);\n            var args = colors.splice(-STATIC_FNS[fn]);\n            var gradient = new TinyGradient(colors);\n            return gradient[fn].apply(gradient, args);\n        };\n    });\n\n    // export\n    return TinyGradient;\n}));\n\n/***/ }),\n\n/***/ \"./node_modules/warning/warning.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/warning/warning.js ***!\n  \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = \"development\" !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n  var printWarning = function printWarning(format, args) {\n    var len = arguments.length;\n    args = new Array(len > 1 ? len - 1 : 0);\n    for (var key = 1; key < len; key++) {\n      args[key - 1] = arguments[key];\n    }\n    var argIndex = 0;\n    var message = 'Warning: ' +\n      format.replace(/%s/g, function() {\n        return args[argIndex++];\n      });\n    if (typeof console !== 'undefined') {\n      console.error(message);\n    }\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  }\n\n  warning = function(condition, format, args) {\n    var len = arguments.length;\n    args = new Array(len > 2 ? len - 2 : 0);\n    for (var key = 2; key < len; key++) {\n      args[key - 2] = arguments[key];\n    }\n    if (format === undefined) {\n      throw new Error(\n          '`warning(condition, format, ...args)` requires a warning ' +\n          'message argument'\n      );\n    }\n    if (!condition) {\n      printWarning.apply(null, [format].concat(args));\n    }\n  };\n}\n\nmodule.exports = warning;\n\n\n/***/ }),\n\n/***/ \"./node_modules/webpack/buildin/global.js\":\n/*!***********************************!*\\\n  !*** (webpack)/buildin/global.js ***!\n  \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n/***/ }),\n\n/***/ \"./src/components/BooleanSwitch.react.js\":\n/*!***********************************************!*\\\n  !*** ./src/components/BooleanSwitch.react.js ***!\n  \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ramda */ \"./node_modules/ramda/es/index.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _ToggleSwitch_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ToggleSwitch.react */ \"./src/components/ToggleSwitch.react.js\");\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\n\n\n/**\r\n * A switch component that toggles\r\n * between on and off.\r\n */\n\nvar BooleanSwitch =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(BooleanSwitch, _Component);\n\n  function BooleanSwitch(props) {\n    var _this;\n\n    _classCallCheck(this, BooleanSwitch);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(BooleanSwitch).call(this, props));\n    _this.state = {\n      on: props.persisted_props == 'on' ? localStorage.getItem(props.id) == null ? props.on : localStorage.getItem(props.id) == 'true' : props.on\n    };\n    _this.setPropsOverride = _this.setPropsOverride.bind(_assertThisInitialized(_this));\n    return _this;\n  }\n\n  _createClass(BooleanSwitch, [{\n    key: \"UNSAFE_componentWillReceiveProps\",\n    value: function UNSAFE_componentWillReceiveProps(newProps) {\n      if (newProps.on !== this.state.on) this.setState({\n        on: newProps.on\n      });\n    }\n  }, {\n    key: \"setPropsOverride\",\n    value: function setPropsOverride(_ref) {\n      var value = _ref.value;\n      this.setState({\n        on: value\n      });\n      if (this.props.setProps) this.props.setProps({\n        on: value\n      });\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props = this.props,\n          color = _this$props.color,\n          theme = _this$props.theme;\n      var filteredProps = Object(ramda__WEBPACK_IMPORTED_MODULE_3__[\"omit\"])(['persisted_props'], this.props);\n\n      if (this.props.persisted_props == 'on' && this.props.id != null) {\n        localStorage.setItem(this.props.id, this.state.on);\n      }\n\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ToggleSwitch_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _extends({}, filteredProps, {\n        value: this.state.on,\n        setProps: this.setPropsOverride,\n        booleanSwitch: true,\n        color: color || theme.primary\n      }));\n    }\n  }]);\n\n  return BooleanSwitch;\n}(react__WEBPACK_IMPORTED_MODULE_0__[\"Component\"]);\n\nBooleanSwitch.defaultProps = {\n  on: false,\n  vertical: false,\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_4__[\"light\"],\n  labelPosition: 'top',\n  persisted_props: ['on'],\n  persistence_type: 'local'\n};\nBooleanSwitch.propTypes = {\n  /**\r\n   * The ID used to identify this compnent in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Whether or not the switch is on\r\n   */\n  on: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * Color to highlight active switch background\r\n   */\n  color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * If true, switch will be vertical instead\r\n   * of horizontal\r\n   */\n  vertical: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * If true, switch cannot be clicked\r\n   */\n  disabled: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the control. To control styling,\r\n   * pass an object with label and style properties.\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the component label is positioned.\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Class to apply to the root component element.\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root object.\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Dash-assigned callback that gets fired when\r\n   * switch is toggled.\r\n   */\n  setProps: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n\n  /**\r\n   * Used to allow user interactions in this component to be persisted when\r\n   * the component - or the page - is refreshed. If `persisted` is truthy and\r\n   * hasn't changed from its previous value, a `value` that the user has\r\n   * changed while using the app will keep that change, as long as\r\n   * the new `value` also matches what was given originally.\r\n   * Used in conjunction with `persistence_type`.\r\n   */\n  persistence: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number]),\n\n  /**\r\n   * Properties whose user interactions will persist after refreshing the\r\n   * component or the page. Since only `on` is allowed this prop can\r\n   * normally be ignored.\r\n   */\n  persisted_props: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['on'])),\n\n  /**\r\n   * Where persisted user changes will be stored:\r\n   * memory: only kept in memory, reset on page refresh.\r\n   * local: window.localStorage, data is kept after the browser quit.\r\n   * session: window.sessionStorage, data is cleared once the browser quit.\r\n   */\n  persistence_type: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['local', 'session', 'memory']),\n\n  /**\r\n   * size of the switch\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number\n};\nvar ThemedBooleanSwitch = Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(BooleanSwitch);\nThemedBooleanSwitch.defaultProps = BooleanSwitch.defaultProps;\n/* harmony default export */ __webpack_exports__[\"default\"] = (ThemedBooleanSwitch);\n\n/***/ }),\n\n/***/ \"./src/components/ColorPicker.react.js\":\n/*!*********************************************!*\\\n  !*** ./src/components/ColorPicker.react.js ***!\n  \\*********************************************/\n/*! exports provided: default, defaultProps, propTypes */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ColorPicker; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultProps\", function() { return defaultProps; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"propTypes\", function() { return propTypes; });\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\nvar RealColorPicker = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"lazy\"])(function () {\n  return __webpack_require__.e(/*! import() | colorpicker */ \"async-colorpicker\").then(__webpack_require__.bind(null, /*! ../fragments/ColorPicker.react */ \"./src/fragments/ColorPicker.react.js\"));\n});\n/**\r\n * A color picker.\r\n */\n\nvar ColorPicker =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(ColorPicker, _Component);\n\n  function ColorPicker() {\n    _classCallCheck(this, ColorPicker);\n\n    return _possibleConstructorReturn(this, _getPrototypeOf(ColorPicker).apply(this, arguments));\n  }\n\n  _createClass(ColorPicker, [{\n    key: \"render\",\n    value: function render() {\n      return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_1__[\"Suspense\"], {\n        fallback: null\n      }, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(RealColorPicker, this.props));\n    }\n  }]);\n\n  return ColorPicker;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]);\n\n\nColorPicker.defaultProps = {\n  size: 225,\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_2__[\"light\"],\n  labelPosition: 'top',\n  persisted_props: ['value'],\n  persistence_type: 'local'\n};\nColorPicker.propTypes = {\n  /**\r\n   * The ID used to identify the color picker in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n\n  /**\r\n   * Color value of the picker\r\n   */\n  value: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.shape({\n    /**\r\n     * Hex string\r\n     */\n    hex: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n\n    /**\r\n     * RGB/RGBA object\r\n     */\n    rbg: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.shape({\n      r: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number,\n      g: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number,\n      b: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number,\n      a: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number\n    })\n  }),\n\n  /**\r\n   * If true, color cannot be picked.\r\n   */\n  disabled: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool,\n\n  /**\r\n   * Size (width) of the component in pixels\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the control. To control styling,\r\n   * pass an object with label and style properties\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string\n  })]),\n\n  /**\r\n   * Where the indicator label is positioned\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Class to apply to the root component element\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n\n  /**\r\n   * Dash-assigned callback that gets fired when\r\n   * the color picker's value changes\r\n   */\n  setProps: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.func,\n\n  /**\r\n   * Style to apply to the root component element\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.object,\n\n  /**\r\n   * Used to allow user interactions in this component to be persisted when\r\n   * the component - or the page - is refreshed. If `persisted` is truthy and\r\n   * hasn't changed from its previous value, a `value` that the user has\r\n   * changed while using the app will keep that change, as long as\r\n   * the new `value` also matches what was given originally.\r\n   * Used in conjunction with `persistence_type`.\r\n   */\n  persistence: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool, prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number]),\n\n  /**\r\n   * Properties whose user interactions will persist after refreshing the\r\n   * component or the page. Since only `value` is allowed this prop can\r\n   * normally be ignored.\r\n   */\n  persisted_props: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOf(['value'])),\n\n  /**\r\n   * Where persisted user changes will be stored:\r\n   * memory: only kept in memory, reset on page refresh.\r\n   * local: window.localStorage, data is kept after the browser quit.\r\n   * session: window.sessionStorage, data is cleared once the browser quit.\r\n   */\n  persistence_type: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOf(['local', 'session', 'memory'])\n};\nvar defaultProps = ColorPicker.defaultProps;\nvar propTypes = ColorPicker.propTypes;\n\n/***/ }),\n\n/***/ \"./src/components/DarkThemeProvider.react.js\":\n/*!***************************************************!*\\\n  !*** ./src/components/DarkThemeProvider.react.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n\n\n\n\n/**\r\n * DarkThemeProvider is a component that is placed at the root of\r\n * the component tree to make all components match the dark theme\r\n */\n\nfunction DarkThemeProvider(props) {\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"ThemeProvider\"], {\n    theme: props.theme || _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"dark\"]\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, props.children));\n}\n\nDarkThemeProvider.propTypes = {\n  /**\r\n   * The children of this component\r\n   */\n  children: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.node), prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.node]),\n\n  /**\r\n   * Theme object to override with a custom theme\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    /**\r\n     * Highlight color\r\n     */\n    primary: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n    /**\r\n     * Supporting color\r\n     */\n    secondary: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n    /**\r\n     * Color used for UI details, like borders\r\n     */\n    detail: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n    /**\r\n     * True for Dark mode, false for Light\r\n     */\n    dark: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool\n  })\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (DarkThemeProvider);\n\n/***/ }),\n\n/***/ \"./src/components/Gauge.react.js\":\n/*!***************************************!*\\\n  !*** ./src/components/Gauge.react.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _helpers_GaugeSvg_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/GaugeSvg.react */ \"./src/helpers/GaugeSvg.react.js\");\n/* harmony import */ var _styled_Gauge_styled__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styled/Gauge.styled */ \"./src/styled/Gauge.styled.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _styled_CurrentValue_styled__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styled/CurrentValue.styled */ \"./src/styled/CurrentValue.styled.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _styled_Tank_styled__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styled/Tank.styled */ \"./src/styled/Tank.styled.js\");\n/* harmony import */ var _helpers_util__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../helpers/util */ \"./src/helpers/util.js\");\n/* harmony import */ var _helpers_logarithm__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../helpers/logarithm */ \"./src/helpers/logarithm.js\");\n/* harmony import */ var _helpers_scale__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../helpers/scale */ \"./src/helpers/scale.js\");\n/* harmony import */ var _helpers_colorRanges__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../helpers/colorRanges */ \"./src/helpers/colorRanges.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\n/* harmony import */ var conic_gradient__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! conic-gradient */ \"./node_modules/conic-gradient/conic-gradient.js\");\n/* harmony import */ var conic_gradient__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(conic_gradient__WEBPACK_IMPORTED_MODULE_14__);\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\r\n * A Gauge component that points to\r\n * a value between some range.\r\n */\n\nvar Gauge = function Gauge(props) {\n  var max = props.max,\n      min = props.min,\n      showCurrentValue = props.showCurrentValue,\n      units = props.units,\n      logarithmic = props.logarithmic,\n      base = props.base,\n      id = props.id,\n      className = props.className,\n      style = props.style,\n      theme = props.theme,\n      digits = props.digits;\n  var warningPara = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useRef\"])(null);\n  var color = Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_12__[\"convertInRange\"])(props.color, max, min ? min : 0);\n  var colorValue = props.textColor || Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_12__[\"getColorValue\"])(color);\n  var rawValue = props.value != null ? props.value : min;\n  var dirtyValue = logarithmic ? _helpers_logarithm__WEBPACK_IMPORTED_MODULE_10__[\"default\"].compute(rawValue) : rawValue;\n  var currentDisplayValue = dirtyValue;\n  var value = Object(_helpers_util__WEBPACK_IMPORTED_MODULE_9__[\"sanitizeRangeValue\"])({\n    min: min,\n    max: max,\n    value: dirtyValue\n  });\n  var formatter = logarithmic ? _helpers_logarithm__WEBPACK_IMPORTED_MODULE_10__[\"default\"].generateLogFormatter({\n    base: base,\n    isSVG: true\n  }) : null;\n  var scale = Object(_helpers_scale__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(_objectSpread({}, props, {\n    formatter: formatter\n  }));\n  var progress = Object(_helpers_util__WEBPACK_IMPORTED_MODULE_9__[\"computeProgress\"])({\n    min: min,\n    max: max,\n    value: value,\n    progressionTarget: 1\n  });\n  var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_13__[\"getClassName\"])('gauge', theme);\n  var currentValue = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_CurrentValue_styled__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n    className: elementName + '__current-value',\n    valueColor: colorValue,\n    units: units,\n    valueSize: (props.size + 32) * 13.3333 / 100,\n    css: 'transform: translateY(-150%); top: 0;'\n  }, logarithmic ? _helpers_logarithm__WEBPACK_IMPORTED_MODULE_10__[\"default\"].formatValue(currentDisplayValue, base) : currentDisplayValue.toFixed(digits));\n  var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_13__[\"getFilteredProps\"])(props);\n  Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"])(function () {\n    var currValue = logarithmic ? Math.pow(base || 10, currentDisplayValue) : currentDisplayValue;\n    var maximum = logarithmic ? Math.pow(base || 10, max) : max;\n    var minimum = logarithmic ? Math.pow(base || 10, min) : min;\n\n    if (currValue > maximum) {\n      var str = '';\n      warningPara.current.innerHTML = props.exceedMessage ? typeof props.exceedMessage == 'string' ? props.exceedMessage : props.exceedMessage(currValue, maximum) || str : str;\n    } else if (currValue < minimum) {\n      var _str = '';\n      warningPara.current.innerHTML = props.lagingMessage ? typeof props.lagingMessage == 'string' ? props.lagingMessage : props.lagingMessage(currValue, minimum) || _str : _str;\n    } else {\n      warningPara.current.innerHTML = '';\n    }\n  }, [currentDisplayValue]);\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n    id: id,\n    className: elementName + (className ? ' ' + className : ''),\n    style: style\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Tank_styled__WEBPACK_IMPORTED_MODULE_8__[\"ExceededWarning\"], {\n    ref: warningPara\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _extends({\n    className: elementName + '__label'\n  }, filteredProps, {\n    labelCSS: props.labelPosition === 'top' ? null : 'transform: translateY(-80px);'\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Gauge_styled__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n    color: colorValue\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_helpers_GaugeSvg_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _extends({\n    className: elementName + '__gauge'\n  }, _objectSpread({}, filteredProps, {\n    scale: scale,\n    progress: progress,\n    color: color\n  }))), showCurrentValue && currentValue)));\n};\n\nGauge.defaultProps = {\n  min: 0,\n  max: 10,\n  base: 10,\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_7__[\"light\"],\n  labelPosition: 'top',\n  digits: 1,\n  size: 208\n};\nGauge.propTypes = {\n  /**\r\n   * The ID used to identify this compnent in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * The value of gauge. If logarithmic, the displayed\r\n   * value will be the logarithm of the inputted value.\r\n   */\n  value: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The size (diameter) of the gauge in pixels\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The minimum value of the gauge. If logarithmic,\r\n   * represents the minimum exponent.\r\n   */\n  min: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The maximum value of the gauge. If logarithmic,\r\n   * represents the maximum exponent.\r\n   */\n  max: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Base to be used in logarithmic scale.\r\n   */\n  base: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * If set to true, a logarithmic scale will be\r\n   * used.\r\n   */\n  logarithmic: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * If true, the current value of the gauge\r\n   * will be displayed\r\n   */\n  showCurrentValue: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * Number of digits for current value\r\n   */\n  digits: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Label for the current value\r\n   */\n  units: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the control. To control styling, pass an object with label and style properties.\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the component label is positioned.\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Configuration for the component scale.\r\n   */\n  scale: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    /**\r\n     * Value to start the scale from. Defaults\r\n     * to min.\r\n     */\n    start: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n    /**\r\n     * Interval by which the scale goes up. Attempts\r\n     * to dynamically divide min-max range by\r\n     * default.\r\n     */\n    interval: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n    /**\r\n     * Interval by which labels are added to\r\n     * scale marks. Defaults to 2 (every other\r\n     * mark has a label).\r\n     */\n    labelInterval: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n    /**\r\n     * Custom scale marks. The key determines the position\r\n     * and the value determines what will show. If you want\r\n     * to set the style of a specific mark point, the value\r\n     * should be an object which contains style and label\r\n     * properties\r\n     */\n    custom: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n    /**\r\n     * Label for the mark\r\n     */\n    prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n    /**\r\n     * Style object with label\r\n     */\n    prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n      style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n      label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n    })])\n  }),\n\n  /**\r\n   * Color configuration for the gauge's track.\r\n   */\n  color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Color used for gauge's track/indicator\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * Color ranges configuration.\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    /**\r\n     * Color used for current value text and other minor accents\r\n     */\n    \"default\": prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n    /**\r\n     * Display ranges as a gradient between given colors.\r\n     */\n    gradient: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n    /**\r\n     * Define multiple color ranges on the gauge's track.\r\n     * The key determines the color of the range and\r\n     * the value is the start,end of the range itself.\r\n     * Ranges must be contiguous along the entirety\r\n     * of the gauge's range of values.\r\n     */\n    ranges: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n      color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number)]))\n    })\n  })]),\n\n  /**\r\n   * Class to apply to the root component element.\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root component element.\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Warning message when value exceed max\r\n   */\n  exceedMessage: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string]),\n\n  /**\r\n   * Warning message when value is laging from min\r\n   */\n  lagingMessage: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string]),\n\n  /**\r\n   * text color for theme\r\n   */\n  textColor: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(Gauge));\n\n/***/ }),\n\n/***/ \"./src/components/GraduatedBar.react.js\":\n/*!**********************************************!*\\\n  !*** ./src/components/GraduatedBar.react.js ***!\n  \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _helpers_colorRanges__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helpers/colorRanges */ \"./src/helpers/colorRanges.js\");\n/* harmony import */ var _styled_GraduatedBar_styled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styled/GraduatedBar.styled */ \"./src/styled/GraduatedBar.styled.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\n\n\n\n\n\n\n\nvar valueColor = function valueColor(value, color) {\n  var entry = Object.entries(color.ranges).filter(function (_ref) {\n    var _ref2 = _slicedToArray(_ref, 2),\n        range = _ref2[1];\n\n    return value >= range[0] && value <= range[1];\n  })[0];\n  return entry && entry[0];\n};\n/**\r\n * A graduated bar component that displays\r\n * a value within some range as a\r\n * percentage.\r\n */\n\n\nvar GraduatedBar = function GraduatedBar(props) {\n  var step = props.step,\n      min = props.min,\n      max = props.max,\n      label = props.label,\n      labelPosition = props.labelPosition,\n      id = props.id,\n      className = props.className,\n      color = props.color,\n      size = props.size,\n      style = props.style,\n      showCurrentValue = props.showCurrentValue,\n      vertical = props.vertical,\n      theme = props.theme;\n  var value = props.value || min;\n  var gradient = null;\n  var progressBlocks = [];\n  var normalizedValue = Math.max(Math.min(max, value), min);\n\n  if (color.gradient && Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_4__[\"isContiguous\"])({\n    color: color,\n    min: min,\n    max: max\n  })) {\n    gradient = Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_4__[\"getGradientObject\"])({\n      color: color,\n      min: min,\n      max: max\n    });\n  }\n\n  var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_7__[\"getClassName\"])('graduatedbar', theme);\n  var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_7__[\"getFilteredProps\"])(props);\n\n  for (var i = min; i < normalizedValue; i += step) {\n    var blockProps = _objectSpread({}, filteredProps, {\n      color: Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_4__[\"getColorValue\"])(color)\n    });\n\n    if (color.ranges && valueColor(i, color)) {\n      blockProps = _objectSpread({}, filteredProps, {\n        color: valueColor(i, color)\n      });\n    }\n\n    progressBlocks.push(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_GraduatedBar_styled__WEBPACK_IMPORTED_MODULE_5__[\"Block\"], _extends({\n      className: elementName + '__progressBlock',\n      key: i,\n      progress: i / (max - min),\n      gradient: gradient\n    }, blockProps)));\n  }\n\n  var percent = normalizedValue / (max - min) * 100;\n  if (!isFinite(percent)) percent = 0;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n    id: id,\n    className: elementName + (className ? ' ' + className : ''),\n    style: style\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n    className: elementName + '__label',\n    label: label,\n    labelPosition: labelPosition\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_GraduatedBar_styled__WEBPACK_IMPORTED_MODULE_5__[\"Container\"], {\n    vertical: vertical,\n    size: size\n  }, progressBlocks, showCurrentValue && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_GraduatedBar_styled__WEBPACK_IMPORTED_MODULE_5__[\"Value\"], {\n    className: elementName + '__currentvalue',\n    vertical: vertical\n  }, percent.toFixed(0), \"%\"))));\n};\n\nGraduatedBar.defaultProps = {\n  min: 0,\n  max: 10,\n  size: 250,\n  step: 0.5,\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"light\"],\n  labelPosition: 'top',\n  color: _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"light\"].primary\n};\nGraduatedBar.propTypes = {\n  /**\r\n   * The ID used to identify this compnent in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * The value of the graduated bar\r\n   */\n  value: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Color configuration for the graduated bar's\r\n   * progress blocks.\r\n   */\n  color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Color used for graduated bar's track/indicator\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * Color ranges configuration.\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    /**\r\n     * Fallback color to use when color.ranges\r\n     * has gaps.\r\n     */\n    \"default\": prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n    /**\r\n     * Display ranges as a gradient between given colors.\r\n     * Requires color.ranges to be contiguous along\r\n     * the entirety of the graduated bar's range of values.\r\n     */\n    gradient: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n    /**\r\n     * Define multiple color ranges on the graduated bar's track.\r\n     * The key determines the color of the range and\r\n     * the value is the start,end of the range itself.\r\n     */\n    ranges: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n      color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number)\n    })\n  })]),\n\n  /**\r\n   * The size (length) of the graduated bar in pixels\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * If true, will display bar vertically instead of horizontally\r\n   */\n  vertical: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * The minimum value of the graduated bar\r\n   */\n  min: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The maximum value of the graduated bar\r\n   */\n  max: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Value by which progress blocks appear\r\n   */\n  step: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * If true, the current percentage\r\n   *  of the bar will be displayed\r\n   */\n  showCurrentValue: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the control. To control styling, pass an object with label and style properties.\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the component label is positioned.\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Class to apply to the root component element.\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root component element.\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(GraduatedBar));\n\n/***/ }),\n\n/***/ \"./src/components/Indicator.react.js\":\n/*!*******************************************!*\\\n  !*** ./src/components/Indicator.react.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var color__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! color */ \"./node_modules/color/index.js\");\n/* harmony import */ var color__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(color__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _styled_shared_Indicator_styled__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styled/shared/Indicator.styled */ \"./src/styled/shared/Indicator.styled.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\n\n\n\n\n\n\n\n\n/**\r\n * A boolean indicator LED.\r\n */\n\nvar Indicator = function Indicator(props) {\n  var id = props.id,\n      className = props.className,\n      color = props.color,\n      size = props.size,\n      width = props.width,\n      height = props.height,\n      value = props.value,\n      style = props.style,\n      theme = props.theme;\n  var bg = color__WEBPACK_IMPORTED_MODULE_2___default()(color).desaturate(0.2).lighten(0.2).rgb().toString();\n  var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_7__[\"getClassName\"])('indicator', theme);\n  var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_7__[\"getFilteredProps\"])(props);\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n    id: id,\n    className: elementName + (className ? ' ' + className : ''),\n    style: style\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__[\"default\"], filteredProps, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_Indicator_styled__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n    className: elementName + '__indicator' + (props.value ? '--on' : '--off'),\n    size: size,\n    width: width,\n    height: height,\n    rectangular: width && height,\n    main: true,\n    on: value,\n    primary: color,\n    secondary: !theme.dark ? bg : null\n  })));\n};\n\nIndicator.defaultProps = {\n  color: _styled_constants__WEBPACK_IMPORTED_MODULE_6__[\"colors\"].DARKER_PRIMARY,\n  size: 15,\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_6__[\"light\"],\n  labelPosition: 'top'\n};\nIndicator.propTypes = {\n  /**\r\n   * The ID used to identify the indicator in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * If true, indicator is illuminated\r\n   */\n  value: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * Color of the indicator\r\n   */\n  color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Size of the component. Either use this or width and height\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Width of the component. Set both width and height for a rectangular indicator\r\n   */\n  width: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Height of the component. Set both width and height for a rectangular indicator\r\n   */\n  height: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the control. To control styling,\r\n   * pass an object with label and style properties\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the indicator label is positioned\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom', 'right', 'left']),\n\n  /**\r\n   * Class to apply to the root component element\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root component element\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(styled_components__WEBPACK_IMPORTED_MODULE_3__[\"withTheme\"])(Indicator));\n\n/***/ }),\n\n/***/ \"./src/components/Joystick.react.js\":\n/*!******************************************!*\\\n  !*** ./src/components/Joystick.react.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var nipplejs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! nipplejs */ \"./node_modules/nipplejs/dist/nipplejs.js\");\n/* harmony import */ var nipplejs__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(nipplejs__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\n\n\n\n/**\r\n * A joystick.\r\n */\n\nvar Joystick =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(Joystick, _Component);\n\n  function Joystick(props) {\n    var _this;\n\n    _classCallCheck(this, Joystick);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(Joystick).call(this, props));\n    _this.lastAngle = 0;\n    return _this;\n  }\n\n  _createClass(Joystick, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      var _this2 = this;\n\n      var _this$props = this.props,\n          size = _this$props.size,\n          setProps = _this$props.setProps;\n      this.manager = nipplejs__WEBPACK_IMPORTED_MODULE_3___default.a.create({\n        mode: 'static',\n        color: 'grey',\n        size: size,\n        position: {\n          left: '50%',\n          top: '50%'\n        },\n        zone: this.zoneRef\n      });\n      this.manager.on('move', function (e, data) {\n        var degree = data.angle.degree,\n            force = data.force;\n        _this2.lastAngle = degree;\n\n        if (setProps) {\n          setProps({\n            angle: degree,\n            force: force\n          });\n        }\n      });\n      this.manager.on('end', function () {\n        if (setProps) {\n          setProps({\n            angle: _this2.lastAngle,\n            force: 0\n          });\n        }\n      });\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      this.manager.destroy();\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this3 = this;\n\n      var _this$props2 = this.props,\n          id = _this$props2.id,\n          className = _this$props2.className,\n          style = _this$props2.style,\n          size = _this$props2.size,\n          theme = _this$props2.theme;\n      var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_6__[\"getClassName\"])('joystick', theme);\n      var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_6__[\"getFilteredProps\"])(this.props);\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        id: id,\n        className: elementName + (className ? ' ' + className : ''),\n        style: style\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _extends({\n        className: elementName + '__label'\n      }, filteredProps), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        className: elementName + '__joystick',\n        ref: function ref(_ref) {\n          return _this3.zoneRef = _ref;\n        },\n        style: {\n          position: 'relative',\n          width: size + 'px',\n          height: size + 'px'\n        }\n      })));\n    }\n  }]);\n\n  return Joystick;\n}(react__WEBPACK_IMPORTED_MODULE_0__[\"Component\"]);\n\nJoystick.defaultProps = {\n  size: 100,\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_4__[\"light\"],\n  labelPosition: 'top'\n};\nJoystick.propTypes = {\n  /**\r\n   * The ID used to identify the Joystick in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Joystick angle in degrees, 0 = right, 90 = up, 180 = left, 270 = down\r\n   */\n  angle: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Joystick force: distance between cursor and center in big-circle radii\r\n   */\n  force: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Size (width) of the component in pixels\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the control. To control styling,\r\n   * pass an object with label and style properties\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the indicator label is positioned\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Class to apply to the root component element\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Dash-assigned callback that gets fired when\r\n   * the color picker's value changes\r\n   */\n  setProps: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n\n  /**\r\n   * Style to apply to the root component element\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(Joystick));\n\n/***/ }),\n\n/***/ \"./src/components/Knob.react.js\":\n/*!**************************************!*\\\n  !*** ./src/components/Knob.react.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _helpers_KnobSvg_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/KnobSvg.react */ \"./src/helpers/KnobSvg.react.js\");\n/* harmony import */ var _styled_Knob_styled__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styled/Knob.styled */ \"./src/styled/Knob.styled.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _styled_CurrentValue_styled__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styled/CurrentValue.styled */ \"./src/styled/CurrentValue.styled.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _helpers_util__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../helpers/util */ \"./src/helpers/util.js\");\n/* harmony import */ var _helpers_colorRanges__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../helpers/colorRanges */ \"./src/helpers/colorRanges.js\");\n/* harmony import */ var _helpers_scale__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../helpers/scale */ \"./src/helpers/scale.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar RESET_START_ANGLE = -1;\n\nvar valueToDeg = function valueToDeg(_ref) {\n  var min = _ref.min,\n      max = _ref.max,\n      value = _ref.value;\n  return Object(_helpers_util__WEBPACK_IMPORTED_MODULE_8__[\"computeProgress\"])({\n    min: min,\n    max: max,\n    value: value,\n    progressionTarget: _styled_constants__WEBPACK_IMPORTED_MODULE_7__[\"TRACK_TOTAL_DEG\"]\n  });\n};\n\nvar degToValue = function degToValue(_ref2) {\n  var min = _ref2.min,\n      max = _ref2.max,\n      deg = _ref2.deg;\n  return Object(_helpers_util__WEBPACK_IMPORTED_MODULE_8__[\"computeProgress\"])({\n    min: 0,\n    max: _styled_constants__WEBPACK_IMPORTED_MODULE_7__[\"TRACK_TOTAL_DEG\"],\n    value: deg,\n    progressionTarget: max - min\n  }) + min;\n};\n/**\r\n * A knob component that can be turned\r\n * to a value between some range.\r\n */\n\n\nvar Knob =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(Knob, _Component);\n\n  function Knob(props) {\n    var _this;\n\n    _classCallCheck(this, Knob);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(Knob).call(this, props));\n    var currentDeg = valueToDeg({\n      min: props.min,\n      max: props.max,\n      value: props.value != null ? props.value : props.min\n    });\n    _this.state = {\n      min: props.min,\n      max: props.max,\n      value: props.value || props.min,\n      scale: Object(_helpers_scale__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(props),\n      isDragging: false,\n      startAngle: RESET_START_ANGLE,\n      rotation: currentDeg,\n      currentDeg: currentDeg\n    };\n    _this.onMouseDown = _this.onMouseDown.bind(_assertThisInitialized(_this));\n    _this.onMouseUp = _this.onMouseUp.bind(_assertThisInitialized(_this));\n    _this.onMouseMove = _this.onMouseMove.bind(_assertThisInitialized(_this));\n    _this.setValue = _this.setValue.bind(_assertThisInitialized(_this));\n    return _this;\n  }\n\n  _createClass(Knob, [{\n    key: \"noop\",\n    value: function noop() {}\n  }, {\n    key: \"UNSAFE_componentWillReceiveProps\",\n    value: function UNSAFE_componentWillReceiveProps(newProps) {\n      if (typeof newProps.value !== 'undefined') this.setState({\n        value: newProps.value\n      });\n\n      if (this.state.max != newProps.max) {\n        this.setState({\n          max: newProps.max instanceof Number ? newProps.max : this.state.max\n        });\n      }\n\n      if (this.state.min != newProps.min) {\n        this.setState({\n          min: newProps.min instanceof Number ? newProps.min : this.state.min\n        });\n      }\n    }\n  }, {\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      window.addEventListener('mouseup', this.onMouseUp, false); // eslint-disable-next-line\n\n      __webpack_require__(/*! conic-gradient */ \"./node_modules/conic-gradient/conic-gradient.js\");\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      window.removeEventListener('mouseup', this.onMouseUp, false);\n    }\n  }, {\n    key: \"onMouseDown\",\n    value: function onMouseDown() {\n      this.setState({\n        isDragging: true\n      });\n    }\n  }, {\n    key: \"onMouseUp\",\n    value: function onMouseUp() {\n      if (this.state.isDragging) {\n        this.setState(function (state) {\n          return {\n            rotation: state.currentDeg,\n            isDragging: false,\n            startAngle: RESET_START_ANGLE\n          };\n        });\n      }\n    }\n  }, {\n    key: \"onMouseMove\",\n    value: function onMouseMove(e) {\n      if (!this.state.isDragging) {\n        return;\n      }\n\n      var _this$props = this.props,\n          min = _this$props.min,\n          max = _this$props.max;\n      var rotation = this.state.rotation;\n      var startAngle = this.state.startAngle;\n\n      if (e.touches) {\n        e = e.touches[0];\n      }\n\n      var rect = this.knobElement.getBoundingClientRect();\n      var centerX = rect.width / 2 + rect.left;\n      var centerY = rect.height / 2 + rect.top;\n      var radians = Math.atan2(e.clientX - centerX, e.clientY - centerY);\n      var angle = radians * (180 / Math.PI);\n\n      if (e.clientX - centerX >= 0) {\n        angle = Math.abs(360 - angle) + 180;\n      } else {\n        angle = angle - 180;\n      }\n\n      angle = Math.abs(angle);\n\n      if (startAngle === RESET_START_ANGLE) {\n        startAngle = angle;\n        this.setState({\n          startAngle: startAngle\n        });\n      }\n\n      var tmp = Math.floor(angle - startAngle + rotation);\n      tmp = Math.min(tmp, _styled_constants__WEBPACK_IMPORTED_MODULE_7__[\"TRACK_TOTAL_DEG\"]);\n      tmp = Math.max(tmp, 0);\n      this.setState({\n        currentDeg: tmp\n      });\n      this.setValue(Object(_helpers_util__WEBPACK_IMPORTED_MODULE_8__[\"roundToDecimal\"])(degToValue({\n        min: min,\n        max: max,\n        deg: tmp\n      }), 2));\n    }\n  }, {\n    key: \"setValue\",\n    value: function setValue(value) {\n      this.setState({\n        value: value\n      });\n      if (this.props.setProps) this.props.setProps({\n        value: value\n      });\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this2 = this;\n\n      var _this$props2 = this.props,\n          min = _this$props2.min,\n          max = _this$props2.max,\n          _this$props2$value = _this$props2.value,\n          value = _this$props2$value === void 0 ? this.props.min : _this$props2$value;\n      var _this$props3 = this.props,\n          id = _this$props3.id,\n          className = _this$props3.className,\n          labelPosition = _this$props3.labelPosition,\n          color = _this$props3.color,\n          style = _this$props3.style,\n          disabled = _this$props3.disabled,\n          theme = _this$props3.theme,\n          textColor = _this$props3.textColor;\n      var progress = Object(_helpers_util__WEBPACK_IMPORTED_MODULE_8__[\"computeProgress\"])({\n        min: min,\n        max: max,\n        value: value > min && value < max ? value : (min + max) / 2,\n        progressionTarget: 1\n      });\n      var colorValue = textColor || Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_9__[\"getColorValue\"])(color);\n      var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_11__[\"getClassName\"])('knob', theme);\n      var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_11__[\"getFilteredProps\"])(this.props);\n      var currentValue = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_CurrentValue_styled__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n        className: elementName + '__current-value',\n        valueColor: colorValue,\n        valueSize: Math.min((this.props.size + 32) * 13.3333 / 100, 32),\n        units: false,\n        css: 'transform: translateY(0%); top: 0;'\n      }, value.toFixed(this.props.digits)));\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        id: id,\n        className: elementName + (className ? ' ' + className : ''),\n        style: style\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _extends({\n        className: elementName + '__label'\n      }, filteredProps, {\n        labelCSS: labelPosition === 'top' ? null : 'transform: translateY(-40px);'\n      }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Knob_styled__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n        className: elementName + '__container',\n        colorValue: colorValue,\n        color: Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_9__[\"getColorValue\"])(color)\n      }, this.props.showCurrentValue && currentValue, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_helpers_KnobSvg_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _extends({\n        progress: progress\n      }, filteredProps, this.state, {\n        min: this.props.min != this.state.min ? this.props.min : this.state.min,\n        max: this.props.max != this.state.max ? this.props.max : this.state.max,\n        value: value > min && value < max ? value : (min + max) / 2,\n        scale: Object(_helpers_scale__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(this.props),\n        currentDeg: valueToDeg({\n          min: this.props.min,\n          max: this.props.max,\n          value: value > min && value < max ? value : (min + max) / 2\n        }),\n        refFunc: function refFunc(ele) {\n          return _this2.knobElement = ele;\n        },\n        onMouseDown: disabled ? this.noop : this.onMouseDown,\n        onMouseUp: disabled ? this.noop : this.onMouseUp,\n        onMouseMove: disabled ? this.noop : this.onMouseMove\n      })))));\n    }\n  }]);\n\n  return Knob;\n}(react__WEBPACK_IMPORTED_MODULE_0__[\"Component\"]);\n\nKnob.defaultProps = {\n  min: 0,\n  max: 10,\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_7__[\"light\"],\n  labelPosition: 'top',\n  persisted_props: ['value'],\n  persistence_type: 'local',\n  size: 114\n};\nKnob.propTypes = {\n  /**\r\n   * The ID used to identify this compnent in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * The value of knob\r\n   */\n  value: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Color configuration for the knob's track.\r\n   */\n  color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Color used for knob's track/indicator\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * Color ranges configuration.\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    /**\r\n     * Color used for current value text and other minor accents\r\n     */\n    \"default\": prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n    /**\r\n     * Display ranges as a gradient between given colors.\r\n     */\n    gradient: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n    /**\r\n     * Define multiple color ranges on the knob's track.\r\n     * The key determines the color of the range and\r\n     * the value is the start,end of the range itself.\r\n     * Ranges must be contiguous along the entirety\r\n     * of the knob's range of values.\r\n     */\n    ranges: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n      color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number)\n    })\n  })]),\n\n  /**\r\n   * The size (diameter) of the knob in pixels\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The minimum value of the knob\r\n   */\n  min: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The maximum value of the knob\r\n   */\n  max: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * If true, knob cannot be moved.\r\n   */\n  disabled: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the control. To control styling, pass an object with label and style properties.\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the knob label is positioned.\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Configuration for the component scale.\r\n   */\n  scale: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    /**\r\n     * Value to start the scale from. Defaults\r\n     * to min.\r\n     */\n    start: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n    /**\r\n     * Interval by which the scale goes up. Attempts\r\n     * to dynamically divide min-max range by\r\n     * default.\r\n     */\n    interval: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n    /**\r\n     * Interval by which labels are added to\r\n     * scale marks. Defaults to 2 (every other\r\n     * mark has a label).\r\n     */\n    labelInterval: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n    /**\r\n     * Custom scale marks. The key determines the position\r\n     * and the value determines what will show. If you want\r\n     * to set the style of a specific mark point, the value\r\n     * should be an object which contains style and label\r\n     * properties\r\n     */\n    custom: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n    /**\r\n     * Label for the mark\r\n     */\n    prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n    /**\r\n     * Style object with label\r\n     */\n    prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n      style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n      label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n    })])\n  }),\n\n  /**\r\n   * Class to apply to the root component element.\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root component element.\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Dash-assigned callback that gets fired when selected\r\n   * value changes.\r\n   */\n  setProps: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n\n  /**\r\n   * Used to allow user interactions in this component to be persisted when\r\n   * the component - or the page - is refreshed. If `persisted` is truthy and\r\n   * hasn't changed from its previous value, a `value` that the user has\r\n   * changed while using the app will keep that change, as long as\r\n   * the new `value` also matches what was given originally.\r\n   * Used in conjunction with `persistence_type`.\r\n   */\n  persistence: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number]),\n\n  /**\r\n   * Properties whose user interactions will persist after refreshing the\r\n   * component or the page. Since only `value` is allowed this prop can\r\n   * normally be ignored.\r\n   */\n  persisted_props: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['value'])),\n\n  /**\r\n   * Where persisted user changes will be stored:\r\n   * memory: only kept in memory, reset on page refresh.\r\n   * local: window.localStorage, data is kept after the browser quit.\r\n   * session: window.sessionStorage, data is cleared once the browser quit.\r\n   */\n  persistence_type: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['local', 'session', 'memory']),\n\n  /**\r\n     * show current value of knob\r\n   */\n  showCurrentValue: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * text color of scale\r\n   */\n  textColor: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * number of digits to show after decimal places\r\n   */\n  digits: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number\n};\nvar ThemedKnob = Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(Knob);\nThemedKnob.defaultProps = Knob.defaultProps;\n/* harmony default export */ __webpack_exports__[\"default\"] = (ThemedKnob);\n\n/***/ }),\n\n/***/ \"./src/components/LEDDisplay.react.js\":\n/*!********************************************!*\\\n  !*** ./src/components/LEDDisplay.react.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _helpers_LEDDisplaySvg_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/LEDDisplaySvg.react */ \"./src/helpers/LEDDisplaySvg.react.js\");\n/* harmony import */ var _styled_LEDDisplay_styled__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styled/LEDDisplay.styled */ \"./src/styled/LEDDisplay.styled.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\n\n\n\n\n\n\n\n\nvar VALID_INPUT = /^(\\-)?((\\.|:)?[0-9])*$/;\nvar isValidInput = VALID_INPUT.test.bind(VALID_INPUT);\n/**\r\n * A 7-bar LED display component.\r\n */\n\nvar LEDDisplay = function LEDDisplay(props) {\n  var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_7__[\"getClassName\"])('leddisplay', props.theme);\n  var digits = isValidInput(props.value) ? extractDigits(props, elementName) : null;\n  var led = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_LEDDisplay_styled__WEBPACK_IMPORTED_MODULE_4__[\"LEDContainer\"], {\n    backgroundColor: props.backgroundColor\n  }, digits);\n  var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_7__[\"getFilteredProps\"])(props);\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n    id: props.id,\n    className: elementName + (props.className ? ' ' + props.className : ''),\n    style: props.style\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__[\"default\"], filteredProps, digits ? led : 'Invalid Input'));\n};\n\nfunction extractDigits(_ref, elementName) {\n  var value = _ref.value,\n      color = _ref.color,\n      backgroundColor = _ref.backgroundColor,\n      theme = _ref.theme,\n      size = _ref.size;\n  var digitStack = value.toString().split('').reverse();\n  var formattedDigits = [];\n  addLeadingZeroIfNeeded(digitStack);\n  var currKey = 0;\n\n  while (digitStack.length) {\n    var currDigit = digitStack.pop();\n    var nextDigit = digitStack.pop();\n    formattedDigits.push(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_helpers_LEDDisplaySvg_react__WEBPACK_IMPORTED_MODULE_3__[\"Digit\"], {\n      className: elementName + '__digit',\n      theme: theme,\n      key: currKey++,\n      value: currDigit,\n      hasColon: nextDigit === ':',\n      hasDecimal: nextDigit === '.',\n      color: color,\n      backgroundColor: backgroundColor,\n      size: size\n    }));\n    if (nextDigit && nextDigit !== '.' && nextDigit !== ':') digitStack.push(nextDigit);\n  }\n\n  return formattedDigits;\n}\n\nfunction addLeadingZeroIfNeeded(digits) {\n  var isNegative = false;\n\n  if (digits[digits.length - 1] === '-') {\n    isNegative = true;\n    digits.pop();\n  }\n\n  var leadingDigit = digits[digits.length - 1];\n  if (['.', ':'].includes(leadingDigit)) digits.push('0');\n  if (isNegative) digits.push('-');\n}\n\nLEDDisplay.defaultProps = {\n  color: _styled_constants__WEBPACK_IMPORTED_MODULE_6__[\"colors\"].PRIMARY,\n  backgroundColor: '#fff',\n  size: 42,\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_6__[\"light\"],\n  labelPosition: 'top'\n};\nLEDDisplay.propTypes = {\n  /**\r\n   * The ID used to identify the display in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Value to be displayed. A number or a string\r\n   * containing only digits (0-9), periods, and colons,\r\n   * and possibly starting with a minus sign.\r\n   */\n  value: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string]),\n\n  /**\r\n   * Color of the display\r\n   */\n  color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Color of the display's background\r\n   */\n  backgroundColor: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Size of the display\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the control. To control styling,\r\n   * pass an object with label and style properties\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the display label is positioned\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Class to apply to the root component element\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root component element\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(LEDDisplay));\n\n/***/ }),\n\n/***/ \"./src/components/NumericInput.react.js\":\n/*!**********************************************!*\\\n  !*** ./src/components/NumericInput.react.js ***!\n  \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\n/* harmony import */ var _helpers_NumericInput__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./../helpers/NumericInput */ \"./src/helpers/NumericInput.js\");\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\n\n\n\n/**\r\n * A numeric input component that can be\r\n * set to a value between some range.\r\n */\n\nvar NumericInput =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(NumericInput, _Component);\n\n  function NumericInput(props) {\n    var _this;\n\n    _classCallCheck(this, NumericInput);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(NumericInput).call(this, props));\n    _this.state = {\n      value: props.value || props.min\n    };\n    _this.setValue = _this.setValue.bind(_assertThisInitialized(_this));\n    return _this;\n  }\n\n  _createClass(NumericInput, [{\n    key: \"UNSAFE_componentWillReceiveProps\",\n    value: function UNSAFE_componentWillReceiveProps(newProps) {\n      if (newProps.value !== this.state.value) this.setState({\n        value: newProps.value\n      });\n    }\n  }, {\n    key: \"setValue\",\n    value: function setValue(value) {\n      if (value != null && value >= this.props.min && value <= this.props.max) {\n        this.setState({\n          value: value\n        });\n        if (this.props.setProps) this.props.setProps({\n          value: value\n        });\n      }\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props = this.props,\n          size = _this$props.size,\n          theme = _this$props.theme,\n          style = _this$props.style,\n          className = _this$props.className,\n          id = _this$props.id,\n          disabled = _this$props.disabled,\n          min = _this$props.min,\n          max = _this$props.max;\n      var buttonStyle = {\n        background: 'none',\n        boxShadow: 'none',\n        border: 'none',\n        color: theme.secondary,\n        cursor: 'pointer'\n      };\n      var padding = Math.max(this.state.value ? 16 - 2 * this.state.value.toString().length : 16, 10);\n      var inputStyle = {\n        borderRadius: 3,\n        border: theme.dark ? 'none' : \"1px solid \".concat(_styled_constants__WEBPACK_IMPORTED_MODULE_4__[\"colors\"].GREY),\n        outline: 'none',\n        paddingRight: padding,\n        paddingLeft: padding,\n        paddingTop: 8,\n        paddingBottom: 8,\n        width: size || 56,\n        color: theme.dark ? '#fff' : _styled_constants__WEBPACK_IMPORTED_MODULE_4__[\"colors\"].OFF_WHITE,\n        backgroundColor: theme.dark ? '#22272a' : '#fff',\n        fontSize: 14,\n        boxSizing: 'border-box'\n      };\n      var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_5__[\"getClassName\"])('numericinput', theme);\n      var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_5__[\"getFilteredProps\"])(this.props);\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        id: id,\n        className: elementName + (className ? ' ' + className : ''),\n        style: style\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _extends({\n        className: elementName + '__label'\n      }, filteredProps), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_helpers_NumericInput__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n        className: elementName + '__input',\n        disabled: disabled,\n        style: {\n          input: inputStyle,\n          'input:not(.form-control)': inputStyle,\n          btn: buttonStyle,\n          'btn:hover': buttonStyle,\n          'btn:active': buttonStyle,\n          'input:disabled': {\n            opacity: 0.65,\n            cursor: 'not-allowed'\n          }\n        },\n        min: min,\n        max: max,\n        value: this.state.value,\n        onChange: this.setValue,\n        mobile: false\n      })));\n    }\n  }]);\n\n  return NumericInput;\n}(react__WEBPACK_IMPORTED_MODULE_0__[\"Component\"]);\n\nNumericInput.defaultProps = {\n  min: 0,\n  max: 10,\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_4__[\"light\"],\n  labelPosition: 'top',\n  persisted_props: ['value'],\n  persistence_type: 'local',\n  style: {\n    display: 'flex',\n    justifyContent: 'center'\n  }\n};\nNumericInput.propTypes = {\n  /**\r\n   * The ID used to identify this compnent in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * The value of numeric input\r\n   */\n  value: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The size (length) of the numeric input in pixels\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The minimum value of the numeric input\r\n   */\n  min: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The maximum value of the numeric input\r\n   */\n  max: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * If true, numeric input cannot changed.\r\n   */\n  disabled: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the control. To control styling,\r\n   * pass an object with label and style properties.\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the numeric input label is positioned.\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Class to apply to the root component element.\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root component element.\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Dash-assigned callback that gets fired when selected\r\n   * value changes.\r\n   */\n  setProps: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n\n  /**\r\n   * Used to allow user interactions in this component to be persisted when\r\n   * the component - or the page - is refreshed. If `persisted` is truthy and\r\n   * hasn't changed from its previous value, a `value` that the user has\r\n   * changed while using the app will keep that change, as long as\r\n   * the new `value` also matches what was given originally.\r\n   * Used in conjunction with `persistence_type`.\r\n   */\n  persistence: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number]),\n\n  /**\r\n   * Properties whose user interactions will persist after refreshing the\r\n   * component or the page. Since only `value` is allowed this prop can\r\n   * normally be ignored.\r\n   */\n  persisted_props: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['value'])),\n\n  /**\r\n   * Where persisted user changes will be stored:\r\n   * memory: only kept in memory, reset on page refresh.\r\n   * local: window.localStorage, data is kept after the browser quit.\r\n   * session: window.sessionStorage, data is cleared once the browser quit.\r\n   */\n  persistence_type: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['local', 'session', 'memory'])\n};\nvar ThemedNumericInput = Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(NumericInput);\nThemedNumericInput.defaultProps = NumericInput.defaultProps;\n/* harmony default export */ __webpack_exports__[\"default\"] = (ThemedNumericInput);\n\n/***/ }),\n\n/***/ \"./src/components/PowerButton.react.js\":\n/*!*********************************************!*\\\n  !*** ./src/components/PowerButton.react.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _styled_PowerButton_styled__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../styled/PowerButton.styled */ \"./src/styled/PowerButton.styled.js\");\n/* harmony import */ var _helpers_PowerButtonSvg_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helpers/PowerButtonSvg.react */ \"./src/helpers/PowerButtonSvg.react.js\");\n/* harmony import */ var _styled_shared_Indicator_styled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styled/shared/Indicator.styled */ \"./src/styled/shared/Indicator.styled.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\n\n\n\n\n\n/**\r\n * A power button component can be\r\n * turned on and off.\r\n */\n\nvar PowerButton =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(PowerButton, _Component);\n\n  function PowerButton(props) {\n    var _this;\n\n    _classCallCheck(this, PowerButton);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(PowerButton).call(this, props));\n    _this.state = {\n      on: _this.props.on\n    };\n    _this.onClick = _this.onClick.bind(_assertThisInitialized(_this));\n    return _this;\n  }\n\n  _createClass(PowerButton, [{\n    key: \"UNSAFE_componentWillReceiveProps\",\n    value: function UNSAFE_componentWillReceiveProps(newProps) {\n      if (newProps.on !== this.state.on) this.setState({\n        on: newProps.on\n      });\n    }\n  }, {\n    key: \"onClick\",\n    value: function onClick() {\n      var newOnValue = !this.state.on;\n      this.setState({\n        on: newOnValue\n      });\n      if (this.props.setProps) this.props.setProps({\n        on: newOnValue\n      });\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props = this.props,\n          id = _this$props.id,\n          size = _this$props.size,\n          className = _this$props.className,\n          color = _this$props.color,\n          disabled = _this$props.disabled,\n          style = _this$props.style,\n          theme = _this$props.theme;\n      var INDICATOR_SIZE = size / 10 * 1.25;\n      var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_8__[\"getClassName\"])('powerbutton', theme);\n      var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_8__[\"getFilteredProps\"])(this.props);\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        id: id,\n        className: elementName + (className ? ' ' + className : ''),\n        style: style\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_6__[\"default\"], _extends({\n        className: elementName + '__label'\n      }, filteredProps), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_PowerButton_styled__WEBPACK_IMPORTED_MODULE_3__[\"Container\"], {\n        className: elementName + '__container'\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_PowerButton_styled__WEBPACK_IMPORTED_MODULE_3__[\"Button\"], {\n        className: elementName + '__button',\n        on: this.state.on,\n        color: color,\n        size: size,\n        disabled: disabled,\n        onClick: this.onClick,\n        style: this.state.on ? this.props.onButtonStyle : this.props.offButtonStyle\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_helpers_PowerButtonSvg_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n        on: this.state.on,\n        color: color,\n        size: size * 0.3\n      })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_Indicator_styled__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n        className: elementName + '__indicator',\n        on: this.state.on,\n        primary: color,\n        main: true,\n        size: INDICATOR_SIZE\n      }))));\n    }\n  }]);\n\n  return PowerButton;\n}(react__WEBPACK_IMPORTED_MODULE_0__[\"Component\"]);\n\nPowerButton.defaultProps = {\n  on: false,\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_7__[\"light\"],\n  size: 48,\n  labelPosition: 'top',\n  persisted_props: ['on'],\n  persistence_type: 'local'\n};\nPowerButton.propTypes = {\n  /**\r\n   * The ID used to identify this compnent in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Whether or not the power button is on\r\n   */\n  on: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * The indicator color to display when power button is on\r\n   */\n  color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * The size (diameter) of the power button in pixels\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * If true, power button cannot be clicked\r\n   */\n  disabled: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the button. To control styling, pass an object with label and style properties.\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the button label is positioned.\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Class to apply to the root component element.\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root component element.\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * style to apply on switch on button\r\n   */\n  onButtonStyle: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * style to apply on switch off button\r\n   */\n  offButtonStyle: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Dash-assigned callback that gets fired when\r\n   * button is clicked.\r\n   */\n  setProps: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n\n  /**\r\n   * Used to allow user interactions in this component to be persisted when\r\n   * the component - or the page - is refreshed. If `persisted` is truthy and\r\n   * hasn't changed from its previous value, a `value` that the user has\r\n   * changed while using the app will keep that change, as long as\r\n   * the new `value` also matches what was given originally.\r\n   * Used in conjunction with `persistence_type`.\r\n   */\n  persistence: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number]),\n\n  /**\r\n   * Properties whose user interactions will persist after refreshing the\r\n   * component or the page. Since only `on` is allowed this prop can\r\n   * normally be ignored.\r\n   */\n  persisted_props: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['on'])),\n\n  /**\r\n   * Where persisted user changes will be stored:\r\n   * memory: only kept in memory, reset on page refresh.\r\n   * local: window.localStorage, data is kept after the browser quit.\r\n   * session: window.sessionStorage, data is cleared once the browser quit.\r\n   */\n  persistence_type: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['local', 'session', 'memory'])\n};\nvar ThemedPowerButton = Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(PowerButton);\nThemedPowerButton.defaultProps = PowerButton.defaultProps;\n/* harmony default export */ __webpack_exports__[\"default\"] = (ThemedPowerButton);\n\n/***/ }),\n\n/***/ \"./src/components/PrecisionInput.react.js\":\n/*!************************************************!*\\\n  !*** ./src/components/PrecisionInput.react.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _styled_PrecisionInput_styled__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../styled/PrecisionInput.styled */ \"./src/styled/PrecisionInput.styled.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\n/* harmony import */ var _helpers_NumericInput__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./../helpers/NumericInput */ \"./src/helpers/NumericInput.js\");\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\n\n\n\n\nvar defaultRootStyles = {\n  display: 'flex',\n  flexDirection: 'column',\n  justifyContent: 'space-between',\n  alignItems: 'center'\n};\n/**\r\n * A numeric input component that converts\r\n * an input value to the desired precision.\r\n */\n\nvar PrecisionInput =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(PrecisionInput, _Component);\n\n  function PrecisionInput(props) {\n    var _this;\n\n    _classCallCheck(this, PrecisionInput);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(PrecisionInput).call(this, props));\n    _this.formatPrecision = _this.formatPrecision.bind(_assertThisInitialized(_this));\n    _this.setTempValue = _this.setTempValue.bind(_assertThisInitialized(_this));\n    _this.blur = _this.blur.bind(_assertThisInitialized(_this));\n    _this.setValue = _this.setValue.bind(_assertThisInitialized(_this));\n    _this.toggleInput = _this.toggleInput.bind(_assertThisInitialized(_this));\n    _this.state = {\n      value: props.value != null ? _this.formatPrecision(props.value) : _this.formatPrecision(props.min),\n      isInput: false,\n      tempValue: null\n    };\n    return _this;\n  }\n\n  _createClass(PrecisionInput, [{\n    key: \"UNSAFE_componentWillReceiveProps\",\n    value: function UNSAFE_componentWillReceiveProps(newProps) {\n      if (newProps.value != null && newProps.value !== this.state.value) this.setState({\n        value: this.formatPrecision(newProps.value)\n      });\n    }\n  }, {\n    key: \"formatPrecision\",\n    value: function formatPrecision(value) {\n      return Number(Number(value.toPrecision(this.props.precision)));\n    }\n  }, {\n    key: \"setValue\",\n    value: function setValue(value) {\n      if (value != null && value >= this.props.min && value <= this.props.max) {\n        var newValue = this.formatPrecision(value);\n        this.setState({\n          value: newValue\n        });\n\n        if (this.props.setProps) {\n          this.props.setProps({\n            value: newValue\n          });\n        }\n      }\n    }\n  }, {\n    key: \"toggleInput\",\n    value: function toggleInput() {\n      if (this.props.disabled) return;\n      var isInput = !this.state.isInput;\n      this.setState({\n        isInput: isInput\n      });\n\n      if (isInput) {\n        this.setState({\n          tempValue: this.state.value\n        });\n      }\n    }\n  }, {\n    key: \"setTempValue\",\n    value: function setTempValue(tempValue) {\n      this.setState({\n        tempValue: tempValue\n      });\n    }\n  }, {\n    key: \"blur\",\n    value: function blur() {\n      if (this.state.tempValue != null) {\n        this.setValue(this.state.tempValue);\n      }\n\n      this.setState({\n        tempValue: null\n      });\n      this.toggleInput();\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props = this.props,\n          id = _this$props.id,\n          className = _this$props.className,\n          style = _this$props.style,\n          size = _this$props.size,\n          theme = _this$props.theme,\n          disabled = _this$props.disabled,\n          precision = _this$props.precision,\n          min = _this$props.min,\n          max = _this$props.max;\n      var buttonStyle = {\n        background: 'none',\n        boxShadow: 'none',\n        border: 'none',\n        color: theme.secondary,\n        cursor: 'pointer'\n      };\n      var MINIMUM_PADDING = 10;\n      var dynamicPadding = this.state.value ? 16 - 2 * this.state.value.toString().length : 16;\n      var padding = Math.max(dynamicPadding, MINIMUM_PADDING);\n      var inputStyle = {\n        borderRadius: 3,\n        border: theme.dark ? 'none' : \"1px solid \".concat(_styled_constants__WEBPACK_IMPORTED_MODULE_5__[\"colors\"].GREY),\n        outline: 'none',\n        paddingRight: padding,\n        paddingLeft: padding,\n        paddingTop: 4,\n        paddingBottom: 4,\n        width: size || 56 + precision * 20,\n        height: 36,\n        backgroundColor: theme.dark ? '#22272a' : '#fff',\n        color: theme.dark ? '#fff' : '#000',\n        fontSize: 14,\n        lineHeight: 14,\n        boxSizing: 'border-box'\n      };\n      var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_6__[\"getClassName\"])('precisioninput', theme.dark);\n      var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_6__[\"getFilteredProps\"])(this.props);\n      var precisionElement;\n\n      if (this.state.isInput) {\n        precisionElement = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_helpers_NumericInput__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n          autoFocus: true,\n          className: elementName + '__input',\n          disabled: disabled,\n          style: {\n            input: inputStyle,\n            'input:not(.form-control)': inputStyle,\n            btn: buttonStyle,\n            'btn:hover': buttonStyle,\n            'btn:active': buttonStyle,\n            'input:disabled': {\n              opacity: 0.65,\n              cursor: 'not-allowed'\n            }\n          },\n          min: min,\n          max: max,\n          value: this.state.tempValue,\n          onChange: this.setTempValue,\n          onBlur: this.blur\n        });\n      } else {\n        precisionElement = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PrecisionOutput, {\n          elementName: elementName + '__output',\n          value: this.state.value,\n          size: size,\n          onClick: this.toggleInput,\n          color: theme.dark ? '#fff' : _styled_constants__WEBPACK_IMPORTED_MODULE_5__[\"colors\"].OFF_WHITE\n        });\n      }\n\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        id: id,\n        className: elementName + (className ? ' ' + className : ''),\n        style: Object.assign({}, defaultRootStyles, style)\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _extends({\n        className: elementName + '__label'\n      }, filteredProps), precisionElement));\n    }\n  }]);\n\n  return PrecisionInput;\n}(react__WEBPACK_IMPORTED_MODULE_0__[\"Component\"]);\n\nvar toScientificNotation = function toScientificNotation(value) {\n  var scientificNum = Number(value).toExponential();\n  return scientificNum.replace('+', '');\n};\n\nvar mergeLeadingNegative = function mergeLeadingNegative(digits) {\n  if (digits[0] === '-') {\n    digits.shift();\n    var leading = digits.shift();\n    digits.unshift(\"-\".concat(leading));\n  }\n\n  return digits;\n};\n\nvar PrecisionOutput = function PrecisionOutput(_ref) {\n  var value = _ref.value,\n      onClick = _ref.onClick,\n      size = _ref.size,\n      elementName = _ref.elementName;\n\n  var _toScientificNotation = toScientificNotation(value).split('e'),\n      _toScientificNotation2 = _slicedToArray(_toScientificNotation, 2),\n      characteristic = _toScientificNotation2[0],\n      mantissa = _toScientificNotation2[1];\n\n  var characteristicDigits = mergeLeadingNegative(characteristic.split(''));\n  var mantissaDigits = mergeLeadingNegative(mantissa.split(''));\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_PrecisionInput_styled__WEBPACK_IMPORTED_MODULE_3__[\"Container\"], {\n    size: size,\n    onClick: onClick,\n    className: elementName\n  }, characteristicDigits.map(function (digit, i) {\n    return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_PrecisionInput_styled__WEBPACK_IMPORTED_MODULE_3__[\"Digit\"], {\n      className: elementName + '__digit',\n      key: \"d\".concat(i)\n    }, digit);\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_PrecisionInput_styled__WEBPACK_IMPORTED_MODULE_3__[\"ExponentialDigit\"], {\n    className: elementName + '__exp'\n  }, \"E\"), mantissaDigits.map(function (digit, i) {\n    return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_PrecisionInput_styled__WEBPACK_IMPORTED_MODULE_3__[\"ExponentialDigit\"], {\n      className: elementName + '__expdigit',\n      key: \"e\".concat(i)\n    }, digit);\n  }));\n};\n\nPrecisionInput.defaultProps = {\n  min: 0,\n  max: Number.MAX_SAFE_INTEGER,\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_5__[\"light\"],\n  labelPosition: 'top',\n  precision: 2,\n  persisted_props: ['value'],\n  persistence_type: 'local'\n};\nPrecisionInput.propTypes = {\n  /**\r\n   * The ID used to identify this compnent in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * The value of numeric input\r\n   */\n  value: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The size (length) of the numeric input in pixels\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The minimum value of the numeric input\r\n   */\n  min: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The maximum value of the numeric input\r\n   */\n  max: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Number of significant figures\r\n   */\n  precision: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number.isRequired,\n\n  /**\r\n   * If true, numeric input cannot be changed.\r\n   */\n  disabled: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the scientific notation. To control styling,\r\n   * pass an object with label and style properties.\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the numeric input label is positioned.\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Class to apply to the root component element.\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root component element.\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Dash-assigned callback that gets fired when selected\r\n   * value changes.\r\n   */\n  setProps: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n\n  /**\r\n   * Used to allow user interactions in this component to be persisted when\r\n   * the component - or the page - is refreshed. If `persisted` is truthy and\r\n   * hasn't changed from its previous value, a `value` that the user has\r\n   * changed while using the app will keep that change, as long as\r\n   * the new `value` also matches what was given originally.\r\n   * Used in conjunction with `persistence_type`.\r\n   */\n  persistence: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number]),\n\n  /**\r\n   * Properties whose user interactions will persist after refreshing the\r\n   * component or the page. Since only `value` is allowed this prop can\r\n   * normally be ignored.\r\n   */\n  persisted_props: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['value'])),\n\n  /**\r\n   * Where persisted user changes will be stored:\r\n   * memory: only kept in memory, reset on page refresh.\r\n   * local: window.localStorage, data is kept after the browser quit.\r\n   * session: window.sessionStorage, data is cleared once the browser quit.\r\n   */\n  persistence_type: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['local', 'session', 'memory'])\n};\nvar ThemedPrecisionInput = Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(PrecisionInput);\nThemedPrecisionInput.defaultProps = PrecisionInput.defaultProps;\n/* harmony default export */ __webpack_exports__[\"default\"] = (ThemedPrecisionInput);\n\n/***/ }),\n\n/***/ \"./src/components/Slider.react.js\":\n/*!****************************************!*\\\n  !*** ./src/components/Slider.react.js ***!\n  \\****************************************/\n/*! exports provided: default, defaultProps, propTypes */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Slider; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultProps\", function() { return defaultProps; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"propTypes\", function() { return propTypes; });\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _fragments_Slider_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../fragments/Slider.react */ \"./src/fragments/Slider.react.js\");\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n // const RealSlider = lazy(() => import(/* webpackChunkName: \"slider\" */ '../fragments/Slider.react'));\n\n/**\r\n * A slider component with support for\r\n * a target value.\r\n */\n\nvar Slider =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(Slider, _Component);\n\n  function Slider() {\n    _classCallCheck(this, Slider);\n\n    return _possibleConstructorReturn(this, _getPrototypeOf(Slider).apply(this, arguments));\n  }\n\n  _createClass(Slider, [{\n    key: \"render\",\n    value: function render() {\n      return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_1__[\"Suspense\"], {\n        fallback: null\n      }, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_fragments_Slider_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], this.props));\n    }\n  }]);\n\n  return Slider;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]);\n\n\nSlider.defaultProps = {\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_2__[\"light\"],\n  targets: {},\n  updatemode: 'mouseup',\n  color: _styled_constants__WEBPACK_IMPORTED_MODULE_2__[\"colors\"].DARKER_PRIMARY,\n  min: 0,\n  size: 265,\n  labelPosition: 'bottom',\n  persisted_props: ['value'],\n  persistence_type: 'local',\n  style: {\n    display: 'flex',\n    justifyContent: 'center'\n  }\n};\nSlider.propTypes = {\n  /**\r\n   * The ID used to identify this component in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n\n  /**\r\n   * Style to apply to the root component element.\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.object,\n\n  /**\r\n   * Marks on the slider.\r\n   * The key determines the position,\r\n   * and the value determines what will show.\r\n   * If you want to set the style of a specific mark point,\r\n   * the value should be an object which\r\n   * contains style and label properties.\r\n   */\n  marks: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.shape({\n    number: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOfType([\n    /**\r\n     * The label of the mark\r\n     */\n    prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n    /**\r\n     * The style and label of the mark\r\n     */\n    prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.shape({\n      style: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.object,\n      label: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string\n    })])\n  }),\n\n  /**\r\n   * Color configuration for the slider's track.\r\n   */\n  color: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOfType([\n  /**\r\n   * Color used for slider's track/indicator\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n  /**\r\n   * Color ranges configuration.\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.shape({\n    /**\r\n     * Fallback color to use when color.ranges\r\n     * has gaps.\r\n     */\n    \"default\": prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n\n    /**\r\n     * Display ranges as a gradient between given colors.\r\n     * Requires color.ranges to be contiguous along\r\n     * the entirety of the gauge's range of values.\r\n     */\n    gradient: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool,\n\n    /**\r\n     * Define multiple color ranges on the slider's track.\r\n     * The key determines the color of the range and\r\n     * the value is the start,end of the range itself.\r\n     */\n    ranges: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.shape({\n      color: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number)\n    })\n  })]),\n\n  /**\r\n   * The value of the input.\r\n   */\n  value: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number,\n\n  /**\r\n   * Additional CSS class for the root DOM node.\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n\n  /**\r\n   * Where the component label is positioned.\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * If true, the handles can't be moved.\r\n   */\n  disabled: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool,\n\n  /**\r\n   * When the step value is greater than 1,\r\n   * you can set the dots to true if you want to\r\n   * render the slider with dots.\r\n   *\r\n   * Note: dots are disabled automatically when\r\n   * using color.ranges\r\n   */\n  dots: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool,\n\n  /**\r\n   * If the value is true, it means a continuous\r\n   * value is included. Otherwise, it is an independent value.\r\n   */\n  included: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool,\n\n  /**\r\n   * Minimum allowed value of the slider.\r\n   */\n  min: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number,\n\n  /**\r\n   * Maximum allowed value of the slider.\r\n   */\n  max: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number,\n\n  /**\r\n   * Value by which increments or decrements are made.\r\n   */\n  step: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number,\n\n  /**\r\n   * If true, the slider will be vertical.\r\n   */\n  vertical: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool,\n\n  /**\r\n   * Size of the slider in pixels.\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number,\n\n  /**\r\n   * Targets on the slider.\r\n   * The key determines the position,\r\n   * and the value determines what will show.\r\n   * If you want to set the style of a specific target point,\r\n   * the value should be an object which\r\n   * contains style and label properties.\r\n   */\n  targets: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.shape({\n    number: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOfType([\n    /**\r\n     * The label of the mark\r\n     */\n    prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n    /**\r\n     * The style and label of the mark\r\n     */\n    prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.shape({\n      showCurrentValue: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool,\n      label: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n      color: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n      style: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.object\n    })])\n  }),\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.object,\n\n  /**\r\n   * Configuration of the slider handle's label.\r\n   * Passing falsy value will disable the label.\r\n   */\n  handleLabel: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOfType([\n  /**\r\n   * The label of the handle\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n  /**\r\n   * The style and label of the handle\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.shape({\n    showCurrentValue: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n    color: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n    style: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.object\n  })]),\n\n  /**\r\n   * Determines when the component should update\r\n   * its value. If `mouseup`, then the slider\r\n   * will only trigger its value when the user has\r\n   * finished dragging the slider. If `drag`, then\r\n   * the slider will update its value continuously\r\n   * as it is being dragged.\r\n   * Only use `drag` if your updates are fast.\r\n   */\n  updatemode: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOf(['mouseup', 'drag']),\n\n  /**\r\n   * Dash-assigned callback that gets fired when the value changes.\r\n   */\n  setProps: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.func,\n\n  /**\r\n   * Used to allow user interactions in this component to be persisted when\r\n   * the component - or the page - is refreshed. If `persisted` is truthy and\r\n   * hasn't changed from its previous value, a `value` that the user has\r\n   * changed while using the app will keep that change, as long as\r\n   * the new `value` also matches what was given originally.\r\n   * Used in conjunction with `persistence_type`.\r\n   */\n  persistence: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool, prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number]),\n\n  /**\r\n   * Properties whose user interactions will persist after refreshing the\r\n   * component or the page. Since only `value` is allowed this prop can\r\n   * normally be ignored.\r\n   */\n  persisted_props: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOf(['value'])),\n\n  /**\r\n   * Where persisted user changes will be stored:\r\n   * memory: only kept in memory, reset on page refresh.\r\n   * local: window.localStorage, data is kept after the browser quit.\r\n   * session: window.sessionStorage, data is cleared once the browser quit.\r\n   */\n  persistence_type: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOf(['local', 'session', 'memory']),\n\n  /**\r\n   * make slider same size of its parent\r\n   */\n  fullSize: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool\n};\nvar defaultProps = Slider.defaultProps;\nvar propTypes = Slider.propTypes;\n\n/***/ }),\n\n/***/ \"./src/components/StopButton.react.js\":\n/*!********************************************!*\\\n  !*** ./src/components/StopButton.react.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _styled_StopButton_styled__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../styled/StopButton.styled */ \"./src/styled/StopButton.styled.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\n\n\n\n\n\n\n/**\r\n * A Stop button component\r\n */\n\nvar StopButton = function StopButton(props) {\n  var id = props.id,\n      className = props.className,\n      style = props.style,\n      size = props.size,\n      disabled = props.disabled,\n      children = props.children,\n      n_clicks = props.n_clicks,\n      buttonText = props.buttonText,\n      theme = props.theme;\n  var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_5__[\"getClassName\"])('stopbutton', theme);\n  var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_5__[\"getFilteredProps\"])(props);\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n    id: id,\n    className: elementName + (className ? ' ' + className : ''),\n    style: style\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_4__[\"default\"], filteredProps, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_StopButton_styled__WEBPACK_IMPORTED_MODULE_3__[\"Button\"], {\n    className: elementName + '__button',\n    size: size,\n    disabled: disabled,\n    onClick: function onClick() {\n      if (props.setProps) props.setProps({\n        n_clicks: n_clicks + 1\n      });\n    }\n  }, children || buttonText)));\n};\n\nStopButton.defaultProps = {\n  buttonText: 'Stop',\n  n_clicks: 0,\n  size: 92,\n  labelPosition: 'top'\n};\nStopButton.propTypes = {\n  /**\r\n   * The ID used to identify this compnent in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * The size (width) of the stop button in pixels\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Text displayed in the button\r\n   */\n  buttonText: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Number of times the button was clicked\r\n   */\n  n_clicks: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * If true, button cannot be pressesd.\r\n   */\n  disabled: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * The children of the button.\r\n   */\n  children: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.node,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the button.\r\n   * To control styling, pass an object with label and\r\n   * style properties.\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the  label is positioned.\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Class to apply to the root component element.\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root component element.\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Dash-assigned callback that gets fired when the\r\n   * button is clicked.\r\n   */\n  setProps: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(StopButton));\n\n/***/ }),\n\n/***/ \"./src/components/Tank.react.js\":\n/*!**************************************!*\\\n  !*** ./src/components/Tank.react.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _styled_Tank_styled__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../styled/Tank.styled */ \"./src/styled/Tank.styled.js\");\n/* harmony import */ var _styled_CurrentValue_styled__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styled/CurrentValue.styled */ \"./src/styled/CurrentValue.styled.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _helpers_logarithm__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helpers/logarithm */ \"./src/helpers/logarithm.js\");\n/* harmony import */ var _helpers_util__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../helpers/util */ \"./src/helpers/util.js\");\n/* harmony import */ var _helpers_scale__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../helpers/scale */ \"./src/helpers/scale.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\n\n\n\n\n\n/**\r\n * A Tank component that fills to\r\n * a value between some range.\r\n */\n\nvar Tank = function Tank(props) {\n  var min = props.min,\n      max = props.max,\n      showCurrentValue = props.showCurrentValue,\n      units = props.units,\n      className = props.className,\n      id = props.id,\n      style = props.style,\n      color = props.color,\n      logarithmic = props.logarithmic,\n      base = props.base,\n      height = props.height,\n      width = props.width,\n      theme = props.theme;\n  var warningPara = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useRef\"])(null);\n  var dirtyValue = logarithmic ? _helpers_logarithm__WEBPACK_IMPORTED_MODULE_6__[\"default\"].compute(props.value, base) : props.value;\n  var currentDisplayValue = dirtyValue;\n  var value = Object(_helpers_util__WEBPACK_IMPORTED_MODULE_7__[\"sanitizeRangeValue\"])({\n    min: min,\n    max: max,\n    value: dirtyValue\n  });\n  var colorValue = props.textColor || color;\n  var percentageFill = Object(_helpers_util__WEBPACK_IMPORTED_MODULE_7__[\"computeProgress\"])({\n    min: min,\n    max: max,\n    value: value\n  });\n  var formatter = logarithmic ? _helpers_logarithm__WEBPACK_IMPORTED_MODULE_6__[\"default\"].generateLogFormatter({\n    base: base\n  }) : null;\n  var scale = Object(_helpers_scale__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(_objectSpread({}, props, {\n    formatter: formatter\n  }));\n  var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_9__[\"getClassName\"])('tank', theme);\n  var currentValueStyle = props.currentValueStyle || (theme.dark ? {\n    'color': 'white'\n  } : {\n    'color': 'black'\n  });\n\n  var renderTicks = function renderTicks() {\n    return Object.entries(scale).map(function (_ref) {\n      var _ref2 = _slicedToArray(_ref, 2),\n          k = _ref2[0],\n          v = _ref2[1];\n\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Tank_styled__WEBPACK_IMPORTED_MODULE_3__[\"Tick\"], {\n        className: elementName + '__tick',\n        key: k,\n        color: colorValue,\n        xPosition: Object(_helpers_util__WEBPACK_IMPORTED_MODULE_7__[\"computeProgress\"])({\n          min: min,\n          max: max,\n          value: k\n        })\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        className: \"tick\"\n      }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        className: \"label\"\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        style: v && v.style ? v.style : null\n      }, v && v.label || v)));\n    });\n  };\n\n  var scaleContainer = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Tank_styled__WEBPACK_IMPORTED_MODULE_3__[\"TickContainer\"], {\n    xPositioned: scale\n  }, renderTicks());\n  var currentValue = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_CurrentValue_styled__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n    units: units,\n    valueColor: colorValue,\n    customStyle: currentValueStyle\n  }, logarithmic ? _helpers_logarithm__WEBPACK_IMPORTED_MODULE_6__[\"default\"].formatValue(currentDisplayValue, base) : currentDisplayValue);\n  var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_9__[\"getFilteredProps\"])(props);\n  Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"])(function () {\n    var currValue = logarithmic ? Math.pow(base || 10, currentDisplayValue) : currentDisplayValue;\n    var maximum = logarithmic ? Math.pow(base || 10, max) : max;\n    var minimum = logarithmic ? Math.pow(base || 10, min) : min;\n\n    if (currValue > maximum) {\n      var str = '';\n      warningPara.current.innerHTML = props.exceedMessage ? typeof props.exceedMessage == 'string' ? props.exceedMessage : props.exceedMessage(currValue, maximum) || str : str;\n    } else if (currValue < minimum) {\n      var _str = '';\n      warningPara.current.innerHTML = props.lagingMessage ? typeof props.lagingMessage == 'string' ? props.lagingMessage : props.lagingMessage(currValue, minimum) || _str : _str;\n    } else {\n      warningPara.current.innerHTML = '';\n    }\n  }, [currentDisplayValue]);\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n    className: elementName + (className ? ' ' + className : ''),\n    id: id,\n    style: style\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Tank_styled__WEBPACK_IMPORTED_MODULE_3__[\"ExceededWarning\"], {\n    ref: warningPara\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _extends({\n    className: elementName + '__label'\n  }, filteredProps), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Tank_styled__WEBPACK_IMPORTED_MODULE_3__[\"Container\"], null, scaleContainer, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Tank_styled__WEBPACK_IMPORTED_MODULE_3__[\"TankContainer\"], {\n    className: elementName + '__container',\n    height: height,\n    width: width\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Tank_styled__WEBPACK_IMPORTED_MODULE_3__[\"TankFill\"], {\n    className: elementName + '__fill',\n    color: color,\n    height: \"\".concat(percentageFill, \"%\")\n  }), showCurrentValue && currentValue))));\n};\n\nTank.defaultProps = {\n  min: 0,\n  max: 10,\n  height: 192,\n  width: 112,\n  base: 10,\n  labelPosition: 'top',\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_10__[\"light\"]\n};\nTank.propTypes = {\n  /**\r\n   * The ID used to identify this component in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * The value of tank. If logarithmic, the displayed value\r\n   * will be the logarithm of the inputted value.\r\n   */\n  value: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The height of the tank in pixels\r\n   */\n  height: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The width of the tank in pixels\r\n   */\n  width: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The color of tank fill\r\n   */\n  color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * text style of current value\r\n   */\n  currentValueStyle: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * The minimum value of the tank. If logarithmic,\r\n   * represents minimum exponent.\r\n   */\n  min: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The maximum value of the tank. If logarithmic,\r\n   * represents the maximum exponent.\r\n   */\n  max: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Base to be used in logarithmic scale.\r\n   */\n  base: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * If set to true, a logarithmic scale will be\r\n   * used.\r\n   */\n  logarithmic: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * If true, the current value of the tank\r\n   * will be displayed\r\n   */\n  showCurrentValue: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * Label for the current value\r\n   */\n  units: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Description to be displayed alongside the control. To control styling,\r\n   * pass an object with label and style properties.\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the component label is positioned.\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Configuration for the component scale.\r\n   */\n  scale: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    /**\r\n     * Value to start the scale from. Defaults\r\n     * to min.\r\n     */\n    start: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n    /**\r\n     * Interval by which the scale goes up. Attempts\r\n     * to dynamically divide min-max range by\r\n     * default.\r\n     */\n    interval: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n    /**\r\n     * Interval by which labels are added to\r\n     * scale marks. Defaults to 2 (every other\r\n     * mark has a label).\r\n     */\n    labelInterval: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n    /**\r\n     * Custom scale marks. The key determines the position\r\n     * and the value determines what will show. If you want\r\n     * to set the style of a specific mark point, the value\r\n     * should be an object which contains style and label\r\n     * properties\r\n     */\n    custom: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n    /**\r\n     * Label for the mark\r\n     */\n    prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n    /**\r\n     * Style object with label\r\n     */\n    prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n      style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n      label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n    })])\n  }),\n\n  /**\r\n   * Class to apply to the root component element.\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root component element.\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Warning message when value exceed max\r\n   */\n  exceedMessage: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string]),\n\n  /**\r\n   * Warning message when value is laging from min\r\n   */\n  lagingMessage: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string]),\n\n  /**\r\n   * text color\r\n   */\n  textColor: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(Tank));\n\n/***/ }),\n\n/***/ \"./src/components/Thermometer.react.js\":\n/*!*********************************************!*\\\n  !*** ./src/components/Thermometer.react.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _styled_Thermometer_styled__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../styled/Thermometer.styled */ \"./src/styled/Thermometer.styled.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _styled_Tank_styled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styled/Tank.styled */ \"./src/styled/Tank.styled.js\");\n/* harmony import */ var _styled_CurrentValue_styled__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styled/CurrentValue.styled */ \"./src/styled/CurrentValue.styled.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _helpers_logarithm__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../helpers/logarithm */ \"./src/helpers/logarithm.js\");\n/* harmony import */ var _helpers_util__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../helpers/util */ \"./src/helpers/util.js\");\n/* harmony import */ var _helpers_scale__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../helpers/scale */ \"./src/helpers/scale.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\r\n * A thermometer component that\r\n * fills to a value between some\r\n * range\r\n */\n\nvar Thermometer = function Thermometer(props) {\n  var min = props.min,\n      max = props.max,\n      id = props.id,\n      className = props.className,\n      style = props.style,\n      logarithmic = props.logarithmic,\n      base = props.base,\n      showCurrentValue = props.showCurrentValue,\n      units = props.units,\n      theme = props.theme,\n      color = props.color,\n      height = props.height,\n      width = props.width;\n  var dirtyValue = logarithmic ? _helpers_logarithm__WEBPACK_IMPORTED_MODULE_8__[\"default\"].compute(props.value, base) : props.value;\n  var value = Object(_helpers_util__WEBPACK_IMPORTED_MODULE_9__[\"sanitizeRangeValue\"])({\n    min: min,\n    max: max,\n    value: dirtyValue\n  });\n  var formatter = logarithmic ? _helpers_logarithm__WEBPACK_IMPORTED_MODULE_8__[\"default\"].generateLogFormatter({\n    base: base\n  }) : null;\n  var scale = Object(_helpers_scale__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(_objectSpread({}, props, {\n    formatter: formatter\n  }));\n  var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_11__[\"getClassName\"])('thermometer', theme);\n\n  var renderTicks = function renderTicks() {\n    return Object.entries(scale).map(function (_ref) {\n      var _ref2 = _slicedToArray(_ref, 2),\n          k = _ref2[0],\n          v = _ref2[1];\n\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Tank_styled__WEBPACK_IMPORTED_MODULE_5__[\"Tick\"], {\n        className: elementName + '__tick',\n        key: k,\n        xPosition: Object(_helpers_util__WEBPACK_IMPORTED_MODULE_9__[\"computeProgress\"])({\n          min: min,\n          max: max,\n          value: k\n        })\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        className: \"tick\"\n      }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        className: \"label\",\n        style: v && v.style ? v.style : null\n      }, v && v.label || v));\n    });\n  };\n\n  var scaleContainer = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Tank_styled__WEBPACK_IMPORTED_MODULE_5__[\"TickContainer\"], {\n    xPositioned: scale\n  }, renderTicks());\n  var currentValue = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Thermometer_styled__WEBPACK_IMPORTED_MODULE_3__[\"CurrentValueContainer\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_CurrentValue_styled__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n    className: elementName + '__currentvalue',\n    valueColor: color,\n    units: units,\n    css: 'top: 0;'\n  }, logarithmic ? _helpers_logarithm__WEBPACK_IMPORTED_MODULE_8__[\"default\"].formatValue(value, base) : value.toFixed(1)));\n  var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_11__[\"getFilteredProps\"])(props);\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n    id: id,\n    className: elementName + (className ? ' ' + className : ''),\n    style: style\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _extends({\n    className: elementName + '__label'\n  }, filteredProps, {\n    labelCSS: props.labelPosition === 'top' ? null : 'transform: translateY(-30px);'\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Thermometer_styled__WEBPACK_IMPORTED_MODULE_3__[\"ThermometerContainer\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Tank_styled__WEBPACK_IMPORTED_MODULE_5__[\"Container\"], {\n    thermometer: true,\n    xPositioned: scale\n  }, scaleContainer, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Tank_styled__WEBPACK_IMPORTED_MODULE_5__[\"TankContainer\"], {\n    thermometer: true,\n    className: elementName + '__container',\n    height: height,\n    width: width\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Tank_styled__WEBPACK_IMPORTED_MODULE_5__[\"TankFill\"], {\n    thermometer: true,\n    className: elementName + '__fill',\n    color: color,\n    height: \"\".concat(Object(_helpers_util__WEBPACK_IMPORTED_MODULE_9__[\"computeProgress\"])({\n      min: min,\n      max: max,\n      value: value\n    }), \"%\")\n  }), theme.dark ? null : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Thermometer_styled__WEBPACK_IMPORTED_MODULE_3__[\"Bulb\"], {\n    on: value !== min,\n    color: color\n  }))), showCurrentValue && currentValue)));\n};\n\nThermometer.defaultProps = {\n  min: 0,\n  max: 10,\n  height: 192,\n  width: 20,\n  base: 10,\n  labelPosition: 'top',\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_7__[\"light\"]\n};\nThermometer.propTypes = {\n  /**\r\n   * The ID used to identify this compnent in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * The value of thermometer. If logarthmic, the value\r\n   * displayed will be the logarithm of the inputted value.\r\n   */\n  value: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The height of the thermometer in pixels\r\n   */\n  height: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The width of the thermometer in pixels\r\n   */\n  width: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The color of the thermometer fill/current value text\r\n   */\n  color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * The minimum value of the thermometer. If logarithmic,\r\n   * represents the minimum exponent.\r\n   */\n  min: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The maximum value of the thermometer. If logarithmic,\r\n   * represents the maximum exponent.\r\n   */\n  max: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Base to be used in logarithmic scale.\r\n   */\n  base: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * If set to true, a logarithmic scale will be\r\n   * used.\r\n   */\n  logarithmic: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * If true, the current value of the\r\n   * thermometer will be displayed\r\n   */\n  showCurrentValue: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * Label for the current value\r\n   */\n  units: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the control. To control styling, pass an object with label and style properties.\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the component label is positioned.\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Configuration for the component scale.\r\n   */\n  scale: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    /**\r\n     * Value to start the scale from. Defaults\r\n     * to min.\r\n     */\n    start: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n    /**\r\n     * Interval by which the scale goes up. Attempts\r\n     * to dynamically divide min-max range by\r\n     * default.\r\n     */\n    interval: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n    /**\r\n     * Interval by which labels are added to\r\n     * scale marks. Defaults to 2 (every other\r\n     * mark has a label).\r\n     */\n    labelInterval: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n    /**\r\n     * Custom scale marks. The key determines the position\r\n     * and the value determines what will show. If you want\r\n     * to set the style of a specific mark point, the value\r\n     * should be an object which contains style and label\r\n     * properties\r\n     */\n    custom: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n    /**\r\n     * Label for the mark\r\n     */\n    prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n    /**\r\n     * Style object with label\r\n     */\n    prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n      style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n      label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n    })])\n  }),\n\n  /**\r\n   * Class to apply to the root component element.\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root component element.\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(Thermometer));\n\n/***/ }),\n\n/***/ \"./src/components/ToggleSwitch.react.js\":\n/*!**********************************************!*\\\n  !*** ./src/components/ToggleSwitch.react.js ***!\n  \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _styled_shared_Indicator_styled__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../styled/shared/Indicator.styled */ \"./src/styled/shared/Indicator.styled.js\");\n/* harmony import */ var _styled_ToggleSwitch_styled__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styled/ToggleSwitch.styled */ \"./src/styled/ToggleSwitch.styled.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n\n\n\n\n\n\n\nfunction getLabelProps(label) {\n  if (_typeof(label) === 'object') {\n    return {\n      children: label.label,\n      style: label.style\n    };\n  }\n\n  return {\n    children: label,\n    style: {}\n  };\n}\n/**\r\n * A switch component that toggles between\r\n * two values.\r\n */\n\n\nvar ToggleSwitch =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(ToggleSwitch, _Component);\n\n  function ToggleSwitch(props) {\n    var _this;\n\n    _classCallCheck(this, ToggleSwitch);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(ToggleSwitch).call(this, props));\n    _this.state = {\n      value: props.value\n    };\n    _this.click = _this.click.bind(_assertThisInitialized(_this));\n    return _this;\n  }\n\n  _createClass(ToggleSwitch, [{\n    key: \"UNSAFE_componentWillReceiveProps\",\n    value: function UNSAFE_componentWillReceiveProps(newProps) {\n      if (newProps.value !== this.state.value) this.setState({\n        value: newProps.value\n      });\n    }\n  }, {\n    key: \"click\",\n    value: function click() {\n      if (!this.props.disabled) {\n        var newValue = !this.state.value;\n        this.setState({\n          value: newValue\n        });\n        if (this.props.setProps) this.props.setProps({\n          value: newValue\n        });\n      }\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props = this.props,\n          id = _this$props.id,\n          className = _this$props.className,\n          style = _this$props.style,\n          label = _this$props.label,\n          labelPosition = _this$props.labelPosition,\n          booleanSwitch = _this$props.booleanSwitch,\n          theme = _this$props.theme,\n          color = _this$props.color,\n          vertical = _this$props.vertical,\n          disabled = _this$props.disabled;\n      var size = this.props.size || 45;\n      var SwitchContainer = _styled_ToggleSwitch_styled__WEBPACK_IMPORTED_MODULE_4__[\"ButtonContainer\"];\n      var Switch = _styled_ToggleSwitch_styled__WEBPACK_IMPORTED_MODULE_4__[\"Button\"];\n\n      if (theme.dark && !booleanSwitch) {\n        SwitchContainer = _styled_ToggleSwitch_styled__WEBPACK_IMPORTED_MODULE_4__[\"DarkSwitchContainer\"];\n        Switch = _styled_ToggleSwitch_styled__WEBPACK_IMPORTED_MODULE_4__[\"DarkSwitch\"];\n      }\n\n      var indicatorSize = size / 10 * 1.25;\n      var doubleLabel = Array.isArray(label);\n      var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_7__[\"getClassName\"])(booleanSwitch ? 'booleanswitch' : 'toggleswitch', theme.dark);\n      var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_7__[\"getFilteredProps\"])(this.props);\n      var switchCore = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_ToggleSwitch_styled__WEBPACK_IMPORTED_MODULE_4__[\"Wrapper\"], {\n        className: elementName,\n        rotate: vertical ? -90 : 0,\n        size: size\n      }, !booleanSwitch && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_Indicator_styled__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n        className: elementName + '__indicator' + (this.state.value ? '--off' : '--on'),\n        on: this.state.value,\n        size: indicatorSize,\n        primary: color\n      }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(SwitchContainer, {\n        className: elementName + '__background',\n        onClick: this.click,\n        size: size,\n        color: color,\n        on: this.state.value,\n        booleanSwitch: booleanSwitch\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Switch, {\n        className: elementName + '__button',\n        disabled: disabled,\n        on: this.state.value,\n        size: size,\n        booleanSwitch: booleanSwitch\n      })), !booleanSwitch && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_Indicator_styled__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n        className: elementName + '__indicator' + (this.state.value ? '--on' : '--off'),\n        main: true,\n        on: this.state.value,\n        size: indicatorSize,\n        primary: color\n      }));\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        id: id,\n        className: className,\n        style: style\n      }, doubleLabel ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_ToggleSwitch_styled__WEBPACK_IMPORTED_MODULE_4__[\"RowContainer\"], filteredProps, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_ToggleSwitch_styled__WEBPACK_IMPORTED_MODULE_4__[\"RowLabel\"], _extends({\n        className: elementName + '__label',\n        position: vertical ? 'bottom' : 'left'\n      }, getLabelProps(label[0]))), switchCore, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_ToggleSwitch_styled__WEBPACK_IMPORTED_MODULE_4__[\"RowLabel\"], _extends({\n        className: elementName + '__label',\n        position: vertical ? 'top' : 'right'\n      }, getLabelProps(label[1])))) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n        className: elementName + '__label',\n        label: label,\n        labelPosition: labelPosition\n      }, switchCore));\n    }\n  }]);\n\n  return ToggleSwitch;\n}(react__WEBPACK_IMPORTED_MODULE_0__[\"Component\"]);\n\nToggleSwitch.defaultProps = {\n  value: false,\n  vertical: false,\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_6__[\"light\"],\n  labelPosition: 'top',\n  persisted_props: ['value'],\n  persistence_type: 'local'\n};\nToggleSwitch.propTypes = {\n  /**\r\n   * The ID used to identify this compnent in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * The state of the switch\r\n   */\n  value: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * The size of the switch\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Color to highlight button/indicator\r\n   */\n  color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * If true, switch will be vertical instead\r\n   * of horizontal\r\n   */\n  vertical: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * If true, switch cannot be clicked\r\n   */\n  disabled: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the control. To control styling, pass an object with label and style properties.\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  }),\n  /**\r\n   * Multiple labels for both toggle states. The label at index 0 will be left\r\n   * (or bottom if the switch is vertical), and the label at index 0 will be\r\n   * on the right (or top if vertical)\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]))]),\n\n  /**\r\n   * Where the component label is positioned.\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Class to apply to the root component element.\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root object.\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Dash-assigned callback that gets fired when\r\n   * switch is toggled.\r\n   */\n  setProps: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n\n  /**\r\n   * Used to allow user interactions in this component to be persisted when\r\n   * the component - or the page - is refreshed. If `persisted` is truthy and\r\n   * hasn't changed from its previous value, a `value` that the user has\r\n   * changed while using the app will keep that change, as long as\r\n   * the new `value` also matches what was given originally.\r\n   * Used in conjunction with `persistence_type`.\r\n   */\n  persistence: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number]),\n\n  /**\r\n   * Properties whose user interactions will persist after refreshing the\r\n   * component or the page. Since only `value` is allowed this prop can\r\n   * normally be ignored.\r\n   */\n  persisted_props: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['value'])),\n\n  /**\r\n   * Where persisted user changes will be stored:\r\n   * memory: only kept in memory, reset on page refresh.\r\n   * local: window.localStorage, data is kept after the browser quit.\r\n   * session: window.sessionStorage, data is cleared once the browser quit.\r\n   */\n  persistence_type: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['local', 'session', 'memory'])\n};\nvar ThemedToggleSwitch = Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(ToggleSwitch);\nThemedToggleSwitch.defaultProps = ToggleSwitch.defaultProps;\n/* harmony default export */ __webpack_exports__[\"default\"] = (ThemedToggleSwitch);\n\n/***/ }),\n\n/***/ \"./src/fragments/Slider.react.js\":\n/*!***************************************!*\\\n  !*** ./src/fragments/Slider.react.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var rc_slider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rc-slider */ \"./node_modules/rc-slider/es/index.js\");\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ramda */ \"./node_modules/ramda/es/index.js\");\n/* harmony import */ var deep_equal__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! deep-equal */ \"./node_modules/deep-equal/index.js\");\n/* harmony import */ var deep_equal__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(deep_equal__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _helpers_colorRanges__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../helpers/colorRanges */ \"./src/helpers/colorRanges.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var rc_slider_assets_index_css__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! rc-slider/assets/index.css */ \"./node_modules/rc-slider/assets/index.css\");\n/* harmony import */ var rc_slider_assets_index_css__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(rc_slider_assets_index_css__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _styled_Slider_styled__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styled/Slider.styled */ \"./src/styled/Slider.styled.js\");\n/* harmony import */ var _components_Slider_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../components/Slider.react */ \"./src/components/Slider.react.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar renderHandle = function renderHandle(props) {\n  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n      isTarget = _ref.isTarget,\n      showLabel = _ref.showLabel;\n\n  var label = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Slider_styled__WEBPACK_IMPORTED_MODULE_8__[\"Label\"], _extends({\n    isTarget: isTarget\n  }, props), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n    className: \"label\"\n  }, props.label), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n    className: \"value\"\n  }, props.value));\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Slider_styled__WEBPACK_IMPORTED_MODULE_8__[\"HandleContainer\"], _extends({\n    isTarget: isTarget\n  }, props), showLabel && label, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Slider_styled__WEBPACK_IMPORTED_MODULE_8__[\"Handle\"], _extends({\n    isTarget: isTarget,\n    showLabel: showLabel\n  }, props)));\n};\n\nvar getTrackStyle = function getTrackStyle(props) {\n  if (!props.color.ranges || !Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_5__[\"isContiguous\"])(props)) {\n    var colorValue = Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_5__[\"getColorValue\"])(props.color);\n    return {\n      trackStyle: {\n        backgroundColor: colorValue\n      },\n      activeDotStyle: props.theme.dark ? {\n        background: colorValue,\n        boxShadow: \"0 0 6px 1px \".concat(colorValue)\n      } : {\n        borderColor: colorValue\n      }\n    };\n  }\n\n  return {\n    railStyle: {\n      backgroundImage: \"\".concat(Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_5__[\"getLinearGradientCSS\"])(props), \", linear-gradient(0deg, #000, #000)\"),\n      backgroundBlendMode: props.theme.dark ? 'none' : 'overlay'\n    },\n    trackStyle: {\n      mixBlendMode: 'overlay',\n      background: props.theme.dark ? '#fff' : '#000'\n    },\n    dotStyle: {\n      display: 'none'\n    }\n  };\n};\n/**\r\n * A slider component with support for\r\n * a target value.\r\n */\n\n\nvar Slider =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(Slider, _Component);\n\n  function Slider(props) {\n    var _this;\n\n    _classCallCheck(this, Slider);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(Slider).call(this, props));\n    _this.state = {\n      value: props.value != null ? props.value : props.min,\n      trackStyle: getTrackStyle(props)\n    };\n    _this.onChange = _this.onChange.bind(_assertThisInitialized(_this));\n    _this.onAfterChange = _this.onAfterChange.bind(_assertThisInitialized(_this));\n    _this.renderSliderHandle = _this.renderSliderHandle.bind(_assertThisInitialized(_this));\n    _this.renderTargets = _this.renderTargets.bind(_assertThisInitialized(_this));\n    _this.calcLabelOffset = _this.calcLabelOffset.bind(_assertThisInitialized(_this));\n    return _this;\n  }\n\n  _createClass(Slider, [{\n    key: \"UNSAFE_componentWillReceiveProps\",\n    value: function UNSAFE_componentWillReceiveProps(newProps) {\n      var updates = {};\n      var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_10__[\"getFilteredProps\"])(this.props);\n\n      if (typeof newProps.value !== 'undefined' && newProps.value !== this.state.value) {\n        updates.value = newProps.value;\n      }\n\n      if (!deep_equal__WEBPACK_IMPORTED_MODULE_4___default()(newProps.color, this.props.color)) {\n        updates.trackStyle = getTrackStyle(_objectSpread({}, filteredProps, {}, newProps));\n      }\n\n      this.setState(updates);\n    }\n  }, {\n    key: \"onChange\",\n    value: function onChange(value) {\n      var _this$props = this.props,\n          updatemode = _this$props.updatemode,\n          setProps = _this$props.setProps;\n\n      if (!this.props.value || updatemode !== 'drag') {\n        this.setState({\n          value: value\n        });\n      }\n\n      if (updatemode === 'drag') {\n        if (setProps) setProps({\n          value: value\n        });\n      }\n    }\n  }, {\n    key: \"onAfterChange\",\n    value: function onAfterChange(value) {\n      var _this$props2 = this.props,\n          updatemode = _this$props2.updatemode,\n          setProps = _this$props2.setProps;\n\n      if (updatemode === 'mouseup') {\n        if (setProps) setProps({\n          value: value\n        });\n      }\n    }\n  }, {\n    key: \"renderSliderHandle\",\n    value: function renderSliderHandle(props) {\n      var handleLabel = this.props.handleLabel;\n      var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_10__[\"getFilteredProps\"])(this.props);\n\n      var handleProps = _objectSpread({}, filteredProps, {}, props);\n\n      if (!handleLabel) {\n        return renderHandle(handleProps);\n      }\n\n      var value = handleLabel.showCurrentValue && this.state.value;\n      handleProps = _objectSpread({}, handleProps, {\n        value: value,\n        label: handleLabel.label || (handleLabel instanceof Object ? '  ' : handleLabel),\n        color: handleLabel.color || Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_5__[\"getColorValue\"])(this.props.color),\n        style: handleLabel.style\n      });\n      return renderHandle(handleProps, {\n        showLabel: true\n      });\n    }\n  }, {\n    key: \"renderTargets\",\n    value: function renderTargets() {\n      var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_10__[\"getFilteredProps\"])(this.props);\n      return Object.entries(this.props.targets).reduce(function (acc, _ref2) {\n        var _ref3 = _slicedToArray(_ref2, 2),\n            k = _ref3[0],\n            v = _ref3[1];\n\n        var props = _objectSpread({}, filteredProps, {\n          label: v.label || v,\n          value: v.showCurrentValue && k,\n          color: v.color,\n          style: v.style\n        });\n\n        var Handle = renderHandle(props, {\n          isTarget: true,\n          showLabel: !!v\n        }); // use rc-slider's props.marks format\n\n        acc[k] = {\n          style: _styled_Slider_styled__WEBPACK_IMPORTED_MODULE_8__[\"targetStyles\"],\n          label: Handle\n        };\n        return acc;\n      }, {});\n    }\n  }, {\n    key: \"calcLabelOffset\",\n    value: function calcLabelOffset(_ref4) {\n      var vertical = _ref4.vertical,\n          labelPosition = _ref4.labelPosition,\n          marks = _ref4.marks,\n          targets = _ref4.targets,\n          handleLabel = _ref4.handleLabel;\n      if (vertical) return null;\n\n      if (labelPosition === 'bottom') {\n        return \"transform: translateY(\".concat(marks ? 20 : 0, \"px);\");\n      }\n\n      var showingCurrentValue = false;\n      Object.values(targets).map(function (target) {\n        if (target.showCurrentValue) showingCurrentValue = true;\n      });\n\n      if (handleLabel && handleLabel.showCurrentValue) {\n        showingCurrentValue = true;\n      }\n\n      return \"transform: translateY(\".concat(showingCurrentValue ? -38 : -16, \"px);\");\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var value = this.state.value;\n      var _this$props3 = this.props,\n          className = _this$props3.className,\n          id = _this$props3.id,\n          theme = _this$props3.theme,\n          label = _this$props3.label,\n          size = _this$props3.size,\n          vertical = _this$props3.vertical,\n          style = _this$props3.style,\n          marks = _this$props3.marks;\n      var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_10__[\"getClassName\"])('slider', theme.dark);\n      var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_10__[\"getFilteredProps\"])(this.props);\n      var cssStyle = this.props.vertical ? _objectSpread({}, style, {\n        marginLeft: '45px'\n      }) : _objectSpread({}, style, {\n        marginTop: '45px'\n      });\n      cssStyle = this.props.fullSize ? this.props.vertical ? _objectSpread({}, cssStyle, {\n        height: '100%'\n      }) : _objectSpread({}, cssStyle, {\n        width: '100%'\n      }) : cssStyle;\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        id: id,\n        style: cssStyle,\n        className: elementName + (className ? ' ' + className : '')\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_6__[\"default\"], _extends({\n        className: elementName + '__label',\n        labelCSS: label ? this.calcLabelOffset(this.props) : null\n      }, filteredProps), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Slider_styled__WEBPACK_IMPORTED_MODULE_8__[\"SliderContainer\"], {\n        fullSize: this.props.fullSize,\n        size: size,\n        vertical: vertical\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(rc_slider__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _extends({\n        className: elementName + '__slider',\n        onChange: this.onChange,\n        onAfterChange: this.onAfterChange,\n        value: value,\n        handle: this.renderSliderHandle,\n        marks: _objectSpread({}, marks, {}, this.renderTargets())\n      }, this.state.trackStyle, Object(ramda__WEBPACK_IMPORTED_MODULE_3__[\"omit\"])(['setProps', 'updatemode', 'value', 'marks'], filteredProps))))));\n    }\n  }]);\n\n  return Slider;\n}(react__WEBPACK_IMPORTED_MODULE_0__[\"Component\"]);\n\nSlider.defaultProps = _components_Slider_react__WEBPACK_IMPORTED_MODULE_9__[\"defaultProps\"];\nSlider.propTypes = _components_Slider_react__WEBPACK_IMPORTED_MODULE_9__[\"propTypes\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(Slider));\n\n/***/ }),\n\n/***/ \"./src/helpers/GaugeSvg.react.js\":\n/*!***************************************!*\\\n  !*** ./src/helpers/GaugeSvg.react.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _styled_shared_DarkGradient__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../styled/shared/DarkGradient */ \"./src/styled/shared/DarkGradient.js\");\n/* harmony import */ var _helpers_util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/util */ \"./src/helpers/util.js\");\n/* harmony import */ var _shared_TrackSvg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./shared/TrackSvg */ \"./src/helpers/shared/TrackSvg.js\");\n\n\n\n\n\n\nvar lightNeedleKnob = function lightNeedleKnob(_ref) {\n  var CX = _ref.CX,\n      CY = _ref.CY;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    className: \"needle-knob\",\n    cx: CX,\n    cy: CY,\n    r: \"14\",\n    fill: \"#fff\"\n  });\n};\n\nvar darkNeedleKnob = function darkNeedleKnob(_ref2) {\n  var CX = _ref2.CX,\n      CY = _ref2.CY;\n  var id = Object(_helpers_util__WEBPACK_IMPORTED_MODULE_3__[\"getRandomInt\"])();\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"defs\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    id: \"needle-knob-edge-\".concat(id),\n    strokeWidth: \"2px\",\n    fill: \"none\",\n    cx: CX,\n    cy: CY,\n    r: \"14\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    id: \"needle-knob-\".concat(id),\n    className: \"needle-knob\",\n    cx: CX,\n    cy: CY,\n    r: \"14\"\n  })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    fill: \"#141414\",\n    xlinkHref: \"#needle-knob-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    fill: \"url(#l)\",\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    xlinkHref: \"#needle-knob-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    fill: \"url(#m)\",\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    xlinkHref: \"#needle-knob-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    fill: \"#141414\",\n    filter: \"url(#n)\",\n    xlinkHref: \"#needle-knob-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"#000000\",\n    xlinkHref: \"#needle-knob-edge-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"url(#p)\",\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    xlinkHref: \"#needle-knob-edge-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"url(#q)\",\n    strokeOpacity: \".4\",\n    xlinkHref: \"#needle-knob-edge-\".concat(id)\n  }));\n};\n\nvar darkTrack = function darkTrack(props, dimensions) {\n  var progress = props.progress;\n  var CX = dimensions.CX,\n      CY = dimensions.CY,\n      GAUGE_RAD = dimensions.GAUGE_RAD,\n      CIRCLE_CIR = dimensions.CIRCLE_CIR,\n      GAP_ARC_LENGTH = dimensions.GAP_ARC_LENGTH,\n      TRACK_ARC_LENGTH = dimensions.TRACK_ARC_LENGTH;\n  var id = Object(_helpers_util__WEBPACK_IMPORTED_MODULE_3__[\"getRandomInt\"])();\n  var colorValue = props.color && (typeof props.color === 'string' ? props.color : props.color[\"default\"]);\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"defs\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    id: \"gauge-track-\".concat(id),\n    className: \"track\",\n    cx: CX,\n    cy: CY,\n    r: GAUGE_RAD,\n    fill: \"none\",\n    strokeDasharray: CIRCLE_CIR,\n    strokeDashoffset: GAP_ARC_LENGTH,\n    strokeWidth: \"6\",\n    transform: \"rotate(-225 \".concat(CX, \" \").concat(CY, \")\")\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    id: \"gauge-track-progress-\".concat(id),\n    className: \"track progress\",\n    cx: CX,\n    cy: CY,\n    r: GAUGE_RAD,\n    fill: \"none\",\n    strokeDasharray: CIRCLE_CIR,\n    strokeDashoffset: GAP_ARC_LENGTH + (1 - progress) * TRACK_ARC_LENGTH,\n    strokeWidth: \"6\",\n    transform: \"rotate(-225 \".concat(CX, \" \").concat(CY, \")\")\n  })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"black\",\n    filter: \"url(#a)\",\n    xlinkHref: \"#gauge-track-\".concat(id)\n  }), props.color && props.color.ranges && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"#15181A\",\n    xlinkHref: \"#gauge-track-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"url(#c)\",\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    xlinkHref: \"#gauge-track-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"black\",\n    filter: \"url(#d)\",\n    xlinkHref: \"#gauge-track-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"black\",\n    filter: \"url(#e)\",\n    xlinkHref: \"#gauge-track-progress-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: colorValue || '#ABE2FB',\n    xlinkHref: \"#gauge-track-progress-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"url(#g)\",\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    xlinkHref: \"#gauge-track-progress-\".concat(id)\n  }), props.color && props.color.ranges && Object(_shared_TrackSvg__WEBPACK_IMPORTED_MODULE_4__[\"colorRangesTrack\"])(props, dimensions));\n};\n\nvar needle = function needle(needleRotation, _ref3) {\n  var CX = _ref3.CX,\n      CY = _ref3.CY,\n      SCALE_RAD = _ref3.SCALE_RAD;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"line\", {\n    className: \"needle\",\n    x1: CX,\n    y1: CY,\n    x2: CX + SCALE_RAD,\n    y2: CY,\n    transform: \"rotate(\".concat(needleRotation || 0, \" \").concat(CX, \" \").concat(CY, \")\"),\n    strokeLinecap: \"round\"\n  });\n};\n\nvar defs = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"defs\", null, _styled_shared_DarkGradient__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\nvar GaugeSvg = function GaugeSvg(props) {\n  var progress = props.progress,\n      min = props.min,\n      max = props.max,\n      step = props.step,\n      scale = props.scale;\n  var dimensions = calcDimensions(props);\n  var scaleItems = Object(_shared_TrackSvg__WEBPACK_IMPORTED_MODULE_4__[\"drawScale\"])({\n    min: min,\n    max: max,\n    step: step,\n    scale: scale\n  }, dimensions);\n  var knob = props.theme.dark ? darkNeedleKnob(dimensions) : lightNeedleKnob(dimensions);\n  var track = props.theme.dark ? darkTrack(props, dimensions) : Object(_shared_TrackSvg__WEBPACK_IMPORTED_MODULE_4__[\"lightTrack\"])(props, dimensions);\n  var needleRotation = 270 * progress - 225;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n    width: dimensions.SVG_WIDTH,\n    height: dimensions.SVG_WIDTH,\n    viewBox: \"0 0 \".concat(dimensions.SVG_WIDTH, \" \").concat(dimensions.SVG_WIDTH)\n  }, props.theme.dark && defs, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    className: \"scale\"\n  }, scaleItems), needle(needleRotation, dimensions), knob, track);\n};\n\nGaugeSvg.defaultProps = {\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"],\n  size: 208\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (GaugeSvg); // private helpers\n\nfunction calcDimensions(_ref4) {\n  var size = _ref4.size;\n  var OFFSET = 8;\n  var d = {};\n  d.SVG_WIDTH = size + 32;\n  d.CY = ~~(d.SVG_WIDTH / 2);\n  d.CX = ~~(d.SVG_WIDTH / 2);\n  d.GAUGE_RAD = size / 2;\n  d.SCALE_RAD = d.GAUGE_RAD - OFFSET;\n  d.CIRCLE_CIR = 2 * Math.PI * d.GAUGE_RAD;\n  d.GAP_ARC_LENGTH = 90 / 360 * (2 * Math.PI * d.GAUGE_RAD);\n  d.TRACK_ARC_LENGTH = d.CIRCLE_CIR - d.GAP_ARC_LENGTH;\n  d.SCALE_TICK_OUTER_RAD = d.SCALE_RAD;\n  d.SCALE_TICK_INNER_RAD = d.SCALE_TICK_OUTER_RAD - 6;\n  d.SCALE_TEXT_RAD = d.SCALE_TICK_INNER_RAD - 8;\n  d.IS_GAUGE = true;\n  return d;\n}\n\n/***/ }),\n\n/***/ \"./src/helpers/KnobSvg.react.js\":\n/*!**************************************!*\\\n  !*** ./src/helpers/KnobSvg.react.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _styled_shared_DarkGradient__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../styled/shared/DarkGradient */ \"./src/styled/shared/DarkGradient.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./util */ \"./src/helpers/util.js\");\n/* harmony import */ var _shared_TrackSvg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./shared/TrackSvg */ \"./src/helpers/shared/TrackSvg.js\");\n/* harmony import */ var _colorRanges__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./colorRanges */ \"./src/helpers/colorRanges.js\");\n\n\n\n\n\n\nvar START_ANGLE_OFFSET = -225;\n\nvar lightKnob = function lightKnob(newAngle, _ref) {\n  var CX = _ref.CX,\n      CY = _ref.CY,\n      KNOB_RAD = _ref.KNOB_RAD;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    transform: \"translate(\".concat(CX, \" \").concat(CY, \") rotate(\").concat(newAngle, \")\")\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    className: \"base\",\n    cx: \"0\",\n    cy: \"0\",\n    r: KNOB_RAD,\n    fill: \"#fff\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    className: \"indent\",\n    cx: KNOB_RAD * (2 / 3),\n    cy: \"0\",\n    r: KNOB_RAD / 6,\n    fill: \"#fff\"\n  }));\n};\n\nvar darkKnob = function darkKnob(color, newAngle, _ref2) {\n  var CX = _ref2.CX,\n      CY = _ref2.CY,\n      KNOB_RAD = _ref2.KNOB_RAD;\n  var id = Object(_util__WEBPACK_IMPORTED_MODULE_3__[\"getRandomInt\"])();\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    transform: \"translate(\".concat(CX, \" \").concat(CY, \")\")\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"defs\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n    id: \"base-edge-\".concat(id),\n    strokeWidth: \"2px\",\n    fill: \"none\",\n    d: \"M-\".concat(KNOB_RAD, \",0a\").concat(KNOB_RAD, \",\").concat(KNOB_RAD, \" 0 1,0 \").concat(KNOB_RAD * 2, \",0a\").concat(KNOB_RAD, \",\").concat(KNOB_RAD, \" 0 1,0 -\").concat(KNOB_RAD * 2, \",0\")\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    id: \"base-\".concat(id),\n    className: \"base\",\n    cx: \"0\",\n    cy: \"0\",\n    r: KNOB_RAD\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n    id: \"indent-\".concat(id),\n    width: \"8\",\n    height: \"2\",\n    x: KNOB_RAD - 16,\n    y: \"0\",\n    rx: \"1\"\n  })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    fill: \"#141414\",\n    xlinkHref: \"#base-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    fill: \"url(#l)\",\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    xlinkHref: \"#base-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    fill: \"url(#m)\",\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    xlinkHref: \"#base-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    fill: \"#141414\",\n    filter: \"url(#n)\",\n    xlinkHref: \"#base-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"#000000\",\n    xlinkHref: \"#base-edge-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"url(#p)\",\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    xlinkHref: \"#base-edge-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"url(#q)\",\n    strokeOpacity: \".4\",\n    xlinkHref: \"#base-edge-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    transform: \"rotate(\".concat(newAngle, \")\")\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    fill: \"black\",\n    filter: \"url(#r)\",\n    xlinkHref: \"#indent-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    fill: Object(_colorRanges__WEBPACK_IMPORTED_MODULE_5__[\"getColorValue\"])(color) || '#ABE2FB',\n    xlinkHref: \"#indent-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    fill: \"black\",\n    filter: \"url(#t)\",\n    xlinkHref: \"#indent-\".concat(id)\n  })));\n};\n\nvar darkTrack = function darkTrack(props, dimensions) {\n  var progress = props.progress;\n  var CX = dimensions.CX,\n      CY = dimensions.CY,\n      GAUGE_RAD = dimensions.GAUGE_RAD,\n      CIRCLE_CIR = dimensions.CIRCLE_CIR,\n      GAP_ARC_LENGTH = dimensions.GAP_ARC_LENGTH,\n      TRACK_ARC_LENGTH = dimensions.TRACK_ARC_LENGTH;\n  var id = Object(_util__WEBPACK_IMPORTED_MODULE_3__[\"getRandomInt\"])();\n  var hasColorRanges = props.color && props.color.ranges;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"defs\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    id: \"knob-track-\".concat(id),\n    className: \"track\",\n    cx: CX,\n    cy: CY,\n    r: GAUGE_RAD,\n    fill: \"none\",\n    strokeDasharray: CIRCLE_CIR,\n    strokeDashoffset: GAP_ARC_LENGTH,\n    strokeWidth: \"6\",\n    transform: \"rotate(-225 \".concat(CX, \" \").concat(CY, \")\")\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    id: \"knob-track-progress-\".concat(id),\n    className: \"track progress\",\n    cx: CX,\n    cy: CY,\n    r: GAUGE_RAD,\n    fill: \"none\",\n    strokeDasharray: CIRCLE_CIR,\n    strokeDashoffset: GAP_ARC_LENGTH + (1 - progress) * TRACK_ARC_LENGTH,\n    strokeWidth: \"6\",\n    transform: \"rotate(-225 \".concat(CX, \" \").concat(CY, \")\")\n  })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"#15181A\",\n    filter: \"url(#a)\",\n    xlinkHref: \"#knob-track-\".concat(id)\n  }), hasColorRanges && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"#15181A\",\n    xlinkHref: \"#knob-track-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"url(#c)\",\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    xlinkHref: \"#knob-track-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"#15181A\",\n    filter: \"url(#d)\",\n    xlinkHref: \"#knob-track-\".concat(id)\n  }), !hasColorRanges && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"black\",\n    filter: \"url(#e)\",\n    xlinkHref: \"#knob-track-progress-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"url(#g)\",\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    xlinkHref: \"#knob-track-progress-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: Object(_colorRanges__WEBPACK_IMPORTED_MODULE_5__[\"getColorValue\"])(props.color) || '#ABE2FB',\n    xlinkHref: \"#knob-track-progress-\".concat(id)\n  }), props.color && props.color.ranges && Object(_shared_TrackSvg__WEBPACK_IMPORTED_MODULE_4__[\"colorRangesTrack\"])(props, dimensions));\n};\n\nvar KnobSvg = function KnobSvg(props) {\n  var theme = props.theme,\n      currentDeg = props.currentDeg,\n      disabled = props.disabled,\n      color = props.color;\n  var newAngle = currentDeg + START_ANGLE_OFFSET;\n  var dimensions = calcDimensions(props);\n  var knob = theme.dark ? darkKnob(color, newAngle, dimensions) : lightKnob(newAngle, dimensions);\n  var track = theme.dark ? darkTrack(props, dimensions) : Object(_shared_TrackSvg__WEBPACK_IMPORTED_MODULE_4__[\"lightTrack\"])(props, dimensions);\n  var scaleElements = Object(_shared_TrackSvg__WEBPACK_IMPORTED_MODULE_4__[\"drawScale\"])(props, dimensions);\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n    width: dimensions.SVG_WIDTH,\n    height: dimensions.SVG_WIDTH,\n    viewBox: \"0 0 \".concat(dimensions.SVG_WIDTH, \" \").concat(dimensions.SVG_WIDTH)\n  }, theme.dark && _styled_shared_DarkGradient__WEBPACK_IMPORTED_MODULE_2__[\"default\"], react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    className: \"scale\"\n  }, scaleElements), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    ref: props.refFunc,\n    onMouseDown: props.onMouseDown,\n    onMouseUp: props.onMouseUp,\n    onMouseMove: props.onMouseMove,\n    onTouchStart: props.onMouseDown,\n    onTouchEnd: props.onMouseUp,\n    onTouchMove: props.onMouseMove,\n    className: \"knob \".concat(disabled ? 'disabled' : '')\n  }, knob), track);\n};\n\nKnobSvg.defaultProps = {\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"],\n  size: 144\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (KnobSvg); // private helpers\n\nfunction calcDimensions(_ref3) {\n  var size = _ref3.size;\n  var OFFSET = 36;\n  var d = {};\n  d.SVG_WIDTH = size + 80;\n  d.CY = ~~(d.SVG_WIDTH / 2);\n  d.CX = ~~(d.SVG_WIDTH / 2);\n  d.GAUGE_RAD = size / 2;\n  d.SCALE_RAD = d.GAUGE_RAD + OFFSET;\n  d.KNOB_RAD = d.GAUGE_RAD - 12;\n  d.CIRCLE_CIR = 2 * Math.PI * d.GAUGE_RAD;\n  d.GAP_ARC_LENGTH = 90 / 360 * (2 * Math.PI * d.GAUGE_RAD);\n  d.TRACK_ARC_LENGTH = d.CIRCLE_CIR - d.GAP_ARC_LENGTH;\n  d.SCALE_TICK_OUTER_RAD = d.SCALE_RAD - 27;\n  d.SCALE_TICK_INNER_RAD = d.SCALE_TICK_OUTER_RAD - 0.5;\n  d.SCALE_TEXT_RAD = d.SCALE_RAD - 20;\n  return d;\n}\n\n/***/ }),\n\n/***/ \"./src/helpers/LEDDisplaySvg.react.js\":\n/*!********************************************!*\\\n  !*** ./src/helpers/LEDDisplaySvg.react.js ***!\n  \\********************************************/\n/*! exports provided: Digit, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Digit\", function() { return Digit; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var color__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! color */ \"./node_modules/color/index.js\");\n/* harmony import */ var color__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(color__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _styled_LEDDisplay_styled__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../styled/LEDDisplay.styled */ \"./src/styled/LEDDisplay.styled.js\");\n/* harmony import */ var _styled_shared_DarkGradient__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../styled/shared/DarkGradient */ \"./src/styled/shared/DarkGradient.js\");\n\n\n\n\nvar DIGITS = {\n  0: ['A', 'B', 'C', 'D', 'E', 'F'],\n  1: ['B', 'C'],\n  2: ['A', 'B', 'G', 'E', 'D'],\n  3: ['A', 'B', 'G', 'C', 'D'],\n  4: ['F', 'G', 'B', 'C'],\n  5: ['A', 'F', 'G', 'C', 'D'],\n  6: ['A', 'F', 'G', 'C', 'D', 'E'],\n  7: ['A', 'B', 'C'],\n  8: ['A', 'B', 'C', 'D', 'E', 'F', 'G'],\n  9: ['A', 'B', 'C', 'D', 'F', 'G'],\n  '-': ['G']\n}; // See the following link for segment mappings:\n// https://en.wikipedia.org/wiki/Seven-segment_display#/media/File:7_segment_display_labeled.svg\n\nvar LIGHT_SEGMENTS = {\n  A: {\n    base: 'M3.778 3.778L6.555 1h16.667L26 3.778l-2.778 2.778H6.555L3.778 3.778z',\n    stroke: 'M3.778 3.778L6.555 1h16.667L26 3.778l-2.778 2.778H6.555L3.778 3.778z'\n  },\n  B: {\n    base: 'M26 3.778l2.778 2.777v16.667L26 26l-2.778-2.778V6.555L26 3.778z',\n    stroke: 'M26 3.778l2.778 2.777v16.667L26 26l-2.778-2.778V6.555L26 3.778z'\n  },\n  C: {\n    base: 'M26 26l2.778 2.778v16.666L26 48.222l-2.778-2.778V28.778L26 26z',\n    stroke: 'M26 26l2.778 2.778v16.666L26 48.222l-2.778-2.778V28.778L26 26z'\n  },\n  D: {\n    base: 'M26 48.222L23.222 51H6.555l-2.777-2.778 2.777-2.778h16.667L26 48.222z',\n    stroke: 'M26 48.222L23.222 51H6.555l-2.777-2.778 2.777-2.778h16.667L26 48.222z'\n  },\n  E: {\n    base: 'M3.778 48.222L1 45.444V28.778L3.778 26l2.778 2.778v16.666l-2.778 2.778z',\n    stroke: 'M3.778 48.222L1 45.444V28.778L3.778 26l2.778 2.778v16.666l-2.778 2.778z'\n  },\n  F: {\n    base: 'M3.778 26L1 23.222V6.555l2.778-2.777 2.778 2.777v16.667L3.778 26z',\n    stroke: 'M3.778 26L1 23.222V6.555l2.778-2.777 2.778 2.777v16.667L3.778 26z'\n  },\n  G: {\n    base: 'M3.778 26l2.777-2.778h16.667L26 26l-2.778 2.778H6.555L3.778 26z',\n    stroke: 'M3.778 26l2.777-2.778h16.667L26 26l-2.778 2.778H6.555L3.778 26z'\n  }\n};\n\nvar LightSegment = function LightSegment(_ref) {\n  var _ref$paths = _ref.paths,\n      base = _ref$paths.base,\n      stroke = _ref$paths.stroke,\n      fillColor = _ref.fillColor,\n      strokeColor = _ref.strokeColor;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n    fill: fillColor,\n    fillRule: \"evenodd\",\n    d: base,\n    clipRule: \"evenodd\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n    stroke: strokeColor,\n    strokeWidth: \".75\",\n    d: stroke\n  }));\n};\n\nvar LightDecimal = function LightDecimal(_ref2) {\n  var fillColor = _ref2.fillColor,\n      strokeColor = _ref2.strokeColor;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    transform: \"translate(29 46)\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    cx: \"3\",\n    cy: \"3\",\n    r: \"3\",\n    fill: fillColor\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    cx: \"3\",\n    cy: \"3\",\n    r: \"3\",\n    stroke: strokeColor,\n    strokeWidth: \".75\"\n  }));\n};\n\nvar LightColon = function LightColon(_ref3) {\n  var fillColor = _ref3.fillColor,\n      strokeColor = _ref3.strokeColor;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    transform: \"translate(32 36)\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    cx: \"3\",\n    cy: \"3\",\n    r: \"3\",\n    fill: fillColor\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    cx: \"3\",\n    cy: \"3\",\n    r: \"3\",\n    stroke: strokeColor,\n    strokeWidth: \".75\"\n  })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    transform: \"translate(32 9)\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    cx: \"3\",\n    cy: \"3\",\n    r: \"3\",\n    fill: fillColor\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    cx: \"3\",\n    cy: \"3\",\n    r: \"3\",\n    stroke: strokeColor,\n    strokeWidth: \".75\"\n  })));\n};\n\nvar LightDigit = function LightDigit(_ref4) {\n  var value = _ref4.value,\n      hasColon = _ref4.hasColon,\n      hasDecimal = _ref4.hasDecimal,\n      color = _ref4.color,\n      backgroundColor = _ref4.backgroundColor,\n      size = _ref4.size,\n      className = _ref4.className;\n  var inactiveSegmentFill = color__WEBPACK_IMPORTED_MODULE_1___default()(backgroundColor).darken(0.2).fade(0.85);\n  var activeSegments = DIGITS[value].map(function (letter) {\n    return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(LightSegment, {\n      key: letter,\n      fillColor: color,\n      strokeColor: backgroundColor,\n      paths: LIGHT_SEGMENTS[letter]\n    });\n  });\n  var inactiveSegments = ['A', 'B', 'C', 'D', 'E', 'F', 'G'].map(function (letter) {\n    return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(LightSegment, {\n      key: letter,\n      fillColor: inactiveSegmentFill,\n      strokeColor: backgroundColor,\n      paths: LIGHT_SEGMENTS[letter]\n    });\n  });\n  var width = hasColon ? size : size * (6 / 7);\n  var height = size * (9 / 7);\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n    className: className\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n    xmlns: \"http://www.w3.org/2000/svg\",\n    width: width,\n    height: height\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    fill: \"none\",\n    style: {\n      transform: \"scale(\".concat(Number(size) / 42, \")\")\n    }\n  }, inactiveSegments, activeSegments, hasColon && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(LightColon, {\n    fillColor: color,\n    strokeColor: backgroundColor\n  }), hasDecimal && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(LightDecimal, {\n    fillColor: color,\n    strokeColor: backgroundColor\n  }))));\n};\n\nvar DarkDigit = function DarkDigit(_ref5) {\n  var value = _ref5.value,\n      hasColon = _ref5.hasColon,\n      hasDecimal = _ref5.hasDecimal,\n      color = _ref5.color,\n      size = _ref5.size,\n      className = _ref5.className;\n  var segments = DIGITS[value].map(function (letter) {\n    return _styled_shared_DarkGradient__WEBPACK_IMPORTED_MODULE_3__[\"DARK_SEGMENTS\"][letter];\n  });\n  var width = hasColon ? size : size * (6 / 7);\n  var height = size * (9 / 7);\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_LEDDisplay_styled__WEBPACK_IMPORTED_MODULE_2__[\"DarkDigitContainer\"], {\n    className: className,\n    color: color\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n    xmlns: \"http://www.w3.org/2000/svg\",\n    xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n    width: width,\n    height: height\n  }, _styled_shared_DarkGradient__WEBPACK_IMPORTED_MODULE_3__[\"darkLEDDefs\"], react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    fill: \"none\",\n    fillRule: \"evenodd\",\n    filter: \"url(#darkLED-a)\",\n    style: {\n      transform: \"scale(\".concat(Number(size) / 42, \")\")\n    }\n  }, segments, hasColon && _styled_shared_DarkGradient__WEBPACK_IMPORTED_MODULE_3__[\"darkColon\"], hasDecimal && _styled_shared_DarkGradient__WEBPACK_IMPORTED_MODULE_3__[\"darkDecimal\"])));\n};\n\nvar Digit = function Digit(props) {\n  return props.theme.dark ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(DarkDigit, props) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(LightDigit, props);\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Digit);\n\n/***/ }),\n\n/***/ \"./src/helpers/NumericInput.js\":\n/*!*************************************!*\\\n  !*** ./src/helpers/NumericInput.js ***!\n  \\*************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_numeric_input__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-numeric-input */ \"./node_modules/react-numeric-input/index.js\");\n/* harmony import */ var react_numeric_input__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_numeric_input__WEBPACK_IMPORTED_MODULE_0__);\n\nreact_numeric_input__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.UNSAFE_componentWillMount = react_numeric_input__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.componentWillMount;\nreact_numeric_input__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.UNSAFE_componentWillReceiveProps = react_numeric_input__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.componentWillReceiveProps;\nreact_numeric_input__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.UNSAFE_componentWillUpdate = react_numeric_input__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.componentWillUpdate;\ndelete react_numeric_input__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.componentWillMount;\ndelete react_numeric_input__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.componentWillReceiveProps;\ndelete react_numeric_input__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.componentWillUpdate;\n/* harmony default export */ __webpack_exports__[\"default\"] = (react_numeric_input__WEBPACK_IMPORTED_MODULE_0___default.a);\n\n/***/ }),\n\n/***/ \"./src/helpers/PowerButtonSvg.react.js\":\n/*!*********************************************!*\\\n  !*** ./src/helpers/PowerButtonSvg.react.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n\n\n\nvar PowerButtonSvg = function PowerButtonSvg(_ref) {\n  var color = _ref.color,\n      theme = _ref.theme,\n      on = _ref.on,\n      size = _ref.size;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n    xmlns: \"http://www.w3.org/2000/svg\",\n    width: size,\n    height: size,\n    viewBox: \"0 0 14 14\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n    fill: on ? color || theme.primary : theme.secondary,\n    fillRule: \"evenodd\",\n    d: \"M24.5173333,14.68 C25.2764482,15.3271143 25.8799978,16.1111065 26.328,17.032 C26.7760022,17.9777825 27,18.9671059 27,20 C27,21.2693397 26.6826698,22.4453279 26.048,23.528 C25.4257747,24.5857831 24.5857831,25.4257747 23.528,26.048 C22.4453279,26.6826698 21.2693397,27 20,27 C18.7306603,27 17.5546721,26.6826698 16.472,26.048 C15.4142169,25.4257747 14.5742253,24.5857831 13.952,23.528 C13.3173302,22.4453279 13,21.2693397 13,20 C13,18.9671059 13.2302199,17.9777825 13.6906667,17.032 C14.1262244,16.1111065 14.7235518,15.3271143 15.4826667,14.68 L16.5653333,15.7626667 C15.9555525,16.2728914 15.4764462,16.8888853 15.128,17.6106667 C14.7546648,18.3697816 14.568,19.1662181 14.568,20 C14.568,20.9955605 14.8106642,21.9102181 15.296,22.744 C15.7813358,23.5653374 16.4346626,24.2186642 17.256,24.704 C18.0897819,25.1893358 19.0044395,25.432 20,25.432 C20.9955605,25.432 21.9102181,25.1893358 22.744,24.704 C23.5653374,24.2186642 24.2186642,23.5653374 24.704,22.744 C25.1893358,21.9102181 25.432,20.9955605 25.432,20 C25.432,19.1537735 25.2546684,18.3666703 24.9,17.6386667 C24.5453316,16.910663 24.056892,16.2977803 23.4346667,15.8 L24.5173333,14.68 Z M20.7653333,13 L20.7653333,20.7653333 L19.2346667,20.7653333 L19.2346667,13 L20.7653333,13 Z\",\n    transform: \"translate(-13 -13)\"\n  }));\n};\n\nPowerButtonSvg.defaultProps = {\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (PowerButtonSvg);\n\n/***/ }),\n\n/***/ \"./src/helpers/classNameGenerator.js\":\n/*!*******************************************!*\\\n  !*** ./src/helpers/classNameGenerator.js ***!\n  \\*******************************************/\n/*! exports provided: getClassName, getFilteredProps */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getClassName\", function() { return getClassName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getFilteredProps\", function() { return getFilteredProps; });\n/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ \"./node_modules/ramda/es/index.js\");\n\nvar getClassName = function getClassName(componentName, theme) {\n  return 'daq-' + componentName + (theme && theme.dark ? '--dark' : '--light');\n};\nvar getFilteredProps = function getFilteredProps(props) {\n  return Object(ramda__WEBPACK_IMPORTED_MODULE_0__[\"omit\"])(['className', 'id', 'setProps', 'style'], props);\n};\n\n/***/ }),\n\n/***/ \"./src/helpers/colorRanges.js\":\n/*!************************************!*\\\n  !*** ./src/helpers/colorRanges.js ***!\n  \\************************************/\n/*! exports provided: isContiguous, toOneDArray, convertInRange, getSortedEntries, getGradientObject, getLinearGradientCSS, getColorValue, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isContiguous\", function() { return isContiguous; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toOneDArray\", function() { return toOneDArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"convertInRange\", function() { return convertInRange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getSortedEntries\", function() { return getSortedEntries; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getGradientObject\", function() { return getGradientObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getLinearGradientCSS\", function() { return getLinearGradientCSS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getColorValue\", function() { return getColorValue; });\n/* harmony import */ var tinygradient__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tinygradient */ \"./node_modules/tinygradient/tinygradient.js\");\n/* harmony import */ var tinygradient__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(tinygradient__WEBPACK_IMPORTED_MODULE_0__);\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\nvar isContiguous = function isContiguous(_ref) {\n  var color = _ref.color,\n      min = _ref.min,\n      max = _ref.max;\n  var ranges = toOneDArray(Object.values(color.ranges));\n  ranges.sort(function (r1, r2) {\n    return r1[0] - r2[0];\n  }); // color ranges start at min and end at max\n\n  if (ranges[0][0] !== min || ranges[ranges.length - 1][1] !== max) return false; // color ranges are contiguous\n\n  for (var i = 0; i < ranges.length - 1; i++) {\n    if (ranges[i][1] !== ranges[i + 1][0]) return false;\n  }\n\n  return true;\n};\nvar toOneDArray = function toOneDArray(ranges) {\n  var arr = [];\n\n  for (var i = 0; i < ranges.length; i++) {\n    if (ranges[i][0] instanceof Array) {\n      for (var j = 0; j < ranges[i].length; j++) {\n        arr.push(ranges[i][j]);\n      }\n    } else {\n      arr.push(ranges[i]);\n    }\n  }\n\n  return arr;\n};\nvar convertInRange = function convertInRange(color, max, min) {\n  /*\r\n   * The function will check color and range attribute.\r\n   * if range attribute is provided, it will check for unequal range values.\r\n   * args: color, max and min props from the gauge component\r\n   * example 1:\r\n   * input: color -> {\"red\":[1, 10], \"green\":[10, 50]}, max -> 40, min -> 0\r\n   * output: {\"red\":[0, 10], \"green\":[10, 40]}\r\n   * if color is underfined\r\n   */\n  if (!color) {\n    return color;\n  } // if ranges is not passed with color\n\n\n  if (color.ranges == null) {\n    return color;\n  } else {\n    var ranges = _objectSpread({}, color.ranges); // get a flat array of ranges\n\n\n    var rangeArr = getRangeArray(ranges);\n    rangeArr.sort(function (a1, a2) {\n      return a1 - a2;\n    });\n    var maxArr = [];\n    var minArr = [];\n    manageRange({\n      ranges: ranges,\n      max: max,\n      min: min,\n      rangeArr: rangeArr,\n      minArr: minArr,\n      maxArr: maxArr\n    });\n\n    for (var i = 0; i < minArr.length; i++) {\n      if (minArr[i]['subKey']) {\n        ranges[minArr[i]['subKey']][minArr[i]['key']][minArr[i]['index']] = min;\n      } else {\n        ranges[minArr[i]['key']][minArr[i]['index']] = min;\n      }\n    }\n\n    for (var _i = 0; _i < maxArr.length; _i++) {\n      if (maxArr[_i]['subKey']) {\n        ranges[maxArr[_i]['subKey']][maxArr[_i]['key']][maxArr[_i]['index']] = max;\n      } else {\n        ranges[maxArr[_i]['key']][maxArr[_i]['index']] = max;\n      }\n    }\n\n    color.ranges = ranges;\n    return _objectSpread({}, color);\n  }\n};\n\nvar manageRange = function manageRange(_ref2) {\n  var ranges = _ref2.ranges,\n      _ref2$subKey = _ref2.subKey,\n      subKey = _ref2$subKey === void 0 ? undefined : _ref2$subKey,\n      max = _ref2.max,\n      min = _ref2.min,\n      rangeArr = _ref2.rangeArr,\n      _ref2$minArr = _ref2.minArr,\n      minArr = _ref2$minArr === void 0 ? [] : _ref2$minArr,\n      _ref2$maxArr = _ref2.maxArr,\n      maxArr = _ref2$maxArr === void 0 ? [] : _ref2$maxArr;\n\n  for (var i in ranges) {\n    if (ranges[i][0] instanceof Array) {\n      manageRange({\n        ranges: ranges[i],\n        subKey: i,\n        max: max,\n        min: min,\n        rangeArr: rangeArr,\n        minArr: minArr,\n        maxArr: maxArr\n      });\n      continue;\n    }\n\n    if (ranges[i][0] > max) {\n      maxArr.push({\n        key: i,\n        subKey: subKey,\n        index: 0\n      });\n    }\n\n    if (ranges[i][1] > max) {\n      maxArr.push({\n        key: i,\n        subKey: subKey,\n        index: 1\n      });\n    }\n\n    if (ranges[i][0] < min) {\n      minArr.push({\n        key: i,\n        subKey: subKey,\n        index: 0\n      });\n    }\n\n    if (ranges[i][1] < min) {\n      minArr.push({\n        key: i,\n        subKey: subKey,\n        index: 1\n      });\n    }\n\n    if (rangeArr[0] == ranges[i][0] && ranges[i][0] > min) {\n      ranges[i][0] = min;\n    }\n\n    if (rangeArr[0] == ranges[i][1] && ranges[i][1] > min) {\n      ranges[i][1] = min;\n    }\n\n    if (rangeArr[rangeArr.length - 1] == ranges[i][0] && ranges[i][0] < max) {\n      ranges[i][0] = max;\n    }\n\n    if (rangeArr[rangeArr.length - 1] == ranges[i][1] && ranges[i][1] < max) {\n      ranges[i][1] = max;\n    }\n  }\n};\n\nvar getRangeArray = function getRangeArray(ranges) {\n  /*\r\n   * convert range passed in colors to flat array\r\n   * example -> ranges = {\"red\":[0, 1], \"green\":[1, 10]}\r\n   * output ->  arr = [0, 1, 1, 10]\r\n   */\n  var arr = [];\n\n  for (var i in ranges) {\n    if (ranges[i][0] instanceof Array) {\n      for (var j in ranges[i]) {\n        arr = [].concat(_toConsumableArray(arr), _toConsumableArray(ranges[i][j]));\n      }\n    } else {\n      arr = [].concat(_toConsumableArray(arr), _toConsumableArray(ranges[i]));\n    }\n  }\n\n  return arr;\n};\n\nvar getSortedEntries = function getSortedEntries(scale) {\n  var arr = Object.entries(scale);\n  var arr1 = [];\n\n  for (var i = 0; i < arr.length; i++) {\n    var key = arr[i][0];\n\n    if (arr[i][1][0] instanceof Array) {\n      for (var j = 0; j < arr[i][1].length; j++) {\n        arr1.push([key, arr[i][1][j]]);\n      }\n    } else {\n      arr1.push([key, arr[i][1]]);\n    }\n  }\n\n  var entries = arr1;\n  entries.sort(function (_ref3, _ref4) {\n    var _ref5 = _slicedToArray(_ref3, 2),\n        r1 = _ref5[1];\n\n    var _ref6 = _slicedToArray(_ref4, 2),\n        r2 = _ref6[1];\n\n    return r1[0] - r2[0];\n  });\n  return entries;\n};\nvar getGradientObject = function getGradientObject(_ref7) {\n  var color = _ref7.color,\n      min = _ref7.min,\n      max = _ref7.max;\n  var currentPos = 0;\n  var stops = getSortedEntries(color.ranges).map(function (_ref8) {\n    var _ref9 = _slicedToArray(_ref8, 2),\n        colorValue = _ref9[0],\n        range = _ref9[1];\n\n    var rangeLength = (range[1] - range[0]) * 1.0 / (max - min);\n    var start = currentPos;\n    var end = currentPos + rangeLength;\n    currentPos = end;\n    return {\n      color: colorValue,\n      pos: start\n    };\n  });\n  return tinygradient__WEBPACK_IMPORTED_MODULE_0___default()(stops);\n};\nvar getLinearGradientCSS = function getLinearGradientCSS(_ref10) {\n  var color = _ref10.color,\n      min = _ref10.min,\n      max = _ref10.max,\n      _ref10$vertical = _ref10.vertical,\n      vertical = _ref10$vertical === void 0 ? false : _ref10$vertical;\n  var currentPercentage = 0;\n  var stops = getSortedEntries(color.ranges).map(function (_ref11, i) {\n    var _ref12 = _slicedToArray(_ref11, 2),\n        colorValue = _ref12[0],\n        range = _ref12[1];\n\n    var rangeLength = (range[1] - range[0]) * 1.0 / (max - min) * 100;\n    var start = currentPercentage;\n    var end = currentPercentage + rangeLength;\n    currentPercentage = end;\n\n    if (color.gradient) {\n      return i === 0 ? colorValue : \"\".concat(colorValue, \" \").concat(start, \"%\");\n    }\n\n    return i === 0 ? \"\".concat(colorValue, \", \").concat(colorValue, \" \").concat(end, \"%\") : \"\".concat(colorValue, \" \").concat(start, \"%, \").concat(colorValue, \" \").concat(end, \"%\");\n  });\n  stops.unshift(vertical ? 'to top' : 'to right');\n  return \"linear-gradient(\".concat(stops.join(', '), \")\");\n};\nvar getColorValue = function getColorValue(color) {\n  return color && (typeof color === 'string' ? color : color[\"default\"]);\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  isContiguous: isContiguous,\n  getSortedEntries: getSortedEntries,\n  getLinearGradientCSS: getLinearGradientCSS,\n  getColorValue: getColorValue\n});\n\n/***/ }),\n\n/***/ \"./src/helpers/logarithm.js\":\n/*!**********************************!*\\\n  !*** ./src/helpers/logarithm.js ***!\n  \\**********************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./util */ \"./src/helpers/util.js\");\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  font-size: 0.9em;\\n  margin-left: -10px;\\n\\n  & sup {\\n    font-size: 0.6em;\\n  }\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\n\n\nfunction compute(value) {\n  var base = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10;\n  if (base === 'e') base = Math.exp(1);\n  return Math.log(value) / Math.log(base);\n}\n\nfunction generateLogFormatter(_ref) {\n  var _ref$base = _ref.base,\n      base = _ref$base === void 0 ? 10 : _ref$base,\n      _ref$isSVG = _ref.isSVG,\n      isSVG = _ref$isSVG === void 0 ? false : _ref$isSVG;\n  return function (value) {\n    return isSVG ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"tspan\", null, base, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"tspan\", {\n      dy: \"-6px\"\n    }, value)) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", null, base, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"sup\", null, value));\n  };\n}\n\nfunction genLogMarks(_ref2, isSVG) {\n  var min = _ref2.min,\n      max = _ref2.max,\n      _ref2$step = _ref2.step,\n      step = _ref2$step === void 0 ? 1 : _ref2$step,\n      _ref2$base = _ref2.base,\n      base = _ref2$base === void 0 ? 10 : _ref2$base,\n      marks = _ref2.marks;\n\n  // if no marks given, compute default marks\n  if (!marks) {\n    var curr = min;\n    marks = {};\n\n    while (curr <= max) {\n      marks[curr] = true;\n      curr += step;\n    }\n  }\n\n  Object.keys(marks).forEach(function (key) {\n    if (typeof marks[key] !== 'boolean') {\n      // custom mark label, do not format\n      return;\n    }\n\n    marks[key] = isSVG ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"tspan\", null, base, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"tspan\", {\n      dy: \"-6px\"\n    }, key)) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", null, base, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"sup\", null, key));\n  });\n  return marks;\n}\n\nfunction formatValue(value, base) {\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Value, null, \"~\", base, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"sup\", null, Object(_util__WEBPACK_IMPORTED_MODULE_2__[\"roundToDecimal\"])(value, 2)));\n}\n\nvar Value = styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].div(_templateObject());\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  compute: compute,\n  generateLogFormatter: generateLogFormatter,\n  formatValue: formatValue,\n  genLogMarks: genLogMarks\n});\n\n/***/ }),\n\n/***/ \"./src/helpers/scale.js\":\n/*!******************************!*\\\n  !*** ./src/helpers/scale.js ***!\n  \\******************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return generateScale; });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./src/helpers/util.js\");\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n // magic numbers\n\nvar DEFAULT_NUM_INTERVALS = 10;\nvar DEFAULT_LABEL_INTERVAL = 2;\nfunction generateScale(input) {\n  var config = processInput(input);\n\n  var scale = _objectSpread({}, config.custom);\n\n  if (config.onlyRenderCustom) {\n    return scale;\n  }\n\n  scale[config.min] = config.formatter(config.min);\n  scale[config.max] = config.formatter(config.max);\n  var curr = config.start;\n  var markCount = 0;\n\n  while (curr <= config.max) {\n    var needsLabel = markCount % config.labelInterval === 0;\n    var currValue = Number(Object(_util__WEBPACK_IMPORTED_MODULE_0__[\"decimalify\"])(curr, config.interval));\n    var alreadyMarked = typeof scale[currValue] !== 'undefined';\n    curr += config.interval;\n    markCount++;\n    if (alreadyMarked) continue;\n    var label = needsLabel ? config.formatter(currValue) : null;\n    scale[currValue] = label;\n  }\n\n  return scale;\n} // private\n\nfunction processInput(_ref) {\n  var min = _ref.min,\n      max = _ref.max,\n      _ref$scale = _ref.scale,\n      scale = _ref$scale === void 0 ? {} : _ref$scale,\n      formatter = _ref.formatter;\n  var config = {};\n  var START_FLAG = scale.start != null;\n  var INTERVAL_FLAG = scale.interval != null;\n  var LABEL_INTERVAL_FLAG = scale.labelInterval != null;\n  config.min = min;\n  config.max = max;\n  config.start = START_FLAG ? scale.start : min;\n  config.interval = INTERVAL_FLAG ? scale.interval : computeInterval(config.start, max);\n  config.labelInterval = LABEL_INTERVAL_FLAG ? scale.labelInterval : DEFAULT_LABEL_INTERVAL;\n  config.custom = scale.custom || {};\n  config.formatter = formatter || identityFunc;\n  var noConfigPassed = !START_FLAG && !INTERVAL_FLAG && !LABEL_INTERVAL_FLAG;\n  var customTicks = Object.keys(config.custom).length;\n  config.onlyRenderCustom = customTicks && noConfigPassed;\n  config.start = config.start != min ? min : config.start;\n  return config;\n}\n\nfunction identityFunc(x) {\n  return x;\n}\n\nfunction computeInterval(min, max) {\n  var ROUND_TO_WHOLE = Math.ceil;\n\n  var ROUND_TO_FRACTION = function ROUND_TO_FRACTION(x) {\n    return Number(x.toFixed(2));\n  };\n\n  var range = Math.abs(max - min) * 1.0;\n  var intervalEstimate = range / DEFAULT_NUM_INTERVALS;\n  var interval = intervalEstimate > 1 ? ROUND_TO_WHOLE(intervalEstimate) : ROUND_TO_FRACTION(intervalEstimate);\n  return interval;\n}\n\n/***/ }),\n\n/***/ \"./src/helpers/shared/TrackSvg.js\":\n/*!****************************************!*\\\n  !*** ./src/helpers/shared/TrackSvg.js ***!\n  \\****************************************/\n/*! exports provided: colorRangesTrack, lightTrack, drawScale */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"colorRangesTrack\", function() { return colorRangesTrack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lightTrack\", function() { return lightTrack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawScale\", function() { return drawScale; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _helpers_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../helpers/util */ \"./src/helpers/util.js\");\n/* harmony import */ var _helpers_colorRanges__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../helpers/colorRanges */ \"./src/helpers/colorRanges.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../styled/constants */ \"./src/styled/constants.js\");\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\nvar colorRangesTrack = function colorRangesTrack(props, dimensions) {\n  // const { max } = props;\n  var CX = dimensions.CX,\n      CY = dimensions.CY,\n      GAUGE_RAD = dimensions.GAUGE_RAD,\n      CIRCLE_CIR = dimensions.CIRCLE_CIR,\n      GAP_ARC_LENGTH = dimensions.GAP_ARC_LENGTH;\n  var TRACK_ARC_DEG = 270;\n  var GAP_ARC_DEG = 90;\n  var GRADIENT_BLEND = 25;\n  if (!Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_2__[\"isContiguous\"])(props)) return null; // set colors start from 0 if negative value is present\n\n  var deepColorCopy = JSON.parse(JSON.stringify(props.color));\n\n  var _setColorRangeStartFr = setColorRangeStartFromZero(_objectSpread({}, deepColorCopy), props.max),\n      color = _setColorRangeStartFr.color,\n      max = _setColorRangeStartFr.max; // calculate stops\n\n\n  var stops = Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_2__[\"getSortedEntries\"])(color.ranges).map(function (_ref, i) {\n    var _ref2 = _slicedToArray(_ref, 2),\n        colorValue = _ref2[0],\n        range = _ref2[1];\n\n    var startDeg = range[0] * 1.0 / max * TRACK_ARC_DEG + GAP_ARC_DEG;\n    var endDeg = range[1] * 1.0 / max * TRACK_ARC_DEG + GAP_ARC_DEG;\n\n    if (color.gradient) {\n      // no transition between black band and first color\n      if (i === 0) {\n        return \"\".concat(colorValue, \" 0\");\n      }\n\n      return \"\".concat(colorValue, \" \").concat(startDeg + GRADIENT_BLEND, \"deg, \").concat(colorValue, \" \").concat(endDeg - GRADIENT_BLEND, \"deg\");\n    }\n\n    return \"\".concat(colorValue, \" \").concat(startDeg, \"deg, \").concat(colorValue, \" \").concat(endDeg, \"deg\");\n  });\n  stops.unshift([\"black \".concat(GAP_ARC_DEG, \"deg\")]); // add black band for bottom gap\n\n  if (typeof window === 'undefined') {\n    return null;\n  }\n\n  if (!window.ConicGradient) {\n    // eslint-disable-next-line\n    __webpack_require__(/*! conic-gradient */ \"./node_modules/conic-gradient/conic-gradient.js\"); // globally sets ConicGradient\n\n  }\n\n  var ConicGradient = window.ConicGradient;\n  var gradient = new ConicGradient({\n    stops: stops.join(', '),\n    size: 400\n  }); // unique id for each track\n\n  var id = \"colorRangesImage-\".concat(Object(_helpers_util__WEBPACK_IMPORTED_MODULE_1__[\"getRandomInt\"])());\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"defs\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"pattern\", {\n    id: id,\n    patternUnits: \"userSpaceOnUse\",\n    width: \"100%\",\n    height: \"100%\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"image\", {\n    xlinkHref: gradient.dataURL,\n    width: \"100%\",\n    height: \"100%\"\n  }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    className: \"color-ranges\",\n    cx: CX,\n    cy: CY,\n    r: GAUGE_RAD,\n    fill: \"none\",\n    stroke: \"url(#\".concat(id, \")\"),\n    strokeWidth: \"6px\",\n    strokeDasharray: CIRCLE_CIR,\n    strokeDashoffset: GAP_ARC_LENGTH,\n    transform: \"rotate(-225 \".concat(CX, \" \").concat(CY, \")\")\n  }));\n};\nvar lightTrack = function lightTrack(props, dimensions) {\n  var color = props.color,\n      progress = props.progress;\n  var CX = dimensions.CX,\n      CY = dimensions.CY,\n      GAUGE_RAD = dimensions.GAUGE_RAD,\n      CIRCLE_CIR = dimensions.CIRCLE_CIR,\n      GAP_ARC_LENGTH = dimensions.GAP_ARC_LENGTH,\n      TRACK_ARC_LENGTH = dimensions.TRACK_ARC_LENGTH;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    className: \"track\",\n    cx: CX,\n    cy: CY,\n    r: GAUGE_RAD,\n    fill: \"none\",\n    strokeDasharray: CIRCLE_CIR,\n    strokeDashoffset: GAP_ARC_LENGTH,\n    strokeWidth: \"6\",\n    transform: \"rotate(-225 \".concat(CX, \" \").concat(CY, \")\")\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    className: \"track progress\",\n    cx: CX,\n    cy: CY,\n    r: GAUGE_RAD,\n    fill: \"none\",\n    strokeDasharray: CIRCLE_CIR,\n    strokeDashoffset: GAP_ARC_LENGTH + (1 - progress) * TRACK_ARC_LENGTH,\n    strokeWidth: \"6\",\n    transform: \"rotate(-225 \".concat(CX, \" \").concat(CY, \")\")\n  }), color && color.ranges && colorRangesTrack(props, dimensions));\n};\n\nvar getScaleString = function getScaleString(v) {\n  if (!v) return ''; // is jsx element?\n\n  if (v.props) return v.props.children[0] + ' ';\n  return v && v.label || v;\n};\n\nvar drawScale = function drawScale(_ref3, _ref4) {\n  var min = _ref3.min,\n      max = _ref3.max,\n      step = _ref3.step,\n      scale = _ref3.scale;\n  var CX = _ref4.CX,\n      CY = _ref4.CY,\n      SCALE_TICK_OUTER_RAD = _ref4.SCALE_TICK_OUTER_RAD,\n      SCALE_TICK_INNER_RAD = _ref4.SCALE_TICK_INNER_RAD,\n      SCALE_TEXT_RAD = _ref4.SCALE_TEXT_RAD,\n      IS_GAUGE = _ref4.IS_GAUGE;\n  var START_ANGLE_OFFSET = -225;\n  var DEFAULT_LONGEST_STRING = 3;\n  var scaleItems = [];\n  var count = 0;\n  var offset = (Math.max(Object(_helpers_util__WEBPACK_IMPORTED_MODULE_1__[\"longestString\"])(Object.values(scale).map(getScaleString)).length, DEFAULT_LONGEST_STRING) || DEFAULT_LONGEST_STRING) * 2;\n  var sr1 = SCALE_TICK_OUTER_RAD;\n  var sr2 = SCALE_TICK_INNER_RAD;\n  var srT = IS_GAUGE ? SCALE_TEXT_RAD - offset : SCALE_TEXT_RAD + offset;\n  Object.keys(scale).forEach(function (key) {\n    var markValue = scale[key];\n    var degreesProgressed = Object(_helpers_util__WEBPACK_IMPORTED_MODULE_1__[\"computeProgress\"])({\n      min: min,\n      max: max,\n      value: key,\n      progressionTarget: _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"TRACK_TOTAL_DEG\"]\n    });\n    var markAngle = START_ANGLE_OFFSET + degreesProgressed;\n\n    if (markValue !== null) {\n      // draw full mark\n      var sx1 = CX + sr1 * Math.cos(markAngle * _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"RADIAN\"]);\n      var sy1 = CY + sr1 * Math.sin(markAngle * _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"RADIAN\"]);\n      var sx2 = CX + sr2 * Math.cos(markAngle * _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"RADIAN\"]);\n      var sy2 = CY + sr2 * Math.sin(markAngle * _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"RADIAN\"]);\n      var sxT = CX + srT * Math.cos(markAngle * _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"RADIAN\"]);\n      var syT = CY + srT * Math.sin(markAngle * _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"RADIAN\"]) + 4;\n      scaleItems.push(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"line\", {\n        key: \"line\".concat(count),\n        className: \"tick\",\n        x1: sx1,\n        y1: sy1,\n        x2: sx2,\n        y2: sy2,\n        strokeLinecap: \"round\"\n      }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"text\", {\n        key: \"text\".concat(count),\n        x: sxT,\n        y: syT,\n        textAnchor: \"middle\",\n        style: markValue && markValue.style ? markValue.style : null\n      }, markValue && markValue.label || markValue));\n    } else {\n      // draw mini mark\n      var _sx = CX + sr1 * Math.cos(markAngle * _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"RADIAN\"]);\n\n      var _sy = CY + sr1 * Math.sin(markAngle * _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"RADIAN\"]);\n\n      var _sx2 = CX + (sr2 + 3) * Math.cos(markAngle * _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"RADIAN\"]);\n\n      var _sy2 = CY + (sr2 + 3) * Math.sin(markAngle * _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"RADIAN\"]);\n\n      scaleItems.push(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"line\", {\n        key: \"line\".concat(count),\n        className: \"tick\",\n        x1: _sx,\n        y1: _sy,\n        x2: _sx2,\n        y2: _sy2,\n        strokeLinecap: \"round\"\n      }));\n    }\n\n    count++;\n  });\n  return scaleItems;\n};\n\nvar setColorRangeStartFromZero = function setColorRangeStartFromZero(color, max) {\n  var ranges = _objectSpread({}, color.ranges);\n\n  var minimum = Infinity;\n\n  for (var i in ranges) {\n    if (ranges[i][0] instanceof Array) {\n      for (var j = 0; j < ranges[i].length; j++) {\n        if (ranges[i][j][0] < minimum) {\n          minimum = ranges[i][j][0];\n        }\n\n        if (ranges[i][j][1] < minimum) {\n          minimum = ranges[i][j][1];\n        }\n      }\n\n      continue;\n    }\n\n    if (ranges[i][0] < minimum) {\n      minimum = ranges[i][0];\n    }\n\n    if (ranges[i][1] < minimum) {\n      minimum = ranges[i][1];\n    }\n  }\n\n  if (minimum < 0) {\n    for (var _i2 in ranges) {\n      if (ranges[_i2][0] instanceof Array) {\n        for (var _j = 0; _j < ranges[_i2].length; _j++) {\n          ranges[_i2][_j][0] = ranges[_i2][_j][0] - minimum;\n          ranges[_i2][_j][1] = ranges[_i2][_j][1] - minimum;\n        }\n\n        continue;\n      }\n\n      ranges[_i2][0] = ranges[_i2][0] - minimum;\n      ranges[_i2][1] = ranges[_i2][1] - minimum;\n    }\n\n    max = max - minimum;\n  }\n\n  color = _objectSpread({}, color, {\n    ranges: ranges\n  });\n  return {\n    color: color,\n    max: max\n  };\n};\n\n/***/ }),\n\n/***/ \"./src/helpers/util.js\":\n/*!*****************************!*\\\n  !*** ./src/helpers/util.js ***!\n  \\*****************************/\n/*! exports provided: longestString, decimalify, sanitizeRangeValue, computeProgress, roundToDecimal, getRandomInt, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"longestString\", function() { return longestString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"decimalify\", function() { return decimalify; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sanitizeRangeValue\", function() { return sanitizeRangeValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"computeProgress\", function() { return computeProgress; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"roundToDecimal\", function() { return roundToDecimal; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getRandomInt\", function() { return getRandomInt; });\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar longestString = function longestString(arr) {\n  return arr.sort(function (a, b) {\n    return b.length - a.length;\n  })[0];\n};\nvar decimalify = function decimalify() {\n  var num = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n  var step = arguments.length > 1 ? arguments[1] : undefined;\n\n  if (isNaN(num)) {\n    return num;\n  } // eslint-disable-next-line\n\n\n  var _step$toString$split = step.toString().split('.'),\n      _step$toString$split2 = _slicedToArray(_step$toString$split, 2),\n      characteristic = _step$toString$split2[0],\n      mantissa = _step$toString$split2[1];\n\n  var numDecimalPoints = mantissa ? mantissa.length : 0;\n  return num.toFixed(numDecimalPoints);\n};\nvar sanitizeRangeValue = function sanitizeRangeValue(_ref) {\n  var min = _ref.min,\n      max = _ref.max,\n      value = _ref.value;\n  if (value == null) return min;\n\n  if (value < min) {\n    return min;\n  } else if (value > max) {\n    return max;\n  } else {\n    return value;\n  }\n};\nvar computeProgress = function computeProgress(_ref2) {\n  var min = _ref2.min,\n      max = _ref2.max,\n      value = _ref2.value,\n      _ref2$progressionTarg = _ref2.progressionTarget,\n      progressionTarget = _ref2$progressionTarg === void 0 ? 100 : _ref2$progressionTarg;\n  value = Number(value);\n  var adjustedValue = Math.abs(value - min) * 1.0;\n  var range = Math.abs(max - min);\n  return adjustedValue / range * progressionTarget;\n};\nvar roundToDecimal = function roundToDecimal(value, decimals) {\n  return Number(Math.round(value + 'e' + decimals) + 'e-' + decimals);\n};\nvar getRandomInt = function getRandomInt() {\n  var min = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n  var max = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 9999;\n  return Math.floor(Math.random() * (max - min + 1)) + min;\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  decimalify: decimalify,\n  sanitizeRangeValue: sanitizeRangeValue,\n  computeProgress: computeProgress,\n  longestString: longestString,\n  roundToDecimal: roundToDecimal,\n  getRandomInt: getRandomInt\n});\n\n/***/ }),\n\n/***/ \"./src/index.js\":\n/*!**********************!*\\\n  !*** ./src/index.js ***!\n  \\**********************/\n/*! exports provided: BooleanSwitch, ColorPicker, Gauge, GraduatedBar, Indicator, Knob, LEDDisplay, NumericInput, PowerButton, PrecisionInput, StopButton, Slider, Tank, Thermometer, ToggleSwitch, DarkThemeProvider, Joystick */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _components_BooleanSwitch_react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/BooleanSwitch.react */ \"./src/components/BooleanSwitch.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BooleanSwitch\", function() { return _components_BooleanSwitch_react__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _components_ColorPicker_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/ColorPicker.react */ \"./src/components/ColorPicker.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ColorPicker\", function() { return _components_ColorPicker_react__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _components_Gauge_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/Gauge.react */ \"./src/components/Gauge.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Gauge\", function() { return _components_Gauge_react__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _components_GraduatedBar_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/GraduatedBar.react */ \"./src/components/GraduatedBar.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"GraduatedBar\", function() { return _components_GraduatedBar_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _components_Indicator_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/Indicator.react */ \"./src/components/Indicator.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Indicator\", function() { return _components_Indicator_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _components_Knob_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/Knob.react */ \"./src/components/Knob.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Knob\", function() { return _components_Knob_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _components_LEDDisplay_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/LEDDisplay.react */ \"./src/components/LEDDisplay.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LEDDisplay\", function() { return _components_LEDDisplay_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _components_NumericInput_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/NumericInput.react */ \"./src/components/NumericInput.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NumericInput\", function() { return _components_NumericInput_react__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _components_PowerButton_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/PowerButton.react */ \"./src/components/PowerButton.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PowerButton\", function() { return _components_PowerButton_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _components_PrecisionInput_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/PrecisionInput.react */ \"./src/components/PrecisionInput.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PrecisionInput\", function() { return _components_PrecisionInput_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _components_StopButton_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./components/StopButton.react */ \"./src/components/StopButton.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StopButton\", function() { return _components_StopButton_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _components_Slider_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./components/Slider.react */ \"./src/components/Slider.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Slider\", function() { return _components_Slider_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _components_Tank_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./components/Tank.react */ \"./src/components/Tank.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Tank\", function() { return _components_Tank_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _components_Thermometer_react__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./components/Thermometer.react */ \"./src/components/Thermometer.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Thermometer\", function() { return _components_Thermometer_react__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _components_ToggleSwitch_react__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./components/ToggleSwitch.react */ \"./src/components/ToggleSwitch.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ToggleSwitch\", function() { return _components_ToggleSwitch_react__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _components_DarkThemeProvider_react__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./components/DarkThemeProvider.react */ \"./src/components/DarkThemeProvider.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DarkThemeProvider\", function() { return _components_DarkThemeProvider_react__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _components_Joystick_react__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./components/Joystick.react */ \"./src/components/Joystick.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Joystick\", function() { return _components_Joystick_react__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* eslint-disable import/prefer-default-export */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n\n/***/ \"./src/styled/CurrentValue.styled.js\":\n/*!*******************************************!*\\\n  !*** ./src/styled/CurrentValue.styled.js ***!\n  \\*******************************************/\n/*! exports provided: Value, ValueLabel, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Value\", function() { return Value; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ValueLabel\", function() { return ValueLabel; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ \"./src/styled/constants.js\");\nfunction _templateObject6() {\n  var data = _taggedTemplateLiteral([\"\\n  margin-top: -4px;\\n  text-transform: uppercase;\\n  font-size: 8px;\\n  color: #535d63;\\n\"]);\n\n  _templateObject6 = function _templateObject6() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject5() {\n  var data = _taggedTemplateLiteral([\"\\n          font-size: \", \"px;\\n        \"]);\n\n  _templateObject5 = function _templateObject5() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject4() {\n  var data = _taggedTemplateLiteral([\"\\n          text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.4);\\n        \"]);\n\n  _templateObject4 = function _templateObject4() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n  font-size: 1em;\\n  color: \", \";\\n  \", \";\\n  \", \"\\n\"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n          \", \";\\n        \"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  position: relative;\\n  display: flex;\\n  flex-direction: column;\\n  justify-content: space-around;\\n  align-items: center;\\n\\n  top: 50%;\\n  transform: translateY(-50%);\\n  text-align: center;\\n  font-size: 32px;\\n  \", \";\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\n\nvar ValueContainer = styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].div(_templateObject(), function (props) {\n  return props.css ? Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject2(), props.css) : '';\n});\nvar Value = styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].div(_templateObject3(), function (_ref) {\n  var theme = _ref.theme,\n      color = _ref.color;\n  return color || (theme.dark ? '#000' : color || theme.primary);\n}, function (_ref2) {\n  var theme = _ref2.theme;\n  return theme.dark ? Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject4()) : '';\n}, function (_ref3) {\n  var fontSize = _ref3.fontSize;\n  return fontSize ? Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject5(), fontSize) : '';\n});\nValue.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_2__[\"light\"]\n};\nvar ValueLabel = styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].label(_templateObject6());\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (props) {\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(ValueContainer, {\n    css: props.css\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Value, {\n    fontSize: props.valueSize,\n    color: props.valueColor,\n    style: props.customStyle\n  }, props.children), props.units ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(ValueLabel, null, props.units) : null);\n});\n\n/***/ }),\n\n/***/ \"./src/styled/Gauge.styled.js\":\n/*!************************************!*\\\n  !*** ./src/styled/Gauge.styled.js ***!\n  \\************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n  & .needle-knob {\\n    stroke: \", \";\\n    stroke-width: 2;\\n  }\\n\\n  & .track {\\n    stroke: \", \";\\n  }\\n\\n  & .track.progress {\\n    stroke: \", \";\\n  }\\n\"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  & svg {\\n    text-align: center;\\n  }\\n\\n  & circle {\\n    user-select: none;\\n  }\\n\\n  & .scale {\\n    font-size: 12px;\\n\\n    fill: \", \";\\n    user-select: none;\\n  }\\n\\n  & .tick {\\n    stroke: \", \";\\n    stroke-width: 2;\\n  }\\n\\n  & .tick.small {\\n    stroke: #2b2f32;\\n  }\\n\\n  & .needle {\\n    stroke: \", \";\\n    stroke-width: 3;\\n  }\\n\\n  \", \";\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\nvar Container = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject(), function (_ref) {\n  var theme = _ref.theme,\n      color = _ref.color;\n  return color || (theme.dark ? '#000' : '#5b6268');\n}, function (props) {\n  return props.theme.detail;\n}, function (_ref2) {\n  var theme = _ref2.theme;\n  return theme.dark ? '#000' : '#5b6268';\n}, function (_ref3) {\n  var theme = _ref3.theme;\n  return !theme.dark && lightTheme;\n});\nvar lightTheme = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject2(), function (_ref4) {\n  var theme = _ref4.theme;\n  return theme.secondary;\n}, function (props) {\n  return props.theme.secondary;\n}, function (_ref5) {\n  var color = _ref5.color,\n      theme = _ref5.theme;\n  return color || theme.primary;\n});\nContainer.defaultProps = {\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Container);\n\n/***/ }),\n\n/***/ \"./src/styled/GraduatedBar.styled.js\":\n/*!*******************************************!*\\\n  !*** ./src/styled/GraduatedBar.styled.js ***!\n  \\*******************************************/\n/*! exports provided: Container, Block, Value */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Container\", function() { return Container; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Block\", function() { return Block; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Value\", function() { return Value; });\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./src/styled/constants.js\");\nfunction _templateObject13() {\n  var data = _taggedTemplateLiteral([\"\\n          font-size: 11px;\\n          right: auto;\\n        \"]);\n\n  _templateObject13 = function _templateObject13() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject12() {\n  var data = _taggedTemplateLiteral([\"\\n  position: absolute;\\n  right: 4%;\\n  top: 50%;\\n  transform: translateY(-50%);\\n\\n  \", \";\\n\"]);\n\n  _templateObject12 = function _templateObject12() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject11() {\n  var data = _taggedTemplateLiteral([\"\\n      background-color: \", \";\\n      background-image: linear-gradient(\\n        145deg,\\n        rgba(255, 255, 255, 0.5) 0%,\\n        rgba(0, 0, 0, 0.4) 100%\\n      );\\n      background-blend-mode: overlay;\\n    \"]);\n\n  _templateObject11 = function _templateObject11() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject10() {\n  var data = _taggedTemplateLiteral([\"\\n  \", \" box-shadow: \", \";\\n\"]);\n\n  _templateObject10 = function _templateObject10() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject9() {\n  var data = _taggedTemplateLiteral([\"\\n      height: \", \";\\n      width: \", \";\\n      margin: \", \";\\n    \"]);\n\n  _templateObject9 = function _templateObject9() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject8() {\n  var data = _taggedTemplateLiteral([\"\\n      background-color: \", \";\\n    \"]);\n\n  _templateObject8 = function _templateObject8() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject7() {\n  var data = _taggedTemplateLiteral([\"\\n        background-image: linear-gradient(\", \", \", \", \", \");\\n      \"]);\n\n  _templateObject7 = function _templateObject7() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject6() {\n  var data = _taggedTemplateLiteral([\"\\n  display: block;\\n  box-sizing: border-box;\\n\\n  \", \"\\n\\n  \", \"\\n\\n  \", \";\\n\"]);\n\n  _templateObject6 = function _templateObject6() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject5() {\n  var data = _taggedTemplateLiteral([\"\\n  background-color: \", \";\\n\"]);\n\n  _templateObject5 = function _templateObject5() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject4() {\n  var data = _taggedTemplateLiteral([\"\\n  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8);\\n  padding: 3px;\\n  color: #fff;\\n  border: none;\\n  border-radius: 0px;\\n  background-color: #22272a;\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.5) 100%);\\n  box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n\"]);\n\n  _templateObject4 = function _templateObject4() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n  flex-direction: row;\\n  width: \", \";\\n  height: 30px;\\n\"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n  flex-direction: column-reverse;\\n  width: 30px;\\n  height: \", \";\\n\"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  position: relative;\\n  display: flex;\\n  align-items: center;\\n  justify-content: flex-start;\\n\\n  \", \";\\n  \", \";\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\nvar Container = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject(), function (_ref) {\n  var vertical = _ref.vertical;\n  return vertical ? verticalContainer : horizontalContainer;\n}, function (_ref2) {\n  var theme = _ref2.theme;\n  return theme.dark ? darkContainer : lightContainer;\n});\nContainer.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\nvar verticalContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject2(), function (_ref3) {\n  var size = _ref3.size;\n  return \"\".concat(size, \"px\");\n});\nvar horizontalContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject3(), function (_ref4) {\n  var size = _ref4.size;\n  return \"\".concat(size, \"px\");\n});\nvar darkContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject4());\nvar lightContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject5(), function (props) {\n  return props.theme.secondary;\n});\nvar Block = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject6(), function (_ref5) {\n  var gradient = _ref5.gradient,\n      progress = _ref5.progress,\n      color = _ref5.color,\n      theme = _ref5.theme,\n      max = _ref5.max,\n      min = _ref5.min,\n      step = _ref5.step,\n      size = _ref5.size,\n      vertical = _ref5.vertical;\n\n  if (gradient) {\n    var TOTAL_STEPS = (max - min) / step;\n    var STEP_SIZE = size / TOTAL_STEPS;\n    var STEP_SIZE_PERCENT = STEP_SIZE / size;\n    var start = gradient.rgbAt(progress).toString();\n    var end = gradient.rgbAt(progress + STEP_SIZE_PERCENT).toString();\n    return Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject7(), vertical ? 'to top' : 'to right', start, end);\n  }\n\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject8(), color || theme.primary);\n}, function (props) {\n  var TOTAL_STEPS = (props.max - props.min) / props.step;\n  var STEP_SIZE = props.size / TOTAL_STEPS;\n  var MARGIN = STEP_SIZE >= 10 ? STEP_SIZE * 0.05 : 0.5;\n  var BOX_SIZE = STEP_SIZE - 2 * MARGIN;\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject9(), props.vertical ? \"\".concat(BOX_SIZE, \"px\") : '100%', props.vertical ? '100%' : \"\".concat(BOX_SIZE, \"px\"), props.vertical ? \"\".concat(MARGIN, \"px 0\") : \"0 \".concat(MARGIN, \"px\"));\n}, function (_ref6) {\n  var theme = _ref6.theme;\n  return theme.dark && darkBlock;\n});\nBlock.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\nvar darkBlock = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject10(), function (_ref7) {\n  var color = _ref7.color,\n      theme = _ref7.theme,\n      gradient = _ref7.gradient;\n  if (gradient) return;\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject11(), color || theme.primary);\n}, function (_ref8) {\n  var color = _ref8.color,\n      theme = _ref8.theme;\n  return \"2px 2px 6px 1px rgba(0, 0, 0, 0.45), inset 1px 1px 2px 0 rgba(255, 255, 255, 0.3),\\n      1px 1px 1px 0px rgba(0, 0, 0, 0.6), 0 0 3px 0px \".concat(color || theme.primary);\n});\nvar Value = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject12(), function (_ref9) {\n  var vertical = _ref9.vertical;\n  return vertical ? Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject13()) : '';\n});\n\n/***/ }),\n\n/***/ \"./src/styled/Knob.styled.js\":\n/*!***********************************!*\\\n  !*** ./src/styled/Knob.styled.js ***!\n  \\***********************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./src/styled/constants.js\");\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n  & .scale {\\n    fill: #fff;\\n  }\\n\"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n  & .scale {\\n    fill: #5b6268;\\n  }\\n\\n  & .track {\\n    stroke: #e6e6e6;\\n  }\\n\\n  & .knob .base,\\n  .knob .indent {\\n    stroke: #e6e6e6;\\n    stroke-width: 2;\\n  }\\n\"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  display: flex;\\n  align-items: center;\\n  flex-direction: column;\\n  & svg {\\n    text-align: center;\\n  }\\n\\n  & circle {\\n    user-select: none;\\n  }\\n\\n  & .scale {\\n    font-size: 12px;\\n    user-select: none;\\n    fill: \", \" !important;\\n  }\\n\\n  & .tick {\\n    stroke: \", \";\\n    stroke-width: 2;\\n  }\\n\\n  & .knob {\\n    cursor: pointer;\\n  }\\n\\n  & .disabled {\\n    opacity: \", \";\\n    cursor: not-allowed;\\n  }\\n\\n  & .track.progress {\\n    stroke: \", \";\\n  }\\n\\n  \", \";\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\nvar Container = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject(), function (_ref) {\n  var colorValue = _ref.colorValue;\n  return colorValue || 'black';\n}, function (props) {\n  return props.theme.detail;\n}, function (_ref2) {\n  var theme = _ref2.theme;\n  return theme.dark ? 1 : 0.65;\n}, function (_ref3) {\n  var color = _ref3.color,\n      theme = _ref3.theme;\n  return color || theme.primary;\n}, function (_ref4) {\n  var theme = _ref4.theme;\n  return theme.dark ? darkTheme : lightTheme;\n});\nvar lightTheme = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject2());\nvar darkTheme = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject3());\nContainer.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Container);\n\n/***/ }),\n\n/***/ \"./src/styled/LEDDisplay.styled.js\":\n/*!*****************************************!*\\\n  !*** ./src/styled/LEDDisplay.styled.js ***!\n  \\*****************************************/\n/*! exports provided: LEDContainer, DarkDigitContainer, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LEDContainer\", function() { return LEDContainer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DarkDigitContainer\", function() { return DarkDigitContainer; });\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./src/styled/constants.js\");\nfunction _templateObject5() {\n  var data = _taggedTemplateLiteral([\"\\n  & .darkLED-fill {\\n    fill: \", \";\\n  }\\n\"]);\n\n  _templateObject5 = function _templateObject5() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject4() {\n  var data = _taggedTemplateLiteral([\"\\n  border-radius: 3px;\\n  padding: 12px 8px 12px 14px;\\n  border: 1px solid \", \";\\n  background: \", \";\\n\"]);\n\n  _templateObject4 = function _templateObject4() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n  padding: 12px 8px 4px 16px;\\n  background-color: #22272a;\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.5) 100%);\\n  box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n\"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n      background-color: \", \";\\n    \"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  display: inline-flex;\\n  flex-direction: row;\\n  \", \";\\n  \", \"\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\nvar LEDContainer = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject(), function (_ref) {\n  var theme = _ref.theme;\n  return theme.dark ? darkLEDContainer : lightLEDContainer;\n}, function (_ref2) {\n  var backgroundColor = _ref2.backgroundColor;\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject2(), backgroundColor);\n});\nvar darkLEDContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject3());\nvar lightLEDContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject4(), function (_ref3) {\n  var theme = _ref3.theme;\n  return theme.detail;\n}, function (_ref4) {\n  var backgroundColor = _ref4.backgroundColor;\n  return backgroundColor;\n});\nLEDContainer.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\nvar DarkDigitContainer = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject5(), function (_ref5) {\n  var color = _ref5.color;\n  return color;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (LEDContainer);\n\n/***/ }),\n\n/***/ \"./src/styled/PowerButton.styled.js\":\n/*!******************************************!*\\\n  !*** ./src/styled/PowerButton.styled.js ***!\n  \\******************************************/\n/*! exports provided: Container, Button */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Container\", function() { return Container; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Button\", function() { return Button; });\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\nfunction _templateObject7() {\n  var data = _taggedTemplateLiteral([\"\\n            box-shadow: 0 0 8px 2px \", \";\\n          \"]);\n\n  _templateObject7 = function _templateObject7() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject6() {\n  var data = _taggedTemplateLiteral([\"\\n      width: \", \"px;\\n      height: \", \"px;\\n    \"]);\n\n  _templateObject6 = function _templateObject6() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject5() {\n  var data = _taggedTemplateLiteral([\"\\n  \", \" border-radius: 100%;\\n  padding: 0;\\n  margin-bottom: 8px;\\n\\n  &::before,\\n  &::after {\\n    left: 4%;\\n    border-radius: 100%;\\n    transition: all 0.1s ease-in;\\n  }\\n\\n  &::before {\\n    top: 8%;\\n    width: 86%;\\n    height: 86%;\\n  }\\n\\n  &::after {\\n    top: 4%;\\n    width: 92%;\\n    height: 92%;\\n\\n    \", \";\\n  }\\n\\n  &:hover::before {\\n    background-color: rgba(0, 0, 0, 0.8);\\n  }\\n\\n  &:hover::after {\\n    box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.66);\\n  }\\n\\n  &:focus::after,\\n  &:active::after {\\n    box-shadow: \", \";\\n  }\\n\"]);\n\n  _templateObject5 = function _templateObject5() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject4() {\n  var data = _taggedTemplateLiteral([\"\\n      width: \", \"px;\\n      height: \", \"px;\\n    \"]);\n\n  _templateObject4 = function _templateObject4() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n  border-radius: 50%;\\n  box-sizing: border-box;\\n  background: #fff;\\n  border: 1px solid \", \";\\n  \", \" margin-bottom: \", \";\\n  padding: 0;\\n\\n  &:focus,\\n  &:hover {\\n    border-color: \", \";\\n  }\\n\"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n  cursor: pointer;\\n  outline: none;\\n  display: flex;\\n  justify-content: center;\\n  align-items: center;\\n\\n  &:disabled {\\n    opacity: \", \";\\n    cursor: not-allowed;\\n  }\\n\\n  \", \";\\n\"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  display: flex;\\n  flex-direction: column;\\n  justify-content: space-between;\\n  align-items: center;\\n\\n  & svg {\\n    margin: 0 auto;\\n  }\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\nvar Container = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('div')(_templateObject());\nvar Button = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].button(_templateObject2(), function (_ref) {\n  var theme = _ref.theme;\n  return theme.dark ? 1 : 0.65;\n}, function (_ref2) {\n  var theme = _ref2.theme;\n  return theme.dark ? darkTheme : lightTheme;\n});\nvar lightTheme = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject3(), function (props) {\n  return props.theme.secondary;\n}, function (_ref3) {\n  var size = _ref3.size;\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject4(), size, size);\n}, function (_ref4) {\n  var size = _ref4.size;\n  return \"\".concat(size * 0.0625, \"px\");\n}, function (props) {\n  return props.theme.secondary;\n});\nvar darkTheme = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject5(), function (_ref5) {\n  var size = _ref5.size;\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject6(), size, size);\n}, function (_ref6) {\n  var on = _ref6.on,\n      color = _ref6.color,\n      theme = _ref6.theme;\n  return on ? Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject7(), color || theme.primary) : '';\n}, function (_ref7) {\n  var on = _ref7.on,\n      color = _ref7.color,\n      theme = _ref7.theme;\n  return on ? \"0 0 8px 2px \".concat(color || theme.primary) : '0 0 3px 0 rgba(0,0,0,0.66)';\n});\nButton.defaultProps = {\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\n\n/***/ }),\n\n/***/ \"./src/styled/PrecisionInput.styled.js\":\n/*!*********************************************!*\\\n  !*** ./src/styled/PrecisionInput.styled.js ***!\n  \\*********************************************/\n/*! exports provided: Container, Digit, ExponentialDigit */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Container\", function() { return Container; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Digit\", function() { return Digit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ExponentialDigit\", function() { return ExponentialDigit; });\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\nfunction _templateObject9() {\n  var data = _taggedTemplateLiteral([\"\\n          background: #f2f2f2;\\n        \"]);\n\n  _templateObject9 = function _templateObject9() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject8() {\n  var data = _taggedTemplateLiteral([\"\\n          color: \", \";\\n          text-shadow: 0 0 2px rgba(0, 0, 0, 0.9),\\n            0 0 9px \", \";\\n        \"]);\n\n  _templateObject8 = function _templateObject8() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject7() {\n  var data = _taggedTemplateLiteral([\"\\n  border: none;\\n  \", \";\\n\"]);\n\n  _templateObject7 = function _templateObject7() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject6() {\n  var data = _taggedTemplateLiteral([\"\\n  color: #15181a;\\n  border-right: 1px solid #f2f2f2;\\n\"]);\n\n  _templateObject6 = function _templateObject6() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject5() {\n  var data = _taggedTemplateLiteral([\"\\n  border-right: 1px solid rgba(0, 0, 0, 0.4);\\n  color: #fff;\\n\"]);\n\n  _templateObject5 = function _templateObject5() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject4() {\n  var data = _taggedTemplateLiteral([\"\\n  padding: 8px 6px;\\n  box-sizing: border-box;\\n  display: inline-block;\\n  font-size: 14px;\\n  line-height: 16px;\\n  text-align: center;\\n\\n  \", \";\\n\"]);\n\n  _templateObject4 = function _templateObject4() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n  background: #ffffff;\\n  border-radius: 2px;\\n  border: 1px solid #d3d3d3;\\n\"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n  background-color: #22272a;\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.5) 100%);\\n  box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n\"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  margin: 0 auto;\\n  display: flex;\\n  justify-content: flex-end;\\n  width: \", \";\\n  cursor: text;\\n\\n  \", \";\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\nvar Container = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject(), function (_ref) {\n  var size = _ref.size;\n  return \"\".concat(size, \"px\") || false;\n}, function (_ref2) {\n  var theme = _ref2.theme;\n  return theme.dark ? darkContainer : lightContainer;\n});\nvar darkContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject2());\nvar lightContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject3());\nvar Digit = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject4(), function (_ref3) {\n  var theme = _ref3.theme;\n  return theme.dark ? darkDigit : lightDigit;\n});\nvar darkDigit = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject5());\nvar lightDigit = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject6());\nvar ExponentialDigit = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Digit)(_templateObject7(), function (_ref4) {\n  var theme = _ref4.theme;\n  return theme.dark ? Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject8(), function (_ref5) {\n    var color = _ref5.color,\n        theme = _ref5.theme;\n    return color || theme.primary;\n  }, function (_ref6) {\n    var color = _ref6.color,\n        theme = _ref6.theme;\n    return color || theme.primary;\n  }) : Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject9());\n});\n\n/***/ }),\n\n/***/ \"./src/styled/Slider.styled.js\":\n/*!*************************************!*\\\n  !*** ./src/styled/Slider.styled.js ***!\n  \\*************************************/\n/*! exports provided: SliderContainer, HandleContainer, Handle, targetStyles, Label, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SliderContainer\", function() { return SliderContainer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HandleContainer\", function() { return HandleContainer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Handle\", function() { return Handle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"targetStyles\", function() { return targetStyles; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Label\", function() { return Label; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _shared_DarkGradient__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shared/DarkGradient */ \"./src/styled/shared/DarkGradient.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./constants */ \"./src/styled/constants.js\");\nfunction _templateObject32() {\n  var data = _taggedTemplateLiteral([\"\\n          transform: translate(-50%, \", \"px);\\n        \"]);\n\n  _templateObject32 = function _templateObject32() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject31() {\n  var data = _taggedTemplateLiteral([\"\\n          transform: translate(\", \"px, -50%);\\n        \"]);\n\n  _templateObject31 = function _templateObject31() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject30() {\n  var data = _taggedTemplateLiteral([\"\\n          top: 0;\\n        \"]);\n\n  _templateObject30 = function _templateObject30() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject29() {\n  var data = _taggedTemplateLiteral([\"\\n          right: 0;\\n        \"]);\n\n  _templateObject29 = function _templateObject29() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject28() {\n  var data = _taggedTemplateLiteral([\"\\n  color: \", \";\\n\\n  \", \" \", \";\\n\"]);\n\n  _templateObject28 = function _templateObject28() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject27() {\n  var data = _taggedTemplateLiteral([\"\\n          transform: translate(-50%, \", \"px);\\n        \"]);\n\n  _templateObject27 = function _templateObject27() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject26() {\n  var data = _taggedTemplateLiteral([\"\\n          transform: translate(\", \"px, -50%);\\n        \"]);\n\n  _templateObject26 = function _templateObject26() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject25() {\n  var data = _taggedTemplateLiteral([\"\\n  color: \", \";\\n\\n  \", \";\\n\"]);\n\n  _templateObject25 = function _templateObject25() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject24() {\n  var data = _taggedTemplateLiteral([\"\\n  border: 1px solid \", \";\\n\\n  &:hover {\\n    border: 1px solid \", \";\\n  }\\n\"]);\n\n  _templateObject24 = function _templateObject24() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject23() {\n  var data = _taggedTemplateLiteral([\"\\n  /* remove dark-gradient.css styles */\\n  box-shadow: none !important;\\n\\n  background: #101010;\\n  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.3) -50%, rgba(0, 0, 0, 0.7) 100%);\\n\"]);\n\n  _templateObject23 = function _templateObject23() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject22() {\n  var data = _taggedTemplateLiteral([\"\\n  /* remove rc-slider-handle styles */\\n  margin: 0 !important;\\n  width: auto;\\n  height: auto;\\n\\n  user-select: none;\\n\\n  display: flex;\\n  flex-direction: column;\\n  align-items: center;\\n  justify-content: center;\\n\\n  background: #fff;\\n  font-size: 12px;\\n  padding: 2px 4px;\\n  border-radius: 3px;\\n\\n  & .label {\\n    font-size: 8px;\\n    font-weight: 600;\\n  }\\n\\n  & .value {\\n    font-size: 20px;\\n    line-height: 1.1;\\n  }\\n\\n  \", \" \", \";\\n\"]);\n\n  _templateObject22 = function _templateObject22() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject21() {\n  var data = _taggedTemplateLiteral([\"\\n      transform: translate(\", \"%, \", \"%) rotate(\", \"deg);\\n    \"]);\n\n  _templateObject21 = function _templateObject21() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject20() {\n  var data = _taggedTemplateLiteral([\"\\n          & path {\\n            stroke: \", \";\\n          }\\n        \"]);\n\n  _templateObject20 = function _templateObject20() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject19() {\n  var data = _taggedTemplateLiteral([\"\\n          & .dark-handle-custom-fill {\\n            fill: \", \";\\n          }\\n        \"]);\n\n  _templateObject19 = function _templateObject19() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject18() {\n  var data = _taggedTemplateLiteral([\"\\n  \", \" \", \";\\n\"]);\n\n  _templateObject18 = function _templateObject18() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject17() {\n  var data = _taggedTemplateLiteral([\"\\n      transform: translate(\", \"%, \", \"%) rotate(\", \"deg);\\n    \"]);\n\n  _templateObject17 = function _templateObject17() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject16() {\n  var data = _taggedTemplateLiteral([\"\\n          bottom: 0;\\n          left: 0;\\n        \"]);\n\n  _templateObject16 = function _templateObject16() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject15() {\n  var data = _taggedTemplateLiteral([\"\\n          top: 0;\\n          right: 0;\\n        \"]);\n\n  _templateObject15 = function _templateObject15() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject14() {\n  var data = _taggedTemplateLiteral([\"\\n          & path {\\n            stroke: \", \";\\n          }\\n        \"]);\n\n  _templateObject14 = function _templateObject14() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject13() {\n  var data = _taggedTemplateLiteral([\"\\n          & .dark-handle-custom-fill {\\n            fill: \", \";\\n          }\\n        \"]);\n\n  _templateObject13 = function _templateObject13() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject12() {\n  var data = _taggedTemplateLiteral([\"\\n  position: absolute;\\n\\n  \", \"\\n\\n  \", \"\\n\\n  \", \";\\n\"]);\n\n  _templateObject12 = function _templateObject12() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject11() {\n  var data = _taggedTemplateLiteral([\"\\n  /* remove rc-slider-handle styles */\\n  width: auto;\\n  height: auto;\\n  border-radius: unset;\\n  border: none;\\n  background: none !important;\\n  margin: 0 !important;\\n\\n  /* remove rc-slider-handle styles */\\n  box-shadow: none !important;\\n\\n  \", \";\\n\"]);\n\n  _templateObject11 = function _templateObject11() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject10() {\n  var data = _taggedTemplateLiteral([\"\\n  /* remove rc-slider-handle styles */\\n  width: auto;\\n  height: auto;\\n  border-radius: unset;\\n  border: none;\\n  background: none;\\n  margin: 0 !important;\\n\\n  \", \";\\n\"]);\n\n  _templateObject10 = function _templateObject10() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject9() {\n  var data = _taggedTemplateLiteral([\"\\n          left: \", \"%;\\n        \"]);\n\n  _templateObject9 = function _templateObject9() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject8() {\n  var data = _taggedTemplateLiteral([\"\\n          left: 3px;\\n          bottom: \", \"%;\\n        \"]);\n\n  _templateObject8 = function _templateObject8() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject7() {\n  var data = _taggedTemplateLiteral([\"\\n  z-index: 1;\\n\\n  \", \";\\n\"]);\n\n  _templateObject7 = function _templateObject7() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject6() {\n  var data = _taggedTemplateLiteral([\"\\n          bottom: 12px;\\n        \"]);\n\n  _templateObject6 = function _templateObject6() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject5() {\n  var data = _taggedTemplateLiteral([\"\\n          right: 9px;\\n        \"]);\n\n  _templateObject5 = function _templateObject5() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject4() {\n  var data = _taggedTemplateLiteral([\"\\n  \", \";\\n\"]);\n\n  _templateObject4 = function _templateObject4() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n  position: absolute;\\n\\n  /* remove rc-slider-handle styles */\\n  width: auto;\\n  height: auto;\\n  border-radius: unset;\\n  border: none;\\n  background: none;\\n  margin: 0 !important;\\n\\n  \", \";\\n\"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n        box-shadow: none !important;\\n      \"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  \", \";\\n\\n  & .rc-slider-disabled,\\n  .rc-slider-disabled .rc-slider-handle {\\n    background-color: unset !important;\\n  }\\n\\n  & .rc-slider-track {\\n    \", \";\\n  }\\n\\n  /* remove rc-slider-dot styles, which overlap with the marker */\\n  & .rc-slider-dot {\\n    background: none !important;\\n    border: none;\\n    height: unset !important;\\n    width: unset !important;\\n  }\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\n\n\nvar SliderContainer = styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].div(_templateObject(), function (_ref) {\n  var vertical = _ref.vertical,\n      size = _ref.size,\n      fullSize = _ref.fullSize;\n  if (fullSize) return vertical ? 'height: 100%;' : 'width: 100%;';\n  if (size) return vertical ? \"height: \".concat(size, \"px;\") : \"width: \".concat(size, \"px\");\n}, function (_ref2) {\n  var theme = _ref2.theme;\n  return theme.dark && Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject2());\n});\nvar HandleContainer = styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].div(_templateObject3(), function (_ref3) {\n  var isTarget = _ref3.isTarget;\n  return isTarget ? targetHandleContainer : sliderHandleContainer;\n});\nvar targetHandleContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject4(), function (_ref4) {\n  var vertical = _ref4.vertical;\n  return vertical ? Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject5()) : Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject6());\n});\nvar sliderHandleContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject7(), function (_ref5) {\n  var vertical = _ref5.vertical,\n      offset = _ref5.offset;\n  return vertical ? Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject8(), offset) : Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject9(), offset);\n});\n\nvar UnstyledLightHandle = function UnstyledLightHandle(_ref6) {\n  var className = _ref6.className;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n    className: className,\n    width: \"6\",\n    height: \"18\",\n    viewBox: \"0 0 6 18\",\n    version: \"1.1\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    xmlnsXlink: \"http://www.w3.org/1999/xlink\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n    fillRule: \"evenodd\",\n    clipRule: \"evenodd\",\n    d: \"M 4.61171 15.9753L 5.33436 2.96765C 5.40881 1.62753 4.34219 0.5 3 0.5C 1.65781 0.5 0.591189 1.62753 0.66564 2.96765L 1.38829 15.9753C 1.43581 16.8307 2.14329 17.5 3 17.5C 3.85671 17.5 4.56419 16.8307 4.61171 15.9753Z\",\n    strokeMiterlimit: \"8\",\n    fill: \"#fff\"\n  }));\n};\n\nvar Handle = function Handle(props) {\n  return props.theme.dark ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(DarkHandle, props) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(LightHandle, props);\n};\nvar LightHandle = Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(UnstyledLightHandle)(_templateObject10(), function (_ref7) {\n  var isTarget = _ref7.isTarget;\n  return isTarget ? targetHandle : sliderHandle;\n});\nvar DarkHandle = Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_shared_DarkGradient__WEBPACK_IMPORTED_MODULE_2__[\"UnstyledDarkHandle\"])(_templateObject11(), function (_ref8) {\n  var isTarget = _ref8.isTarget;\n  return isTarget ? targetHandle : sliderHandle;\n});\nvar targetHandle = Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject12(), function (_ref9) {\n  var theme = _ref9.theme,\n      color = _ref9.color;\n  return theme.dark ? Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject13(), color || theme.detail) : Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject14(), color || theme.detail);\n}, function (_ref10) {\n  var vertical = _ref10.vertical;\n  return vertical ? Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject15()) : Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject16());\n}, function (_ref11) {\n  var vertical = _ref11.vertical,\n      theme = _ref11.theme;\n  var deltaX = -50;\n  var deltaY = 55;\n  var rotation = 0;\n\n  if (vertical) {\n    deltaX = theme.dark ? 40 : 0;\n    deltaY = -50;\n    rotation = 270;\n  }\n\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject17(), deltaX, deltaY, rotation);\n});\nvar sliderHandle = Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject18(), function (_ref12) {\n  var theme = _ref12.theme,\n      color = _ref12.color;\n  return theme.dark ? Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject19(), color || theme.primary) : Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject20(), color || theme.primary);\n}, function (_ref13) {\n  var vertical = _ref13.vertical;\n  var deltaX = -50;\n  var deltaY = -40;\n  var rotation = 0;\n\n  if (vertical) {\n    deltaX = -2;\n    deltaY = -50;\n    rotation = 270;\n  }\n\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject21(), deltaX, deltaY, rotation);\n});\nvar targetStyles = {\n  width: 'auto',\n  marginLeft: 0,\n  marginBottom: 0,\n  textAlign: 'center',\n  border: 'none',\n  boxShadow: 'none'\n};\nvar Label = styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].div(_templateObject22(), function (_ref14) {\n  var theme = _ref14.theme;\n  return theme.dark ? darkLabel : lightLabel;\n}, function (_ref15) {\n  var isTarget = _ref15.isTarget;\n  return isTarget ? targetLabel : sliderLabel;\n});\nvar darkLabel = Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject23());\nvar lightLabel = Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject24(), _constants__WEBPACK_IMPORTED_MODULE_3__[\"colors\"].GREY, _constants__WEBPACK_IMPORTED_MODULE_3__[\"colors\"].GREY);\nvar targetLabel = Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject25(), function (_ref16) {\n  var color = _ref16.color,\n      theme = _ref16.theme;\n  return color || theme.detail;\n}, function (_ref17) {\n  var vertical = _ref17.vertical;\n  var offset = vertical ? -9 : -5;\n  return vertical ? Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject26(), offset) : Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject27(), offset);\n});\nvar sliderLabel = Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject28(), function (_ref18) {\n  var color = _ref18.color,\n      theme = _ref18.theme;\n  return color || theme.primary;\n}, function (_ref19) {\n  var vertical = _ref19.vertical;\n  return vertical ? Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject29()) : Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject30());\n}, function (_ref20) {\n  var vertical = _ref20.vertical,\n      label = _ref20.label,\n      value = _ref20.value;\n  var offset = label && (value || value === 0) ? -44 : -22;\n\n  if (vertical) {\n    offset = -3;\n  }\n\n  return vertical ? Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject31(), offset) : Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject32(), offset);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  SliderContainer: SliderContainer,\n  Handle: Handle,\n  targetStyles: targetStyles,\n  Label: Label\n});\n\n/***/ }),\n\n/***/ \"./src/styled/StopButton.styled.js\":\n/*!*****************************************!*\\\n  !*** ./src/styled/StopButton.styled.js ***!\n  \\*****************************************/\n/*! exports provided: Button, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Button\", function() { return Button; });\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./src/styled/constants.js\");\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n  color: #ff6e6e;\\n  background-color: #22272a;\\n\\n  text-shadow: 0 0 2px rgba(0, 0, 0, 0.9), 0 0 9px #ff6e6e;\\n\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.5) 100%);\\n  box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n\\n  display: block;\\n  box-sizing: border-box;\\n  border: none;\\n  border-radius: 2px;\\n  font-weight: bold;\\n  font-size: 12px;\\n  text-transform: uppercase;\\n  padding: 0;\\n  width: \", \";\\n  height: \", \";\\n  text-align: center;\\n  cursor: pointer;\\n  letter-spacing: 0.1;\\n  line-height: 1;\\n\\n  background-color: #22272a;\\n  color: #ff1a1a;\\n\\n  &::before,\\n  &::after {\\n    transition: all 0.1s ease-in;\\n    background-color: #e03a3a;\\n  }\\n\\n  &:hover::before,\\n  &:hover::after {\\n    background-color: #e64545;\\n  }\\n\\n  &:active::before,\\n  &:active::after {\\n    background-color: #c72121;\\n  }\\n\\n  &:hover::after,\\n  &:active::after,\\n  &:focus::after {\\n    box-shadow: none;\\n  }\\n\"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n  color: white;\\n  background-color: #ff5e5e;\\n\\n  display: block;\\n  box-sizing: border-box;\\n  border: none;\\n  border-radius: 2px;\\n  font-weight: bold;\\n  font-size: 12px;\\n  text-transform: uppercase;\\n  padding: 0;\\n  width: \", \";\\n  min-height: \", \";\\n  text-align: center;\\n  cursor: pointer;\\n  letter-spacing: 0.1;\\n  line-height: 1;\\n\\n  &:hover,\\n  &:focus,\\n  &:active {\\n    color: #fff;\\n  }\\n\\n  &:hover {\\n    background-color: #ff8585;\\n  }\\n\\n  &:active {\\n    background-color: #e64545;\\n  }\\n\"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  outline: none;\\n  transition: all 0.1s ease-in;\\n  \", \";\\n\\n  &:disabled {\\n    opacity: \", \";\\n    cursor: not-allowed;\\n  }\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\nvar Button = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].button(_templateObject(), function (_ref) {\n  var theme = _ref.theme;\n  return theme.dark ? darkButton : lightButton;\n}, function (_ref2) {\n  var theme = _ref2.theme;\n  return theme.dark ? 1 : 0.65;\n});\nButton.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\nvar lightButton = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject2(), function (_ref3) {\n  var size = _ref3.size;\n  return \"\".concat(size, \"px\");\n}, function (_ref4) {\n  var size = _ref4.size;\n  return \"\".concat(size * 0.42, \"px\");\n});\nvar darkButton = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject3(), function (_ref5) {\n  var size = _ref5.size;\n  return \"\".concat(size, \"px\");\n}, function (_ref6) {\n  var size = _ref6.size;\n  return \"\".concat(size * 0.42, \"px\");\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (Button);\n\n/***/ }),\n\n/***/ \"./src/styled/Tank.styled.js\":\n/*!***********************************!*\\\n  !*** ./src/styled/Tank.styled.js ***!\n  \\***********************************/\n/*! exports provided: TankContainer, TankFill, TickContainer, Tick, Container, ExceededWarning */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TankContainer\", function() { return TankContainer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TankFill\", function() { return TankFill; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TickContainer\", function() { return TickContainer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Tick\", function() { return Tick; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Container\", function() { return Container; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ExceededWarning\", function() { return ExceededWarning; });\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var color__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! color */ \"./node_modules/color/index.js\");\n/* harmony import */ var color__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(color__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ \"./src/styled/constants.js\");\nfunction _templateObject13() {\n  var data = _taggedTemplateLiteral([\"\\n  color: #dc3545;\\n  font-size: 0.8rem;\\n  text-align: center;\\n  display: block;\\n\"]);\n\n  _templateObject13 = function _templateObject13() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject12() {\n  var data = _taggedTemplateLiteral([\"\\n          margin-top: 8px;\\n          margin-left: \", \";\\n        \"]);\n\n  _templateObject12 = function _templateObject12() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject11() {\n  var data = _taggedTemplateLiteral([\"\\n  display: flex;\\n  flex-direction: row;\\n  justify-content: center;\\n\\n  \", \";\\n\"]);\n\n  _templateObject11 = function _templateObject11() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject10() {\n  var data = _taggedTemplateLiteral([\"\\n          position: absolute;\\n          bottom: \", \";\\n        \"]);\n\n  _templateObject10 = function _templateObject10() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject9() {\n  var data = _taggedTemplateLiteral([\"\\n  \", \" display: flex;\\n  align-items: center;\\n  justify-content: flex-end;\\n  height: 18px;\\n  color: \", \";\\n  & .label {\\n    font-size: 12px;\\n    text-align: right;\\n    margin-right: 4px;\\n    white-space: nowrap;\\n  }\\n\\n  & .tick {\\n    height: 1px;\\n    width: \", \"px;\\n    background: \", \";\\n  }\\n\"]);\n\n  _templateObject9 = function _templateObject9() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject8() {\n  var data = _taggedTemplateLiteral([\"\\n      direction: rtl;\\n    \"]);\n\n  _templateObject8 = function _templateObject8() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject7() {\n  var data = _taggedTemplateLiteral([\"\\n  position: relative;\\n  \", \" display: flex;\\n  flex-direction: column;\\n  justify-content: space-between;\\n  margin-right: 4px;\\n  margin-top: -6px;\\n  margin-bottom: -6px;\\n\"]);\n\n  _templateObject7 = function _templateObject7() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject6() {\n  var data = _taggedTemplateLiteral([\"\\n  background: \", \";\\n\"]);\n\n  _templateObject6 = function _templateObject6() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject5() {\n  var data = _taggedTemplateLiteral([\"\\n  background: \", \";\\n  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 30%, rgba(255, 255, 255, 0.7) 100%);\\n  background-blend-mode: overlay;\\n  box-shadow: 0 0 6px 1px\\n    \", \";\\n\"]);\n\n  _templateObject5 = function _templateObject5() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject4() {\n  var data = _taggedTemplateLiteral([\"\\n  position: absolute;\\n  bottom: 0;\\n  width: 100%;\\n  height: \", \";\\n\\n  border-radius: \", \";\\n  border-radius: 0px;\\n\\n  \", \";\\n\"]);\n\n  _templateObject4 = function _templateObject4() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n  background: \", \";\\n\"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n  background-color: #22272a;\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.5) 100%);\\n  box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n\"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  position: relative;\\n  width: \", \";\\n  height: \", \";\\n  z-index: 2;\\n  border-radius: \", \";\\n\\n  \", \";\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\n\nvar TankContainer = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject(), function (_ref) {\n  var width = _ref.width;\n  return \"\".concat(width, \"px\");\n}, function (_ref2) {\n  var height = _ref2.height;\n  return \"\".concat(height, \"px\");\n}, function (_ref3) {\n  var thermometer = _ref3.thermometer;\n  return thermometer ? '40px' : '0';\n}, function (_ref4) {\n  var theme = _ref4.theme;\n  return theme.dark ? darkTankContainer : lightTankContainer;\n});\nTankContainer.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_2__[\"light\"]\n};\nvar darkTankContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject2());\nvar lightTankContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject3(), function (props) {\n  return props.theme.secondary;\n});\nvar TankFill = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject4(), function (_ref5) {\n  var height = _ref5.height;\n  return height || 0;\n}, function (_ref6) {\n  var thermometer = _ref6.thermometer;\n  return thermometer ? '40px' : '0';\n}, function (_ref7) {\n  var theme = _ref7.theme;\n  return theme.dark ? darkTankFill : lightTankFill;\n});\nTankFill.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_2__[\"light\"]\n};\nvar darkTankFill = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject5(), function (_ref8) {\n  var color = _ref8.color,\n      theme = _ref8.theme;\n  return color || theme.primary;\n}, function (_ref9) {\n  var color = _ref9.color,\n      theme = _ref9.theme;\n  return color__WEBPACK_IMPORTED_MODULE_1___default()(color || theme.primary).alpha(0.7).string();\n});\nvar lightTankFill = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject6(), function (_ref10) {\n  var color = _ref10.color,\n      theme = _ref10.theme;\n  return color || theme.primary;\n});\nvar TickContainer = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject7(), function (_ref11) {\n  var xPositioned = _ref11.xPositioned;\n  return xPositioned && Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject8());\n});\nvar Tick = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject9(), function (_ref12) {\n  var xPosition = _ref12.xPosition;\n  return xPosition || xPosition === 0 ? Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject10(), \"calc(\".concat(xPosition, \"% - \").concat(xPosition / 100.0 * 18, \"px)\")) : '';\n}, function (props) {\n  return props.color || (props.theme.dark ? '#ddd' : '#000');\n}, function (props) {\n  return props.width || 4;\n}, function (props) {\n  return props.theme.detail;\n});\nTick.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_2__[\"light\"]\n};\nvar Container = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject11(), function (_ref13) {\n  var thermometer = _ref13.thermometer;\n  return thermometer ? Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject12(), function (_ref14) {\n    var xPositioned = _ref14.xPositioned;\n    return xPositioned ? '-4px' : '-24px';\n  }) : '';\n});\nvar ExceededWarning = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].span(_templateObject13());\n\n/***/ }),\n\n/***/ \"./src/styled/Thermometer.styled.js\":\n/*!******************************************!*\\\n  !*** ./src/styled/Thermometer.styled.js ***!\n  \\******************************************/\n/*! exports provided: ThermometerContainer, Bulb, CurrentValueContainer */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ThermometerContainer\", function() { return ThermometerContainer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Bulb\", function() { return Bulb; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CurrentValueContainer\", function() { return CurrentValueContainer; });\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./src/styled/constants.js\");\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n  display: flex;\\n  width: 100%;\\n  flex-direction: column;\\n  align-items: center;\\n  text-align: center;\\n\\n  & > div {\\n    margin-top: 56px;\\n    line-height: 28px;\\n  }\\n\"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n  width: \", \"px;\\n  height: \", \"px;\\n  border-radius: 50%;\\n  background-color: \", \";\\n  position: absolute;\\n  left: 50%;\\n  transform: translateX(-50%);\\n  bottom: -\", \"px;\\n  z-index: -1;\\n\"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  display: flex;\\n  flex-direction: column;\\n  align-items: center;\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\nvar WIDTH = 20;\nvar ThermometerContainer = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject());\nvar Bulb = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject2(), 1.5 * WIDTH, 1.5 * WIDTH, function (props) {\n  return props.on ? props.color || props.theme.primary : props.theme.secondary;\n}, WIDTH);\nBulb.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\nvar CurrentValueContainer = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject3());\nCurrentValueContainer.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\n\n/***/ }),\n\n/***/ \"./src/styled/ToggleSwitch.styled.js\":\n/*!*******************************************!*\\\n  !*** ./src/styled/ToggleSwitch.styled.js ***!\n  \\*******************************************/\n/*! exports provided: Wrapper, ButtonContainer, Button, DarkSwitchContainer, DarkSwitch, RowContainer, RowLabel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Wrapper\", function() { return Wrapper; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ButtonContainer\", function() { return ButtonContainer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Button\", function() { return Button; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DarkSwitchContainer\", function() { return DarkSwitchContainer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DarkSwitch\", function() { return DarkSwitch; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RowContainer\", function() { return RowContainer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RowLabel\", function() { return RowLabel; });\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _shared_Label_styled__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shared/Label.styled */ \"./src/styled/shared/Label.styled.js\");\nfunction _templateObject20() {\n  var data = _taggedTemplateLiteral([\"\\n  margin: 0;\\n  \", \"\\n  \", \"\\n  \", \"\\n  \", \"\\n\"]);\n\n  _templateObject20 = function _templateObject20() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject19() {\n  var data = _taggedTemplateLiteral([\"\\n  display: flex;\\n  align-items: center;\\n  justify-content: space-around;\\n  flex-direction: \", \";\\n\"]);\n\n  _templateObject19 = function _templateObject19() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject18() {\n  var data = _taggedTemplateLiteral([\"linear-gradient(135deg, rgba(0,0,0,0) 0%, rgba(255,255,255,1) 100%),\\n          linear-gradient(90deg, rgba(0,0,0,0.6) 40%, rgba(255,255,255,0) 100%)\"]);\n\n  _templateObject18 = function _templateObject18() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject17() {\n  var data = _taggedTemplateLiteral([\"linear-gradient(135deg, rgba(255,255,255,0.7) 20%, rgba(0,0,0,0) 100%),\\n          linear-gradient(90deg, rgba(255,255,255,0) 40%, rgba(0,0,0,0.8) 100%)\"]);\n\n  _templateObject17 = function _templateObject17() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject16() {\n  var data = _taggedTemplateLiteral([\"\\n            margin-right: \", \"px;\\n          \"]);\n\n  _templateObject16 = function _templateObject16() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject15() {\n  var data = _taggedTemplateLiteral([\"\\n            margin-left: \", \"px;\\n          \"]);\n\n  _templateObject15 = function _templateObject15() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject14() {\n  var data = _taggedTemplateLiteral([\"radial-gradient(farthest-corner at 0px 0px, rgba(256,255,255,1) 5%, rgba(0,0,0,0.6) 90%)\"]);\n\n  _templateObject14 = function _templateObject14() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject13() {\n  var data = _taggedTemplateLiteral([\"radial-gradient(farthest-corner at 0px 0px, rgba(256,255,255,1) 5%, rgba(0,0,0,0.6) 90%)\"]);\n\n  _templateObject13 = function _templateObject13() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject12() {\n  var data = _taggedTemplateLiteral([\"\\n  display: block;\\n  position: relative;\\n  margin: 0;\\n  transition: all 100ms ease-in-out;\\n  outline: none;\\n  background: #161616;\\n  height: \", \";\\n  width: \", \";\\n  background-blend-mode: overlay;\\n  background-color: #111;\\n  background-image: ;\\n  background-image: \", \";\\n  box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.9);\\n  border-radius: 2px;\\n\\n  &:disabled {\\n    cursor: not-allowed;\\n  }\\n\\n  &:hover::after,\\n  &:active::after,\\n  &:focus::after {\\n    box-shadow: none;\\n  }\\n\\n  &::before {\\n    content: none;\\n  }\\n\\n  &::after {\\n    transition: all 100ms ease-in-out;\\n    content: '';\\n    position: absolute;\\n    left: 0;\\n    right: 0;\\n    top: 4%;\\n    height: 92%;\\n    width: 92%;\\n    margin: 0 auto;\\n    \", \" background-color: #161616;\\n    background-blend-mode: overlay;\\n    background-image: \", \";\\n    border-radius: 2px;\\n  }\\n\\n  &:hover::after {\\n    background-color: #181818;\\n  }\\n\"]);\n\n  _templateObject12 = function _templateObject12() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject11() {\n  var data = _taggedTemplateLiteral([\"\\n  display: flex;\\n  padding: 2px 4px;\\n  cursor: pointer;\\n  border-radius: 1px;\\n  margin: 0 8px;\\n\\n  background: #22272a;\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.4) 0%, rgba(0, 0, 0, 0.1) 100%);\\n  box-shadow: inset 0 0 8px -1px #000000, inset 0 0 8px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.9), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n\"]);\n\n  _templateObject11 = function _templateObject11() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject10() {\n  var data = _taggedTemplateLiteral([\"\\n  background-color: #141414;\\n  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.5) -20%, rgba(0, 0, 0, 0.7) 100%);\\n  box-shadow: inset 0 0 1px 0 rgba(52, 52, 52, 0.4), inset 0 0 0 1px rgba(0, 0, 0, 0.2),\\n    1px 1px 2px 0px rgba(0, 0, 0, 0.7);\\n\\n  &:hover {\\n    background-color: rgba(0, 0, 0, 0.7);\\n  }\\n\\n  &::before,\\n  &::after {\\n    content: none;\\n  }\\n\"]);\n\n  _templateObject10 = function _templateObject10() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject9() {\n  var data = _taggedTemplateLiteral([\"\\n    border: none;\\n    border: 1px solid \", \";\\n    width: \", \"px;\\n    height: \", \"px;\\n    transform: translateX(\", \"px);\\n  \"]);\n\n  _templateObject9 = function _templateObject9() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject8() {\n  var data = _taggedTemplateLiteral([\"\\n  background: white;\\n  border-radius: 50%;\\n  display: block;\\n  padding: 0;\\n  margin: 0;\\n  transition: all 100ms ease-in-out;\\n  outline: none;\\n  \", \" &:focus, &:active, &:hover {\\n    border: none;\\n    border: \", \";\\n  }\\n\\n  &:disabled {\\n    opacity: \", \";\\n    cursor: not-allowed;\\n  }\\n\\n  \", \";\\n\"]);\n\n  _templateObject8 = function _templateObject8() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject7() {\n  var data = _taggedTemplateLiteral([\"\\n  background: \", \";\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.4) 0%, rgba(0, 0, 0, 0.3) 100%);\\n  box-shadow: inset 0 0 8px -1px #000000, inset 0 0 8px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.9), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n\"]);\n\n  _templateObject7 = function _templateObject7() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject6() {\n  var data = _taggedTemplateLiteral([\"\\n  background: \", \";\\n\"]);\n\n  _templateObject6 = function _templateObject6() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject5() {\n  var data = _taggedTemplateLiteral([\"\\n    width: \", \"px;\\n    cursor: pointer;\\n    padding: \", \"px;\\n    border-radius: \", \"px;\\n    margin-left: \", \"px;\\n    margin-right: \", \"px;\\n  \"]);\n\n  _templateObject5 = function _templateObject5() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject4() {\n  var data = _taggedTemplateLiteral([\"\\n  height: auto;\\n  display: flex;\\n  transition: all 0.1s ease-in;\\n\\n  \", \" \", \";\\n\"]);\n\n  _templateObject4 = function _templateObject4() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n          height: \", \"px;\\n        \"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n    transform: rotate(\", \"deg);\\n  \"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  display: flex;\\n  justify-content: space-around;\\n  align-items: center;\\n  \", \";\\n  \", \"\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\n\nvar Wrapper = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('div')(_templateObject(), function (_ref) {\n  var rotate = _ref.rotate;\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject2(), parseInt(rotate, 10));\n}, function (_ref2) {\n  var rotate = _ref2.rotate,\n      size = _ref2.size;\n  return rotate == -90 ? Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject3(), size) : '';\n});\nvar ButtonContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('div')(_templateObject4(), function (_ref3) {\n  var size = _ref3.size;\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject5(), size, 0.05 * size, size, 0.05 * size, 0.05 * size);\n}, function (_ref4) {\n  var theme = _ref4.theme;\n  return theme.dark ? darkContainer : lightContainer;\n});\nButtonContainer.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\nvar lightContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject6(), function (_ref5) {\n  var on = _ref5.on,\n      theme = _ref5.theme,\n      color = _ref5.color;\n  return on ? color || theme.secondary : theme.secondary;\n});\nvar darkContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject7(), function (_ref6) {\n  var on = _ref6.on,\n      theme = _ref6.theme,\n      color = _ref6.color;\n  return on ? color || theme.secondary : '#22272a';\n});\nvar Button = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].button(_templateObject8(), function (_ref7) {\n  var size = _ref7.size,\n      on = _ref7.on,\n      theme = _ref7.theme;\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject9(), theme.dark ? 'none' : theme.detail, size / 2, size / 2, on ? size - size / 2 : 0);\n}, function (_ref8) {\n  var theme = _ref8.theme;\n  return theme.dark ? 'none' : \"1px solid \".concat(theme.detail);\n}, function (_ref9) {\n  var theme = _ref9.theme;\n  return theme.dark ? 1 : 0.65;\n}, function (_ref10) {\n  var theme = _ref10.theme;\n  return theme.dark ? darkButton : null;\n});\nButton.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\nvar darkButton = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject10());\nvar DarkSwitchContainer = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject11());\nvar DarkSwitch = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].button(_templateObject12(), function (_ref11) {\n  var size = _ref11.size;\n  return \"\".concat(size * 0.72, \"px\");\n}, function (_ref12) {\n  var size = _ref12.size;\n  return \"\".concat(size * 1.44, \"px\");\n}, function (_ref13) {\n  var on = _ref13.on;\n  return on ? Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject13()) : Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject14());\n}, function (_ref14) {\n  var size = _ref14.size,\n      on = _ref14.on;\n  var margin = size * 0.08;\n  return on ? Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject15(), margin) : Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject16(), margin);\n}, function (_ref15) {\n  var on = _ref15.on;\n  return on ? Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject17()) : Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject18());\n});\nvar RowContainer = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject19(), function (props) {\n  return props.vertical ? 'column-reverse' : 'row';\n});\nvar RowLabel = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_shared_Label_styled__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_templateObject20(), function (_ref16) {\n  var position = _ref16.position,\n      theme = _ref16.theme;\n  return position === 'right' ? \"margin-left: \".concat(theme.dark ? 12 : 8, \"px;\") : '';\n}, function (_ref17) {\n  var position = _ref17.position,\n      theme = _ref17.theme;\n  return position === 'left' ? \"margin-right: \".concat(theme.dark ? 12 : 8, \"px;\") : '';\n}, function (_ref18) {\n  var position = _ref18.position,\n      theme = _ref18.theme;\n  return position === 'top' ? \"margin-bottom: \".concat(theme.dark ? 34 : 20, \"px;\") : '';\n}, function (_ref19) {\n  var position = _ref19.position,\n      theme = _ref19.theme;\n  return position === 'bottom' ? \"margin-top: \".concat(theme.dark ? 34 : 20, \"px;\") : '';\n});\nRowLabel.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\n\n/***/ }),\n\n/***/ \"./src/styled/constants.js\":\n/*!*********************************!*\\\n  !*** ./src/styled/constants.js ***!\n  \\*********************************/\n/*! exports provided: colors, TRACK_TOTAL_DEG, RADIAN, light, dark, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"colors\", function() { return colors; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TRACK_TOTAL_DEG\", function() { return TRACK_TOTAL_DEG; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RADIAN\", function() { return RADIAN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"light\", function() { return light; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dark\", function() { return dark; });\nvar colors = {\n  PRIMARY: '#ABE2FB',\n  SECONDARY: '#E6E6E6',\n  DARKER_PRIMARY: '#87ceeb',\n  OFF_WHITE: '#15181A',\n  GREY: '#D3D3D3',\n  RED: '#FF5E5E',\n  DARK_GREY: '#535D63'\n};\nvar TRACK_TOTAL_DEG = 270.0;\nvar RADIAN = Math.PI / 180.0;\nvar light = {\n  primary: colors.PRIMARY,\n  secondary: colors.SECONDARY,\n  detail: colors.GREY,\n  dark: false\n};\nvar dark = {\n  primary: colors.PRIMARY,\n  secondary: colors.DARK_GREY,\n  detail: colors.DARK_GREY,\n  dark: true\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  dark: dark,\n  light: light,\n  colors: colors\n});\n\n/***/ }),\n\n/***/ \"./src/styled/shared/DarkGradient.js\":\n/*!*******************************************!*\\\n  !*** ./src/styled/shared/DarkGradient.js ***!\n  \\*******************************************/\n/*! exports provided: UnstyledDarkHandle, darkLEDDefs, DARK_SEGMENTS, darkDecimal, darkColon, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UnstyledDarkHandle\", function() { return UnstyledDarkHandle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"darkLEDDefs\", function() { return darkLEDDefs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DARK_SEGMENTS\", function() { return DARK_SEGMENTS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"darkDecimal\", function() { return darkDecimal; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"darkColon\", function() { return darkColon; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\nvar UnstyledDarkHandle = function UnstyledDarkHandle(_ref) {\n  var className = _ref.className;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n    className: className,\n    xmlns: \"http://www.w3.org/2000/svg\",\n    width: \"10\",\n    height: \"22\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    fill: \"none\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    filter: \"url(#filter0_di)\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n    className: \"dark-handle-custom-fill\",\n    fill: \"#101010\",\n    d: \"M4.886 1H3.114a2 2 0 0 0-1.997 2.11l.778 14A2 2 0 0 0 3.892 19h.216a2 2 0 0 0 1.997-1.89l.778-14A2 2 0 0 0 4.886 1z\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    fill: \"url(#paint0_linear)\",\n    d: \"M3.886 0H2.114A2 2 0 0 0 .117 2.11l.778 14A2 2 0 0 0 2.892 18h.216a2 2 0 0 0 1.997-1.89l.778-14A2 2 0 0 0 3.886 0z\",\n    transform: \"translate(1 1)\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    fill: \"url(#paint1_radial)\",\n    d: \"M3.886 0H2.114A2 2 0 0 0 .117 2.11l.778 14A2 2 0 0 0 2.892 18h.216a2 2 0 0 0 1.997-1.89l.778-14A2 2 0 0 0 3.886 0z\",\n    transform: \"translate(1 1)\"\n  })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    fillRule: \"evenodd\",\n    clipRule: \"evenodd\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n    className: \"dark-handle-custom-fill\",\n    fill: \"#101010\",\n    d: \"M3.114 1h1.772a2 2 0 0 1 1.997 2.11l-.778 14A2 2 0 0 1 4.108 19h-.216a2 2 0 0 1-1.997-1.89l-.778-14A2 2 0 0 1 3.114 1zm.333 1h1.105A2 2 0 0 1 6.55 4.11l-.673 12.115a1.88 1.88 0 0 1-3.752 0L1.45 4.11A2 2 0 0 1 3.447 2z\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    fill: \"url(#paint2_linear)\",\n    d: \"M2 0h1.772a2 2 0 0 1 1.997 2.11l-.778 14A2 2 0 0 1 2.994 18h-.216A2 2 0 0 1 .78 16.11l-.778-14A2 2 0 0 1 2 0zm.333 1h1.105a2 2 0 0 1 1.997 2.11l-.673 12.115a1.88 1.88 0 0 1-3.753 0L.337 3.11A2 2 0 0 1 2.333 1z\",\n    transform: \"translate(1.114 1)\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n    fill: \"url(#paint3_radial)\",\n    fillOpacity: \".4\",\n    d: \"M2 0h1.772a2 2 0 0 1 1.997 2.11l-.778 14A2 2 0 0 1 2.994 18h-.216A2 2 0 0 1 .78 16.11l-.778-14A2 2 0 0 1 2 0zm.333 1h1.105a2 2 0 0 1 1.997 2.11l-.673 12.115a1.88 1.88 0 0 1-3.753 0L.337 3.11A2 2 0 0 1 2.333 1z\",\n    transform: \"translate(1.114 1)\"\n  }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"defs\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n    id: \"filter0_di\",\n    width: \"9.772\",\n    height: \"22\",\n    x: \".114\",\n    y: \"0\",\n    colorInterpolationFilters: \"sRGB\",\n    filterUnits: \"userSpaceOnUse\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feFlood\", {\n    floodOpacity: \"0\",\n    result: \"BackgroundImageFix\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n    \"in\": \"SourceAlpha\",\n    values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n    dx: \"1\",\n    dy: \"1\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feGaussianBlur\", {\n    stdDeviation: \"1\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n    values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feBlend\", {\n    in2: \"BackgroundImageFix\",\n    result: \"effect1_dropShadow\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feBlend\", {\n    \"in\": \"SourceGraphic\",\n    in2: \"effect1_dropShadow\",\n    result: \"shape\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n    \"in\": \"SourceAlpha\",\n    result: \"hardAlpha\",\n    values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n    dx: \".25\",\n    dy: \".25\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feGaussianBlur\", {\n    stdDeviation: \".5\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n    in2: \"hardAlpha\",\n    k2: \"-1\",\n    k3: \"1\",\n    operator: \"arithmetic\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n    values: \"0 0 0 0 0.204294 0 0 0 0 0.204294 0 0 0 0 0.204294 0 0 0 0.395267 0\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feBlend\", {\n    in2: \"shape\",\n    result: \"effect2_innerShadow\"\n  })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"linearGradient\", {\n    id: \"paint0_linear\",\n    x2: \"1\",\n    gradientTransform: \"matrix(4.19709 12.8041 -4.26804 12.5913 .947 2.739)\",\n    gradientUnits: \"userSpaceOnUse\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n    stopColor: \"#fff\",\n    stopOpacity: \".55\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n    offset: \"1\",\n    stopOpacity: \".01\"\n  })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"radialGradient\", {\n    id: \"paint1_radial\",\n    cx: \".5\",\n    cy: \".5\",\n    r: \".5\",\n    gradientTransform: \"matrix(8.55956 25.5096 -8.50319 25.6787 .868 -23.103)\",\n    gradientUnits: \"userSpaceOnUse\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n    stopColor: \"#fff\",\n    stopOpacity: \".5\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n    offset: \"1\",\n    stopOpacity: \".5\"\n  })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"linearGradient\", {\n    id: \"paint2_linear\",\n    x2: \"1\",\n    gradientTransform: \"matrix(0 18 -5.77167 0 2.886 0)\",\n    gradientUnits: \"userSpaceOnUse\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n    stopColor: \"#fff\",\n    stopOpacity: \".5\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n    offset: \"1\",\n    stopOpacity: \".01\"\n  })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"radialGradient\", {\n    id: \"paint3_radial\",\n    cx: \".5\",\n    cy: \".5\",\n    r: \".5\",\n    gradientTransform: \"matrix(0 36 -11.5433 0 8.658 -18)\",\n    gradientUnits: \"userSpaceOnUse\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n    stopColor: \"#fff\",\n    stopOpacity: \".5\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n    offset: \"1\",\n    stopOpacity: \".5\"\n  }))));\n};\nvar darkGradientDefs = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"defs\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"linearGradient\", {\n  id: \"l\",\n  x1: \"15.78%\",\n  x2: \"85.732%\",\n  y1: \"15.214%\",\n  y2: \"86.348%\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"0%\",\n  stopColor: \"#FFFFFF\",\n  stopOpacity: \".55\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"100%\",\n  stopColor: \"#000000\",\n  stopOpacity: \"0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"radialGradient\", {\n  id: \"m\",\n  cx: \"14.944%\",\n  cy: \"13.839%\",\n  r: \"100.544%\",\n  fx: \"14.944%\",\n  fy: \"13.839%\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"0%\",\n  stopColor: \"#FFFFFF\",\n  stopOpacity: \".5\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"100%\",\n  stopColor: \"#000000\",\n  stopOpacity: \".5\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"n\",\n  width: \"101.7%\",\n  height: \"101.7%\",\n  x: \"-.8%\",\n  y: \"-.8%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feGaussianBlur\", {\n  \"in\": \"SourceAlpha\",\n  result: \"shadowBlurInner1\",\n  stdDeviation: \".5\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dx: \".25\",\n  dy: \".25\",\n  \"in\": \"shadowBlurInner1\",\n  result: \"shadowOffsetInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner1\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner1\",\n  values: \"0 0 0 0 0.204294218 0 0 0 0 0.204294218 0 0 0 0 0.204294218 0 0 0 0.39526721 0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"r\",\n  width: \"550%\",\n  height: \"218.8%\",\n  x: \"-225%\",\n  y: \"-56.2%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dy: \".5\",\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetOuter1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowOffsetOuter1\",\n  result: \"shadowMatrixOuter1\",\n  values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.46 0\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetOuter2\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feGaussianBlur\", {\n  \"in\": \"shadowOffsetOuter2\",\n  result: \"shadowBlurOuter2\",\n  stdDeviation: \"1.5\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowBlurOuter2\",\n  result: \"shadowMatrixOuter2\",\n  values: \"0 0 0 0 0.529411765 0 0 0 0 0.807843137 0 0 0 0 0.921568627 0 0 0 0.4512851 0\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feMerge\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feMergeNode\", {\n  \"in\": \"shadowMatrixOuter1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feMergeNode\", {\n  \"in\": \"shadowMatrixOuter2\"\n}))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"t\",\n  width: \"425%\",\n  height: \"187.5%\",\n  x: \"-162.5%\",\n  y: \"-40.6%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dy: \".5\",\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner1\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner1\",\n  values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.4 0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"linearGradient\", {\n  id: \"p\",\n  x1: \"0%\",\n  x2: \"0%\",\n  y1: \"100%\",\n  y2: \"100%\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"0%\",\n  stopColor: \"#FFFFFF\",\n  stopOpacity: \".5\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"100%\",\n  stopColor: \"#000000\",\n  stopOpacity: \"0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"radialGradient\", {\n  id: \"q\",\n  cy: \"0%\",\n  r: \"100%\",\n  fx: \"0%\",\n  fy: \"0%\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"0%\",\n  stopColor: \"#FFFFFF\",\n  stopOpacity: \".5\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"100%\",\n  stopColor: \"#000000\",\n  stopOpacity: \".5\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"a\",\n  width: \"100.4%\",\n  height: \"100.5%\",\n  x: \"-.1%\",\n  y: \"-.1%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feMorphology\", {\n  \"in\": \"SourceAlpha\",\n  operator: \"dilate\",\n  radius: \".05\",\n  result: \"shadowSpreadOuter1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dx: \".1\",\n  dy: \".1\",\n  \"in\": \"shadowSpreadOuter1\",\n  result: \"shadowOffsetOuter1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowOffsetOuter1\",\n  values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.11291327 0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"d\",\n  width: \"102.5%\",\n  height: \"102.8%\",\n  x: \"-1.1%\",\n  y: \"-1.3%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feGaussianBlur\", {\n  \"in\": \"SourceAlpha\",\n  result: \"shadowBlurInner1\",\n  stdDeviation: \".25\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  \"in\": \"shadowBlurInner1\",\n  result: \"shadowOffsetInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner1\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner1\",\n  result: \"shadowMatrixInner1\",\n  values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feGaussianBlur\", {\n  \"in\": \"SourceAlpha\",\n  result: \"shadowBlurInner2\",\n  stdDeviation: \"1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  \"in\": \"shadowBlurInner2\",\n  result: \"shadowOffsetInner2\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner2\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner2\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner2\",\n  result: \"shadowMatrixInner2\",\n  values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feMerge\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feMergeNode\", {\n  \"in\": \"shadowMatrixInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feMergeNode\", {\n  \"in\": \"shadowMatrixInner2\"\n}))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"linearGradient\", {\n  id: \"c\",\n  x1: \"50%\",\n  x2: \"50%\",\n  y1: \"0%\",\n  y2: \"100%\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"0%\",\n  stopColor: \"#FFFFFF\",\n  stopOpacity: \".5\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"100%\",\n  stopColor: \"#323a3e\",\n  stopOpacity: \".2\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"e\",\n  width: \"171%\",\n  height: \"117.7%\",\n  x: \"-35.5%\",\n  y: \"-8.8%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetOuter1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feGaussianBlur\", {\n  \"in\": \"shadowOffsetOuter1\",\n  result: \"shadowBlurOuter1\",\n  stdDeviation: \"2\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowBlurOuter1\",\n  values: \"0 0 0 0 0.529411765 0 0 0 0 0.807843137 0 0 0 0 0.921568627 0 0 0 0.5 0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"radialGradient\", {\n  id: \"g\",\n  cx: \"90.826%\",\n  cy: \"1.233%\",\n  r: \"154.848%\",\n  fx: \"90.826%\",\n  fy: \"1.233%\",\n  gradientTransform: \"scale(1 .24903) rotate(72.947 .883 .03)\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"0%\",\n  stopColor: \"#FFFFFF\",\n  stopOpacity: \".7\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"100%\",\n  stopColor: \"#000000\"\n})));\nvar darkLEDDefs = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"defs\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"darkLED-a\",\n  width: \"111.8%\",\n  height: \"107.8%\",\n  x: \"-2.9%\",\n  y: \"-2%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dx: \"1\",\n  dy: \"1\",\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetOuter1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feGaussianBlur\", {\n  \"in\": \"shadowOffsetOuter1\",\n  result: \"shadowBlurOuter1\",\n  stdDeviation: \".5\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowBlurOuter1\",\n  result: \"shadowMatrixOuter1\",\n  values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feMerge\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feMergeNode\", {\n  \"in\": \"shadowMatrixOuter1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feMergeNode\", {\n  \"in\": \"SourceGraphic\"\n}))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"radialGradient\", {\n  id: \"darkLED-c\",\n  cx: \"0%\",\n  cy: \"0%\",\n  r: \"141.421%\",\n  fx: \"0%\",\n  fy: \"0%\",\n  gradientTransform: \"matrix(.22147 .22147 -.0503 .97517 0 0)\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"0%\",\n  stopColor: \"#FFF\",\n  stopOpacity: \".5\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"100%\",\n  stopOpacity: \".6\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"linearGradient\", {\n  id: \"darkLED-d\",\n  x1: \"0%\",\n  y1: \"0%\",\n  y2: \"100%\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"0%\",\n  stopColor: \"#FFF\",\n  stopOpacity: \".5\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"100%\",\n  stopOpacity: \"0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n  id: \"darkLED-b\",\n  d: \"M5.71 5.181L3.308 2.778 5.71.375h16.357l2.403 2.403-2.403 2.403z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"darkLED-e\",\n  width: \"101.2%\",\n  height: \"105.2%\",\n  x: \"-.6%\",\n  y: \"-2.6%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dx: \".25\",\n  dy: \".25\",\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner1\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner1\",\n  values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"radialGradient\", {\n  id: \"darkLED-g\",\n  cx: \"0%\",\n  cy: \"0%\",\n  r: \"141.421%\",\n  fx: \"0%\",\n  fy: \"0%\",\n  gradientTransform: \"matrix(.22147 .22147 -.97517 .0503 0 0)\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"0%\",\n  stopColor: \"#FFF\",\n  stopOpacity: \".5\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"100%\",\n  stopOpacity: \".6\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n  id: \"darkLED-f\",\n  d: \"M22.597 5.71L25 3.308l2.403 2.402v16.357L25 24.47l-2.403-2.403z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"darkLED-h\",\n  width: \"105.2%\",\n  height: \"101.2%\",\n  x: \"-2.6%\",\n  y: \"-.6%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dx: \".25\",\n  dy: \".25\",\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner1\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner1\",\n  values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"radialGradient\", {\n  id: \"darkLED-j\",\n  cx: \"0%\",\n  cy: \"0%\",\n  r: \"141.421%\",\n  fx: \"0%\",\n  fy: \"0%\",\n  gradientTransform: \"scale(1 .22711) rotate(77.204)\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"0%\",\n  stopColor: \"#FFF\",\n  stopOpacity: \".5\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"100%\",\n  stopOpacity: \".6\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n  id: \"darkLED-i\",\n  d: \"M22.597 27.933L25 25.53l2.403 2.403v16.356L25 46.692l-2.403-2.403z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"darkLED-k\",\n  width: \"105.2%\",\n  height: \"101.2%\",\n  x: \"-2.6%\",\n  y: \"-.6%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dx: \".25\",\n  dy: \".25\",\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner1\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner1\",\n  values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n  id: \"darkLED-l\",\n  d: \"M22.067 44.819l2.403 2.403-2.403 2.403H5.71l-2.402-2.403 2.402-2.403z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"darkLED-m\",\n  width: \"101.2%\",\n  height: \"105.2%\",\n  x: \"-.6%\",\n  y: \"-2.6%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dx: \".25\",\n  dy: \".25\",\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner1\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner1\",\n  values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n  id: \"darkLED-n\",\n  d: \"M5.181 44.289l-2.403 2.403-2.403-2.403V27.933l2.403-2.403 2.403 2.403z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"darkLED-o\",\n  width: \"105.2%\",\n  height: \"101.2%\",\n  x: \"-2.6%\",\n  y: \"-.6%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dx: \".25\",\n  dy: \".25\",\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner1\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner1\",\n  values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n  id: \"darkLED-p\",\n  d: \"M5.181 22.067L2.778 24.47.375 22.067V5.71l2.403-2.402L5.181 5.71z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"darkLED-q\",\n  width: \"105.2%\",\n  height: \"101.2%\",\n  x: \"-2.6%\",\n  y: \"-.6%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dx: \".25\",\n  dy: \".25\",\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner1\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner1\",\n  values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n  id: \"darkLED-r\",\n  d: \"M5.71 27.403L3.308 25l2.402-2.403h16.357L24.47 25l-2.403 2.403z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"darkLED-s\",\n  width: \"101.2%\",\n  height: \"105.2%\",\n  x: \"-.6%\",\n  y: \"-2.6%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dx: \".25\",\n  dy: \".25\",\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner1\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner1\",\n  values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"radialGradient\", {\n  id: \"darkLED-u\",\n  cx: \"0%\",\n  cy: \"0%\",\n  r: \"141.421%\",\n  fx: \"0%\",\n  fy: \"0%\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"0%\",\n  stopColor: \"#FFF\",\n  stopOpacity: \".5\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"100%\",\n  stopOpacity: \".6\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n  id: \"darkLED-t\",\n  d: \"M31 50.625a2.625 2.625 0 1 1 0-5.25 2.625 2.625 0 0 1 0 5.25z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n  id: \"darkLED-y\",\n  d: \"M35,40.625 C33.5502525,40.625 32.375,39.4497475 32.375,38 C32.375,36.5502525 33.5502525,35.375 35,35.375 C36.4497475,35.375 37.625,36.5502525 37.625,38 C37.625,39.4497475 36.4497475,40.625 35,40.625 Z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"darkLED-v\",\n  width: \"104.8%\",\n  height: \"104.8%\",\n  x: \"-2.4%\",\n  y: \"-2.4%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dx: \".25\",\n  dy: \".25\",\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner1\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner1\",\n  values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n  id: \"darkLED-w\",\n  d: \"M35,13.625 C33.5502525,13.625 32.375,12.4497475 32.375,11 C32.375,9.55025253 33.5502525,8.375 35,8.375 C36.4497475,8.375 37.625,9.55025253 37.625,11 C37.625,12.4497475 36.4497475,13.625 35,13.625 Z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"darkLED-x\",\n  width: \"104.8%\",\n  height: \"104.8%\",\n  x: \"-2.4%\",\n  y: \"-2.4%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dx: \".25\",\n  dy: \".25\",\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner1\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner1\",\n  values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n})));\nvar A = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  className: \"darkLED-fill\",\n  xlinkHref: \"#darkLED-b\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-c)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-b\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-d)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-b\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"#000\",\n  filter: \"url(#darkLED-e)\",\n  xlinkHref: \"#darkLED-b\"\n}));\nvar B = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  className: \"darkLED-fill\",\n  xlinkHref: \"#darkLED-f\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-g)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-f\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-d)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-f\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"#000\",\n  filter: \"url(#darkLED-h)\",\n  xlinkHref: \"#darkLED-f\"\n}));\nvar C = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  className: \"darkLED-fill\",\n  xlinkHref: \"#darkLED-i\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-j)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-i\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-d)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-i\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"#000\",\n  filter: \"url(#darkLED-k)\",\n  xlinkHref: \"#darkLED-i\"\n}));\nvar D = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  className: \"darkLED-fill\",\n  xlinkHref: \"#darkLED-l\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-c)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-l\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-d)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-l\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"#000\",\n  filter: \"url(#darkLED-m)\",\n  xlinkHref: \"#darkLED-l\"\n}));\nvar E = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  className: \"darkLED-fill\",\n  xlinkHref: \"#darkLED-n\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-j)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-n\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-d)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-n\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"#000\",\n  filter: \"url(#darkLED-o)\",\n  xlinkHref: \"#darkLED-n\"\n}));\nvar F = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  className: \"darkLED-fill\",\n  xlinkHref: \"#darkLED-p\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-g)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-p\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-d)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-p\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"#000\",\n  filter: \"url(#darkLED-q)\",\n  xlinkHref: \"#darkLED-p\"\n}));\nvar G = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  className: \"darkLED-fill\",\n  xlinkHref: \"#darkLED-r\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-c)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-r\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-d)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-r\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"#000\",\n  filter: \"url(#darkLED-s)\",\n  xlinkHref: \"#darkLED-r\"\n})); // See the following link for segment mappings:\n// https://en.wikipedia.org/wiki/Seven-segment_display#/media/File:7_segment_display_labeled.svg\n\nvar DARK_SEGMENTS = {\n  A: A,\n  B: B,\n  C: C,\n  D: D,\n  E: E,\n  F: F,\n  G: G\n};\nvar darkDecimal = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n  fill: \"none\",\n  fillRule: \"evenodd\",\n  filter: \"url(#darkLED-a)\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n  fillRule: \"nonzero\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  className: \"darkLED-fill\",\n  fillRule: \"evenodd\",\n  xlinkHref: \"#darkLED-t\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-u)\",\n  fillRule: \"evenodd\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-t\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-d)\",\n  fillRule: \"evenodd\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-t\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"#000\",\n  filter: \"url(#darkLED-v)\",\n  xlinkHref: \"#darkLED-t\"\n})));\nvar darkColon = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n  fillRule: \"nonzero\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  className: \"darkLED-fill\",\n  fillRule: \"evenodd\",\n  xlinkHref: \"#darkLED-y\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-u)\",\n  fillRule: \"evenodd\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-y\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-d)\",\n  fillRule: \"evenodd\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-y\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"black\",\n  filter: \"url(#darkLED-v)\",\n  xlinkHref: \"#darkLED-y\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n  fillRule: \"nonzero\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  className: \"darkLED-fill\",\n  fillRule: \"evenodd\",\n  xlinkHref: \"#darkLED-w\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-u)\",\n  fillRule: \"evenodd\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-w\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-d)\",\n  fillRule: \"evenodd\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-w\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"black\",\n  filter: \"url(#darkLED-x)\",\n  xlinkHref: \"#darkLED-w\"\n})));\n/* harmony default export */ __webpack_exports__[\"default\"] = (darkGradientDefs);\n\n/***/ }),\n\n/***/ \"./src/styled/shared/Indicator.styled.js\":\n/*!***********************************************!*\\\n  !*** ./src/styled/shared/Indicator.styled.js ***!\n  \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants */ \"./src/styled/constants.js\");\nfunction _templateObject4() {\n  var data = _taggedTemplateLiteral([\"\\n              background-image: linear-gradient(\\n                145deg,\\n                rgba(255, 255, 255, 0.1) 0%,\\n                rgba(0, 0, 0, 0.5) 100%\\n              );\\n              background-blend-mode: overlay;\\n              box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.5), inset 0 0 4px 0 rgba(0, 0, 0, 0.6),\\n                -1px -1px 0px 0px rgba(0, 0, 0, 0.9), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n            \"]);\n\n  _templateObject4 = function _templateObject4() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n              box-shadow: 0 0 8px 2px \", \", 1px 1px 0px 0px rgba(0, 0, 0, 0.9),\\n                -1px -1px 0px 0px rgba(255, 255, 255, 0.1);\\n            \"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n      width: \", \"px;\\n      height: \", \"px;\\n      background-color: \", \";\\n      \", \"\\n      \", \"\\n    \"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  border-radius: \", \";\\n  transition: all 100ms ease-in-out;\\n  \", \"\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\n\nvar Indicator = Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('div')(_templateObject(), function (_ref) {\n  var rectangular = _ref.rectangular;\n  return rectangular ? '0' : '50%';\n}, function (props) {\n  var color = props.main ? props.on ? props.primary || props.theme.primary : props.secondary || props.theme.secondary : props.on ? props.theme.secondary : props.primary || props.theme.primary;\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject2(), props.width || props.height || props.size, props.height || props.width || props.size, color, props.border ? \"border: 1px solid \".concat(props.on ? color : '#F8F4F4', \";\") : '', props.theme.dark ? props.on && props.main || !props.on && !props.main ? Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject3(), color) : Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject4()) : '');\n});\nIndicator.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_2__[\"light\"]\n};\nIndicator.propTypes = {\n  /**\r\n   * Size of the indicator\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number,\n\n  /**\r\n   * Theme for styling the component\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.object,\n\n  /**\r\n   * Add border for off\r\n   */\n  border: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool,\n\n  /**\r\n   * Color to display when on\r\n   */\n  primary: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n\n  /**\r\n   * Color to display when off\r\n   */\n  secondary: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Indicator);\n\n/***/ }),\n\n/***/ \"./src/styled/shared/Label.styled.js\":\n/*!*******************************************!*\\\n  !*** ./src/styled/shared/Label.styled.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\nfunction _templateObject4() {\n  var data = _taggedTemplateLiteral([\"\\n      \", \"\\n    \"]);\n\n  _templateObject4 = function _templateObject4() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n          margin-top: 8px;\\n        \"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n          margin-bottom: 8px;\\n        \"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  display: block;\\n  font-size: 14px;\\n  \", \"\\n  \", \"\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].label(_templateObject(), function (_ref) {\n  var position = _ref.position;\n  return position === 'top' ? Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject2()) : Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject3());\n}, function (props) {\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject4(), props.css);\n}));\n\n/***/ }),\n\n/***/ \"./src/styled/shared/LabelContainer.styled.js\":\n/*!****************************************************!*\\\n  !*** ./src/styled/shared/LabelContainer.styled.js ***!\n  \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _Label_styled__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Label.styled */ \"./src/styled/shared/Label.styled.js\");\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  display: flex;\\n  align-items: center;\\n  justify-content: space-around;\\n  flex-direction: column;\\n  \", \"\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\n\nvar Container = styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].div(_templateObject(), function (_ref) {\n  var fullSize = _ref.fullSize;\n  if (fullSize) return 'width: 100%;';\n  return '';\n});\n\nfunction LabelContainer(props) {\n  var labelText = props.label;\n  var customLabelStyle = {};\n\n  if (_typeof(props.label) === 'object') {\n    labelText = props.label.label;\n    customLabelStyle = props.label.style;\n  }\n\n  var labelElement = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Label_styled__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n    style: customLabelStyle,\n    css: props.labelCSS,\n    position: props.labelPosition\n  }, labelText && labelText.length ? labelText : ''); // if (labelText && labelText.length) {\n\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Container, {\n    className: props.className,\n    id: props.id,\n    labelPosition: props.labelPosition,\n    fullSize: props.fullSize\n  }, props.labelPosition == 'top' && labelElement, props.children, props.labelPosition != 'top' && labelElement); // }\n  // return <div>{props.children}</div>;\n}\n\nLabelContainer.defaultProps = {\n  labelPosition: 'bottom'\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (LabelContainer);\n\n/***/ }),\n\n/***/ \"prop-types\":\n/*!****************************!*\\\n  !*** external \"PropTypes\" ***!\n  \\****************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n(function() { module.exports = window[\"PropTypes\"]; }());\n\n/***/ }),\n\n/***/ \"react\":\n/*!************************!*\\\n  !*** external \"React\" ***!\n  \\************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n(function() { module.exports = window[\"React\"]; }());\n\n/***/ }),\n\n/***/ \"react-dom\":\n/*!***************************!*\\\n  !*** external \"ReactDOM\" ***!\n  \\***************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n(function() { module.exports = window[\"ReactDOM\"]; }());\n\n/***/ })\n\n/******/ });\n//# sourceMappingURL=dash_daq.dev.js.map"
  },
  {
    "path": "dash_daq/package-info.json",
    "content": "{\n  \"name\": \"dash-daq\",\n  \"version\": \"0.6.0\",\n  \"engines\": {\n    \"node\": \">=8\"\n  },\n  \"description\": \"DAQ components for Dash\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git://github.com/plotly/dash-daq.git\"\n  },\n  \"bugs\": {\n    \"url\": \"https://github.com/plotly/dash-daq/issues\"\n  },\n  \"homepage\": \"https://github.com/plotly/dash-daq\",\n  \"main\": \"dash_daq/dash_daq.min.js\",\n  \"author\": \"The Plotly Team <dashdaq@plotly.com>\",\n  \"maintainer\": \"The Plotly Team <dashdaq@plotly.com>\",\n  \"license\": \"MIT\",\n  \"scripts\": {\n    \"copy-lib\": \"copyfiles -u 1 lib/* dash_daq\",\n    \"dash-demo\": \"python demo.py\",\n    \"install-local\": \"pip install -e .\",\n    \"lint\": \"eslint --fix --ignore-path .eslintignore src/\",\n    \"start\": \"npm run build:dev\",\n    \"build:js\": \"webpack --mode production\",\n    \"build:js-dev\": \"webpack --mode development\",\n    \"build:py\": \"python get_version_info.py && yarn copy-lib && dash-generate-components ./src/components dash_daq -p package-info.json\",\n    \"build:r\": \"dash-generate-components ./src/components dash_daq -p package-info.json --r-prefix='daq'\",\n    \"build\": \"npm run test && npm run lint && npm run build:js && npm run build:py && npm run build:r\",\n    \"postbuild\": \"es-check es5 dash_daq/*.js\",\n    \"build:dev\": \"npm run build:js-dev && npm run build:py\",\n    \"build-tarball\": \"npm run build && python setup.py sdist\",\n    \"test\": \"jest src/components/__tests__\",\n    \"test-gauge\": \"jest src/components/__tests__/Gauge.test.js\",\n    \"test:frontend-cov\": \"jest --coverage --silent\",\n    \"test:watch\": \"jest --watch\",\n    \"uninstall-local\": \"pip uninstall dash_daq -y\",\n    \"prettier\": \"yarn prettier-src && yarn prettier-tests\",\n    \"prettier-src\": \"prettier --single-quote --print-width=100 --write src/**/*.js\",\n    \"prettier-tests\": \"prettier --single-quote --print-width=100 --write src/components/__tests__/**/*.js\",\n    \"prettier-restage\": \"git update-index --again\"\n  },\n  \"dependencies\": {\n    \"color\": \"^3.0.0\",\n    \"conic-gradient\": \"^1.0.0\",\n    \"copyfiles\": \"^1.2.0\",\n    \"dash-components-archetype\": \"^0.2.11\",\n    \"deep-equal\": \"^1.0.1\",\n    \"nipplejs\": \"^0.7.1\",\n    \"prop-types\": \"^15.5.9\",\n    \"ramda\": \"^0.25.0\",\n    \"rc-slider\": \"^9.1.0\",\n    \"react\": \"16.13.0\",\n    \"react-color\": \"^2.18.0\",\n    \"react-dom\": \"16.13.0\",\n    \"react-numeric-input\": \"^2.2.3\",\n    \"styled-components\": \"^4.4.0\",\n    \"tinygradient\": \"^0.4.0\",\n    \"webpack\": \"^4.41.0\",\n    \"yarn\": \"^1.22.11\"\n  },\n  \"devDependencies\": {\n    \"@babel/core\": \"^7.6.0\",\n    \"@babel/plugin-syntax-dynamic-import\": \"^7.2.0\",\n    \"@babel/preset-env\": \"^7.6.0\",\n    \"@babel/preset-react\": \"^7.0.0\",\n    \"@plotly/webpack-dash-dynamic-import\": \"^1.1.4\",\n    \"babel-eslint\": \"^10.0.3\",\n    \"babel-loader\": \"^8.0.6\",\n    \"chalk\": \"^2.3.1\",\n    \"css-loader\": \"^3.4.2\",\n    \"dash-components-archetype-dev\": \"^0.2.11\",\n    \"enzyme\": \"^3.10.0\",\n    \"enzyme-adapter-react-16\": \"^1.14.0\",\n    \"es-check\": \"^5.0.0\",\n    \"fs-extra\": \"^5.0.0\",\n    \"identity-obj-proxy\": \"^3.0.0\",\n    \"jest\": \"^24.9.0\",\n    \"jest-canvas-mock\": \"^2.1.1\",\n    \"pre-commit\": \"^1.2.2\",\n    \"prettier\": \"^1.10.2\",\n    \"react-docgen\": \"^3.0.0\",\n    \"react-docgen-markdown-renderer\": \"^1.0.2\",\n    \"react-test-renderer\": \"^16.8.6\",\n    \"sinon\": \"^4.3.0\",\n    \"style-loader\": \"^1.1.3\",\n    \"webpack-cli\": \"^3.3.9\"\n  },\n  \"jest\": {\n    \"coveragePathIgnorePatterns\": [\n      \"<rootDir>/src/styled\",\n      \"<rootDir>/src/helpers\"\n    ],\n    \"testURL\": \"http://localhost\",\n    \"setupFiles\": [\n      \"jest-canvas-mock\"\n    ],\n    \"moduleNameMapper\": {\n      \"\\\\.css\": \"identity-obj-proxy\"\n    }\n  },\n  \"files\": [\n    \"dash_daq/*{.js,.map}\"\n  ],\n  \"pre-commit\": [\n    \"test\",\n    \"prettier\",\n    \"prettier-restage\"\n  ],\n  \"keywords\": [\n    \"dash\",\n    \"daq\",\n    \"components\"\n  ]\n}\n"
  },
  {
    "path": "demo/Demo.react.js",
    "content": "import React, { Component } from 'react';\n\nimport { colors } from '../src/styled/constants';\nimport {\n  BooleanSwitch,\n  ColorPicker,\n  Gauge,\n  GraduatedBar,\n  Indicator,\n  Knob,\n  LEDDisplay,\n  NumericInput,\n  PowerButton,\n  Slider,\n  StopButton,\n  PrecisionInput,\n  Tank,\n  Thermometer,\n  ToggleSwitch,\n  DarkThemeProvider,\n  Joystick\n} from '../src';\n\nclass Demo extends Component {\n  constructor() {\n    super();\n    this.state = {\n      value: 0,\n      color: { hex: colors.PRIMARY },\n      on: false,\n      power: true,\n      dark: false,\n      stop: false,\n      vertical: false,\n      slider: 40\n    };\n\n    this.updateValue = this.updateValue.bind(this);\n    this.updateColor = this.updateColor.bind(this);\n    this.updatePower = this.updatePower.bind(this);\n    this.updateSlider = this.updateSlider.bind(this);\n    this.toggle = this.toggle.bind(this);\n    this.toggleDark = this.toggleDark.bind(this);\n    this.stopPressed = this.stopPressed.bind(this);\n    this.toggleVerticalSwitch = this.toggleVerticalSwitch.bind(this);\n  }\n\n  updateValue({ value }) {\n    this.setState({ value });\n  }\n\n  updateColor({ value }) {\n    this.setState({ color: value });\n  }\n\n  updatePower({ on }) {\n    this.setState({ power: on });\n  }\n\n  updateSlider({ value }) {\n    this.setState({ slider: value });\n  }\n\n  stopPressed() {\n    this.setState({ stop: !this.state.stop });\n  }\n\n  toggle() {\n    this.setState(({ on }) => ({ on: !on }));\n  }\n\n  toggleDark() {\n    this.setState(({ dark }) => ({ dark: !dark }));\n  }\n\n  toggleVerticalSwitch() {\n    this.setState({ vertical: !this.state.vertical });\n  }\n\n  render() {\n    const components = (\n      <div>\n        <h2>Controls</h2>\n        <div\n          style={{\n            width: '90%',\n            display: 'flex',\n            flexDirection: 'row',\n            alignItems: 'center',\n            justifyContent: 'space-between',\n            margin: '0 auto'\n          }}\n        >\n          <Knob\n            id=\"knob-1\"\n            setProps={this.updateValue}\n            value={this.state.value}\n            color={this.state.color.hex}\n            label=\"Knob\"\n            min={0}\n            max={10}\n          />\n          <NumericInput\n            size={88}\n            id=\"numeric-input-1\"\n            className=\"numeric-input\"\n            labelPosition=\"top\"\n            label=\"Numeric Input\"\n          />\n          <NumericInput\n            disabled\n            labelPosition=\"top\"\n            label=\"Numeric Input (disabled)\"\n          />\n          <PrecisionInput\n            precision={2}\n            labelPosition=\"top\"\n            label=\"Decimal Input\"\n          />\n          <StopButton\n            size={72}\n            id=\"stop-button-1\"\n            className=\"stop-button\"\n            label=\"Stop Button\"\n            setProps={this.stopPressed}\n          />\n          <PowerButton\n            size={88}\n            id=\"power-button-1\"\n            className=\"power-button\"\n            labelPosition=\"top\"\n            on={this.state.power}\n            color={this.state.color.hex}\n            setProps={this.updatePower}\n            label=\"Power Button\"\n          />\n        </div>\n        <div\n          style={{\n            width: '90%',\n            display: 'flex',\n            flexDirection: 'row',\n            alignItems: 'center',\n            justifyContent: 'space-between',\n            margin: '4rem auto'\n          }}\n        >\n          <ColorPicker\n            value={this.state.color}\n            setProps={this.updateColor}\n            label=\"Color Picker\"\n          />\n          <ToggleSwitch\n            disabled={true}\n            label=\"Toggle Switch\"\n            labelPosition=\"top\"\n            id=\"toggle-switch-1\"\n            className=\"toggle-switch\"\n            value={this.state.on}\n            color={this.state.color.hex}\n            setProps={this.toggle}\n          />\n          <ToggleSwitch\n            size={24}\n            label={['Off', 'On']}\n            vertical={true}\n            value={this.state.on}\n            color={this.state.color.hex}\n            setProps={this.toggle}\n          />\n          <BooleanSwitch\n            size={88}\n            id=\"boolean-switch-1\"\n            className=\"boolean-switch\"\n            value={false}\n            color={this.state.color.hex}\n            label=\"Boolean Switch\"\n            labelPosition=\"top\"\n          />\n          <BooleanSwitch\n            id=\"boolean-switch-2\"\n            color={'#ff5e5e'}\n            vertical={true}\n            on={this.state.vertical}\n            label=\"Vertical\"\n            labelPosition=\"bottom\"\n            setProps={this.toggleVerticalSwitch}\n          />\n          <Joystick setProps={() => null} />\n        </div>\n        <div\n          style={{\n            width: '60%',\n            display: 'flex',\n            flexDirection: 'row',\n            alignItems: 'center',\n            justifyContent: 'space-between',\n            margin: '0 auto'\n          }}\n        >\n          <Slider\n            label=\"Slider\"\n            labelPosition=\"top\"\n            color={this.state.color.hex}\n            value={this.state.slider}\n            size={300}\n            min={0}\n            max={100}\n            updatemode=\"drag\"\n            setProps={this.updateSlider}\n            targets={{\n              100: '',\n              75: { showCurrentValue: false, label: 'TARGET', color: '#685' }\n            }}\n            marks={{ 25: 'mark', 50: '50' }}\n            handleLabel={{ showCurrentValue: true, label: 'VALUE' }}\n          />\n          <LEDDisplay value=\"0.12345\" color={this.state.color.hex} size={63} />\n        </div>\n        <h2>Indicators</h2>\n        <div\n          style={{\n            width: '90%',\n            display: 'flex',\n            flexDirection: 'row',\n            alignItems: 'center',\n            justifyContent: 'space-between',\n            margin: '0 auto'\n          }}\n        >\n          <Gauge\n            showCurrentValue={true}\n            id=\"gauge-1\"\n            className=\"gauge-1\"\n            units=\"MPH\"\n            value={this.state.value}\n            color={this.state.color.hex}\n            label=\"Gauge\"\n          />\n          <GraduatedBar\n            min={0}\n            max={10}\n            size={300}\n            id=\"graduated-bar-1\"\n            showCurrentValue={true}\n            className=\"graduated-bar\"\n            value={this.state.value}\n            color={{\n              gradient: true,\n              ranges: { green: [0, 5], yellow: [5, 7], red: [7, 10] }\n            }}\n            label=\"GraduatedBar\"\n          />\n          <Tank\n            showCurrentValue\n            id=\"tank-1\"\n            units=\"Units\"\n            className=\"tank\"\n            value={this.state.value}\n            color={this.state.color.hex}\n            label=\"Tank\"\n          />\n          <Thermometer\n            showCurrentValue\n            id=\"thermometer-1\"\n            className=\"thermometer\"\n            units=\"F\"\n            value={this.state.value}\n            color={this.state.color.hex}\n            label=\"Thermometer\"\n            min={0}\n            max={1}\n          />\n          <Indicator\n            id=\"indicator-2\"\n            label=\"Power\"\n            labelPosition=\"top\"\n            value={this.state.power}\n            color={this.state.color.hex}\n          />\n          <Indicator\n            id=\"indicator-4\"\n            value={this.state.stop}\n            color={this.state.color.hex}\n            width={20}\n            height={20}\n            label=\"Stopped\"\n            labelPosition=\"top\"\n          />\n          <Indicator\n            id=\"indicator-5\"\n            width={20}\n            height={10}\n            label=\"Rectangle\"\n            value={this.state.vertical}\n            color={this.state.color.hex}\n            labelPosition=\"top\"\n          />\n        </div>\n      </div>\n    );\n\n    return (\n      <div>\n        {this.state.dark ? (\n          <link\n            rel=\"stylesheet\"\n            href=\"https://codepen.io/anon/pen/BYEPbO.css\"\n          />\n        ) : (\n          <link\n            rel=\"stylesheet\"\n            href=\"https://codepen.io/plotly/pen/EQZeaW.css\"\n          />\n        )}\n        <h1>dash_daq Demo</h1>\n        {this.state.dark && (\n          <DarkThemeProvider>\n            <BooleanSwitch\n              on={this.state.dark}\n              label=\"Dark Theme\"\n              setProps={this.toggleDark}\n              color=\"black\"\n            />\n          </DarkThemeProvider>\n        )}\n        {!this.state.dark && (\n          <BooleanSwitch\n            on={this.state.dark}\n            label=\"Dark Theme\"\n            setProps={this.toggleDark}\n          />\n        )}\n        <hr />\n        {!this.state.dark && components}\n        {this.state.dark && <DarkThemeProvider>{components}</DarkThemeProvider>}\n      </div>\n    );\n  }\n}\n\nexport default Demo;\n"
  },
  {
    "path": "demo/index.html",
    "content": "<!DOCTYPE html>\n<html>\n    <head>\n        <meta charset=\"UTF-8\" />\n        <link rel=\"stylesheet\" href=\"https://cdn.rawgit.com/chriddyp/abcbc02565dd495b676c3269240e09ca/raw/816de7d5c5d5626e3f3cac8e967070aa15da77e2/rc-slider.css\"/>\n        <script type=\"text/javascript\" src=\"https://unpkg.com/react@15.4.2/dist/react.min.js\"></script>\n        <script type=\"text/javascript\" src=\"https://unpkg.com/react-dom@15.4.2/dist/react-dom.min.js\"></script>\n    </head>\n    <body>\n        <div id=\"react-demo-entry-point\"></div>\n    </body>\n\n    <script type=\"text/javascript\" src=\"/lib/bundle.js\"></script>\n</html>\n"
  },
  {
    "path": "demo/index.js",
    "content": "import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport Demo from './Demo.react';\n\n// Fix for rendering React externally:\n// See https://github.com/gaearon/react-hot-loader/tree/v1.3.1/docs#usage-with-external-react\nconst rootInstance = ReactDOM.render(\n    <Demo/>,\n    document.getElementById('react-demo-entry-point')\n);\n\n/* eslint-disable */\nrequire('react-hot-loader/Injection').RootInstanceProvider.injectProvider({\n/* eslint-enable */\n    getRootInstances: function () {\n      // Help React Hot Loader figure out the root component instances on the page:\n      return [rootInstance];\n    }\n});\n"
  },
  {
    "path": "demo.py",
    "content": "from packaging.version import Version\n\nimport dash\nprint(f\"Dash Version: {dash.__version__}\")\n\nif Version(dash.__version__).major >= 2:\n    from dash import html\n    from dash import dcc\nelse:\n    import dash_html_components as html\n    import dash_core_components as dcc\n\nfrom dash.dependencies import Input, Output, State\n\nfrom dash_daq import (\n    Joystick,\n    BooleanSwitch,\n    ColorPicker,\n    Gauge,\n    GraduatedBar,\n    Indicator,\n    Knob,\n    LEDDisplay,\n    NumericInput,\n    PowerButton,\n    PrecisionInput,\n    Slider,\n    StopButton,\n    Tank,\n    Thermometer,\n    ToggleSwitch,\n    DarkThemeProvider,\n)\n\napp = dash.Dash(\"\")\n\n# TODO: styles are required\n\napp.config.suppress_callback_exceptions = True\napp.scripts.config.serve_locally = True\n\n################ Set up shared layout ################\nroot_layout = html.Div([\n    # original\n    dcc.Location(id='url', refresh=True),\n    html.Div([\n        html.H1('dash_daq Dash Demo'),\n        dcc.Link('Light Theme', href='/', refresh=True),\n        dcc.Link('Dark Theme', href='/dark', refresh=True),\n\n    ], style={'width': '80%', 'marginLeft': '10%', 'marginRight': '10%', 'display': 'flex', 'flexDirection': 'row', 'alignItems': 'center', 'justifyContent': 'space-between'}),\n\n    html.Hr(),\n\n    html.Div([\n        html.Div(id=\"page-content\"),\n        html.Div(\n            [\n                BooleanSwitch(id=\"hiddenBooleanSwitch\"),\n                Gauge(id=\"hiddenGauge\"),\n                GraduatedBar(id=\"hiddenGraduatedBar\"),\n                Indicator(id=\"hiddenIndicator\"),\n                Knob(id=\"hiddenKnob\"),\n                NumericInput(id=\"hiddenNumericInput\"),\n                PowerButton(id=\"hiddenPowerButton\"),\n                StopButton(id=\"hiddenStopButton\"),\n                Tank(id=\"hiddenTank\"),\n                Thermometer(id=\"hiddenThermometer\"),\n                ToggleSwitch(id=\"hiddenToggleSwitch\"),\n                DarkThemeProvider(),\n            ],\n            style={\"display\": \"none\"},\n        ),\n    ])]\n)\n\n################ Set up light layout ################\ncontrols = html.Div(\n    [\n        Joystick(id=\"demojoystick\", label=\"Joystick\", labelPosition=\"bottom\"),\n        Knob(id=\"demoKnob\", label=\"Knob\", min=0, max=15, value=2),\n        NumericInput(id=\"demoNumericInput\", min=1, max=10000, value=100),\n        BooleanSwitch(id=\"demoSwitch\"),\n        ToggleSwitch(id=\"demoToggleSwitch\", value=\"false\", vertical=True),\n        StopButton(id=\"demoStopButton\", n_clicks=0),\n        PowerButton(id=\"demoPowerButton\", on=\"false\", onButtonStyle={\n                    \"backgroundColor\": \"red\"}, offButtonStyle={\"backgroundColor\": \"blue\"}),\n        Slider(\n            id=\"demoSlider\",\n            min=0,\n            max=100,\n            size=200,\n            value=40,\n            marks={0: 0, 50: 50, 100: 100},\n            updatemode=\"drag\",\n            handleLabel={\"label\": \"Current\", \"showCurrentValue\": True},\n            targets={75: \"Threshold\"},\n            color={\n                \"ranges\": {\n                    \"blue\": [0, 50],\n                    \"purple\": [50, 100],\n                },\n                \"gradient\": True,\n            },\n        ),\n        ColorPicker(id=\"demoColorPicker\", value={\"hex\": \"#ade2fa\"}),\n        PrecisionInput(id=\"demoPrecisionInput\", precision=2, value=120),\n    ],\n    style={\n        \"display\": \"flex\",\n        \"flexDirection\": \"row\",\n        \"alignItems\": \"center\",\n        \"justifyContent\": \"space-between\",\n    },\n)\n\n\ndef warning(x, y):\n    return x+\" \"+y\n\n\nindicators = html.Div(\n    [\n        html.Div(\n            [\n                Gauge(\n                    id=\"demoGauge\",\n                    label=\"Gauge\",\n                    logarithmic=True,\n                    min=0,\n                    max=4,\n                    scale={\"start\": 0, \"interval\": 1, \"labelInterval\": 1},\n                    value=1,\n                    showCurrentValue=True,\n                    color={\"gradient\": True, \"default\": \"yellow\",\n                           \"ranges\": {\"red\": [0, 2], \"green\": [2, 4]}}\n                ),\n                Tank(\n                    id=\"demoTank\",\n                    label=\"Tank\",\n                    min=0,\n                    max=10,\n                    value=2,\n                    showCurrentValue=True,\n                    scale={\"custom\": {0: \"Low\", 5: \"Medium\", 10: \"High\"}},\n                    exceedMessage=\"Exceed\",\n                ),\n                Thermometer(\n                    id=\"demoThermometer\", label=\"Thermometer\", min=0, max=10, value=2\n                ),\n                GraduatedBar(\n                    id=\"demoGraduatedBar\",\n                    label=\"GraduatedBar\",\n                    min=0,\n                    max=100,\n                    value=40,\n                ),\n                LEDDisplay(id=\"demoLEDDisplay\", value=\"-1.2\",\n                           backgroundColor=\"#FFFFFF\"),\n                html.Div(\n                    [\n                        html.Div(\n                            [\n                                Indicator(\n                                    id=\"demoBooleanIndicator\",\n                                    label=\"BooleanSwitch Indicator\",\n                                    labelPosition=\"top\",\n                                    value=True,\n                                ),\n                            ],\n                            style={\"height\": \"75px\"},\n                        ),\n                        html.Div(\n                            [\n                                Indicator(\n                                    id=\"demoToggleIndicator\",\n                                    label=\"ToggleSwitch Indicator\",\n                                    labelPosition=\"top\",\n                                    value=False,\n                                )\n                            ],\n                            style={\"height\": \"75px\"},\n                        ),\n                        html.Div(\n                            [\n                                Indicator(\n                                    id=\"demoIndicator\",\n                                    label=\"Stop Button Indicator\",\n                                    labelPosition=\"top\",\n                                    value=True,\n                                )\n                            ],\n                            style={\"height\": \"75px\"},\n                        ),\n                        html.Div(\n                            [\n                                Indicator(\n                                    id=\"demoPowerIndicator\",\n                                    label=\"Power Indicator\",\n                                    labelPosition=\"top\",\n                                    value=False,\n                                )\n                            ],\n                            style={\"height\": \"75px\"},\n                        ),\n                    ],\n                    style={\n                        \"display\": \"flex\",\n                        \"flexDirection\": \"column\",\n                        \"alignItems\": \"center\",\n                        \"justifyContent\": \"space-between\",\n                    },\n                ),\n            ],\n            style={\n                \"display\": \"flex\",\n                \"flexDirection\": \"row\",\n                \"alignItems\": \"center\",\n                \"justifyContent\": \"space-between\",\n            },\n        )\n    ]\n)\n\nlight_layout = html.Div(\n    [\n        html.Link(href=\"https://codepen.io/plotly/pen/EQZeaW.css\",\n                  rel=\"stylesheet\"),\n        html.Div([html.H2(\"Controls\"), controls], style={\"width\": \"80%\"}),\n        html.Br(),\n        html.Br(),\n        html.Div([html.H2(\"Indicators\"), indicators], style={\"width\": \"80%\"}),\n    ],\n    style={\n        \"width\": \"100%\",\n        \"display\": \"flex\",\n        \"flexDirection\": \"column\",\n        \"alignItems\": \"center\",\n        \"justifyContent\": \"center\",\n    },\n)\n\n################ Set up dark layout ################\ndark_controls = html.Div(\n    [\n        Joystick(\n            id=\"dark-demojoystick\",\n            label=\"Joystick\",\n        ),\n        Knob(id=\"dark-demoKnob\", label=\"Knob\", min=0,\n             max=10, value=2, showCurrentValue=True),\n        NumericInput(id=\"dark-demoNumericInput\", min=1, max=10000, value=100),\n        BooleanSwitch(id=\"dark-demoSwitch\"),\n        ToggleSwitch(id=\"dark-demoToggleSwitch\", value=\"false\", vertical=True),\n        StopButton(id=\"dark-demoStopButton\", n_clicks=0),\n        PowerButton(id=\"dark-demoPowerButton\", on=\"false\"),\n        Slider(\n            id=\"dark-demoSlider\",\n            min=0,\n            max=100,\n            size=200,\n            value=40,\n            marks={0: 0, 50: 50, 100: 100},\n            updatemode=\"drag\",\n            handleLabel={\"label\": \"Current\", \"showCurrentValue\": True},\n            targets={75: \"Threshold\"},\n            color={\n                \"ranges\": {\n                    \"blue\": [0, 50],\n                    \"purple\": [50, 100],\n                },\n                \"gradient\": True,\n            },\n        ),\n        ColorPicker(id=\"dark-demoColorPicker\", value={\"hex\": \"#ade2fa\"}),\n        PrecisionInput(id=\"dark-demoPrecisionInput\", precision=2, value=120),\n    ],\n    style={\n        \"display\": \"flex\",\n        \"flexDirection\": \"row\",\n        \"alignItems\": \"center\",\n        \"justifyContent\": \"space-between\",\n    },\n)\n\ndark_indicators = html.Div(\n    [\n        html.Div(\n            [\n                Gauge(\n                    id=\"dark-demoGauge\",\n                    label=\"Gauge\",\n                    logarithmic=True,\n                    min=0,\n                    max=4,\n                    color=\"red\",\n                    scale={\"start\": 0, \"interval\": 1, \"labelInterval\": 1},\n                    value=100,\n                    showCurrentValue=True,\n                ),\n                Tank(\n                    id=\"dark-demoTank\",\n                    label=\"Tank\",\n                    min=0,\n                    max=10,\n                    value=2,\n                    scale={\"custom\": {0: \"Low\", 5: \"Medium\", 10: \"High\"}},\n                    # textColor=\"red\",\n                    showCurrentValue=True\n                ),\n                Thermometer(\n                    id=\"dark-demoThermometer\",\n                    label=\"Thermometer\",\n                    min=0,\n                    max=10,\n                    value=2,\n                ),\n                GraduatedBar(\n                    id=\"dark-demoGraduatedBar\",\n                    label=\"GraduatedBar\",\n                    min=0,\n                    max=100,\n                    value=40,\n                ),\n                LEDDisplay(id=\"dark-demoLEDDisplay\", value=1.2,\n                           backgroundColor=\"#FFFFFF\"),\n                html.Div(\n                    [\n                        html.Div(\n                            [\n                                Indicator(\n                                    id=\"dark-demoBooleanIndicator\",\n                                    label=\"BooleanSwitch Indicator\",\n                                    labelPosition=\"top\",\n                                    value=True,\n                                ),\n                            ],\n                            style={\"height\": \"75px\"},\n                        ),\n                        html.Div(\n                            [\n                                Indicator(\n                                    id=\"dark-demoToggleIndicator\",\n                                    label=\"ToggleSwitch Indicator\",\n                                    labelPosition=\"top\",\n                                    value=False,\n                                )\n                            ],\n                            style={\"height\": \"75px\"},\n                        ),\n                        html.Div(\n                            [\n                                Indicator(\n                                    id=\"dark-demoIndicator\",\n                                    label=\"Stop Button Indicator\",\n                                    labelPosition=\"top\",\n                                    value=True,\n                                )\n                            ],\n                            style={\"height\": \"75px\"},\n                        ),\n                        html.Div(\n                            [\n                                Indicator(\n                                    id=\"dark-demoPowerIndicator\",\n                                    label=\"Power Indicator\",\n                                    labelPosition=\"top\",\n                                    value=False,\n                                )\n                            ],\n                            style={\"height\": \"75px\"},\n                        ),\n                    ],\n                    style={\n                        \"display\": \"flex\",\n                        \"flexDirection\": \"column\",\n                        \"alignItems\": \"center\",\n                        \"justifyContent\": \"space-between\",\n                    },\n                ),\n            ],\n            style={\n                # \"background-color\": \"black\",\n                \"display\": \"flex\",\n                \"flexDirection\": \"row\",\n                \"alignItems\": \"center\",\n                \"justifyContent\": \"space-between\",\n            },\n        )\n    ]\n)\n\ndark_layout = DarkThemeProvider(\n    [\n        html.Link(href=\"https://codepen.io/anon/pen/BYEPbO.css\",\n                  rel=\"stylesheet\"),\n        html.Div(\n            [\n                html.Div([html.H2(\"Controls\"), dark_controls],\n                         style={\"width\": \"80%\"}),\n                html.Br(),\n                html.Br(),\n                html.Div(\n                    [html.H2(\"Indicators\"), dark_indicators], style={\"width\": \"80%\"}\n                ),\n            ],\n            style={\n                \"width\": \"100%\",\n                \"display\": \"flex\",\n                \"flexDirection\": \"column\",\n                \"alignItems\": \"center\",\n                \"justifyContent\": \"center\",\n            },\n        ),\n    ]\n)\n\napp.layout = root_layout\n\n################ Set up shared callbacks ###############\n\n\n@app.callback(Output(\"page-content\", \"children\"), [Input(\"url\", \"pathname\")])\ndef display_page(pathname):\n    if pathname == \"/dark\":\n        return dark_layout\n    else:\n        return light_layout\n\n\n################ Set up light callbacks ################\n@app.callback(Output(\"demoLEDDisplay\", \"value\"), [Input(\"demoPrecisionInput\", \"value\")])\ndef update_LEDDisplay(value):\n    digits = str(value)[:2]\n    return \"-\" + \".\".join(digits)\n\n\n@app.callback(Output(\"demoGauge\", \"value\"), [Input(\"demoNumericInput\", \"value\")])\ndef update_gauge(value):\n    return value\n\n\n@app.callback(Output(\"demoGauge\", \"color\"), [Input(\"demoColorPicker\", \"value\")])\ndef update_gauge_color(value):\n    return value[\"hex\"]\n\n\n@app.callback(Output(\"demoTank\", \"color\"), [Input(\"demoColorPicker\", \"value\")])\ndef update_tank_color(value):\n    return value[\"hex\"]\n\n\n@app.callback(Output(\"demoGraduatedBar\", \"color\"), [Input(\"demoColorPicker\", \"value\")])\ndef update_graduatedBar_color(value):\n    return value[\"hex\"]\n\n\n@app.callback(Output(\"demoThermometer\", \"color\"), [Input(\"demoColorPicker\", \"value\")])\ndef update_thermometer_color(value):\n    return value[\"hex\"]\n\n\n@app.callback(Output(\"demoTank\", \"value\"), [Input(\"demoKnob\", \"value\")])\ndef update_tank(value):\n    return value\n\n\n@app.callback(Output(\"demoThermometer\", \"value\"), [Input(\"demoKnob\", \"value\")])\ndef update_thermometer(value):\n    return value\n\n\n@app.callback(Output(\"demoGraduatedBar\", \"value\"), [Input(\"demoSlider\", \"value\")])\ndef update_graduated_bar(value):\n    return value\n\n\n@app.callback(Output(\"demoBooleanIndicator\", \"value\"), [Input(\"demoSwitch\", \"on\")])\ndef update_boolean_indicator(on):\n    return on\n\n\n@app.callback(\n    Output(\"demoToggleIndicator\", \"value\"), [\n        Input(\"demoToggleSwitch\", \"value\")]\n)\ndef update_boolean_indicator(value):\n    return value\n\n\n@app.callback(\n    Output(\"demoIndicator\", \"value\"),\n    [Input(\"demoStopButton\", \"n_clicks\")],\n    [State(\"demoIndicator\", \"value\")],\n)\ndef update_indicator(_, indicatorState):\n    return not indicatorState\n\n\n@app.callback(Output(\"demoPowerIndicator\", \"value\"), [Input(\"demoPowerButton\", \"on\")])\ndef update_thermometer(on):\n    return on\n\n\n################ Set up dark callbacks ################\n@app.callback(\n    Output(\"dark-demoLEDDisplay\",\n           \"value\"), [Input(\"dark-demoPrecisionInput\", \"value\")]\n)\ndef update_LEDDisplay(value):\n    digits = str(value)[:2]\n    return \"-\" + \".\".join(digits)\n\n\n@app.callback(\n    Output(\"dark-demoGauge\",\n           \"value\"), [Input(\"dark-demoNumericInput\", \"value\")]\n)\ndef dark_update_gauge(value):\n    return value\n\n\n@app.callback(\n    Output(\"dark-demoGauge\", \"color\"), [Input(\"dark-demoColorPicker\", \"value\")]\n)\ndef dark_update_gauge_color(value):\n    return value[\"hex\"]\n\n\n@app.callback(\n    Output(\"dark-demoTank\", \"color\"), [Input(\"dark-demoColorPicker\", \"value\")]\n)\ndef dark_update_tank_color(value):\n    return value[\"hex\"]\n\n\n@app.callback(\n    Output(\"dark-demoGraduatedBar\",\n           \"color\"), [Input(\"dark-demoColorPicker\", \"value\")]\n)\ndef dark_update_graduatedBar_color(value):\n    return value[\"hex\"]\n\n\n@app.callback(\n    Output(\"dark-demoThermometer\",\n           \"color\"), [Input(\"dark-demoColorPicker\", \"value\")]\n)\ndef dark_update_thermometer_color(value):\n    return value[\"hex\"]\n\n\n@app.callback(Output(\"dark-demoTank\", \"value\"), [Input(\"dark-demoKnob\", \"value\")])\ndef dark_update_tank(value):\n    return value\n\n\n@app.callback(\n    Output(\"dark-demoThermometer\", \"value\"), [Input(\"dark-demoKnob\", \"value\")]\n)\ndef dark_update_thermometer(value):\n    return value\n\n\n@app.callback(\n    Output(\"dark-demoGraduatedBar\",\n           \"value\"), [Input(\"dark-demoSlider\", \"value\")]\n)\ndef dark_update_graduated_bar(value):\n    return value\n\n\n@app.callback(\n    Output(\"dark-demoBooleanIndicator\",\n           \"value\"), [Input(\"dark-demoSwitch\", \"on\")]\n)\ndef dark_update_boolean_indicator(on):\n    return on\n\n\n@app.callback(\n    Output(\"dark-demoToggleIndicator\", \"value\"),\n    [Input(\"dark-demoToggleSwitch\", \"value\")],\n)\ndef dark_update_boolean_indicator(value):\n    return value\n\n\n@app.callback(\n    Output(\"dark-demoIndicator\", \"value\"),\n    [Input(\"dark-demoStopButton\", \"n_clicks\")],\n    [State(\"dark-demoIndicator\", \"value\")],\n)\ndef dark_update_indicator(_, indicatorState):\n    return not indicatorState\n\n\n@app.callback(\n    Output(\"dark-demoPowerIndicator\",\n           \"value\"), [Input(\"dark-demoPowerButton\", \"on\")]\n)\ndef dark_update_thermometer(on):\n    return on\n\n\n################ Run Server ################\nif __name__ == \"__main__\":\n    app.run(debug=True)\n"
  },
  {
    "path": "get_version_info.py",
    "content": "import os\nimport json\nimport sys\n\npackage_file = os.path.abspath(os.path.join(os.path.dirname(__file__), 'package.json'))\n\nwith open(package_file) as f:\n    package = json.load(f)\n\npackage_info = dict(\n    name=package['name'].replace(' ', '_').replace('-', '_'),\n    version=package['version'],\n    author=package['author']\n)\n\npackage_info_file = os.path.abspath(os.path.join(\n    os.path.dirname(__file__), os.path.join(\n        'dash_daq', 'package-info.json'\n    )\n))\n\nwith open(package_info_file, 'w') as f:\n    f.write(json.dumps(package_info))\n"
  },
  {
    "path": "inst/deps/async-colorpicker.js",
    "content": "(window.webpackJsonpdash_daq=window.webpackJsonpdash_daq||[]).push([[0],Array(157).concat([function(e,t,r){\"use strict\";r.r(t);var n=r(1),o=r.n(n),a=r(273),i=r(2),u=r(29),l=r.n(u),c=r(3);function f(){var e=_([\"\\n  box-shadow: 0px 0px 8px 2px rgba(100,100,100,0.075),\\n              0px 0px 32px 2px rgba(255,255,255,0.05),\\n              1px 1px 0px 0px rgba(25,25,25,0.6),\\n              -1px -1px 0px 0px rgba(255,255,255,0.2) !important;\\n\\n  & .chrome-picker > div:first-child {\\n    border-radius: 0 !important;\\n  }\\n\\n  & .chrome-picker > div:nth-child(2) {\\n    background: #0a0a0a !important;\\n    border-top: 1px solid rgba(255,255,255,0.075);\\n  }\\n\\n  \",\"\\n  \",\"\\n  \",\"\\n\"]);return f=function(){return e},e}function s(){var e=_([\"\\n  & .chrome-picker input {\\n    font-family: unset !important;\\n    color: #fff !important;\\n    border-radius: 0px !important;\\n    background-color: #22272a !important;\\n    background-image: linear-gradient(\\n      145deg,\\n      rgba(255, 255, 255, 0.05) 0%,\\n      rgba(0, 0, 0, 0.5) 100%\\n    ) !important;\\n    box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\\n      -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1) !important;\\n  }\\n\\n  & .chrome-picker input:focus {\\n    outline: 0 !important;\\n    border: none !important;\\n    background-image: linear-gradient(\\n      145deg,\\n      rgba(255, 255, 255, 0.2) 0%,\\n      rgba(0, 0, 0, 0.4) 100%\\n    ) !important;\\n    box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.6), inset 0 0 4px 0 rgba(0, 0, 0, 0.6),\\n      -1px -1px 0px 0px rgba(0, 0, 0, 0.6), 1px 1px 0px 0px rgba(255, 255, 255, 0.1) !important;\\n  }\\n\"]);return s=function(){return e},e}function p(){var e=_([\"\\n  .chrome-picker .flexbox-fix div:nth-child(2) > div:nth-child(2) > div {\\n    background: #fff !important;\\n  }\\n\"]);return p=function(){return e},e}function d(){var e=_([\"\\n        box-shadow: inset 0 0 1px 0 rgba(52, 52, 52, 0.4), inset 0 0 0 1px rgba(0, 0, 0, 0.2),\\n          0 0 12px 4px \",\" !important;\\n      \"]);return d=function(){return e},e}function h(){var e=_([\"\\n  & .chrome-picker .hue-horizontal > div > div,\\n  .chrome-picker\\n    > div:nth-child(2)\\n    > div:nth-child(1)\\n    > div:nth-child(2)\\n    > div:nth-child(2)\\n    > div\\n    > div:nth-child(3)\\n    > div\\n    > div {\\n    border-radius: 100% !important;\\n    border: none !important;\\n    background: #101010 !important;\\n    background-image: linear-gradient(\\n      135deg,\\n      rgba(255, 255, 255, 0.3) -50%,\\n      rgba(0, 0, 0, 0.7) 100%\\n    ) !important;\\n    transition: all 0.3s ease-in !important;\\n    \",\";\\n  }\\n\"]);return h=function(){return e},e}function b(){var e=_([\"\\n      border: 1px solid \",\";\\n    \"]);return b=function(){return e},e}function v(){var e=_([\"\\n  border-radius: 3px !important;\\n\\n  \",\" \",\";\\n\"]);return v=function(){return e},e}function g(){var e=_([\"\\n        border: 1px solid \",\" !important;\\n      \"]);return g=function(){return e},e}function x(){var e=_([\"\\n  & .chrome-picker .hue-horizontal > div > div,\\n  .chrome-picker\\n    > div:nth-child(2)\\n    > div:nth-child(1)\\n    > div:nth-child(2)\\n    > div:nth-child(2)\\n    > div\\n    > div:nth-child(3)\\n    > div\\n    > div {\\n    box-shadow: none !important;\\n    background-color: #fff;\\n    border-radius: 100% !important;\\n    \",\";\\n  }\\n\"]);return x=function(){return e},e}function y(){var e=_([\"\\n        width: \",\"px !important;\\n      \"]);return y=function(){return e},e}function m(){var e=_([\"\\n      opacity: \",\";\\n      cursor: not-allowed !important;\\n      & .chrome-picker {\\n        pointer-events: none !important;\\n      }\\n    \"]);return m=function(){return e},e}function w(){var e=_([\"\\n  \",\" & .chrome-picker {\\n    font-family: unset !important;\\n    box-shadow: none !important;\\n    \",\";\\n  }\\n\\n  & .chrome-picker svg {\\n    background: unset !important;\\n  }\\n\\n  & .chrome-picker svg:hover path {\\n    fill: \",\";\\n  }\\n\\n  \",\";\\n\"]);return w=function(){return e},e}function _(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var j=i.c.div(w(),(function(e){var t=e.disabled,r=e.theme;return t&&Object(i.b)(m(),r.dark?1:.65)}),(function(e){var t=e.size;return Object(i.b)(y(),t)}),(function(e){var t=e.theme;return e.color||t.primary}),(function(e){return e.theme.dark?P:E})),O=Object(i.b)(x(),(function(e){var t=e.theme;return Object(i.b)(g(),t.detail)})),E=Object(i.b)(v(),O,(function(e){var t=e.theme;return Object(i.b)(b(),t.detail)})),C=Object(i.b)(h(),(function(e){var t=e.glow;return Object(i.b)(d(),t)})),k=Object(i.b)(p()),S=Object(i.b)(s()),P=Object(i.b)(f(),C,S,k);j.defaultProps={theme:c.e};var M=r(7),B=r(61),A=r(4);function F(e){return(F=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function R(){return(R=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function T(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function z(e){return(z=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function H(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function D(e,t){return(D=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var L=c.c.PRIMARY,G=function(e){if((e=e||{}).rgb){var t=Object.values(e.rgb);return\"rgba(\".concat(t[0],\", \").concat(t[1],\", \").concat(t[2],\", \").concat(t[3],\")\")}return e.hex?l()(e.hex).rgb().string():L},I=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t),(r=function(e,t){return!t||\"object\"!==F(t)&&\"function\"!=typeof t?H(e):t}(this,z(t).call(this,e))).state={value:e.value},r.calcHandleGlow=r.calcHandleGlow.bind(H(r)),r.setValue=r.setValue.bind(H(r)),r}var r,n,i;return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&D(e,t)}(t,e),r=t,(n=[{key:\"UNSAFE_componentWillReceiveProps\",value:function(e){e.value!==this.state.value&&this.setState({value:e.value})}},{key:\"calcHandleGlow\",value:function(){return l()(G(this.state.value)).fade(.5).string()}},{key:\"setValue\",value:function(e){if(null!=e){var t={hex:e.hex,rgb:e.rgb};this.setState({value:t}),this.props.setProps&&this.props.setProps({value:t})}}},{key:\"render\",value:function(){var e=this.props,t=e.id,r=e.className,n=e.style,i=e.theme,u=Object(A.a)(\"colorpicker\",i),l=Object(A.b)(this.props);return o.a.createElement(\"div\",{id:t,className:u+(r?\" \"+r:\"\"),style:n},o.a.createElement(M.a,R({className:u+\"__label\"},l),o.a.createElement(j,R({className:u+\"__container\"},l,{glow:this.calcHandleGlow}),o.a.createElement(a.ChromePicker,{className:u+\"__chromepicker\",color:G(this.state.value),onChangeComplete:this.setValue}))))}}])&&T(r.prototype,n),i&&T(r,i),t}(n.Component);I.defaultProps=B.b,I.propTypes=B.c;t.default=Object(i.d)(I)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ReactCSS=t.loop=t.handleActive=t.handleHover=t.hover=void 0;var n=c(r(275)),o=c(r(351)),a=c(r(377)),i=c(r(378)),u=c(r(379)),l=c(r(380));function c(e){return e&&e.__esModule?e:{default:e}}t.hover=i.default,t.handleHover=i.default,t.handleActive=u.default,t.loop=l.default;var f=t.ReactCSS=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];var u=(0,n.default)(r),l=(0,o.default)(e,u);return(0,a.default)(l)};t.default=f},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=r(381);Object.defineProperty(t,\"Alpha\",{enumerable:!0,get:function(){return s(n).default}});var o=r(212);Object.defineProperty(t,\"Checkboard\",{enumerable:!0,get:function(){return s(o).default}});var a=r(384);Object.defineProperty(t,\"EditableInput\",{enumerable:!0,get:function(){return s(a).default}});var i=r(385);Object.defineProperty(t,\"Hue\",{enumerable:!0,get:function(){return s(i).default}});var u=r(387);Object.defineProperty(t,\"Raised\",{enumerable:!0,get:function(){return s(u).default}});var l=r(447);Object.defineProperty(t,\"Saturation\",{enumerable:!0,get:function(){return s(l).default}});var c=r(263);Object.defineProperty(t,\"ColorWrap\",{enumerable:!0,get:function(){return s(c).default}});var f=r(462);function s(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"Swatch\",{enumerable:!0,get:function(){return s(f).default}})},function(e,t,r){var n=r(388),o=r(438)((function(e,t,r){n(e,t,r)}));e.exports=o},function(e,t){var r=Array.isArray;e.exports=r},function(e,t,r){var n=r(251),o=\"object\"==typeof self&&self&&self.Object===Object&&self,a=n||o||Function(\"return this\")();e.exports=a},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}},function(e,t){var r=Array.isArray;e.exports=r},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.red=t.getContrastingColor=t.isValidHex=t.toState=t.simpleCheckForValidColor=void 0;var n=a(r(454)),o=a(r(62));function a(e){return e&&e.__esModule?e:{default:e}}t.simpleCheckForValidColor=function(e){var t=0,r=0;return(0,n.default)([\"r\",\"g\",\"b\",\"a\",\"h\",\"s\",\"l\",\"v\"],(function(n){if(e[n]&&(t+=1,isNaN(e[n])||(r+=1),\"s\"===n||\"l\"===n)){/^\\d+%$/.test(e[n])&&(r+=1)}})),t===r&&e};var i=t.toState=function(e,t){var r=e.hex?(0,o.default)(e.hex):(0,o.default)(e),n=r.toHsl(),a=r.toHsv(),i=r.toRgb(),u=r.toHex();return 0===n.s&&(n.h=t||0,a.h=t||0),{hsl:n,hex:\"000000\"===u&&0===i.a?\"transparent\":\"#\"+u,rgb:i,hsv:a,oldHue:e.h||t||n.h,source:e.source}};t.isValidHex=function(e){var t=\"#\"===String(e).charAt(0)?1:0;return e.length!==4+t&&e.length<7+t&&(0,o.default)(e).isValid()},t.getContrastingColor=function(e){if(!e)return\"#fff\";var t=i(e);return\"transparent\"===t.hex?\"rgba(0,0,0,0.4)\":(299*t.rgb.r+587*t.rgb.g+114*t.rgb.b)/1e3>=128?\"#000\":\"#fff\"},t.red={hsl:{a:1,h:0,l:.5,s:1},hex:\"#ff0000\",rgb:{r:255,g:0,b:0,a:1},hsv:{h:0,s:1,v:1,a:1}};t.default=t},function(e,t,r){var n=r(226),o=\"object\"==typeof self&&self&&self.Object===Object&&self,a=n||o||Function(\"return this\")();e.exports=a},function(e,t){e.exports=function(e){return null!=e&&\"object\"==typeof e}},function(e,t,r){var n=r(177),o=r(277),a=r(278),i=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?\"[object Undefined]\":\"[object Null]\":i&&i in Object(e)?o(e):a(e)}},function(e,t,r){var n=r(303),o=r(306);e.exports=function(e,t){var r=o(e,t);return n(r)?r:void 0}},function(e,t,r){var n=r(399),o=r(404);e.exports=function(e,t){var r=o(e,t);return n(r)?r:void 0}},function(e,t){e.exports=function(e){return null!=e&&\"object\"==typeof e}},function(e,t,r){var n=r(265),o=r(467),a=r(505),i=r(164);e.exports=function(e,t){return(i(e)?n:a)(e,o(t,3))}},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,\"loaded\",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,\"id\",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}},function(e,t,r){var n=r(190),o=r(400),a=r(401),i=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?\"[object Undefined]\":\"[object Null]\":i&&i in Object(e)?o(e):a(e)}},function(e,t,r){var n=r(215),o=r(220);e.exports=function(e){return null!=e&&o(e.length)&&!n(e)}},function(e,t,r){var n=r(166).Symbol;e.exports=n},function(e,t,r){var n=r(228),o=r(285),a=r(180);e.exports=function(e){return a(e)?n(e):o(e)}},function(e,t){e.exports=function(e,t){return e===t||e!=e&&t!=t}},function(e,t,r){var n=r(233),o=r(198);e.exports=function(e){return null!=e&&o(e.length)&&!n(e)}},function(e,t,r){var n=r(293),o=r(294),a=r(295),i=r(296),u=r(297);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=o,l.prototype.get=a,l.prototype.has=i,l.prototype.set=u,e.exports=l},function(e,t,r){var n=r(204);e.exports=function(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return-1}},function(e,t,r){var n=r(169)(Object,\"create\");e.exports=n},function(e,t,r){var n=r(315);e.exports=function(e,t){var r=e.__data__;return n(t)?r[\"string\"==typeof t?\"string\":\"hash\"]:r.map}},function(e,t,r){var n=r(330),o=r(205),a=r(331),i=r(332),u=r(333),l=r(168),c=r(236),f=c(n),s=c(o),p=c(a),d=c(i),h=c(u),b=l;(n&&\"[object DataView]\"!=b(new n(new ArrayBuffer(1)))||o&&\"[object Map]\"!=b(new o)||a&&\"[object Promise]\"!=b(a.resolve())||i&&\"[object Set]\"!=b(new i)||u&&\"[object WeakMap]\"!=b(new u))&&(b=function(e){var t=l(e),r=\"[object Object]\"==t?e.constructor:void 0,n=r?c(r):\"\";if(n)switch(n){case f:return\"[object DataView]\";case s:return\"[object Map]\";case p:return\"[object Promise]\";case d:return\"[object Set]\";case h:return\"[object WeakMap]\"}return t}),e.exports=b},function(e,t,r){var n=r(209);e.exports=function(e){if(\"string\"==typeof e||n(e))return e;var t=e+\"\";return\"0\"==t&&1/e==-1/0?\"-0\":t}},function(e,t,r){var n=r(248),o=r(249);e.exports=function(e,t,r,a){var i=!r;r||(r={});for(var u=-1,l=t.length;++u<l;){var c=t[u],f=a?a(r[c],e[c],c,r,e):void 0;void 0===f&&(f=e[c]),i?o(r,c,f):n(r,c,f)}return r}},function(e,t,r){var n=r(389),o=r(390),a=r(391),i=r(392),u=r(393);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=o,l.prototype.get=a,l.prototype.has=i,l.prototype.set=u,e.exports=l},function(e,t,r){var n=r(179);e.exports=function(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return-1}},function(e,t,r){var n=r(162).Symbol;e.exports=n},function(e,t,r){var n=r(170)(Object,\"create\");e.exports=n},function(e,t,r){var n=r(413);e.exports=function(e,t){var r=e.__data__;return n(t)?r[\"string\"==typeof t?\"string\":\"hash\"]:r.map}},function(e,t){e.exports=function(e){return e}},function(e,t,r){var n=r(175),o=r(171);e.exports=function(e){return\"symbol\"==typeof e||o(e)&&\"[object Symbol]\"==n(e)}},function(e,t,r){var n=r(194);e.exports=function(e){if(\"string\"==typeof e||n(e))return e;var t=e+\"\";return\"0\"==t&&1/e==-1/0?\"-0\":t}},function(e,t,r){var n=r(227),o=r(287);e.exports=function(e,t){return e&&n(e,o(t))}},function(e,t,r){(function(e){var n=r(166),o=r(283),a=t&&!t.nodeType&&t,i=a&&\"object\"==typeof e&&e&&!e.nodeType&&e,u=i&&i.exports===a?n.Buffer:void 0,l=(u?u.isBuffer:void 0)||o;e.exports=l}).call(this,r(173)(e))},function(e,t){e.exports=function(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},function(e,t){e.exports=function(e){return function(t){return e(t)}}},function(e,t,r){(function(e){var n=r(226),o=t&&!t.nodeType&&t,a=o&&\"object\"==typeof e&&e&&!e.nodeType&&e,i=a&&a.exports===o&&n.process,u=function(){try{var e=a&&a.require&&a.require(\"util\").types;return e||i&&i.binding&&i.binding(\"util\")}catch(e){}}();e.exports=u}).call(this,r(173)(e))},function(e,t){var r=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===(\"function\"==typeof t&&t.prototype||r)}},function(e,t,r){var n=r(232)(Object.getPrototypeOf,Object);e.exports=n},function(e,t,r){var n=r(181),o=r(298),a=r(299),i=r(300),u=r(301),l=r(302);function c(e){var t=this.__data__=new n(e);this.size=t.size}c.prototype.clear=o,c.prototype.delete=a,c.prototype.get=i,c.prototype.has=u,c.prototype.set=l,e.exports=c},function(e,t){e.exports=function(e,t){return e===t||e!=e&&t!=t}},function(e,t,r){var n=r(169)(r(166),\"Map\");e.exports=n},function(e,t,r){var n=r(307),o=r(314),a=r(316),i=r(317),u=r(318);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=o,l.prototype.get=a,l.prototype.has=i,l.prototype.set=u,e.exports=l},function(e,t,r){var n=r(329),o=r(243),a=Object.prototype.propertyIsEnumerable,i=Object.getOwnPropertySymbols,u=i?function(e){return null==e?[]:(e=Object(e),n(i(e),(function(t){return a.call(e,t)})))}:o;e.exports=u},function(e,t,r){var n=r(161),o=r(209),a=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,i=/^\\w*$/;e.exports=function(e,t){if(n(e))return!1;var r=typeof e;return!(\"number\"!=r&&\"symbol\"!=r&&\"boolean\"!=r&&null!=e&&!o(e))||(i.test(e)||!a.test(e)||null!=t&&e in Object(t))}},function(e,t,r){var n=r(168),o=r(167);e.exports=function(e){return\"symbol\"==typeof e||o(e)&&\"[object Symbol]\"==n(e)}},function(e,t,r){var n=r(228),o=r(358),a=r(180);e.exports=function(e){return a(e)?n(e,!0):o(e)}},function(e,t,r){var n=r(239);e.exports=function(e){var t=new e.constructor(e.byteLength);return new n(t).set(new n(e)),t}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Checkboard=void 0;var n=i(r(1)),o=i(r(158)),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(r(383));function i(e){return e&&e.__esModule?e:{default:e}}var u=t.Checkboard=function(e){var t=e.white,r=e.grey,i=e.size,u=e.renderers,l=e.borderRadius,c=e.boxShadow,f=(0,o.default)({default:{grid:{borderRadius:l,boxShadow:c,absolute:\"0px 0px 0px 0px\",background:\"url(\"+a.get(t,r,i,u.canvas)+\") center left\"}}});return n.default.createElement(\"div\",{style:f.grid})};u.defaultProps={size:8,white:\"transparent\",grey:\"rgba(0,0,0,.08)\",renderers:{}},t.default=u},function(e,t,r){var n=r(188),o=r(394),a=r(395),i=r(396),u=r(397),l=r(398);function c(e){var t=this.__data__=new n(e);this.size=t.size}c.prototype.clear=o,c.prototype.delete=a,c.prototype.get=i,c.prototype.has=u,c.prototype.set=l,e.exports=c},function(e,t,r){var n=r(170)(r(162),\"Map\");e.exports=n},function(e,t,r){var n=r(175),o=r(163);e.exports=function(e){if(!o(e))return!1;var t=n(e);return\"[object Function]\"==t||\"[object GeneratorFunction]\"==t||\"[object AsyncFunction]\"==t||\"[object Proxy]\"==t}},function(e,t,r){var n=r(405),o=r(412),a=r(414),i=r(415),u=r(416);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=o,l.prototype.get=a,l.prototype.has=i,l.prototype.set=u,e.exports=l},function(e,t,r){var n=r(254);e.exports=function(e,t,r){\"__proto__\"==t&&n?n(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}},function(e,t){var r=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===(\"function\"==typeof t&&t.prototype||r)}},function(e,t,r){var n=r(425),o=r(171),a=Object.prototype,i=a.hasOwnProperty,u=a.propertyIsEnumerable,l=n(function(){return arguments}())?n:function(e){return o(e)&&i.call(e,\"callee\")&&!u.call(e,\"callee\")};e.exports=l},function(e,t){e.exports=function(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},function(e,t,r){(function(e){var n=r(162),o=r(427),a=t&&!t.nodeType&&t,i=a&&\"object\"==typeof e&&e&&!e.nodeType&&e,u=i&&i.exports===a?n.Buffer:void 0,l=(u?u.isBuffer:void 0)||o;e.exports=l}).call(this,r(173)(e))},function(e,t,r){var n=r(429),o=r(430),a=r(431),i=a&&a.isTypedArray,u=i?o(i):n;e.exports=u},function(e,t){var r=/^(?:0|[1-9]\\d*)$/;e.exports=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&(\"number\"==n||\"symbol\"!=n&&r.test(e))&&e>-1&&e%1==0&&e<t}},function(e,t,r){var n=r(261),o=r(458),a=r(176);e.exports=function(e){return a(e)?n(e):o(e)}},function(e,t,r){var n=r(164),o=r(194),a=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,i=/^\\w*$/;e.exports=function(e,t){if(n(e))return!1;var r=typeof e;return!(\"number\"!=r&&\"symbol\"!=r&&\"boolean\"!=r&&null!=e&&!o(e))||(i.test(e)||!a.test(e)||null!=t&&e in Object(t))}},function(e,t,r){(function(t){var r=\"object\"==typeof t&&t&&t.Object===Object&&t;e.exports=r}).call(this,r(60))},function(e,t,r){var n=r(279),o=r(178);e.exports=function(e,t){return e&&n(e,t,o)}},function(e,t,r){var n=r(281),o=r(229),a=r(161),i=r(197),u=r(230),l=r(231),c=Object.prototype.hasOwnProperty;e.exports=function(e,t){var r=a(e),f=!r&&o(e),s=!r&&!f&&i(e),p=!r&&!f&&!s&&l(e),d=r||f||s||p,h=d?n(e.length,String):[],b=h.length;for(var v in e)!t&&!c.call(e,v)||d&&(\"length\"==v||s&&(\"offset\"==v||\"parent\"==v)||p&&(\"buffer\"==v||\"byteLength\"==v||\"byteOffset\"==v)||u(v,b))||h.push(v);return h}},function(e,t,r){var n=r(282),o=r(167),a=Object.prototype,i=a.hasOwnProperty,u=a.propertyIsEnumerable,l=n(function(){return arguments}())?n:function(e){return o(e)&&i.call(e,\"callee\")&&!u.call(e,\"callee\")};e.exports=l},function(e,t){var r=/^(?:0|[1-9]\\d*)$/;e.exports=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&(\"number\"==n||\"symbol\"!=n&&r.test(e))&&e>-1&&e%1==0&&e<t}},function(e,t,r){var n=r(284),o=r(199),a=r(200),i=a&&a.isTypedArray,u=i?o(i):n;e.exports=u},function(e,t){e.exports=function(e,t){return function(r){return e(t(r))}}},function(e,t,r){var n=r(168),o=r(174);e.exports=function(e){if(!o(e))return!1;var t=n(e);return\"[object Function]\"==t||\"[object GeneratorFunction]\"==t||\"[object AsyncFunction]\"==t||\"[object Proxy]\"==t}},function(e,t){e.exports=function(e){return e}},function(e,t){e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o}},function(e,t){var r=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return r.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}},function(e,t,r){var n=r(319),o=r(167);e.exports=function e(t,r,a,i,u){return t===r||(null==t||null==r||!o(t)&&!o(r)?t!=t&&r!=r:n(t,r,a,i,e,u))}},function(e,t,r){var n=r(320),o=r(323),a=r(324);e.exports=function(e,t,r,i,u,l){var c=1&r,f=e.length,s=t.length;if(f!=s&&!(c&&s>f))return!1;var p=l.get(e),d=l.get(t);if(p&&d)return p==t&&d==e;var h=-1,b=!0,v=2&r?new n:void 0;for(l.set(e,t),l.set(t,e);++h<f;){var g=e[h],x=t[h];if(i)var y=c?i(x,g,h,t,e,l):i(g,x,h,e,t,l);if(void 0!==y){if(y)continue;b=!1;break}if(v){if(!o(t,(function(e,t){if(!a(v,t)&&(g===e||u(g,e,r,i,l)))return v.push(t)}))){b=!1;break}}else if(g!==x&&!u(g,x,r,i,l)){b=!1;break}}return l.delete(e),l.delete(t),b}},function(e,t,r){var n=r(166).Uint8Array;e.exports=n},function(e,t,r){var n=r(241),o=r(207),a=r(178);e.exports=function(e){return n(e,a,o)}},function(e,t,r){var n=r(242),o=r(161);e.exports=function(e,t,r){var a=t(e);return o(e)?a:n(a,r(e))}},function(e,t){e.exports=function(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e}},function(e,t){e.exports=function(){return[]}},function(e,t,r){var n=r(174);e.exports=function(e){return e==e&&!n(e)}},function(e,t){e.exports=function(e,t){return function(r){return null!=r&&(r[e]===t&&(void 0!==t||e in Object(r)))}}},function(e,t,r){var n=r(247),o=r(186);e.exports=function(e,t){for(var r=0,a=(t=n(t,e)).length;null!=e&&r<a;)e=e[o(t[r++])];return r&&r==a?e:void 0}},function(e,t,r){var n=r(161),o=r(208),a=r(337),i=r(340);e.exports=function(e,t){return n(e)?e:o(e,t)?[e]:a(i(e))}},function(e,t,r){var n=r(249),o=r(204),a=Object.prototype.hasOwnProperty;e.exports=function(e,t,r){var i=e[t];a.call(e,t)&&o(i,r)&&(void 0!==r||t in e)||n(e,t,r)}},function(e,t,r){var n=r(355);e.exports=function(e,t,r){\"__proto__\"==t&&n?n(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}},function(e,t,r){var n=r(242),o=r(202),a=r(207),i=r(243),u=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)n(t,a(e)),e=o(e);return t}:i;e.exports=u},function(e,t,r){(function(t){var r=\"object\"==typeof t&&t&&t.Object===Object&&t;e.exports=r}).call(this,r(60))},function(e,t){var r=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return r.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}},function(e,t,r){var n=r(217),o=r(179);e.exports=function(e,t,r){(void 0!==r&&!o(e[t],r)||void 0===r&&!(t in e))&&n(e,t,r)}},function(e,t,r){var n=r(170),o=function(){try{var e=n(Object,\"defineProperty\");return e({},\"\",{}),e}catch(e){}}();e.exports=o},function(e,t,r){var n=r(417)();e.exports=n},function(e,t,r){var n=r(162).Uint8Array;e.exports=n},function(e,t,r){var n=r(258)(Object.getPrototypeOf,Object);e.exports=n},function(e,t){e.exports=function(e,t){return function(r){return e(t(r))}}},function(e,t){e.exports=function(e,t){if((\"constructor\"!==t||\"function\"!=typeof e[t])&&\"__proto__\"!=t)return e[t]}},function(e,t,r){var n=r(261),o=r(436),a=r(176);e.exports=function(e){return a(e)?n(e,!0):o(e)}},function(e,t,r){var n=r(435),o=r(219),a=r(164),i=r(221),u=r(223),l=r(222),c=Object.prototype.hasOwnProperty;e.exports=function(e,t){var r=a(e),f=!r&&o(e),s=!r&&!f&&i(e),p=!r&&!f&&!s&&l(e),d=r||f||s||p,h=d?n(e.length,String):[],b=h.length;for(var v in e)!t&&!c.call(e,v)||d&&(\"length\"==v||s&&(\"offset\"==v||\"parent\"==v)||p&&(\"buffer\"==v||\"byteLength\"==v||\"byteOffset\"==v)||u(v,b))||h.push(v);return h}},function(e,t,r){var n=r(163),o=r(449),a=r(450),i=Math.max,u=Math.min;e.exports=function(e,t,r){var l,c,f,s,p,d,h=0,b=!1,v=!1,g=!0;if(\"function\"!=typeof e)throw new TypeError(\"Expected a function\");function x(t){var r=l,n=c;return l=c=void 0,h=t,s=e.apply(n,r)}function y(e){return h=e,p=setTimeout(w,t),b?x(e):s}function m(e){var r=e-d;return void 0===d||r>=t||r<0||v&&e-h>=f}function w(){var e=o();if(m(e))return _(e);p=setTimeout(w,function(e){var r=t-(e-d);return v?u(r,f-(e-h)):r}(e))}function _(e){return p=void 0,g&&l?x(e):(l=c=void 0,s)}function j(){var e=o(),r=m(e);if(l=arguments,c=this,d=e,r){if(void 0===p)return y(d);if(v)return clearTimeout(p),p=setTimeout(w,t),x(d)}return void 0===p&&(p=setTimeout(w,t)),s}return t=a(t)||0,n(r)&&(b=!!r.leading,f=(v=\"maxWait\"in r)?i(a(r.maxWait)||0,t):f,g=\"trailing\"in r?!!r.trailing:g),j.cancel=function(){void 0!==p&&clearTimeout(p),h=0,l=d=c=p=void 0},j.flush=function(){return void 0===p?s:_(o())},j}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ColorWrap=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),a=r(1),i=c(a),u=c(r(262)),l=c(r(165));function c(e){return e&&e.__esModule?e:{default:e}}var f=t.ColorWrap=function(e){var t=function(t){function r(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,r);var t=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(r.__proto__||Object.getPrototypeOf(r)).call(this));return t.handleChange=function(e,r){if(l.default.simpleCheckForValidColor(e)){var n=l.default.toState(e,e.h||t.state.oldHue);t.setState(n),t.props.onChangeComplete&&t.debounce(t.props.onChangeComplete,n,r),t.props.onChange&&t.props.onChange(n,r)}},t.handleSwatchHover=function(e,r){if(l.default.simpleCheckForValidColor(e)){var n=l.default.toState(e,e.h||t.state.oldHue);t.props.onSwatchHover&&t.props.onSwatchHover(n,r)}},t.state=n({},l.default.toState(e.color,0)),t.debounce=(0,u.default)((function(e,t,r){e(t,r)}),100),t}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(r,t),o(r,[{key:\"render\",value:function(){var t={};return this.props.onSwatchHover&&(t.onSwatchHover=this.handleSwatchHover),i.default.createElement(e,n({},this.props,this.state,{onChange:this.handleChange},t))}}],[{key:\"getDerivedStateFromProps\",value:function(e,t){return n({},l.default.toState(e.color,t.oldHue))}}]),r}(a.PureComponent||a.Component);return t.propTypes=n({},e.propTypes),t.defaultProps=n({},e.defaultProps,{color:{h:250,s:.5,l:.2,a:1}}),t};t.default=f},function(e,t,r){var n=r(457),o=r(460)(n);e.exports=o},function(e,t){e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o}},function(e,t,r){var n=r(470),o=r(171);e.exports=function e(t,r,a,i,u){return t===r||(null==t||null==r||!o(t)&&!o(r)?t!=t&&r!=r:n(t,r,a,i,e,u))}},function(e,t,r){var n=r(471),o=r(474),a=r(475);e.exports=function(e,t,r,i,u,l){var c=1&r,f=e.length,s=t.length;if(f!=s&&!(c&&s>f))return!1;var p=l.get(e),d=l.get(t);if(p&&d)return p==t&&d==e;var h=-1,b=!0,v=2&r?new n:void 0;for(l.set(e,t),l.set(t,e);++h<f;){var g=e[h],x=t[h];if(i)var y=c?i(x,g,h,t,e,l):i(g,x,h,e,t,l);if(void 0!==y){if(y)continue;b=!1;break}if(v){if(!o(t,(function(e,t){if(!a(v,t)&&(g===e||u(g,e,r,i,l)))return v.push(t)}))){b=!1;break}}else if(g!==x&&!u(g,x,r,i,l)){b=!1;break}}return l.delete(e),l.delete(t),b}},function(e,t,r){var n=r(163);e.exports=function(e){return e==e&&!n(e)}},function(e,t){e.exports=function(e,t){return function(r){return null!=r&&(r[e]===t&&(void 0!==t||e in Object(r)))}}},function(e,t,r){var n=r(271),o=r(195);e.exports=function(e,t){for(var r=0,a=(t=n(t,e)).length;null!=e&&r<a;)e=e[o(t[r++])];return r&&r==a?e:void 0}},function(e,t,r){var n=r(164),o=r(225),a=r(494),i=r(497);e.exports=function(e,t){return n(e)?e:o(e,t)?[e]:a(i(e))}},function(e,t,r){\"use strict\";r.r(t),r.d(t,\"red\",(function(){return n})),r.d(t,\"pink\",(function(){return o})),r.d(t,\"purple\",(function(){return a})),r.d(t,\"deepPurple\",(function(){return i})),r.d(t,\"indigo\",(function(){return u})),r.d(t,\"blue\",(function(){return l})),r.d(t,\"lightBlue\",(function(){return c})),r.d(t,\"cyan\",(function(){return f})),r.d(t,\"teal\",(function(){return s})),r.d(t,\"green\",(function(){return p})),r.d(t,\"lightGreen\",(function(){return d})),r.d(t,\"lime\",(function(){return h})),r.d(t,\"yellow\",(function(){return b})),r.d(t,\"amber\",(function(){return v})),r.d(t,\"orange\",(function(){return g})),r.d(t,\"deepOrange\",(function(){return x})),r.d(t,\"brown\",(function(){return y})),r.d(t,\"grey\",(function(){return m})),r.d(t,\"blueGrey\",(function(){return w})),r.d(t,\"darkText\",(function(){return _})),r.d(t,\"lightText\",(function(){return j})),r.d(t,\"darkIcons\",(function(){return O})),r.d(t,\"lightIcons\",(function(){return E})),r.d(t,\"white\",(function(){return C})),r.d(t,\"black\",(function(){return k}));var n={50:\"#ffebee\",100:\"#ffcdd2\",200:\"#ef9a9a\",300:\"#e57373\",400:\"#ef5350\",500:\"#f44336\",600:\"#e53935\",700:\"#d32f2f\",800:\"#c62828\",900:\"#b71c1c\",a100:\"#ff8a80\",a200:\"#ff5252\",a400:\"#ff1744\",a700:\"#d50000\"},o={50:\"#fce4ec\",100:\"#f8bbd0\",200:\"#f48fb1\",300:\"#f06292\",400:\"#ec407a\",500:\"#e91e63\",600:\"#d81b60\",700:\"#c2185b\",800:\"#ad1457\",900:\"#880e4f\",a100:\"#ff80ab\",a200:\"#ff4081\",a400:\"#f50057\",a700:\"#c51162\"},a={50:\"#f3e5f5\",100:\"#e1bee7\",200:\"#ce93d8\",300:\"#ba68c8\",400:\"#ab47bc\",500:\"#9c27b0\",600:\"#8e24aa\",700:\"#7b1fa2\",800:\"#6a1b9a\",900:\"#4a148c\",a100:\"#ea80fc\",a200:\"#e040fb\",a400:\"#d500f9\",a700:\"#aa00ff\"},i={50:\"#ede7f6\",100:\"#d1c4e9\",200:\"#b39ddb\",300:\"#9575cd\",400:\"#7e57c2\",500:\"#673ab7\",600:\"#5e35b1\",700:\"#512da8\",800:\"#4527a0\",900:\"#311b92\",a100:\"#b388ff\",a200:\"#7c4dff\",a400:\"#651fff\",a700:\"#6200ea\"},u={50:\"#e8eaf6\",100:\"#c5cae9\",200:\"#9fa8da\",300:\"#7986cb\",400:\"#5c6bc0\",500:\"#3f51b5\",600:\"#3949ab\",700:\"#303f9f\",800:\"#283593\",900:\"#1a237e\",a100:\"#8c9eff\",a200:\"#536dfe\",a400:\"#3d5afe\",a700:\"#304ffe\"},l={50:\"#e3f2fd\",100:\"#bbdefb\",200:\"#90caf9\",300:\"#64b5f6\",400:\"#42a5f5\",500:\"#2196f3\",600:\"#1e88e5\",700:\"#1976d2\",800:\"#1565c0\",900:\"#0d47a1\",a100:\"#82b1ff\",a200:\"#448aff\",a400:\"#2979ff\",a700:\"#2962ff\"},c={50:\"#e1f5fe\",100:\"#b3e5fc\",200:\"#81d4fa\",300:\"#4fc3f7\",400:\"#29b6f6\",500:\"#03a9f4\",600:\"#039be5\",700:\"#0288d1\",800:\"#0277bd\",900:\"#01579b\",a100:\"#80d8ff\",a200:\"#40c4ff\",a400:\"#00b0ff\",a700:\"#0091ea\"},f={50:\"#e0f7fa\",100:\"#b2ebf2\",200:\"#80deea\",300:\"#4dd0e1\",400:\"#26c6da\",500:\"#00bcd4\",600:\"#00acc1\",700:\"#0097a7\",800:\"#00838f\",900:\"#006064\",a100:\"#84ffff\",a200:\"#18ffff\",a400:\"#00e5ff\",a700:\"#00b8d4\"},s={50:\"#e0f2f1\",100:\"#b2dfdb\",200:\"#80cbc4\",300:\"#4db6ac\",400:\"#26a69a\",500:\"#009688\",600:\"#00897b\",700:\"#00796b\",800:\"#00695c\",900:\"#004d40\",a100:\"#a7ffeb\",a200:\"#64ffda\",a400:\"#1de9b6\",a700:\"#00bfa5\"},p={50:\"#e8f5e9\",100:\"#c8e6c9\",200:\"#a5d6a7\",300:\"#81c784\",400:\"#66bb6a\",500:\"#4caf50\",600:\"#43a047\",700:\"#388e3c\",800:\"#2e7d32\",900:\"#1b5e20\",a100:\"#b9f6ca\",a200:\"#69f0ae\",a400:\"#00e676\",a700:\"#00c853\"},d={50:\"#f1f8e9\",100:\"#dcedc8\",200:\"#c5e1a5\",300:\"#aed581\",400:\"#9ccc65\",500:\"#8bc34a\",600:\"#7cb342\",700:\"#689f38\",800:\"#558b2f\",900:\"#33691e\",a100:\"#ccff90\",a200:\"#b2ff59\",a400:\"#76ff03\",a700:\"#64dd17\"},h={50:\"#f9fbe7\",100:\"#f0f4c3\",200:\"#e6ee9c\",300:\"#dce775\",400:\"#d4e157\",500:\"#cddc39\",600:\"#c0ca33\",700:\"#afb42b\",800:\"#9e9d24\",900:\"#827717\",a100:\"#f4ff81\",a200:\"#eeff41\",a400:\"#c6ff00\",a700:\"#aeea00\"},b={50:\"#fffde7\",100:\"#fff9c4\",200:\"#fff59d\",300:\"#fff176\",400:\"#ffee58\",500:\"#ffeb3b\",600:\"#fdd835\",700:\"#fbc02d\",800:\"#f9a825\",900:\"#f57f17\",a100:\"#ffff8d\",a200:\"#ffff00\",a400:\"#ffea00\",a700:\"#ffd600\"},v={50:\"#fff8e1\",100:\"#ffecb3\",200:\"#ffe082\",300:\"#ffd54f\",400:\"#ffca28\",500:\"#ffc107\",600:\"#ffb300\",700:\"#ffa000\",800:\"#ff8f00\",900:\"#ff6f00\",a100:\"#ffe57f\",a200:\"#ffd740\",a400:\"#ffc400\",a700:\"#ffab00\"},g={50:\"#fff3e0\",100:\"#ffe0b2\",200:\"#ffcc80\",300:\"#ffb74d\",400:\"#ffa726\",500:\"#ff9800\",600:\"#fb8c00\",700:\"#f57c00\",800:\"#ef6c00\",900:\"#e65100\",a100:\"#ffd180\",a200:\"#ffab40\",a400:\"#ff9100\",a700:\"#ff6d00\"},x={50:\"#fbe9e7\",100:\"#ffccbc\",200:\"#ffab91\",300:\"#ff8a65\",400:\"#ff7043\",500:\"#ff5722\",600:\"#f4511e\",700:\"#e64a19\",800:\"#d84315\",900:\"#bf360c\",a100:\"#ff9e80\",a200:\"#ff6e40\",a400:\"#ff3d00\",a700:\"#dd2c00\"},y={50:\"#efebe9\",100:\"#d7ccc8\",200:\"#bcaaa4\",300:\"#a1887f\",400:\"#8d6e63\",500:\"#795548\",600:\"#6d4c41\",700:\"#5d4037\",800:\"#4e342e\",900:\"#3e2723\"},m={50:\"#fafafa\",100:\"#f5f5f5\",200:\"#eeeeee\",300:\"#e0e0e0\",400:\"#bdbdbd\",500:\"#9e9e9e\",600:\"#757575\",700:\"#616161\",800:\"#424242\",900:\"#212121\"},w={50:\"#eceff1\",100:\"#cfd8dc\",200:\"#b0bec5\",300:\"#90a4ae\",400:\"#78909c\",500:\"#607d8b\",600:\"#546e7a\",700:\"#455a64\",800:\"#37474f\",900:\"#263238\"},_={primary:\"rgba(0, 0, 0, 0.87)\",secondary:\"rgba(0, 0, 0, 0.54)\",disabled:\"rgba(0, 0, 0, 0.38)\",dividers:\"rgba(0, 0, 0, 0.12)\"},j={primary:\"rgba(255, 255, 255, 1)\",secondary:\"rgba(255, 255, 255, 0.7)\",disabled:\"rgba(255, 255, 255, 0.5)\",dividers:\"rgba(255, 255, 255, 0.12)\"},O={active:\"rgba(0, 0, 0, 0.54)\",inactive:\"rgba(0, 0, 0, 0.38)\"},E={active:\"rgba(255, 255, 255, 1)\",inactive:\"rgba(255, 255, 255, 0.5)\"},C=\"#ffffff\",k=\"#000000\";t.default={red:n,pink:o,purple:a,deepPurple:i,indigo:u,blue:l,lightBlue:c,cyan:f,teal:s,green:p,lightGreen:d,lime:h,yellow:b,amber:v,orange:g,deepOrange:x,brown:y,grey:m,blueGrey:w,darkText:_,lightText:j,darkIcons:O,lightIcons:E,white:C,black:k}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.CustomPicker=t.TwitterPicker=t.SwatchesPicker=t.SliderPicker=t.SketchPicker=t.PhotoshopPicker=t.MaterialPicker=t.HuePicker=t.GithubPicker=t.CompactPicker=t.ChromePicker=t.default=t.CirclePicker=t.BlockPicker=t.AlphaPicker=void 0;var n=r(274);Object.defineProperty(t,\"AlphaPicker\",{enumerable:!0,get:function(){return x(n).default}});var o=r(465);Object.defineProperty(t,\"BlockPicker\",{enumerable:!0,get:function(){return x(o).default}});var a=r(506);Object.defineProperty(t,\"CirclePicker\",{enumerable:!0,get:function(){return x(a).default}});var i=r(508);Object.defineProperty(t,\"ChromePicker\",{enumerable:!0,get:function(){return x(i).default}});var u=r(513);Object.defineProperty(t,\"CompactPicker\",{enumerable:!0,get:function(){return x(u).default}});var l=r(516);Object.defineProperty(t,\"GithubPicker\",{enumerable:!0,get:function(){return x(l).default}});var c=r(518);Object.defineProperty(t,\"HuePicker\",{enumerable:!0,get:function(){return x(c).default}});var f=r(520);Object.defineProperty(t,\"MaterialPicker\",{enumerable:!0,get:function(){return x(f).default}});var s=r(521);Object.defineProperty(t,\"PhotoshopPicker\",{enumerable:!0,get:function(){return x(s).default}});var p=r(527);Object.defineProperty(t,\"SketchPicker\",{enumerable:!0,get:function(){return x(p).default}});var d=r(530);Object.defineProperty(t,\"SliderPicker\",{enumerable:!0,get:function(){return x(d).default}});var h=r(534);Object.defineProperty(t,\"SwatchesPicker\",{enumerable:!0,get:function(){return x(h).default}});var b=r(538);Object.defineProperty(t,\"TwitterPicker\",{enumerable:!0,get:function(){return x(b).default}});var v=r(263);Object.defineProperty(t,\"CustomPicker\",{enumerable:!0,get:function(){return x(v).default}});var g=x(i);function x(e){return e&&e.__esModule?e:{default:e}}t.default=g.default},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.AlphaPicker=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o=l(r(1)),a=l(r(158)),i=r(159),u=l(r(464));function l(e){return e&&e.__esModule?e:{default:e}}var c=t.AlphaPicker=function(e){var t=e.rgb,r=e.hsl,u=e.width,l=e.height,c=e.onChange,f=e.direction,s=e.style,p=e.renderers,d=e.pointer,h=e.className,b=void 0===h?\"\":h,v=(0,a.default)({default:{picker:{position:\"relative\",width:u,height:l},alpha:{radius:\"2px\",style:s}}});return o.default.createElement(\"div\",{style:v.picker,className:\"alpha-picker \"+b},o.default.createElement(i.Alpha,n({},v.alpha,{rgb:t,hsl:r,pointer:d,renderers:p,onChange:c,direction:f})))};c.defaultProps={width:\"316px\",height:\"16px\",direction:\"horizontal\",pointer:u.default},t.default=(0,i.ColorWrap)(c)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.flattenNames=void 0;var n=u(r(276)),o=u(r(196)),a=u(r(288)),i=u(r(289));function u(e){return e&&e.__esModule?e:{default:e}}var l=t.flattenNames=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=[];return(0,i.default)(t,(function(t){Array.isArray(t)?e(t).map((function(e){return r.push(e)})):(0,a.default)(t)?(0,o.default)(t,(function(e,t){!0===e&&r.push(t),r.push(t+\"-\"+e)})):(0,n.default)(t)&&r.push(t)})),r};t.default=l},function(e,t,r){var n=r(168),o=r(161),a=r(167);e.exports=function(e){return\"string\"==typeof e||!o(e)&&a(e)&&\"[object String]\"==n(e)}},function(e,t,r){var n=r(177),o=Object.prototype,a=o.hasOwnProperty,i=o.toString,u=n?n.toStringTag:void 0;e.exports=function(e){var t=a.call(e,u),r=e[u];try{e[u]=void 0;var n=!0}catch(e){}var o=i.call(e);return n&&(t?e[u]=r:delete e[u]),o}},function(e,t){var r=Object.prototype.toString;e.exports=function(e){return r.call(e)}},function(e,t,r){var n=r(280)();e.exports=n},function(e,t){e.exports=function(e){return function(t,r,n){for(var o=-1,a=Object(t),i=n(t),u=i.length;u--;){var l=i[e?u:++o];if(!1===r(a[l],l,a))break}return t}}},function(e,t){e.exports=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}},function(e,t,r){var n=r(168),o=r(167);e.exports=function(e){return o(e)&&\"[object Arguments]\"==n(e)}},function(e,t){e.exports=function(){return!1}},function(e,t,r){var n=r(168),o=r(198),a=r(167),i={};i[\"[object Float32Array]\"]=i[\"[object Float64Array]\"]=i[\"[object Int8Array]\"]=i[\"[object Int16Array]\"]=i[\"[object Int32Array]\"]=i[\"[object Uint8Array]\"]=i[\"[object Uint8ClampedArray]\"]=i[\"[object Uint16Array]\"]=i[\"[object Uint32Array]\"]=!0,i[\"[object Arguments]\"]=i[\"[object Array]\"]=i[\"[object ArrayBuffer]\"]=i[\"[object Boolean]\"]=i[\"[object DataView]\"]=i[\"[object Date]\"]=i[\"[object Error]\"]=i[\"[object Function]\"]=i[\"[object Map]\"]=i[\"[object Number]\"]=i[\"[object Object]\"]=i[\"[object RegExp]\"]=i[\"[object Set]\"]=i[\"[object String]\"]=i[\"[object WeakMap]\"]=!1,e.exports=function(e){return a(e)&&o(e.length)&&!!i[n(e)]}},function(e,t,r){var n=r(201),o=r(286),a=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return o(e);var t=[];for(var r in Object(e))a.call(e,r)&&\"constructor\"!=r&&t.push(r);return t}},function(e,t,r){var n=r(232)(Object.keys,Object);e.exports=n},function(e,t,r){var n=r(234);e.exports=function(e){return\"function\"==typeof e?e:n}},function(e,t,r){var n=r(168),o=r(202),a=r(167),i=Function.prototype,u=Object.prototype,l=i.toString,c=u.hasOwnProperty,f=l.call(Object);e.exports=function(e){if(!a(e)||\"[object Object]\"!=n(e))return!1;var t=o(e);if(null===t)return!0;var r=c.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof r&&r instanceof r&&l.call(r)==f}},function(e,t,r){var n=r(235),o=r(290),a=r(348),i=r(161);e.exports=function(e,t){return(i(e)?n:a)(e,o(t,3))}},function(e,t,r){var n=r(291),o=r(335),a=r(234),i=r(161),u=r(345);e.exports=function(e){return\"function\"==typeof e?e:null==e?a:\"object\"==typeof e?i(e)?o(e[0],e[1]):n(e):u(e)}},function(e,t,r){var n=r(292),o=r(334),a=r(245);e.exports=function(e){var t=o(e);return 1==t.length&&t[0][2]?a(t[0][0],t[0][1]):function(r){return r===e||n(r,e,t)}}},function(e,t,r){var n=r(203),o=r(237);e.exports=function(e,t,r,a){var i=r.length,u=i,l=!a;if(null==e)return!u;for(e=Object(e);i--;){var c=r[i];if(l&&c[2]?c[1]!==e[c[0]]:!(c[0]in e))return!1}for(;++i<u;){var f=(c=r[i])[0],s=e[f],p=c[1];if(l&&c[2]){if(void 0===s&&!(f in e))return!1}else{var d=new n;if(a)var h=a(s,p,f,e,t,d);if(!(void 0===h?o(p,s,3,a,d):h))return!1}}return!0}},function(e,t){e.exports=function(){this.__data__=[],this.size=0}},function(e,t,r){var n=r(182),o=Array.prototype.splice;e.exports=function(e){var t=this.__data__,r=n(t,e);return!(r<0)&&(r==t.length-1?t.pop():o.call(t,r,1),--this.size,!0)}},function(e,t,r){var n=r(182);e.exports=function(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}},function(e,t,r){var n=r(182);e.exports=function(e){return n(this.__data__,e)>-1}},function(e,t,r){var n=r(182);e.exports=function(e,t){var r=this.__data__,o=n(r,e);return o<0?(++this.size,r.push([e,t])):r[o][1]=t,this}},function(e,t,r){var n=r(181);e.exports=function(){this.__data__=new n,this.size=0}},function(e,t){e.exports=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}},function(e,t){e.exports=function(e){return this.__data__.get(e)}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t,r){var n=r(181),o=r(205),a=r(206);e.exports=function(e,t){var r=this.__data__;if(r instanceof n){var i=r.__data__;if(!o||i.length<199)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new a(i)}return r.set(e,t),this.size=r.size,this}},function(e,t,r){var n=r(233),o=r(304),a=r(174),i=r(236),u=/^\\[object .+?Constructor\\]$/,l=Function.prototype,c=Object.prototype,f=l.toString,s=c.hasOwnProperty,p=RegExp(\"^\"+f.call(s).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");e.exports=function(e){return!(!a(e)||o(e))&&(n(e)?p:u).test(i(e))}},function(e,t,r){var n,o=r(305),a=(n=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+n:\"\";e.exports=function(e){return!!a&&a in e}},function(e,t,r){var n=r(166)[\"__core-js_shared__\"];e.exports=n},function(e,t){e.exports=function(e,t){return null==e?void 0:e[t]}},function(e,t,r){var n=r(308),o=r(181),a=r(205);e.exports=function(){this.size=0,this.__data__={hash:new n,map:new(a||o),string:new n}}},function(e,t,r){var n=r(309),o=r(310),a=r(311),i=r(312),u=r(313);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=o,l.prototype.get=a,l.prototype.has=i,l.prototype.set=u,e.exports=l},function(e,t,r){var n=r(183);e.exports=function(){this.__data__=n?n(null):{},this.size=0}},function(e,t){e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},function(e,t,r){var n=r(183),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(n){var r=t[e];return\"__lodash_hash_undefined__\"===r?void 0:r}return o.call(t,e)?t[e]:void 0}},function(e,t,r){var n=r(183),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return n?void 0!==t[e]:o.call(t,e)}},function(e,t,r){var n=r(183);e.exports=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=n&&void 0===t?\"__lodash_hash_undefined__\":t,this}},function(e,t,r){var n=r(184);e.exports=function(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}},function(e,t){e.exports=function(e){var t=typeof e;return\"string\"==t||\"number\"==t||\"symbol\"==t||\"boolean\"==t?\"__proto__\"!==e:null===e}},function(e,t,r){var n=r(184);e.exports=function(e){return n(this,e).get(e)}},function(e,t,r){var n=r(184);e.exports=function(e){return n(this,e).has(e)}},function(e,t,r){var n=r(184);e.exports=function(e,t){var r=n(this,e),o=r.size;return r.set(e,t),this.size+=r.size==o?0:1,this}},function(e,t,r){var n=r(203),o=r(238),a=r(325),i=r(328),u=r(185),l=r(161),c=r(197),f=r(231),s=\"[object Object]\",p=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,d,h,b){var v=l(e),g=l(t),x=v?\"[object Array]\":u(e),y=g?\"[object Array]\":u(t),m=(x=\"[object Arguments]\"==x?s:x)==s,w=(y=\"[object Arguments]\"==y?s:y)==s,_=x==y;if(_&&c(e)){if(!c(t))return!1;v=!0,m=!1}if(_&&!m)return b||(b=new n),v||f(e)?o(e,t,r,d,h,b):a(e,t,x,r,d,h,b);if(!(1&r)){var j=m&&p.call(e,\"__wrapped__\"),O=w&&p.call(t,\"__wrapped__\");if(j||O){var E=j?e.value():e,C=O?t.value():t;return b||(b=new n),h(E,C,r,d,b)}}return!!_&&(b||(b=new n),i(e,t,r,d,h,b))}},function(e,t,r){var n=r(206),o=r(321),a=r(322);function i(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new n;++t<r;)this.add(e[t])}i.prototype.add=i.prototype.push=o,i.prototype.has=a,e.exports=i},function(e,t){e.exports=function(e){return this.__data__.set(e,\"__lodash_hash_undefined__\"),this}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t){e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}},function(e,t){e.exports=function(e,t){return e.has(t)}},function(e,t,r){var n=r(177),o=r(239),a=r(204),i=r(238),u=r(326),l=r(327),c=n?n.prototype:void 0,f=c?c.valueOf:void 0;e.exports=function(e,t,r,n,c,s,p){switch(r){case\"[object DataView]\":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case\"[object ArrayBuffer]\":return!(e.byteLength!=t.byteLength||!s(new o(e),new o(t)));case\"[object Boolean]\":case\"[object Date]\":case\"[object Number]\":return a(+e,+t);case\"[object Error]\":return e.name==t.name&&e.message==t.message;case\"[object RegExp]\":case\"[object String]\":return e==t+\"\";case\"[object Map]\":var d=u;case\"[object Set]\":var h=1&n;if(d||(d=l),e.size!=t.size&&!h)return!1;var b=p.get(e);if(b)return b==t;n|=2,p.set(e,t);var v=i(d(e),d(t),n,c,s,p);return p.delete(e),v;case\"[object Symbol]\":if(f)return f.call(e)==f.call(t)}return!1}},function(e,t){e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}},function(e,t){e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}},function(e,t,r){var n=r(240),o=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,a,i,u){var l=1&r,c=n(e),f=c.length;if(f!=n(t).length&&!l)return!1;for(var s=f;s--;){var p=c[s];if(!(l?p in t:o.call(t,p)))return!1}var d=u.get(e),h=u.get(t);if(d&&h)return d==t&&h==e;var b=!0;u.set(e,t),u.set(t,e);for(var v=l;++s<f;){var g=e[p=c[s]],x=t[p];if(a)var y=l?a(x,g,p,t,e,u):a(g,x,p,e,t,u);if(!(void 0===y?g===x||i(g,x,r,a,u):y)){b=!1;break}v||(v=\"constructor\"==p)}if(b&&!v){var m=e.constructor,w=t.constructor;m==w||!(\"constructor\"in e)||!(\"constructor\"in t)||\"function\"==typeof m&&m instanceof m&&\"function\"==typeof w&&w instanceof w||(b=!1)}return u.delete(e),u.delete(t),b}},function(e,t){e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,o=0,a=[];++r<n;){var i=e[r];t(i,r,e)&&(a[o++]=i)}return a}},function(e,t,r){var n=r(169)(r(166),\"DataView\");e.exports=n},function(e,t,r){var n=r(169)(r(166),\"Promise\");e.exports=n},function(e,t,r){var n=r(169)(r(166),\"Set\");e.exports=n},function(e,t,r){var n=r(169)(r(166),\"WeakMap\");e.exports=n},function(e,t,r){var n=r(244),o=r(178);e.exports=function(e){for(var t=o(e),r=t.length;r--;){var a=t[r],i=e[a];t[r]=[a,i,n(i)]}return t}},function(e,t,r){var n=r(237),o=r(336),a=r(342),i=r(208),u=r(244),l=r(245),c=r(186);e.exports=function(e,t){return i(e)&&u(t)?l(c(e),t):function(r){var i=o(r,e);return void 0===i&&i===t?a(r,e):n(t,i,3)}}},function(e,t,r){var n=r(246);e.exports=function(e,t,r){var o=null==e?void 0:n(e,t);return void 0===o?r:o}},function(e,t,r){var n=r(338),o=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,a=/\\\\(\\\\)?/g,i=n((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(\"\"),e.replace(o,(function(e,r,n,o){t.push(n?o.replace(a,\"$1\"):r||e)})),t}));e.exports=i},function(e,t,r){var n=r(339);e.exports=function(e){var t=n(e,(function(e){return 500===r.size&&r.clear(),e})),r=t.cache;return t}},function(e,t,r){var n=r(206);function o(e,t){if(\"function\"!=typeof e||null!=t&&\"function\"!=typeof t)throw new TypeError(\"Expected a function\");var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],a=r.cache;if(a.has(o))return a.get(o);var i=e.apply(this,n);return r.cache=a.set(o,i)||a,i};return r.cache=new(o.Cache||n),r}o.Cache=n,e.exports=o},function(e,t,r){var n=r(341);e.exports=function(e){return null==e?\"\":n(e)}},function(e,t,r){var n=r(177),o=r(235),a=r(161),i=r(209),u=n?n.prototype:void 0,l=u?u.toString:void 0;e.exports=function e(t){if(\"string\"==typeof t)return t;if(a(t))return o(t,e)+\"\";if(i(t))return l?l.call(t):\"\";var r=t+\"\";return\"0\"==r&&1/t==-1/0?\"-0\":r}},function(e,t,r){var n=r(343),o=r(344);e.exports=function(e,t){return null!=e&&o(e,t,n)}},function(e,t){e.exports=function(e,t){return null!=e&&t in Object(e)}},function(e,t,r){var n=r(247),o=r(229),a=r(161),i=r(230),u=r(198),l=r(186);e.exports=function(e,t,r){for(var c=-1,f=(t=n(t,e)).length,s=!1;++c<f;){var p=l(t[c]);if(!(s=null!=e&&r(e,p)))break;e=e[p]}return s||++c!=f?s:!!(f=null==e?0:e.length)&&u(f)&&i(p,f)&&(a(e)||o(e))}},function(e,t,r){var n=r(346),o=r(347),a=r(208),i=r(186);e.exports=function(e){return a(e)?n(i(e)):o(e)}},function(e,t){e.exports=function(e){return function(t){return null==t?void 0:t[e]}}},function(e,t,r){var n=r(246);e.exports=function(e){return function(t){return n(t,e)}}},function(e,t,r){var n=r(349),o=r(180);e.exports=function(e,t){var r=-1,a=o(e)?Array(e.length):[];return n(e,(function(e,n,o){a[++r]=t(e,n,o)})),a}},function(e,t,r){var n=r(227),o=r(350)(n);e.exports=o},function(e,t,r){var n=r(180);e.exports=function(e,t){return function(r,o){if(null==r)return r;if(!n(r))return e(r,o);for(var a=r.length,i=t?a:-1,u=Object(r);(t?i--:++i<a)&&!1!==o(u[i],i,u););return r}}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.mergeClasses=void 0;var n=i(r(196)),o=i(r(352)),a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e};function i(e){return e&&e.__esModule?e:{default:e}}var u=t.mergeClasses=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=e.default&&(0,o.default)(e.default)||{};return t.map((function(t){var o=e[t];return o&&(0,n.default)(o,(function(e,t){r[t]||(r[t]={}),r[t]=a({},r[t],o[t])})),t})),r};t.default=u},function(e,t,r){var n=r(353);e.exports=function(e){return n(e,5)}},function(e,t,r){var n=r(203),o=r(354),a=r(248),i=r(356),u=r(357),l=r(360),c=r(361),f=r(362),s=r(363),p=r(240),d=r(364),h=r(185),b=r(365),v=r(366),g=r(371),x=r(161),y=r(197),m=r(373),w=r(174),_=r(375),j=r(178),O=r(210),E={};E[\"[object Arguments]\"]=E[\"[object Array]\"]=E[\"[object ArrayBuffer]\"]=E[\"[object DataView]\"]=E[\"[object Boolean]\"]=E[\"[object Date]\"]=E[\"[object Float32Array]\"]=E[\"[object Float64Array]\"]=E[\"[object Int8Array]\"]=E[\"[object Int16Array]\"]=E[\"[object Int32Array]\"]=E[\"[object Map]\"]=E[\"[object Number]\"]=E[\"[object Object]\"]=E[\"[object RegExp]\"]=E[\"[object Set]\"]=E[\"[object String]\"]=E[\"[object Symbol]\"]=E[\"[object Uint8Array]\"]=E[\"[object Uint8ClampedArray]\"]=E[\"[object Uint16Array]\"]=E[\"[object Uint32Array]\"]=!0,E[\"[object Error]\"]=E[\"[object Function]\"]=E[\"[object WeakMap]\"]=!1,e.exports=function e(t,r,C,k,S,P){var M,B=1&r,A=2&r,F=4&r;if(C&&(M=S?C(t,k,S,P):C(t)),void 0!==M)return M;if(!w(t))return t;var R=x(t);if(R){if(M=b(t),!B)return c(t,M)}else{var T=h(t),z=\"[object Function]\"==T||\"[object GeneratorFunction]\"==T;if(y(t))return l(t,B);if(\"[object Object]\"==T||\"[object Arguments]\"==T||z&&!S){if(M=A||z?{}:g(t),!B)return A?s(t,u(M,t)):f(t,i(M,t))}else{if(!E[T])return S?t:{};M=v(t,T,B)}}P||(P=new n);var H=P.get(t);if(H)return H;P.set(t,M),_(t)?t.forEach((function(n){M.add(e(n,r,C,n,t,P))})):m(t)&&t.forEach((function(n,o){M.set(o,e(n,r,C,o,t,P))}));var D=R?void 0:(F?A?d:p:A?O:j)(t);return o(D||t,(function(n,o){D&&(n=t[o=n]),a(M,o,e(n,r,C,o,t,P))})),M}},function(e,t){e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}},function(e,t,r){var n=r(169),o=function(){try{var e=n(Object,\"defineProperty\");return e({},\"\",{}),e}catch(e){}}();e.exports=o},function(e,t,r){var n=r(187),o=r(178);e.exports=function(e,t){return e&&n(t,o(t),e)}},function(e,t,r){var n=r(187),o=r(210);e.exports=function(e,t){return e&&n(t,o(t),e)}},function(e,t,r){var n=r(174),o=r(201),a=r(359),i=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return a(e);var t=o(e),r=[];for(var u in e)(\"constructor\"!=u||!t&&i.call(e,u))&&r.push(u);return r}},function(e,t){e.exports=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}},function(e,t,r){(function(e){var n=r(166),o=t&&!t.nodeType&&t,a=o&&\"object\"==typeof e&&e&&!e.nodeType&&e,i=a&&a.exports===o?n.Buffer:void 0,u=i?i.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var r=e.length,n=u?u(r):new e.constructor(r);return e.copy(n),n}}).call(this,r(173)(e))},function(e,t){e.exports=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}},function(e,t,r){var n=r(187),o=r(207);e.exports=function(e,t){return n(e,o(e),t)}},function(e,t,r){var n=r(187),o=r(250);e.exports=function(e,t){return n(e,o(e),t)}},function(e,t,r){var n=r(241),o=r(250),a=r(210);e.exports=function(e){return n(e,a,o)}},function(e,t){var r=Object.prototype.hasOwnProperty;e.exports=function(e){var t=e.length,n=new e.constructor(t);return t&&\"string\"==typeof e[0]&&r.call(e,\"index\")&&(n.index=e.index,n.input=e.input),n}},function(e,t,r){var n=r(211),o=r(367),a=r(368),i=r(369),u=r(370);e.exports=function(e,t,r){var l=e.constructor;switch(t){case\"[object ArrayBuffer]\":return n(e);case\"[object Boolean]\":case\"[object Date]\":return new l(+e);case\"[object DataView]\":return o(e,r);case\"[object Float32Array]\":case\"[object Float64Array]\":case\"[object Int8Array]\":case\"[object Int16Array]\":case\"[object Int32Array]\":case\"[object Uint8Array]\":case\"[object Uint8ClampedArray]\":case\"[object Uint16Array]\":case\"[object Uint32Array]\":return u(e,r);case\"[object Map]\":return new l;case\"[object Number]\":case\"[object String]\":return new l(e);case\"[object RegExp]\":return a(e);case\"[object Set]\":return new l;case\"[object Symbol]\":return i(e)}}},function(e,t,r){var n=r(211);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}},function(e,t){var r=/\\w*$/;e.exports=function(e){var t=new e.constructor(e.source,r.exec(e));return t.lastIndex=e.lastIndex,t}},function(e,t,r){var n=r(177),o=n?n.prototype:void 0,a=o?o.valueOf:void 0;e.exports=function(e){return a?Object(a.call(e)):{}}},function(e,t,r){var n=r(211);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}},function(e,t,r){var n=r(372),o=r(202),a=r(201);e.exports=function(e){return\"function\"!=typeof e.constructor||a(e)?{}:n(o(e))}},function(e,t,r){var n=r(174),o=Object.create,a=function(){function e(){}return function(t){if(!n(t))return{};if(o)return o(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();e.exports=a},function(e,t,r){var n=r(374),o=r(199),a=r(200),i=a&&a.isMap,u=i?o(i):n;e.exports=u},function(e,t,r){var n=r(185),o=r(167);e.exports=function(e){return o(e)&&\"[object Map]\"==n(e)}},function(e,t,r){var n=r(376),o=r(199),a=r(200),i=a&&a.isSet,u=i?o(i):n;e.exports=u},function(e,t,r){var n=r(185),o=r(167);e.exports=function(e){return o(e)&&\"[object Set]\"==n(e)}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.autoprefix=void 0;var n,o=r(196),a=(n=o)&&n.__esModule?n:{default:n},i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e};var u={borderRadius:function(e){return{msBorderRadius:e,MozBorderRadius:e,OBorderRadius:e,WebkitBorderRadius:e,borderRadius:e}},boxShadow:function(e){return{msBoxShadow:e,MozBoxShadow:e,OBoxShadow:e,WebkitBoxShadow:e,boxShadow:e}},userSelect:function(e){return{WebkitTouchCallout:e,KhtmlUserSelect:e,MozUserSelect:e,msUserSelect:e,WebkitUserSelect:e,userSelect:e}},flex:function(e){return{WebkitBoxFlex:e,MozBoxFlex:e,WebkitFlex:e,msFlex:e,flex:e}},flexBasis:function(e){return{WebkitFlexBasis:e,flexBasis:e}},justifyContent:function(e){return{WebkitJustifyContent:e,justifyContent:e}},transition:function(e){return{msTransition:e,MozTransition:e,OTransition:e,WebkitTransition:e,transition:e}},transform:function(e){return{msTransform:e,MozTransform:e,OTransform:e,WebkitTransform:e,transform:e}},absolute:function(e){var t=e&&e.split(\" \");return{position:\"absolute\",top:t&&t[0],right:t&&t[1],bottom:t&&t[2],left:t&&t[3]}},extend:function(e,t){var r=t[e];return r||{extend:e}}},l=t.autoprefix=function(e){var t={};return(0,a.default)(e,(function(e,r){var n={};(0,a.default)(e,(function(e,t){var r=u[t];r?n=i({},n,r(e)):n[t]=e})),t[r]=n})),t};t.default=l},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.hover=void 0;var n,o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=r(1),i=(n=a)&&n.__esModule?n:{default:n};function u(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function l(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function c(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var f=t.hover=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"span\";return function(r){function n(){var r,a,c;u(this,n);for(var f=arguments.length,s=Array(f),p=0;p<f;p++)s[p]=arguments[p];return a=c=l(this,(r=n.__proto__||Object.getPrototypeOf(n)).call.apply(r,[this].concat(s))),c.state={hover:!1},c.handleMouseOver=function(){return c.setState({hover:!0})},c.handleMouseOut=function(){return c.setState({hover:!1})},c.render=function(){return i.default.createElement(t,{onMouseOver:c.handleMouseOver,onMouseOut:c.handleMouseOut},i.default.createElement(e,o({},c.props,c.state)))},l(c,a)}return c(n,r),n}(i.default.Component)};t.default=f},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.active=void 0;var n,o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=r(1),i=(n=a)&&n.__esModule?n:{default:n};function u(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function l(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function c(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var f=t.active=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"span\";return function(r){function n(){var r,a,c;u(this,n);for(var f=arguments.length,s=Array(f),p=0;p<f;p++)s[p]=arguments[p];return a=c=l(this,(r=n.__proto__||Object.getPrototypeOf(n)).call.apply(r,[this].concat(s))),c.state={active:!1},c.handleMouseDown=function(){return c.setState({active:!0})},c.handleMouseUp=function(){return c.setState({active:!1})},c.render=function(){return i.default.createElement(t,{onMouseDown:c.handleMouseDown,onMouseUp:c.handleMouseUp},i.default.createElement(e,o({},c.props,c.state)))},l(c,a)}return c(n,r),n}(i.default.Component)};t.default=f},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.default=function(e,t){var r={},n=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];r[e]=t};return 0===e&&n(\"first-child\"),e===t-1&&n(\"last-child\"),(0===e||e%2==0)&&n(\"even\"),1===Math.abs(e%2)&&n(\"odd\"),n(\"nth-child\",e),r}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Alpha=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),a=r(1),i=f(a),u=f(r(158)),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(r(382)),c=f(r(212));function f(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function p(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}var d=t.Alpha=function(e){function t(){var e,r,n;s(this,t);for(var o=arguments.length,a=Array(o),i=0;i<o;i++)a[i]=arguments[i];return r=n=p(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(a))),n.handleChange=function(e){var t=l.calculateChange(e,n.props.hsl,n.props.direction,n.props.a,n.container);t&&\"function\"==typeof n.props.onChange&&n.props.onChange(t,e)},n.handleMouseDown=function(e){n.handleChange(e),window.addEventListener(\"mousemove\",n.handleChange),window.addEventListener(\"mouseup\",n.handleMouseUp)},n.handleMouseUp=function(){n.unbindEventListeners()},n.unbindEventListeners=function(){window.removeEventListener(\"mousemove\",n.handleChange),window.removeEventListener(\"mouseup\",n.handleMouseUp)},p(n,r)}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),o(t,[{key:\"componentWillUnmount\",value:function(){this.unbindEventListeners()}},{key:\"render\",value:function(){var e=this,t=this.props.rgb,r=(0,u.default)({default:{alpha:{absolute:\"0px 0px 0px 0px\",borderRadius:this.props.radius},checkboard:{absolute:\"0px 0px 0px 0px\",overflow:\"hidden\",borderRadius:this.props.radius},gradient:{absolute:\"0px 0px 0px 0px\",background:\"linear-gradient(to right, rgba(\"+t.r+\",\"+t.g+\",\"+t.b+\", 0) 0%,\\n           rgba(\"+t.r+\",\"+t.g+\",\"+t.b+\", 1) 100%)\",boxShadow:this.props.shadow,borderRadius:this.props.radius},container:{position:\"relative\",height:\"100%\",margin:\"0 3px\"},pointer:{position:\"absolute\",left:100*t.a+\"%\"},slider:{width:\"4px\",borderRadius:\"1px\",height:\"8px\",boxShadow:\"0 0 2px rgba(0, 0, 0, .6)\",background:\"#fff\",marginTop:\"1px\",transform:\"translateX(-2px)\"}},vertical:{gradient:{background:\"linear-gradient(to bottom, rgba(\"+t.r+\",\"+t.g+\",\"+t.b+\", 0) 0%,\\n           rgba(\"+t.r+\",\"+t.g+\",\"+t.b+\", 1) 100%)\"},pointer:{left:0,top:100*t.a+\"%\"}},overwrite:n({},this.props.style)},{vertical:\"vertical\"===this.props.direction,overwrite:!0});return i.default.createElement(\"div\",{style:r.alpha},i.default.createElement(\"div\",{style:r.checkboard},i.default.createElement(c.default,{renderers:this.props.renderers})),i.default.createElement(\"div\",{style:r.gradient}),i.default.createElement(\"div\",{style:r.container,ref:function(t){return e.container=t},onMouseDown:this.handleMouseDown,onTouchMove:this.handleChange,onTouchStart:this.handleChange},i.default.createElement(\"div\",{style:r.pointer},this.props.pointer?i.default.createElement(this.props.pointer,this.props):i.default.createElement(\"div\",{style:r.slider}))))}}]),t}(a.PureComponent||a.Component);t.default=d},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.calculateChange=function(e,t,r,n,o){var a=o.clientWidth,i=o.clientHeight,u=\"number\"==typeof e.pageX?e.pageX:e.touches[0].pageX,l=\"number\"==typeof e.pageY?e.pageY:e.touches[0].pageY,c=u-(o.getBoundingClientRect().left+window.pageXOffset),f=l-(o.getBoundingClientRect().top+window.pageYOffset);if(\"vertical\"===r){var s=void 0;if(s=f<0?0:f>i?1:Math.round(100*f/i)/100,t.a!==s)return{h:t.h,s:t.s,l:t.l,a:s,source:\"rgb\"}}else{var p=void 0;if(n!==(p=c<0?0:c>a?1:Math.round(100*c/a)/100))return{h:t.h,s:t.s,l:t.l,a:p,source:\"rgb\"}}return null}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n={},o=t.render=function(e,t,r,n){if(\"undefined\"==typeof document&&!n)return null;var o=n?new n:document.createElement(\"canvas\");o.width=2*r,o.height=2*r;var a=o.getContext(\"2d\");return a?(a.fillStyle=e,a.fillRect(0,0,o.width,o.height),a.fillStyle=t,a.fillRect(0,0,r,r),a.translate(r,r),a.fillRect(0,0,r,r),o.toDataURL()):null};t.get=function(e,t,r,a){var i=e+\"-\"+t+\"-\"+r+(a?\"-server\":\"\");if(n[i])return n[i];var u=o(e,t,r,a);return n[i]=u,u}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.EditableInput=void 0;var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=r(1),a=u(o),i=u(r(158));function u(e){return e&&e.__esModule?e:{default:e}}var l=[38,40],c=t.EditableInput=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.handleBlur=function(){r.state.blurValue&&r.setState({value:r.state.blurValue,blurValue:null})},r.handleChange=function(e){r.setUpdatedValue(e.target.value,e)},r.handleKeyDown=function(e){var t,n=function(e){return Number(String(e).replace(/%/g,\"\"))}(e.target.value);if(!isNaN(n)&&(t=e.keyCode,l.indexOf(t)>-1)){var o=r.getArrowOffset(),a=38===e.keyCode?n+o:n-o;r.setUpdatedValue(a,e)}},r.handleDrag=function(e){if(r.props.dragLabel){var t=Math.round(r.props.value+e.movementX);t>=0&&t<=r.props.dragMax&&r.props.onChange&&r.props.onChange(r.getValueObjectWithLabel(t),e)}},r.handleMouseDown=function(e){r.props.dragLabel&&(e.preventDefault(),r.handleDrag(e),window.addEventListener(\"mousemove\",r.handleDrag),window.addEventListener(\"mouseup\",r.handleMouseUp))},r.handleMouseUp=function(){r.unbindEventListeners()},r.unbindEventListeners=function(){window.removeEventListener(\"mousemove\",r.handleDrag),window.removeEventListener(\"mouseup\",r.handleMouseUp)},r.state={value:String(e.value).toUpperCase(),blurValue:String(e.value).toUpperCase()},r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),n(t,[{key:\"componentDidUpdate\",value:function(e,t){this.props.value===this.state.value||e.value===this.props.value&&t.value===this.state.value||(this.input===document.activeElement?this.setState({blurValue:String(this.props.value).toUpperCase()}):this.setState({value:String(this.props.value).toUpperCase(),blurValue:!this.state.blurValue&&String(this.props.value).toUpperCase()}))}},{key:\"componentWillUnmount\",value:function(){this.unbindEventListeners()}},{key:\"getValueObjectWithLabel\",value:function(e){return function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}({},this.props.label,e)}},{key:\"getArrowOffset\",value:function(){return this.props.arrowOffset||1}},{key:\"setUpdatedValue\",value:function(e,t){var r=this.props.label?this.getValueObjectWithLabel(e):e;this.props.onChange&&this.props.onChange(r,t);var n,o=function(e){return String(e).indexOf(\"%\")>-1}(t.target.value);this.setState({value:o?(n=e,n+\"%\"):e})}},{key:\"render\",value:function(){var e=this,t=(0,i.default)({default:{wrap:{position:\"relative\"}},\"user-override\":{wrap:this.props.style&&this.props.style.wrap?this.props.style.wrap:{},input:this.props.style&&this.props.style.input?this.props.style.input:{},label:this.props.style&&this.props.style.label?this.props.style.label:{}},\"dragLabel-true\":{label:{cursor:\"ew-resize\"}}},{\"user-override\":!0},this.props);return a.default.createElement(\"div\",{style:t.wrap},a.default.createElement(\"input\",{style:t.input,ref:function(t){return e.input=t},value:this.state.value,onKeyDown:this.handleKeyDown,onChange:this.handleChange,onBlur:this.handleBlur,placeholder:this.props.placeholder,spellCheck:\"false\"}),this.props.label&&!this.props.hideLabel?a.default.createElement(\"span\",{style:t.label,onMouseDown:this.handleMouseDown},this.props.label):null)}}]),t}(o.PureComponent||o.Component);t.default=c},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Hue=void 0;var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=r(1),a=l(o),i=l(r(158)),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(r(386));function l(e){return e&&e.__esModule?e:{default:e}}function c(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function f(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}var s=t.Hue=function(e){function t(){var e,r,n;c(this,t);for(var o=arguments.length,a=Array(o),i=0;i<o;i++)a[i]=arguments[i];return r=n=f(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(a))),n.handleChange=function(e){var t=u.calculateChange(e,n.props.direction,n.props.hsl,n.container);t&&\"function\"==typeof n.props.onChange&&n.props.onChange(t,e)},n.handleMouseDown=function(e){n.handleChange(e),window.addEventListener(\"mousemove\",n.handleChange),window.addEventListener(\"mouseup\",n.handleMouseUp)},n.handleMouseUp=function(){n.unbindEventListeners()},f(n,r)}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),n(t,[{key:\"componentWillUnmount\",value:function(){this.unbindEventListeners()}},{key:\"unbindEventListeners\",value:function(){window.removeEventListener(\"mousemove\",this.handleChange),window.removeEventListener(\"mouseup\",this.handleMouseUp)}},{key:\"render\",value:function(){var e=this,t=this.props.direction,r=void 0===t?\"horizontal\":t,n=(0,i.default)({default:{hue:{absolute:\"0px 0px 0px 0px\",borderRadius:this.props.radius,boxShadow:this.props.shadow},container:{padding:\"0 2px\",position:\"relative\",height:\"100%\",borderRadius:this.props.radius},pointer:{position:\"absolute\",left:100*this.props.hsl.h/360+\"%\"},slider:{marginTop:\"1px\",width:\"4px\",borderRadius:\"1px\",height:\"8px\",boxShadow:\"0 0 2px rgba(0, 0, 0, .6)\",background:\"#fff\",transform:\"translateX(-2px)\"}},vertical:{pointer:{left:\"0px\",top:-100*this.props.hsl.h/360+100+\"%\"}}},{vertical:\"vertical\"===r});return a.default.createElement(\"div\",{style:n.hue},a.default.createElement(\"div\",{className:\"hue-\"+r,style:n.container,ref:function(t){return e.container=t},onMouseDown:this.handleMouseDown,onTouchMove:this.handleChange,onTouchStart:this.handleChange},a.default.createElement(\"style\",null,\"\\n            .hue-horizontal {\\n              background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0\\n                33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n              background: -webkit-linear-gradient(to right, #f00 0%, #ff0\\n                17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n            }\\n\\n            .hue-vertical {\\n              background: linear-gradient(to top, #f00 0%, #ff0 17%, #0f0 33%,\\n                #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n              background: -webkit-linear-gradient(to top, #f00 0%, #ff0 17%,\\n                #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n            }\\n          \"),a.default.createElement(\"div\",{style:n.pointer},this.props.pointer?a.default.createElement(this.props.pointer,this.props):a.default.createElement(\"div\",{style:n.slider}))))}}]),t}(o.PureComponent||o.Component);t.default=s},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.calculateChange=function(e,t,r,n){var o=n.clientWidth,a=n.clientHeight,i=\"number\"==typeof e.pageX?e.pageX:e.touches[0].pageX,u=\"number\"==typeof e.pageY?e.pageY:e.touches[0].pageY,l=i-(n.getBoundingClientRect().left+window.pageXOffset),c=u-(n.getBoundingClientRect().top+window.pageYOffset);if(\"vertical\"===t){var f=void 0;if(c<0)f=359;else if(c>a)f=0;else{f=360*(-100*c/a+100)/100}if(r.h!==f)return{h:f,s:r.s,l:r.l,a:r.a,source:\"rgb\"}}else{var s=void 0;if(l<0)s=0;else if(l>o)s=359;else{s=360*(100*l/o)/100}if(r.h!==s)return{h:s,s:r.s,l:r.l,a:r.a,source:\"rgb\"}}return null}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Raised=void 0;var n=u(r(1)),o=u(r(0)),a=u(r(158)),i=u(r(160));function u(e){return e&&e.__esModule?e:{default:e}}var l=t.Raised=function(e){var t=e.zDepth,r=e.radius,o=e.background,u=e.children,l=e.styles,c=void 0===l?{}:l,f=(0,a.default)((0,i.default)({default:{wrap:{position:\"relative\",display:\"inline-block\"},content:{position:\"relative\"},bg:{absolute:\"0px 0px 0px 0px\",boxShadow:\"0 \"+t+\"px \"+4*t+\"px rgba(0,0,0,.24)\",borderRadius:r,background:o}},\"zDepth-0\":{bg:{boxShadow:\"none\"}},\"zDepth-1\":{bg:{boxShadow:\"0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16)\"}},\"zDepth-2\":{bg:{boxShadow:\"0 6px 20px rgba(0,0,0,.19), 0 8px 17px rgba(0,0,0,.2)\"}},\"zDepth-3\":{bg:{boxShadow:\"0 17px 50px rgba(0,0,0,.19), 0 12px 15px rgba(0,0,0,.24)\"}},\"zDepth-4\":{bg:{boxShadow:\"0 25px 55px rgba(0,0,0,.21), 0 16px 28px rgba(0,0,0,.22)\"}},\"zDepth-5\":{bg:{boxShadow:\"0 40px 77px rgba(0,0,0,.22), 0 27px 24px rgba(0,0,0,.2)\"}},square:{bg:{borderRadius:\"0\"}},circle:{bg:{borderRadius:\"50%\"}}},c),{\"zDepth-1\":1===t});return n.default.createElement(\"div\",{style:f.wrap},n.default.createElement(\"div\",{style:f.bg}),n.default.createElement(\"div\",{style:f.content},u))};l.propTypes={background:o.default.string,zDepth:o.default.oneOf([0,1,2,3,4,5]),radius:o.default.number,styles:o.default.object},l.defaultProps={background:\"#fff\",zDepth:1,radius:2,styles:{}},t.default=l},function(e,t,r){var n=r(213),o=r(253),a=r(255),i=r(418),u=r(163),l=r(260),c=r(259);e.exports=function e(t,r,f,s,p){t!==r&&a(r,(function(a,l){if(p||(p=new n),u(a))i(t,r,l,f,e,s,p);else{var d=s?s(c(t,l),a,l+\"\",t,r,p):void 0;void 0===d&&(d=a),o(t,l,d)}}),l)}},function(e,t){e.exports=function(){this.__data__=[],this.size=0}},function(e,t,r){var n=r(189),o=Array.prototype.splice;e.exports=function(e){var t=this.__data__,r=n(t,e);return!(r<0)&&(r==t.length-1?t.pop():o.call(t,r,1),--this.size,!0)}},function(e,t,r){var n=r(189);e.exports=function(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}},function(e,t,r){var n=r(189);e.exports=function(e){return n(this.__data__,e)>-1}},function(e,t,r){var n=r(189);e.exports=function(e,t){var r=this.__data__,o=n(r,e);return o<0?(++this.size,r.push([e,t])):r[o][1]=t,this}},function(e,t,r){var n=r(188);e.exports=function(){this.__data__=new n,this.size=0}},function(e,t){e.exports=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}},function(e,t){e.exports=function(e){return this.__data__.get(e)}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t,r){var n=r(188),o=r(214),a=r(216);e.exports=function(e,t){var r=this.__data__;if(r instanceof n){var i=r.__data__;if(!o||i.length<199)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new a(i)}return r.set(e,t),this.size=r.size,this}},function(e,t,r){var n=r(215),o=r(402),a=r(163),i=r(252),u=/^\\[object .+?Constructor\\]$/,l=Function.prototype,c=Object.prototype,f=l.toString,s=c.hasOwnProperty,p=RegExp(\"^\"+f.call(s).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");e.exports=function(e){return!(!a(e)||o(e))&&(n(e)?p:u).test(i(e))}},function(e,t,r){var n=r(190),o=Object.prototype,a=o.hasOwnProperty,i=o.toString,u=n?n.toStringTag:void 0;e.exports=function(e){var t=a.call(e,u),r=e[u];try{e[u]=void 0;var n=!0}catch(e){}var o=i.call(e);return n&&(t?e[u]=r:delete e[u]),o}},function(e,t){var r=Object.prototype.toString;e.exports=function(e){return r.call(e)}},function(e,t,r){var n,o=r(403),a=(n=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+n:\"\";e.exports=function(e){return!!a&&a in e}},function(e,t,r){var n=r(162)[\"__core-js_shared__\"];e.exports=n},function(e,t){e.exports=function(e,t){return null==e?void 0:e[t]}},function(e,t,r){var n=r(406),o=r(188),a=r(214);e.exports=function(){this.size=0,this.__data__={hash:new n,map:new(a||o),string:new n}}},function(e,t,r){var n=r(407),o=r(408),a=r(409),i=r(410),u=r(411);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=o,l.prototype.get=a,l.prototype.has=i,l.prototype.set=u,e.exports=l},function(e,t,r){var n=r(191);e.exports=function(){this.__data__=n?n(null):{},this.size=0}},function(e,t){e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},function(e,t,r){var n=r(191),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(n){var r=t[e];return\"__lodash_hash_undefined__\"===r?void 0:r}return o.call(t,e)?t[e]:void 0}},function(e,t,r){var n=r(191),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return n?void 0!==t[e]:o.call(t,e)}},function(e,t,r){var n=r(191);e.exports=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=n&&void 0===t?\"__lodash_hash_undefined__\":t,this}},function(e,t,r){var n=r(192);e.exports=function(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}},function(e,t){e.exports=function(e){var t=typeof e;return\"string\"==t||\"number\"==t||\"symbol\"==t||\"boolean\"==t?\"__proto__\"!==e:null===e}},function(e,t,r){var n=r(192);e.exports=function(e){return n(this,e).get(e)}},function(e,t,r){var n=r(192);e.exports=function(e){return n(this,e).has(e)}},function(e,t,r){var n=r(192);e.exports=function(e,t){var r=n(this,e),o=r.size;return r.set(e,t),this.size+=r.size==o?0:1,this}},function(e,t){e.exports=function(e){return function(t,r,n){for(var o=-1,a=Object(t),i=n(t),u=i.length;u--;){var l=i[e?u:++o];if(!1===r(a[l],l,a))break}return t}}},function(e,t,r){var n=r(253),o=r(419),a=r(420),i=r(422),u=r(423),l=r(219),c=r(164),f=r(426),s=r(221),p=r(215),d=r(163),h=r(428),b=r(222),v=r(259),g=r(432);e.exports=function(e,t,r,x,y,m,w){var _=v(e,r),j=v(t,r),O=w.get(j);if(O)n(e,r,O);else{var E=m?m(_,j,r+\"\",e,t,w):void 0,C=void 0===E;if(C){var k=c(j),S=!k&&s(j),P=!k&&!S&&b(j);E=j,k||S||P?c(_)?E=_:f(_)?E=i(_):S?(C=!1,E=o(j,!0)):P?(C=!1,E=a(j,!0)):E=[]:h(j)||l(j)?(E=_,l(_)?E=g(_):d(_)&&!p(_)||(E=u(j))):C=!1}C&&(w.set(j,E),y(E,j,x,m,w),w.delete(j)),n(e,r,E)}}},function(e,t,r){(function(e){var n=r(162),o=t&&!t.nodeType&&t,a=o&&\"object\"==typeof e&&e&&!e.nodeType&&e,i=a&&a.exports===o?n.Buffer:void 0,u=i?i.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var r=e.length,n=u?u(r):new e.constructor(r);return e.copy(n),n}}).call(this,r(173)(e))},function(e,t,r){var n=r(421);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}},function(e,t,r){var n=r(256);e.exports=function(e){var t=new e.constructor(e.byteLength);return new n(t).set(new n(e)),t}},function(e,t){e.exports=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}},function(e,t,r){var n=r(424),o=r(257),a=r(218);e.exports=function(e){return\"function\"!=typeof e.constructor||a(e)?{}:n(o(e))}},function(e,t,r){var n=r(163),o=Object.create,a=function(){function e(){}return function(t){if(!n(t))return{};if(o)return o(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();e.exports=a},function(e,t,r){var n=r(175),o=r(171);e.exports=function(e){return o(e)&&\"[object Arguments]\"==n(e)}},function(e,t,r){var n=r(176),o=r(171);e.exports=function(e){return o(e)&&n(e)}},function(e,t){e.exports=function(){return!1}},function(e,t,r){var n=r(175),o=r(257),a=r(171),i=Function.prototype,u=Object.prototype,l=i.toString,c=u.hasOwnProperty,f=l.call(Object);e.exports=function(e){if(!a(e)||\"[object Object]\"!=n(e))return!1;var t=o(e);if(null===t)return!0;var r=c.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof r&&r instanceof r&&l.call(r)==f}},function(e,t,r){var n=r(175),o=r(220),a=r(171),i={};i[\"[object Float32Array]\"]=i[\"[object Float64Array]\"]=i[\"[object Int8Array]\"]=i[\"[object Int16Array]\"]=i[\"[object Int32Array]\"]=i[\"[object Uint8Array]\"]=i[\"[object Uint8ClampedArray]\"]=i[\"[object Uint16Array]\"]=i[\"[object Uint32Array]\"]=!0,i[\"[object Arguments]\"]=i[\"[object Array]\"]=i[\"[object ArrayBuffer]\"]=i[\"[object Boolean]\"]=i[\"[object DataView]\"]=i[\"[object Date]\"]=i[\"[object Error]\"]=i[\"[object Function]\"]=i[\"[object Map]\"]=i[\"[object Number]\"]=i[\"[object Object]\"]=i[\"[object RegExp]\"]=i[\"[object Set]\"]=i[\"[object String]\"]=i[\"[object WeakMap]\"]=!1,e.exports=function(e){return a(e)&&o(e.length)&&!!i[n(e)]}},function(e,t){e.exports=function(e){return function(t){return e(t)}}},function(e,t,r){(function(e){var n=r(251),o=t&&!t.nodeType&&t,a=o&&\"object\"==typeof e&&e&&!e.nodeType&&e,i=a&&a.exports===o&&n.process,u=function(){try{var e=a&&a.require&&a.require(\"util\").types;return e||i&&i.binding&&i.binding(\"util\")}catch(e){}}();e.exports=u}).call(this,r(173)(e))},function(e,t,r){var n=r(433),o=r(260);e.exports=function(e){return n(e,o(e))}},function(e,t,r){var n=r(434),o=r(217);e.exports=function(e,t,r,a){var i=!r;r||(r={});for(var u=-1,l=t.length;++u<l;){var c=t[u],f=a?a(r[c],e[c],c,r,e):void 0;void 0===f&&(f=e[c]),i?o(r,c,f):n(r,c,f)}return r}},function(e,t,r){var n=r(217),o=r(179),a=Object.prototype.hasOwnProperty;e.exports=function(e,t,r){var i=e[t];a.call(e,t)&&o(i,r)&&(void 0!==r||t in e)||n(e,t,r)}},function(e,t){e.exports=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}},function(e,t,r){var n=r(163),o=r(218),a=r(437),i=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return a(e);var t=o(e),r=[];for(var u in e)(\"constructor\"!=u||!t&&i.call(e,u))&&r.push(u);return r}},function(e,t){e.exports=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}},function(e,t,r){var n=r(439),o=r(446);e.exports=function(e){return n((function(t,r){var n=-1,a=r.length,i=a>1?r[a-1]:void 0,u=a>2?r[2]:void 0;for(i=e.length>3&&\"function\"==typeof i?(a--,i):void 0,u&&o(r[0],r[1],u)&&(i=a<3?void 0:i,a=1),t=Object(t);++n<a;){var l=r[n];l&&e(t,l,n,i)}return t}))}},function(e,t,r){var n=r(193),o=r(440),a=r(442);e.exports=function(e,t){return a(o(e,t,n),e+\"\")}},function(e,t,r){var n=r(441),o=Math.max;e.exports=function(e,t,r){return t=o(void 0===t?e.length-1:t,0),function(){for(var a=arguments,i=-1,u=o(a.length-t,0),l=Array(u);++i<u;)l[i]=a[t+i];i=-1;for(var c=Array(t+1);++i<t;)c[i]=a[i];return c[t]=r(l),n(e,this,c)}}},function(e,t){e.exports=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}},function(e,t,r){var n=r(443),o=r(445)(n);e.exports=o},function(e,t,r){var n=r(444),o=r(254),a=r(193),i=o?function(e,t){return o(e,\"toString\",{configurable:!0,enumerable:!1,value:n(t),writable:!0})}:a;e.exports=i},function(e,t){e.exports=function(e){return function(){return e}}},function(e,t){var r=Date.now;e.exports=function(e){var t=0,n=0;return function(){var o=r(),a=16-(o-n);if(n=o,a>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}},function(e,t,r){var n=r(179),o=r(176),a=r(223),i=r(163);e.exports=function(e,t,r){if(!i(r))return!1;var u=typeof t;return!!(\"number\"==u?o(r)&&a(t,r.length):\"string\"==u&&t in r)&&n(r[t],e)}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Saturation=void 0;var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=r(1),a=c(o),i=c(r(158)),u=c(r(448)),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(r(453));function c(e){return e&&e.__esModule?e:{default:e}}var f=t.Saturation=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.handleChange=function(e){\"function\"==typeof r.props.onChange&&r.throttle(r.props.onChange,l.calculateChange(e,r.props.hsl,r.container),e)},r.handleMouseDown=function(e){r.handleChange(e),window.addEventListener(\"mousemove\",r.handleChange),window.addEventListener(\"mouseup\",r.handleMouseUp)},r.handleMouseUp=function(){r.unbindEventListeners()},r.throttle=(0,u.default)((function(e,t,r){e(t,r)}),50),r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),n(t,[{key:\"componentWillUnmount\",value:function(){this.throttle.cancel(),this.unbindEventListeners()}},{key:\"unbindEventListeners\",value:function(){window.removeEventListener(\"mousemove\",this.handleChange),window.removeEventListener(\"mouseup\",this.handleMouseUp)}},{key:\"render\",value:function(){var e=this,t=this.props.style||{},r=t.color,n=t.white,o=t.black,u=t.pointer,l=t.circle,c=(0,i.default)({default:{color:{absolute:\"0px 0px 0px 0px\",background:\"hsl(\"+this.props.hsl.h+\",100%, 50%)\",borderRadius:this.props.radius},white:{absolute:\"0px 0px 0px 0px\",borderRadius:this.props.radius},black:{absolute:\"0px 0px 0px 0px\",boxShadow:this.props.shadow,borderRadius:this.props.radius},pointer:{position:\"absolute\",top:-100*this.props.hsv.v+100+\"%\",left:100*this.props.hsv.s+\"%\",cursor:\"default\"},circle:{width:\"4px\",height:\"4px\",boxShadow:\"0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0,0,0,.3),\\n            0 0 1px 2px rgba(0,0,0,.4)\",borderRadius:\"50%\",cursor:\"hand\",transform:\"translate(-2px, -2px)\"}},custom:{color:r,white:n,black:o,pointer:u,circle:l}},{custom:!!this.props.style});return a.default.createElement(\"div\",{style:c.color,ref:function(t){return e.container=t},onMouseDown:this.handleMouseDown,onTouchMove:this.handleChange,onTouchStart:this.handleChange},a.default.createElement(\"style\",null,\"\\n          .saturation-white {\\n            background: -webkit-linear-gradient(to right, #fff, rgba(255,255,255,0));\\n            background: linear-gradient(to right, #fff, rgba(255,255,255,0));\\n          }\\n          .saturation-black {\\n            background: -webkit-linear-gradient(to top, #000, rgba(0,0,0,0));\\n            background: linear-gradient(to top, #000, rgba(0,0,0,0));\\n          }\\n        \"),a.default.createElement(\"div\",{style:c.white,className:\"saturation-white\"},a.default.createElement(\"div\",{style:c.black,className:\"saturation-black\"}),a.default.createElement(\"div\",{style:c.pointer},this.props.pointer?a.default.createElement(this.props.pointer,this.props):a.default.createElement(\"div\",{style:c.circle}))))}}]),t}(o.PureComponent||o.Component);t.default=f},function(e,t,r){var n=r(262),o=r(163);e.exports=function(e,t,r){var a=!0,i=!0;if(\"function\"!=typeof e)throw new TypeError(\"Expected a function\");return o(r)&&(a=\"leading\"in r?!!r.leading:a,i=\"trailing\"in r?!!r.trailing:i),n(e,t,{leading:a,maxWait:t,trailing:i})}},function(e,t,r){var n=r(162);e.exports=function(){return n.Date.now()}},function(e,t,r){var n=r(451),o=r(163),a=r(194),i=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt;e.exports=function(e){if(\"number\"==typeof e)return e;if(a(e))return NaN;if(o(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=o(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=n(e);var r=u.test(e);return r||l.test(e)?c(e.slice(2),r?2:8):i.test(e)?NaN:+e}},function(e,t,r){var n=r(452),o=/^\\s+/;e.exports=function(e){return e?e.slice(0,n(e)+1).replace(o,\"\"):e}},function(e,t){var r=/\\s/;e.exports=function(e){for(var t=e.length;t--&&r.test(e.charAt(t)););return t}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.calculateChange=function(e,t,r){var n=r.getBoundingClientRect(),o=n.width,a=n.height,i=\"number\"==typeof e.pageX?e.pageX:e.touches[0].pageX,u=\"number\"==typeof e.pageY?e.pageY:e.touches[0].pageY,l=i-(r.getBoundingClientRect().left+window.pageXOffset),c=u-(r.getBoundingClientRect().top+window.pageYOffset);l<0?l=0:l>o&&(l=o),c<0?c=0:c>a&&(c=a);var f=l/o,s=1-c/a;return{h:t.h,s:f,v:s,a:t.a,source:\"rgb\"}}},function(e,t,r){e.exports=r(455)},function(e,t,r){var n=r(456),o=r(264),a=r(461),i=r(164);e.exports=function(e,t){return(i(e)?n:o)(e,a(t))}},function(e,t){e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}},function(e,t,r){var n=r(255),o=r(224);e.exports=function(e,t){return e&&n(e,t,o)}},function(e,t,r){var n=r(218),o=r(459),a=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return o(e);var t=[];for(var r in Object(e))a.call(e,r)&&\"constructor\"!=r&&t.push(r);return t}},function(e,t,r){var n=r(258)(Object.keys,Object);e.exports=n},function(e,t,r){var n=r(176);e.exports=function(e,t){return function(r,o){if(null==r)return r;if(!n(r))return e(r,o);for(var a=r.length,i=t?a:-1,u=Object(r);(t?i--:++i<a)&&!1!==o(u[i],i,u););return r}}},function(e,t,r){var n=r(193);e.exports=function(e){return\"function\"==typeof e?e:n}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Swatch=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o=l(r(1)),a=l(r(158)),i=r(463),u=l(r(212));function l(e){return e&&e.__esModule?e:{default:e}}var c=t.Swatch=function(e){var t=e.color,r=e.style,i=e.onClick,l=void 0===i?function(){}:i,c=e.onHover,f=e.title,s=void 0===f?t:f,p=e.children,d=e.focus,h=e.focusStyle,b=void 0===h?{}:h,v=\"transparent\"===t,g=(0,a.default)({default:{swatch:n({background:t,height:\"100%\",width:\"100%\",cursor:\"pointer\",position:\"relative\",outline:\"none\"},r,d?b:{})}}),x={};return c&&(x.onMouseOver=function(e){return c(t,e)}),o.default.createElement(\"div\",n({style:g.swatch,onClick:function(e){return l(t,e)},title:s,tabIndex:0,onKeyDown:function(e){return 13===e.keyCode&&l(t,e)}},x),p,v&&o.default.createElement(u.default,{borderRadius:g.swatch.borderRadius,boxShadow:\"inset 0 0 0 1px rgba(0,0,0,0.1)\"}))};t.default=(0,i.handleFocus)(c)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.handleFocus=void 0;var n,o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),i=r(1),u=(n=i)&&n.__esModule?n:{default:n};function l(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function c(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function f(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.handleFocus=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"span\";return function(r){function n(){var e,t,r;l(this,n);for(var o=arguments.length,a=Array(o),i=0;i<o;i++)a[i]=arguments[i];return t=r=c(this,(e=n.__proto__||Object.getPrototypeOf(n)).call.apply(e,[this].concat(a))),r.state={focus:!1},r.handleFocus=function(){return r.setState({focus:!0})},r.handleBlur=function(){return r.setState({focus:!1})},c(r,t)}return f(n,r),a(n,[{key:\"render\",value:function(){return u.default.createElement(t,{onFocus:this.handleFocus,onBlur:this.handleBlur},u.default.createElement(e,o({},this.props,this.state)))}}]),n}(u.default.Component)}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.AlphaPointer=void 0;var n=a(r(1)),o=a(r(158));function a(e){return e&&e.__esModule?e:{default:e}}var i=t.AlphaPointer=function(e){var t=e.direction,r=(0,o.default)({default:{picker:{width:\"18px\",height:\"18px\",borderRadius:\"50%\",transform:\"translate(-9px, -1px)\",backgroundColor:\"rgb(248, 248, 248)\",boxShadow:\"0 1px 4px 0 rgba(0, 0, 0, 0.37)\"}},vertical:{picker:{transform:\"translate(-3px, -9px)\"}}},{vertical:\"vertical\"===t});return n.default.createElement(\"div\",{style:r.picker})};t.default=i},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Block=void 0;var n=f(r(1)),o=f(r(0)),a=f(r(158)),i=f(r(160)),u=f(r(165)),l=r(159),c=f(r(466));function f(e){return e&&e.__esModule?e:{default:e}}var s=t.Block=function(e){var t=e.onChange,r=e.onSwatchHover,o=e.hex,f=e.colors,s=e.width,p=e.triangle,d=e.styles,h=void 0===d?{}:d,b=e.className,v=void 0===b?\"\":b,g=\"transparent\"===o,x=function(e,r){u.default.isValidHex(e)&&t({hex:e,source:\"hex\"},r)},y=(0,a.default)((0,i.default)({default:{card:{width:s,background:\"#fff\",boxShadow:\"0 1px rgba(0,0,0,.1)\",borderRadius:\"6px\",position:\"relative\"},head:{height:\"110px\",background:o,borderRadius:\"6px 6px 0 0\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",position:\"relative\"},body:{padding:\"10px\"},label:{fontSize:\"18px\",color:u.default.getContrastingColor(o),position:\"relative\"},triangle:{width:\"0px\",height:\"0px\",borderStyle:\"solid\",borderWidth:\"0 10px 10px 10px\",borderColor:\"transparent transparent \"+o+\" transparent\",position:\"absolute\",top:\"-10px\",left:\"50%\",marginLeft:\"-10px\"},input:{width:\"100%\",fontSize:\"12px\",color:\"#666\",border:\"0px\",outline:\"none\",height:\"22px\",boxShadow:\"inset 0 0 0 1px #ddd\",borderRadius:\"4px\",padding:\"0 7px\",boxSizing:\"border-box\"}},\"hide-triangle\":{triangle:{display:\"none\"}}},h),{\"hide-triangle\":\"hide\"===p});return n.default.createElement(\"div\",{style:y.card,className:\"block-picker \"+v},n.default.createElement(\"div\",{style:y.triangle}),n.default.createElement(\"div\",{style:y.head},g&&n.default.createElement(l.Checkboard,{borderRadius:\"6px 6px 0 0\"}),n.default.createElement(\"div\",{style:y.label},o)),n.default.createElement(\"div\",{style:y.body},n.default.createElement(c.default,{colors:f,onClick:x,onSwatchHover:r}),n.default.createElement(l.EditableInput,{style:{input:y.input},value:o,onChange:x})))};s.propTypes={width:o.default.oneOfType([o.default.string,o.default.number]),colors:o.default.arrayOf(o.default.string),triangle:o.default.oneOf([\"top\",\"hide\"]),styles:o.default.object},s.defaultProps={width:170,colors:[\"#D9E3F0\",\"#F47373\",\"#697689\",\"#37D67A\",\"#2CCCE4\",\"#555555\",\"#dce775\",\"#ff8a65\",\"#ba68c8\"],triangle:\"top\",styles:{}},t.default=(0,l.ColorWrap)(s)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.BlockSwatches=void 0;var n=u(r(1)),o=u(r(158)),a=u(r(172)),i=r(159);function u(e){return e&&e.__esModule?e:{default:e}}var l=t.BlockSwatches=function(e){var t=e.colors,r=e.onClick,u=e.onSwatchHover,l=(0,o.default)({default:{swatches:{marginRight:\"-10px\"},swatch:{width:\"22px\",height:\"22px\",float:\"left\",marginRight:\"10px\",marginBottom:\"10px\",borderRadius:\"4px\"},clear:{clear:\"both\"}}});return n.default.createElement(\"div\",{style:l.swatches},(0,a.default)(t,(function(e){return n.default.createElement(i.Swatch,{key:e,color:e,style:l.swatch,onClick:r,onHover:u,focusStyle:{boxShadow:\"0 0 4px \"+e}})})),n.default.createElement(\"div\",{style:l.clear}))};t.default=l},function(e,t,r){var n=r(468),o=r(492),a=r(193),i=r(164),u=r(502);e.exports=function(e){return\"function\"==typeof e?e:null==e?a:\"object\"==typeof e?i(e)?o(e[0],e[1]):n(e):u(e)}},function(e,t,r){var n=r(469),o=r(491),a=r(269);e.exports=function(e){var t=o(e);return 1==t.length&&t[0][2]?a(t[0][0],t[0][1]):function(r){return r===e||n(r,e,t)}}},function(e,t,r){var n=r(213),o=r(266);e.exports=function(e,t,r,a){var i=r.length,u=i,l=!a;if(null==e)return!u;for(e=Object(e);i--;){var c=r[i];if(l&&c[2]?c[1]!==e[c[0]]:!(c[0]in e))return!1}for(;++i<u;){var f=(c=r[i])[0],s=e[f],p=c[1];if(l&&c[2]){if(void 0===s&&!(f in e))return!1}else{var d=new n;if(a)var h=a(s,p,f,e,t,d);if(!(void 0===h?o(p,s,3,a,d):h))return!1}}return!0}},function(e,t,r){var n=r(213),o=r(267),a=r(476),i=r(479),u=r(486),l=r(164),c=r(221),f=r(222),s=\"[object Object]\",p=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,d,h,b){var v=l(e),g=l(t),x=v?\"[object Array]\":u(e),y=g?\"[object Array]\":u(t),m=(x=\"[object Arguments]\"==x?s:x)==s,w=(y=\"[object Arguments]\"==y?s:y)==s,_=x==y;if(_&&c(e)){if(!c(t))return!1;v=!0,m=!1}if(_&&!m)return b||(b=new n),v||f(e)?o(e,t,r,d,h,b):a(e,t,x,r,d,h,b);if(!(1&r)){var j=m&&p.call(e,\"__wrapped__\"),O=w&&p.call(t,\"__wrapped__\");if(j||O){var E=j?e.value():e,C=O?t.value():t;return b||(b=new n),h(E,C,r,d,b)}}return!!_&&(b||(b=new n),i(e,t,r,d,h,b))}},function(e,t,r){var n=r(216),o=r(472),a=r(473);function i(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new n;++t<r;)this.add(e[t])}i.prototype.add=i.prototype.push=o,i.prototype.has=a,e.exports=i},function(e,t){e.exports=function(e){return this.__data__.set(e,\"__lodash_hash_undefined__\"),this}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t){e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}},function(e,t){e.exports=function(e,t){return e.has(t)}},function(e,t,r){var n=r(190),o=r(256),a=r(179),i=r(267),u=r(477),l=r(478),c=n?n.prototype:void 0,f=c?c.valueOf:void 0;e.exports=function(e,t,r,n,c,s,p){switch(r){case\"[object DataView]\":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case\"[object ArrayBuffer]\":return!(e.byteLength!=t.byteLength||!s(new o(e),new o(t)));case\"[object Boolean]\":case\"[object Date]\":case\"[object Number]\":return a(+e,+t);case\"[object Error]\":return e.name==t.name&&e.message==t.message;case\"[object RegExp]\":case\"[object String]\":return e==t+\"\";case\"[object Map]\":var d=u;case\"[object Set]\":var h=1&n;if(d||(d=l),e.size!=t.size&&!h)return!1;var b=p.get(e);if(b)return b==t;n|=2,p.set(e,t);var v=i(d(e),d(t),n,c,s,p);return p.delete(e),v;case\"[object Symbol]\":if(f)return f.call(e)==f.call(t)}return!1}},function(e,t){e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}},function(e,t){e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}},function(e,t,r){var n=r(480),o=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,a,i,u){var l=1&r,c=n(e),f=c.length;if(f!=n(t).length&&!l)return!1;for(var s=f;s--;){var p=c[s];if(!(l?p in t:o.call(t,p)))return!1}var d=u.get(e),h=u.get(t);if(d&&h)return d==t&&h==e;var b=!0;u.set(e,t),u.set(t,e);for(var v=l;++s<f;){var g=e[p=c[s]],x=t[p];if(a)var y=l?a(x,g,p,t,e,u):a(g,x,p,e,t,u);if(!(void 0===y?g===x||i(g,x,r,a,u):y)){b=!1;break}v||(v=\"constructor\"==p)}if(b&&!v){var m=e.constructor,w=t.constructor;m==w||!(\"constructor\"in e)||!(\"constructor\"in t)||\"function\"==typeof m&&m instanceof m&&\"function\"==typeof w&&w instanceof w||(b=!1)}return u.delete(e),u.delete(t),b}},function(e,t,r){var n=r(481),o=r(483),a=r(224);e.exports=function(e){return n(e,a,o)}},function(e,t,r){var n=r(482),o=r(164);e.exports=function(e,t,r){var a=t(e);return o(e)?a:n(a,r(e))}},function(e,t){e.exports=function(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e}},function(e,t,r){var n=r(484),o=r(485),a=Object.prototype.propertyIsEnumerable,i=Object.getOwnPropertySymbols,u=i?function(e){return null==e?[]:(e=Object(e),n(i(e),(function(t){return a.call(e,t)})))}:o;e.exports=u},function(e,t){e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,o=0,a=[];++r<n;){var i=e[r];t(i,r,e)&&(a[o++]=i)}return a}},function(e,t){e.exports=function(){return[]}},function(e,t,r){var n=r(487),o=r(214),a=r(488),i=r(489),u=r(490),l=r(175),c=r(252),f=c(n),s=c(o),p=c(a),d=c(i),h=c(u),b=l;(n&&\"[object DataView]\"!=b(new n(new ArrayBuffer(1)))||o&&\"[object Map]\"!=b(new o)||a&&\"[object Promise]\"!=b(a.resolve())||i&&\"[object Set]\"!=b(new i)||u&&\"[object WeakMap]\"!=b(new u))&&(b=function(e){var t=l(e),r=\"[object Object]\"==t?e.constructor:void 0,n=r?c(r):\"\";if(n)switch(n){case f:return\"[object DataView]\";case s:return\"[object Map]\";case p:return\"[object Promise]\";case d:return\"[object Set]\";case h:return\"[object WeakMap]\"}return t}),e.exports=b},function(e,t,r){var n=r(170)(r(162),\"DataView\");e.exports=n},function(e,t,r){var n=r(170)(r(162),\"Promise\");e.exports=n},function(e,t,r){var n=r(170)(r(162),\"Set\");e.exports=n},function(e,t,r){var n=r(170)(r(162),\"WeakMap\");e.exports=n},function(e,t,r){var n=r(268),o=r(224);e.exports=function(e){for(var t=o(e),r=t.length;r--;){var a=t[r],i=e[a];t[r]=[a,i,n(i)]}return t}},function(e,t,r){var n=r(266),o=r(493),a=r(499),i=r(225),u=r(268),l=r(269),c=r(195);e.exports=function(e,t){return i(e)&&u(t)?l(c(e),t):function(r){var i=o(r,e);return void 0===i&&i===t?a(r,e):n(t,i,3)}}},function(e,t,r){var n=r(270);e.exports=function(e,t,r){var o=null==e?void 0:n(e,t);return void 0===o?r:o}},function(e,t,r){var n=r(495),o=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,a=/\\\\(\\\\)?/g,i=n((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(\"\"),e.replace(o,(function(e,r,n,o){t.push(n?o.replace(a,\"$1\"):r||e)})),t}));e.exports=i},function(e,t,r){var n=r(496);e.exports=function(e){var t=n(e,(function(e){return 500===r.size&&r.clear(),e})),r=t.cache;return t}},function(e,t,r){var n=r(216);function o(e,t){if(\"function\"!=typeof e||null!=t&&\"function\"!=typeof t)throw new TypeError(\"Expected a function\");var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],a=r.cache;if(a.has(o))return a.get(o);var i=e.apply(this,n);return r.cache=a.set(o,i)||a,i};return r.cache=new(o.Cache||n),r}o.Cache=n,e.exports=o},function(e,t,r){var n=r(498);e.exports=function(e){return null==e?\"\":n(e)}},function(e,t,r){var n=r(190),o=r(265),a=r(164),i=r(194),u=n?n.prototype:void 0,l=u?u.toString:void 0;e.exports=function e(t){if(\"string\"==typeof t)return t;if(a(t))return o(t,e)+\"\";if(i(t))return l?l.call(t):\"\";var r=t+\"\";return\"0\"==r&&1/t==-1/0?\"-0\":r}},function(e,t,r){var n=r(500),o=r(501);e.exports=function(e,t){return null!=e&&o(e,t,n)}},function(e,t){e.exports=function(e,t){return null!=e&&t in Object(e)}},function(e,t,r){var n=r(271),o=r(219),a=r(164),i=r(223),u=r(220),l=r(195);e.exports=function(e,t,r){for(var c=-1,f=(t=n(t,e)).length,s=!1;++c<f;){var p=l(t[c]);if(!(s=null!=e&&r(e,p)))break;e=e[p]}return s||++c!=f?s:!!(f=null==e?0:e.length)&&u(f)&&i(p,f)&&(a(e)||o(e))}},function(e,t,r){var n=r(503),o=r(504),a=r(225),i=r(195);e.exports=function(e){return a(e)?n(i(e)):o(e)}},function(e,t){e.exports=function(e){return function(t){return null==t?void 0:t[e]}}},function(e,t,r){var n=r(270);e.exports=function(e){return function(t){return n(t,e)}}},function(e,t,r){var n=r(264),o=r(176);e.exports=function(e,t){var r=-1,a=o(e)?Array(e.length):[];return n(e,(function(e,n,o){a[++r]=t(e,n,o)})),a}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Circle=void 0;var n=s(r(1)),o=s(r(0)),a=s(r(158)),i=s(r(172)),u=s(r(160)),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(r(272)),c=r(159),f=s(r(507));function s(e){return e&&e.__esModule?e:{default:e}}var p=t.Circle=function(e){var t=e.width,r=e.onChange,o=e.onSwatchHover,l=e.colors,c=e.hex,s=e.circleSize,p=e.styles,d=void 0===p?{}:p,h=e.circleSpacing,b=e.className,v=void 0===b?\"\":b,g=(0,a.default)((0,u.default)({default:{card:{width:t,display:\"flex\",flexWrap:\"wrap\",marginRight:-h,marginBottom:-h}}},d)),x=function(e,t){return r({hex:e,source:\"hex\"},t)};return n.default.createElement(\"div\",{style:g.card,className:\"circle-picker \"+v},(0,i.default)(l,(function(e){return n.default.createElement(f.default,{key:e,color:e,onClick:x,onSwatchHover:o,active:c===e.toLowerCase(),circleSize:s,circleSpacing:h})})))};p.propTypes={width:o.default.oneOfType([o.default.string,o.default.number]),circleSize:o.default.number,circleSpacing:o.default.number,styles:o.default.object},p.defaultProps={width:252,circleSize:28,circleSpacing:14,colors:[l.red[500],l.pink[500],l.purple[500],l.deepPurple[500],l.indigo[500],l.blue[500],l.lightBlue[500],l.cyan[500],l.teal[500],l.green[500],l.lightGreen[500],l.lime[500],l.yellow[500],l.amber[500],l.orange[500],l.deepOrange[500],l.brown[500],l.blueGrey[500]],styles:{}},t.default=(0,c.ColorWrap)(p)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.CircleSwatch=void 0;var n=u(r(1)),o=r(158),a=u(o),i=r(159);function u(e){return e&&e.__esModule?e:{default:e}}var l=t.CircleSwatch=function(e){var t=e.color,r=e.onClick,o=e.onSwatchHover,u=e.hover,l=e.active,c=e.circleSize,f=e.circleSpacing,s=(0,a.default)({default:{swatch:{width:c,height:c,marginRight:f,marginBottom:f,transform:\"scale(1)\",transition:\"100ms transform ease\"},Swatch:{borderRadius:\"50%\",background:\"transparent\",boxShadow:\"inset 0 0 0 \"+c/2+\"px \"+t,transition:\"100ms box-shadow ease\"}},hover:{swatch:{transform:\"scale(1.2)\"}},active:{Swatch:{boxShadow:\"inset 0 0 0 3px \"+t}}},{hover:u,active:l});return n.default.createElement(\"div\",{style:s.swatch},n.default.createElement(i.Swatch,{style:s.Swatch,color:t,onClick:r,onHover:o,focusStyle:{boxShadow:s.Swatch.boxShadow+\", 0 0 5px \"+t}}))};l.defaultProps={circleSize:28,circleSpacing:14},t.default=(0,o.handleHover)(l)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Chrome=void 0;var n=s(r(1)),o=s(r(0)),a=s(r(158)),i=s(r(160)),u=r(159),l=s(r(509)),c=s(r(511)),f=s(r(512));function s(e){return e&&e.__esModule?e:{default:e}}var p=t.Chrome=function(e){var t=e.width,r=e.onChange,o=e.disableAlpha,s=e.rgb,p=e.hsl,d=e.hsv,h=e.hex,b=e.renderers,v=e.styles,g=void 0===v?{}:v,x=e.className,y=void 0===x?\"\":x,m=e.defaultView,w=(0,a.default)((0,i.default)({default:{picker:{width:t,background:\"#fff\",borderRadius:\"2px\",boxShadow:\"0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3)\",boxSizing:\"initial\",fontFamily:\"Menlo\"},saturation:{width:\"100%\",paddingBottom:\"55%\",position:\"relative\",borderRadius:\"2px 2px 0 0\",overflow:\"hidden\"},Saturation:{radius:\"2px 2px 0 0\"},body:{padding:\"16px 16px 12px\"},controls:{display:\"flex\"},color:{width:\"32px\"},swatch:{marginTop:\"6px\",width:\"16px\",height:\"16px\",borderRadius:\"8px\",position:\"relative\",overflow:\"hidden\"},active:{absolute:\"0px 0px 0px 0px\",borderRadius:\"8px\",boxShadow:\"inset 0 0 0 1px rgba(0,0,0,.1)\",background:\"rgba(\"+s.r+\", \"+s.g+\", \"+s.b+\", \"+s.a+\")\",zIndex:\"2\"},toggles:{flex:\"1\"},hue:{height:\"10px\",position:\"relative\",marginBottom:\"8px\"},Hue:{radius:\"2px\"},alpha:{height:\"10px\",position:\"relative\"},Alpha:{radius:\"2px\"}},disableAlpha:{color:{width:\"22px\"},alpha:{display:\"none\"},hue:{marginBottom:\"0px\"},swatch:{width:\"10px\",height:\"10px\",marginTop:\"0px\"}}},g),{disableAlpha:o});return n.default.createElement(\"div\",{style:w.picker,className:\"chrome-picker \"+y},n.default.createElement(\"div\",{style:w.saturation},n.default.createElement(u.Saturation,{style:w.Saturation,hsl:p,hsv:d,pointer:f.default,onChange:r})),n.default.createElement(\"div\",{style:w.body},n.default.createElement(\"div\",{style:w.controls,className:\"flexbox-fix\"},n.default.createElement(\"div\",{style:w.color},n.default.createElement(\"div\",{style:w.swatch},n.default.createElement(\"div\",{style:w.active}),n.default.createElement(u.Checkboard,{renderers:b}))),n.default.createElement(\"div\",{style:w.toggles},n.default.createElement(\"div\",{style:w.hue},n.default.createElement(u.Hue,{style:w.Hue,hsl:p,pointer:c.default,onChange:r})),n.default.createElement(\"div\",{style:w.alpha},n.default.createElement(u.Alpha,{style:w.Alpha,rgb:s,hsl:p,pointer:c.default,renderers:b,onChange:r})))),n.default.createElement(l.default,{rgb:s,hsl:p,hex:h,view:m,onChange:r,disableAlpha:o})))};p.propTypes={width:o.default.oneOfType([o.default.string,o.default.number]),disableAlpha:o.default.bool,styles:o.default.object,defaultView:o.default.oneOf([\"hex\",\"rgb\",\"hsl\"])},p.defaultProps={width:225,disableAlpha:!1,styles:{}},t.default=(0,u.ColorWrap)(p)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ChromeFields=void 0;var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=c(r(1)),a=c(r(158)),i=c(r(165)),u=r(159),l=c(r(510));function c(e){return e&&e.__esModule?e:{default:e}}var f=t.ChromeFields=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.toggleViews=function(){\"hex\"===r.state.view?r.setState({view:\"rgb\"}):\"rgb\"===r.state.view?r.setState({view:\"hsl\"}):\"hsl\"===r.state.view&&(1===r.props.hsl.a?r.setState({view:\"hex\"}):r.setState({view:\"rgb\"}))},r.handleChange=function(e,t){e.hex?i.default.isValidHex(e.hex)&&r.props.onChange({hex:e.hex,source:\"hex\"},t):e.r||e.g||e.b?r.props.onChange({r:e.r||r.props.rgb.r,g:e.g||r.props.rgb.g,b:e.b||r.props.rgb.b,source:\"rgb\"},t):e.a?(e.a<0?e.a=0:e.a>1&&(e.a=1),r.props.onChange({h:r.props.hsl.h,s:r.props.hsl.s,l:r.props.hsl.l,a:Math.round(100*e.a)/100,source:\"rgb\"},t)):(e.h||e.s||e.l)&&(\"string\"==typeof e.s&&e.s.includes(\"%\")&&(e.s=e.s.replace(\"%\",\"\")),\"string\"==typeof e.l&&e.l.includes(\"%\")&&(e.l=e.l.replace(\"%\",\"\")),r.props.onChange({h:e.h||r.props.hsl.h,s:Number(e.s&&e.s||r.props.hsl.s),l:Number(e.l&&e.l||r.props.hsl.l),source:\"hsl\"},t))},r.showHighlight=function(e){e.currentTarget.style.background=\"#eee\"},r.hideHighlight=function(e){e.currentTarget.style.background=\"transparent\"},1!==e.hsl.a&&\"hex\"===e.view?r.state={view:\"rgb\"}:r.state={view:e.view},r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),n(t,[{key:\"render\",value:function(){var e=this,t=(0,a.default)({default:{wrap:{paddingTop:\"16px\",display:\"flex\"},fields:{flex:\"1\",display:\"flex\",marginLeft:\"-6px\"},field:{paddingLeft:\"6px\",width:\"100%\"},alpha:{paddingLeft:\"6px\",width:\"100%\"},toggle:{width:\"32px\",textAlign:\"right\",position:\"relative\"},icon:{marginRight:\"-4px\",marginTop:\"12px\",cursor:\"pointer\",position:\"relative\"},iconHighlight:{position:\"absolute\",width:\"24px\",height:\"28px\",background:\"#eee\",borderRadius:\"4px\",top:\"10px\",left:\"12px\",display:\"none\"},input:{fontSize:\"11px\",color:\"#333\",width:\"100%\",borderRadius:\"2px\",border:\"none\",boxShadow:\"inset 0 0 0 1px #dadada\",height:\"21px\",textAlign:\"center\"},label:{textTransform:\"uppercase\",fontSize:\"11px\",lineHeight:\"11px\",color:\"#969696\",textAlign:\"center\",display:\"block\",marginTop:\"12px\"},svg:{fill:\"#333\",width:\"24px\",height:\"24px\",border:\"1px transparent solid\",borderRadius:\"5px\"}},disableAlpha:{alpha:{display:\"none\"}}},this.props,this.state),r=void 0;return\"hex\"===this.state.view?r=o.default.createElement(\"div\",{style:t.fields,className:\"flexbox-fix\"},o.default.createElement(\"div\",{style:t.field},o.default.createElement(u.EditableInput,{style:{input:t.input,label:t.label},label:\"hex\",value:this.props.hex,onChange:this.handleChange}))):\"rgb\"===this.state.view?r=o.default.createElement(\"div\",{style:t.fields,className:\"flexbox-fix\"},o.default.createElement(\"div\",{style:t.field},o.default.createElement(u.EditableInput,{style:{input:t.input,label:t.label},label:\"r\",value:this.props.rgb.r,onChange:this.handleChange})),o.default.createElement(\"div\",{style:t.field},o.default.createElement(u.EditableInput,{style:{input:t.input,label:t.label},label:\"g\",value:this.props.rgb.g,onChange:this.handleChange})),o.default.createElement(\"div\",{style:t.field},o.default.createElement(u.EditableInput,{style:{input:t.input,label:t.label},label:\"b\",value:this.props.rgb.b,onChange:this.handleChange})),o.default.createElement(\"div\",{style:t.alpha},o.default.createElement(u.EditableInput,{style:{input:t.input,label:t.label},label:\"a\",value:this.props.rgb.a,arrowOffset:.01,onChange:this.handleChange}))):\"hsl\"===this.state.view&&(r=o.default.createElement(\"div\",{style:t.fields,className:\"flexbox-fix\"},o.default.createElement(\"div\",{style:t.field},o.default.createElement(u.EditableInput,{style:{input:t.input,label:t.label},label:\"h\",value:Math.round(this.props.hsl.h),onChange:this.handleChange})),o.default.createElement(\"div\",{style:t.field},o.default.createElement(u.EditableInput,{style:{input:t.input,label:t.label},label:\"s\",value:Math.round(100*this.props.hsl.s)+\"%\",onChange:this.handleChange})),o.default.createElement(\"div\",{style:t.field},o.default.createElement(u.EditableInput,{style:{input:t.input,label:t.label},label:\"l\",value:Math.round(100*this.props.hsl.l)+\"%\",onChange:this.handleChange})),o.default.createElement(\"div\",{style:t.alpha},o.default.createElement(u.EditableInput,{style:{input:t.input,label:t.label},label:\"a\",value:this.props.hsl.a,arrowOffset:.01,onChange:this.handleChange})))),o.default.createElement(\"div\",{style:t.wrap,className:\"flexbox-fix\"},r,o.default.createElement(\"div\",{style:t.toggle},o.default.createElement(\"div\",{style:t.icon,onClick:this.toggleViews,ref:function(t){return e.icon=t}},o.default.createElement(l.default,{style:t.svg,onMouseOver:this.showHighlight,onMouseEnter:this.showHighlight,onMouseOut:this.hideHighlight}))))}}],[{key:\"getDerivedStateFromProps\",value:function(e,t){return 1!==e.hsl.a&&\"hex\"===t.view?{view:\"rgb\"}:null}}]),t}(o.default.Component);f.defaultProps={view:\"hex\"},t.default=f},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n,o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=r(1),i=(n=a)&&n.__esModule?n:{default:n};t.default=function(e){var t=e.fill,r=void 0===t?\"currentColor\":t,n=e.width,a=void 0===n?24:n,u=e.height,l=void 0===u?24:u,c=e.style,f=void 0===c?{}:c,s=function(e,t){var r={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}(e,[\"fill\",\"width\",\"height\",\"style\"]);return i.default.createElement(\"svg\",o({viewBox:\"0 0 24 24\",style:o({fill:r,width:a,height:l},f)},s),i.default.createElement(\"path\",{d:\"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z\"}))}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ChromePointer=void 0;var n=a(r(1)),o=a(r(158));function a(e){return e&&e.__esModule?e:{default:e}}var i=t.ChromePointer=function(){var e=(0,o.default)({default:{picker:{width:\"12px\",height:\"12px\",borderRadius:\"6px\",transform:\"translate(-6px, -1px)\",backgroundColor:\"rgb(248, 248, 248)\",boxShadow:\"0 1px 4px 0 rgba(0, 0, 0, 0.37)\"}}});return n.default.createElement(\"div\",{style:e.picker})};t.default=i},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ChromePointerCircle=void 0;var n=a(r(1)),o=a(r(158));function a(e){return e&&e.__esModule?e:{default:e}}var i=t.ChromePointerCircle=function(){var e=(0,o.default)({default:{picker:{width:\"12px\",height:\"12px\",borderRadius:\"6px\",boxShadow:\"inset 0 0 0 1px #fff\",transform:\"translate(-6px, -6px)\"}}});return n.default.createElement(\"div\",{style:e.picker})};t.default=i},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Compact=void 0;var n=p(r(1)),o=p(r(0)),a=p(r(158)),i=p(r(172)),u=p(r(160)),l=p(r(165)),c=r(159),f=p(r(514)),s=p(r(515));function p(e){return e&&e.__esModule?e:{default:e}}var d=t.Compact=function(e){var t=e.onChange,r=e.onSwatchHover,o=e.colors,p=e.hex,d=e.rgb,h=e.styles,b=void 0===h?{}:h,v=e.className,g=void 0===v?\"\":v,x=(0,a.default)((0,u.default)({default:{Compact:{background:\"#f6f6f6\",radius:\"4px\"},compact:{paddingTop:\"5px\",paddingLeft:\"5px\",boxSizing:\"initial\",width:\"240px\"},clear:{clear:\"both\"}}},b)),y=function(e,r){e.hex?l.default.isValidHex(e.hex)&&t({hex:e.hex,source:\"hex\"},r):t(e,r)};return n.default.createElement(c.Raised,{style:x.Compact,styles:b},n.default.createElement(\"div\",{style:x.compact,className:\"compact-picker \"+g},n.default.createElement(\"div\",null,(0,i.default)(o,(function(e){return n.default.createElement(f.default,{key:e,color:e,active:e.toLowerCase()===p,onClick:y,onSwatchHover:r})})),n.default.createElement(\"div\",{style:x.clear})),n.default.createElement(s.default,{hex:p,rgb:d,onChange:y})))};d.propTypes={colors:o.default.arrayOf(o.default.string),styles:o.default.object},d.defaultProps={colors:[\"#4D4D4D\",\"#999999\",\"#FFFFFF\",\"#F44E3B\",\"#FE9200\",\"#FCDC00\",\"#DBDF00\",\"#A4DD00\",\"#68CCCA\",\"#73D8FF\",\"#AEA1FF\",\"#FDA1FF\",\"#333333\",\"#808080\",\"#cccccc\",\"#D33115\",\"#E27300\",\"#FCC400\",\"#B0BC00\",\"#68BC00\",\"#16A5A5\",\"#009CE0\",\"#7B64FF\",\"#FA28FF\",\"#000000\",\"#666666\",\"#B3B3B3\",\"#9F0500\",\"#C45100\",\"#FB9E00\",\"#808900\",\"#194D33\",\"#0C797D\",\"#0062B1\",\"#653294\",\"#AB149E\"],styles:{}},t.default=(0,c.ColorWrap)(d)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.CompactColor=void 0;var n=u(r(1)),o=u(r(158)),a=u(r(165)),i=r(159);function u(e){return e&&e.__esModule?e:{default:e}}var l=t.CompactColor=function(e){var t=e.color,r=e.onClick,u=void 0===r?function(){}:r,l=e.onSwatchHover,c=e.active,f=(0,o.default)({default:{color:{background:t,width:\"15px\",height:\"15px\",float:\"left\",marginRight:\"5px\",marginBottom:\"5px\",position:\"relative\",cursor:\"pointer\"},dot:{absolute:\"5px 5px 5px 5px\",background:a.default.getContrastingColor(t),borderRadius:\"50%\",opacity:\"0\"}},active:{dot:{opacity:\"1\"}},\"color-#FFFFFF\":{color:{boxShadow:\"inset 0 0 0 1px #ddd\"},dot:{background:\"#000\"}},transparent:{dot:{background:\"#000\"}}},{active:c,\"color-#FFFFFF\":\"#FFFFFF\"===t,transparent:\"transparent\"===t});return n.default.createElement(i.Swatch,{style:f.color,color:t,onClick:u,onHover:l,focusStyle:{boxShadow:\"0 0 4px \"+t}},n.default.createElement(\"div\",{style:f.dot}))};t.default=l},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.CompactFields=void 0;var n=i(r(1)),o=i(r(158)),a=r(159);function i(e){return e&&e.__esModule?e:{default:e}}var u=t.CompactFields=function(e){var t=e.hex,r=e.rgb,i=e.onChange,u=(0,o.default)({default:{fields:{display:\"flex\",paddingBottom:\"6px\",paddingRight:\"5px\",position:\"relative\"},active:{position:\"absolute\",top:\"6px\",left:\"5px\",height:\"9px\",width:\"9px\",background:t},HEXwrap:{flex:\"6\",position:\"relative\"},HEXinput:{width:\"80%\",padding:\"0px\",paddingLeft:\"20%\",border:\"none\",outline:\"none\",background:\"none\",fontSize:\"12px\",color:\"#333\",height:\"16px\"},HEXlabel:{display:\"none\"},RGBwrap:{flex:\"3\",position:\"relative\"},RGBinput:{width:\"70%\",padding:\"0px\",paddingLeft:\"30%\",border:\"none\",outline:\"none\",background:\"none\",fontSize:\"12px\",color:\"#333\",height:\"16px\"},RGBlabel:{position:\"absolute\",top:\"3px\",left:\"0px\",lineHeight:\"16px\",textTransform:\"uppercase\",fontSize:\"12px\",color:\"#999\"}}}),l=function(e,t){e.r||e.g||e.b?i({r:e.r||r.r,g:e.g||r.g,b:e.b||r.b,source:\"rgb\"},t):i({hex:e.hex,source:\"hex\"},t)};return n.default.createElement(\"div\",{style:u.fields,className:\"flexbox-fix\"},n.default.createElement(\"div\",{style:u.active}),n.default.createElement(a.EditableInput,{style:{wrap:u.HEXwrap,input:u.HEXinput,label:u.HEXlabel},label:\"hex\",value:t,onChange:l}),n.default.createElement(a.EditableInput,{style:{wrap:u.RGBwrap,input:u.RGBinput,label:u.RGBlabel},label:\"r\",value:r.r,onChange:l}),n.default.createElement(a.EditableInput,{style:{wrap:u.RGBwrap,input:u.RGBinput,label:u.RGBlabel},label:\"g\",value:r.g,onChange:l}),n.default.createElement(a.EditableInput,{style:{wrap:u.RGBwrap,input:u.RGBinput,label:u.RGBlabel},label:\"b\",value:r.b,onChange:l}))};t.default=u},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Github=void 0;var n=f(r(1)),o=f(r(0)),a=f(r(158)),i=f(r(172)),u=f(r(160)),l=r(159),c=f(r(517));function f(e){return e&&e.__esModule?e:{default:e}}var s=t.Github=function(e){var t=e.width,r=e.colors,o=e.onChange,l=e.onSwatchHover,f=e.triangle,s=e.styles,p=void 0===s?{}:s,d=e.className,h=void 0===d?\"\":d,b=(0,a.default)((0,u.default)({default:{card:{width:t,background:\"#fff\",border:\"1px solid rgba(0,0,0,0.2)\",boxShadow:\"0 3px 12px rgba(0,0,0,0.15)\",borderRadius:\"4px\",position:\"relative\",padding:\"5px\",display:\"flex\",flexWrap:\"wrap\"},triangle:{position:\"absolute\",border:\"7px solid transparent\",borderBottomColor:\"#fff\"},triangleShadow:{position:\"absolute\",border:\"8px solid transparent\",borderBottomColor:\"rgba(0,0,0,0.15)\"}},\"hide-triangle\":{triangle:{display:\"none\"},triangleShadow:{display:\"none\"}},\"top-left-triangle\":{triangle:{top:\"-14px\",left:\"10px\"},triangleShadow:{top:\"-16px\",left:\"9px\"}},\"top-right-triangle\":{triangle:{top:\"-14px\",right:\"10px\"},triangleShadow:{top:\"-16px\",right:\"9px\"}},\"bottom-left-triangle\":{triangle:{top:\"35px\",left:\"10px\",transform:\"rotate(180deg)\"},triangleShadow:{top:\"37px\",left:\"9px\",transform:\"rotate(180deg)\"}},\"bottom-right-triangle\":{triangle:{top:\"35px\",right:\"10px\",transform:\"rotate(180deg)\"},triangleShadow:{top:\"37px\",right:\"9px\",transform:\"rotate(180deg)\"}}},p),{\"hide-triangle\":\"hide\"===f,\"top-left-triangle\":\"top-left\"===f,\"top-right-triangle\":\"top-right\"===f,\"bottom-left-triangle\":\"bottom-left\"===f,\"bottom-right-triangle\":\"bottom-right\"===f}),v=function(e,t){return o({hex:e,source:\"hex\"},t)};return n.default.createElement(\"div\",{style:b.card,className:\"github-picker \"+h},n.default.createElement(\"div\",{style:b.triangleShadow}),n.default.createElement(\"div\",{style:b.triangle}),(0,i.default)(r,(function(e){return n.default.createElement(c.default,{color:e,key:e,onClick:v,onSwatchHover:l})})))};s.propTypes={width:o.default.oneOfType([o.default.string,o.default.number]),colors:o.default.arrayOf(o.default.string),triangle:o.default.oneOf([\"hide\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"]),styles:o.default.object},s.defaultProps={width:200,colors:[\"#B80000\",\"#DB3E00\",\"#FCCB00\",\"#008B02\",\"#006B76\",\"#1273DE\",\"#004DCF\",\"#5300EB\",\"#EB9694\",\"#FAD0C3\",\"#FEF3BD\",\"#C1E1C5\",\"#BEDADC\",\"#C4DEF6\",\"#BED3F3\",\"#D4C4FB\"],triangle:\"top-left\",styles:{}},t.default=(0,l.ColorWrap)(s)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.GithubSwatch=void 0;var n=u(r(1)),o=r(158),a=u(o),i=r(159);function u(e){return e&&e.__esModule?e:{default:e}}var l=t.GithubSwatch=function(e){var t=e.hover,r=e.color,o=e.onClick,u=e.onSwatchHover,l={position:\"relative\",zIndex:\"2\",outline:\"2px solid #fff\",boxShadow:\"0 0 5px 2px rgba(0,0,0,0.25)\"},c=(0,a.default)({default:{swatch:{width:\"25px\",height:\"25px\",fontSize:\"0\"}},hover:{swatch:l}},{hover:t});return n.default.createElement(\"div\",{style:c.swatch},n.default.createElement(i.Swatch,{color:r,onClick:o,onHover:u,focusStyle:l}))};t.default=(0,o.handleHover)(l)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.HuePicker=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o=f(r(1)),a=f(r(0)),i=f(r(158)),u=f(r(160)),l=r(159),c=f(r(519));function f(e){return e&&e.__esModule?e:{default:e}}var s=t.HuePicker=function(e){var t=e.width,r=e.height,a=e.onChange,c=e.hsl,f=e.direction,s=e.pointer,p=e.styles,d=void 0===p?{}:p,h=e.className,b=void 0===h?\"\":h,v=(0,i.default)((0,u.default)({default:{picker:{position:\"relative\",width:t,height:r},hue:{radius:\"2px\"}}},d));return o.default.createElement(\"div\",{style:v.picker,className:\"hue-picker \"+b},o.default.createElement(l.Hue,n({},v.hue,{hsl:c,pointer:s,onChange:function(e){return a({a:1,h:e.h,l:.5,s:1})},direction:f})))};s.propTypes={styles:a.default.object},s.defaultProps={width:\"316px\",height:\"16px\",direction:\"horizontal\",pointer:c.default,styles:{}},t.default=(0,l.ColorWrap)(s)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.SliderPointer=void 0;var n=a(r(1)),o=a(r(158));function a(e){return e&&e.__esModule?e:{default:e}}var i=t.SliderPointer=function(e){var t=e.direction,r=(0,o.default)({default:{picker:{width:\"18px\",height:\"18px\",borderRadius:\"50%\",transform:\"translate(-9px, -1px)\",backgroundColor:\"rgb(248, 248, 248)\",boxShadow:\"0 1px 4px 0 rgba(0, 0, 0, 0.37)\"}},vertical:{picker:{transform:\"translate(-3px, -9px)\"}}},{vertical:\"vertical\"===t});return n.default.createElement(\"div\",{style:r.picker})};t.default=i},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Material=void 0;var n=l(r(1)),o=l(r(158)),a=l(r(160)),i=l(r(165)),u=r(159);function l(e){return e&&e.__esModule?e:{default:e}}var c=t.Material=function(e){var t=e.onChange,r=e.hex,l=e.rgb,c=e.styles,f=void 0===c?{}:c,s=e.className,p=void 0===s?\"\":s,d=(0,o.default)((0,a.default)({default:{material:{width:\"98px\",height:\"98px\",padding:\"16px\",fontFamily:\"Roboto\"},HEXwrap:{position:\"relative\"},HEXinput:{width:\"100%\",marginTop:\"12px\",fontSize:\"15px\",color:\"#333\",padding:\"0px\",border:\"0px\",borderBottom:\"2px solid \"+r,outline:\"none\",height:\"30px\"},HEXlabel:{position:\"absolute\",top:\"0px\",left:\"0px\",fontSize:\"11px\",color:\"#999999\",textTransform:\"capitalize\"},Hex:{style:{}},RGBwrap:{position:\"relative\"},RGBinput:{width:\"100%\",marginTop:\"12px\",fontSize:\"15px\",color:\"#333\",padding:\"0px\",border:\"0px\",borderBottom:\"1px solid #eee\",outline:\"none\",height:\"30px\"},RGBlabel:{position:\"absolute\",top:\"0px\",left:\"0px\",fontSize:\"11px\",color:\"#999999\",textTransform:\"capitalize\"},split:{display:\"flex\",marginRight:\"-10px\",paddingTop:\"11px\"},third:{flex:\"1\",paddingRight:\"10px\"}}},f)),h=function(e,r){e.hex?i.default.isValidHex(e.hex)&&t({hex:e.hex,source:\"hex\"},r):(e.r||e.g||e.b)&&t({r:e.r||l.r,g:e.g||l.g,b:e.b||l.b,source:\"rgb\"},r)};return n.default.createElement(u.Raised,{styles:f},n.default.createElement(\"div\",{style:d.material,className:\"material-picker \"+p},n.default.createElement(u.EditableInput,{style:{wrap:d.HEXwrap,input:d.HEXinput,label:d.HEXlabel},label:\"hex\",value:r,onChange:h}),n.default.createElement(\"div\",{style:d.split,className:\"flexbox-fix\"},n.default.createElement(\"div\",{style:d.third},n.default.createElement(u.EditableInput,{style:{wrap:d.RGBwrap,input:d.RGBinput,label:d.RGBlabel},label:\"r\",value:l.r,onChange:h})),n.default.createElement(\"div\",{style:d.third},n.default.createElement(u.EditableInput,{style:{wrap:d.RGBwrap,input:d.RGBinput,label:d.RGBlabel},label:\"g\",value:l.g,onChange:h})),n.default.createElement(\"div\",{style:d.third},n.default.createElement(u.EditableInput,{style:{wrap:d.RGBwrap,input:d.RGBinput,label:d.RGBlabel},label:\"b\",value:l.b,onChange:h})))))};t.default=(0,u.ColorWrap)(c)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Photoshop=void 0;var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=h(r(1)),a=h(r(0)),i=h(r(158)),u=h(r(160)),l=r(159),c=h(r(522)),f=h(r(523)),s=h(r(524)),p=h(r(525)),d=h(r(526));function h(e){return e&&e.__esModule?e:{default:e}}var b=t.Photoshop=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.state={currentColor:e.hex},r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),n(t,[{key:\"render\",value:function(){var e=this.props,t=e.styles,r=void 0===t?{}:t,n=e.className,a=void 0===n?\"\":n,h=(0,i.default)((0,u.default)({default:{picker:{background:\"#DCDCDC\",borderRadius:\"4px\",boxShadow:\"0 0 0 1px rgba(0,0,0,.25), 0 8px 16px rgba(0,0,0,.15)\",boxSizing:\"initial\",width:\"513px\"},head:{backgroundImage:\"linear-gradient(-180deg, #F0F0F0 0%, #D4D4D4 100%)\",borderBottom:\"1px solid #B1B1B1\",boxShadow:\"inset 0 1px 0 0 rgba(255,255,255,.2), inset 0 -1px 0 0 rgba(0,0,0,.02)\",height:\"23px\",lineHeight:\"24px\",borderRadius:\"4px 4px 0 0\",fontSize:\"13px\",color:\"#4D4D4D\",textAlign:\"center\"},body:{padding:\"15px 15px 0\",display:\"flex\"},saturation:{width:\"256px\",height:\"256px\",position:\"relative\",border:\"2px solid #B3B3B3\",borderBottom:\"2px solid #F0F0F0\",overflow:\"hidden\"},hue:{position:\"relative\",height:\"256px\",width:\"19px\",marginLeft:\"10px\",border:\"2px solid #B3B3B3\",borderBottom:\"2px solid #F0F0F0\"},controls:{width:\"180px\",marginLeft:\"10px\"},top:{display:\"flex\"},previews:{width:\"60px\"},actions:{flex:\"1\",marginLeft:\"20px\"}}},r));return o.default.createElement(\"div\",{style:h.picker,className:\"photoshop-picker \"+a},o.default.createElement(\"div\",{style:h.head},this.props.header),o.default.createElement(\"div\",{style:h.body,className:\"flexbox-fix\"},o.default.createElement(\"div\",{style:h.saturation},o.default.createElement(l.Saturation,{hsl:this.props.hsl,hsv:this.props.hsv,pointer:f.default,onChange:this.props.onChange})),o.default.createElement(\"div\",{style:h.hue},o.default.createElement(l.Hue,{direction:\"vertical\",hsl:this.props.hsl,pointer:s.default,onChange:this.props.onChange})),o.default.createElement(\"div\",{style:h.controls},o.default.createElement(\"div\",{style:h.top,className:\"flexbox-fix\"},o.default.createElement(\"div\",{style:h.previews},o.default.createElement(d.default,{rgb:this.props.rgb,currentColor:this.state.currentColor})),o.default.createElement(\"div\",{style:h.actions},o.default.createElement(p.default,{label:\"OK\",onClick:this.props.onAccept,active:!0}),o.default.createElement(p.default,{label:\"Cancel\",onClick:this.props.onCancel}),o.default.createElement(c.default,{onChange:this.props.onChange,rgb:this.props.rgb,hsv:this.props.hsv,hex:this.props.hex}))))))}}]),t}(o.default.Component);b.propTypes={header:a.default.string,styles:a.default.object},b.defaultProps={header:\"Color Picker\",styles:{}},t.default=(0,l.ColorWrap)(b)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PhotoshopPicker=void 0;var n=u(r(1)),o=u(r(158)),a=u(r(165)),i=r(159);function u(e){return e&&e.__esModule?e:{default:e}}var l=t.PhotoshopPicker=function(e){var t=e.onChange,r=e.rgb,u=e.hsv,l=e.hex,c=(0,o.default)({default:{fields:{paddingTop:\"5px\",paddingBottom:\"9px\",width:\"80px\",position:\"relative\"},divider:{height:\"5px\"},RGBwrap:{position:\"relative\"},RGBinput:{marginLeft:\"40%\",width:\"40%\",height:\"18px\",border:\"1px solid #888888\",boxShadow:\"inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC\",marginBottom:\"5px\",fontSize:\"13px\",paddingLeft:\"3px\",marginRight:\"10px\"},RGBlabel:{left:\"0px\",width:\"34px\",textTransform:\"uppercase\",fontSize:\"13px\",height:\"18px\",lineHeight:\"22px\",position:\"absolute\"},HEXwrap:{position:\"relative\"},HEXinput:{marginLeft:\"20%\",width:\"80%\",height:\"18px\",border:\"1px solid #888888\",boxShadow:\"inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC\",marginBottom:\"6px\",fontSize:\"13px\",paddingLeft:\"3px\"},HEXlabel:{position:\"absolute\",top:\"0px\",left:\"0px\",width:\"14px\",textTransform:\"uppercase\",fontSize:\"13px\",height:\"18px\",lineHeight:\"22px\"},fieldSymbols:{position:\"absolute\",top:\"5px\",right:\"-7px\",fontSize:\"13px\"},symbol:{height:\"20px\",lineHeight:\"22px\",paddingBottom:\"7px\"}}}),f=function(e,n){e[\"#\"]?a.default.isValidHex(e[\"#\"])&&t({hex:e[\"#\"],source:\"hex\"},n):e.r||e.g||e.b?t({r:e.r||r.r,g:e.g||r.g,b:e.b||r.b,source:\"rgb\"},n):(e.h||e.s||e.v)&&t({h:e.h||u.h,s:e.s||u.s,v:e.v||u.v,source:\"hsv\"},n)};return n.default.createElement(\"div\",{style:c.fields},n.default.createElement(i.EditableInput,{style:{wrap:c.RGBwrap,input:c.RGBinput,label:c.RGBlabel},label:\"h\",value:Math.round(u.h),onChange:f}),n.default.createElement(i.EditableInput,{style:{wrap:c.RGBwrap,input:c.RGBinput,label:c.RGBlabel},label:\"s\",value:Math.round(100*u.s),onChange:f}),n.default.createElement(i.EditableInput,{style:{wrap:c.RGBwrap,input:c.RGBinput,label:c.RGBlabel},label:\"v\",value:Math.round(100*u.v),onChange:f}),n.default.createElement(\"div\",{style:c.divider}),n.default.createElement(i.EditableInput,{style:{wrap:c.RGBwrap,input:c.RGBinput,label:c.RGBlabel},label:\"r\",value:r.r,onChange:f}),n.default.createElement(i.EditableInput,{style:{wrap:c.RGBwrap,input:c.RGBinput,label:c.RGBlabel},label:\"g\",value:r.g,onChange:f}),n.default.createElement(i.EditableInput,{style:{wrap:c.RGBwrap,input:c.RGBinput,label:c.RGBlabel},label:\"b\",value:r.b,onChange:f}),n.default.createElement(\"div\",{style:c.divider}),n.default.createElement(i.EditableInput,{style:{wrap:c.HEXwrap,input:c.HEXinput,label:c.HEXlabel},label:\"#\",value:l.replace(\"#\",\"\"),onChange:f}),n.default.createElement(\"div\",{style:c.fieldSymbols},n.default.createElement(\"div\",{style:c.symbol},\"°\"),n.default.createElement(\"div\",{style:c.symbol},\"%\"),n.default.createElement(\"div\",{style:c.symbol},\"%\")))};t.default=l},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PhotoshopPointerCircle=void 0;var n=a(r(1)),o=a(r(158));function a(e){return e&&e.__esModule?e:{default:e}}var i=t.PhotoshopPointerCircle=function(e){var t=e.hsl,r=(0,o.default)({default:{picker:{width:\"12px\",height:\"12px\",borderRadius:\"6px\",boxShadow:\"inset 0 0 0 1px #fff\",transform:\"translate(-6px, -6px)\"}},\"black-outline\":{picker:{boxShadow:\"inset 0 0 0 1px #000\"}}},{\"black-outline\":t.l>.5});return n.default.createElement(\"div\",{style:r.picker})};t.default=i},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PhotoshopPointerCircle=void 0;var n=a(r(1)),o=a(r(158));function a(e){return e&&e.__esModule?e:{default:e}}var i=t.PhotoshopPointerCircle=function(){var e=(0,o.default)({default:{triangle:{width:0,height:0,borderStyle:\"solid\",borderWidth:\"4px 0 4px 6px\",borderColor:\"transparent transparent transparent #fff\",position:\"absolute\",top:\"1px\",left:\"1px\"},triangleBorder:{width:0,height:0,borderStyle:\"solid\",borderWidth:\"5px 0 5px 8px\",borderColor:\"transparent transparent transparent #555\"},left:{Extend:\"triangleBorder\",transform:\"translate(-13px, -4px)\"},leftInside:{Extend:\"triangle\",transform:\"translate(-8px, -5px)\"},right:{Extend:\"triangleBorder\",transform:\"translate(20px, -14px) rotate(180deg)\"},rightInside:{Extend:\"triangle\",transform:\"translate(-8px, -5px)\"}}});return n.default.createElement(\"div\",{style:e.pointer},n.default.createElement(\"div\",{style:e.left},n.default.createElement(\"div\",{style:e.leftInside})),n.default.createElement(\"div\",{style:e.right},n.default.createElement(\"div\",{style:e.rightInside})))};t.default=i},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PhotoshopButton=void 0;var n=a(r(1)),o=a(r(158));function a(e){return e&&e.__esModule?e:{default:e}}var i=t.PhotoshopButton=function(e){var t=e.onClick,r=e.label,a=e.children,i=e.active,u=(0,o.default)({default:{button:{backgroundImage:\"linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%)\",border:\"1px solid #878787\",borderRadius:\"2px\",height:\"20px\",boxShadow:\"0 1px 0 0 #EAEAEA\",fontSize:\"14px\",color:\"#000\",lineHeight:\"20px\",textAlign:\"center\",marginBottom:\"10px\",cursor:\"pointer\"}},active:{button:{boxShadow:\"0 0 0 1px #878787\"}}},{active:i});return n.default.createElement(\"div\",{style:u.button,onClick:t},r||a)};t.default=i},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PhotoshopPreviews=void 0;var n=a(r(1)),o=a(r(158));function a(e){return e&&e.__esModule?e:{default:e}}var i=t.PhotoshopPreviews=function(e){var t=e.rgb,r=e.currentColor,a=(0,o.default)({default:{swatches:{border:\"1px solid #B3B3B3\",borderBottom:\"1px solid #F0F0F0\",marginBottom:\"2px\",marginTop:\"1px\"},new:{height:\"34px\",background:\"rgb(\"+t.r+\",\"+t.g+\", \"+t.b+\")\",boxShadow:\"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000\"},current:{height:\"34px\",background:r,boxShadow:\"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 -1px 0 #000\"},label:{fontSize:\"14px\",color:\"#000\",textAlign:\"center\"}}});return n.default.createElement(\"div\",null,n.default.createElement(\"div\",{style:a.label},\"new\"),n.default.createElement(\"div\",{style:a.swatches},n.default.createElement(\"div\",{style:a.new}),n.default.createElement(\"div\",{style:a.current})),n.default.createElement(\"div\",{style:a.label},\"current\"))};t.default=i},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Sketch=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o=s(r(1)),a=s(r(0)),i=s(r(158)),u=s(r(160)),l=r(159),c=s(r(528)),f=s(r(529));function s(e){return e&&e.__esModule?e:{default:e}}var p=t.Sketch=function(e){var t=e.width,r=e.rgb,a=e.hex,s=e.hsv,p=e.hsl,d=e.onChange,h=e.onSwatchHover,b=e.disableAlpha,v=e.presetColors,g=e.renderers,x=e.styles,y=void 0===x?{}:x,m=e.className,w=void 0===m?\"\":m,_=(0,i.default)((0,u.default)({default:n({picker:{width:t,padding:\"10px 10px 0\",boxSizing:\"initial\",background:\"#fff\",borderRadius:\"4px\",boxShadow:\"0 0 0 1px rgba(0,0,0,.15), 0 8px 16px rgba(0,0,0,.15)\"},saturation:{width:\"100%\",paddingBottom:\"75%\",position:\"relative\",overflow:\"hidden\"},Saturation:{radius:\"3px\",shadow:\"inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)\"},controls:{display:\"flex\"},sliders:{padding:\"4px 0\",flex:\"1\"},color:{width:\"24px\",height:\"24px\",position:\"relative\",marginTop:\"4px\",marginLeft:\"4px\",borderRadius:\"3px\"},activeColor:{absolute:\"0px 0px 0px 0px\",borderRadius:\"2px\",background:\"rgba(\"+r.r+\",\"+r.g+\",\"+r.b+\",\"+r.a+\")\",boxShadow:\"inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)\"},hue:{position:\"relative\",height:\"10px\",overflow:\"hidden\"},Hue:{radius:\"2px\",shadow:\"inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)\"},alpha:{position:\"relative\",height:\"10px\",marginTop:\"4px\",overflow:\"hidden\"},Alpha:{radius:\"2px\",shadow:\"inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)\"}},y),disableAlpha:{color:{height:\"10px\"},hue:{height:\"10px\"},alpha:{display:\"none\"}}},y),{disableAlpha:b});return o.default.createElement(\"div\",{style:_.picker,className:\"sketch-picker \"+w},o.default.createElement(\"div\",{style:_.saturation},o.default.createElement(l.Saturation,{style:_.Saturation,hsl:p,hsv:s,onChange:d})),o.default.createElement(\"div\",{style:_.controls,className:\"flexbox-fix\"},o.default.createElement(\"div\",{style:_.sliders},o.default.createElement(\"div\",{style:_.hue},o.default.createElement(l.Hue,{style:_.Hue,hsl:p,onChange:d})),o.default.createElement(\"div\",{style:_.alpha},o.default.createElement(l.Alpha,{style:_.Alpha,rgb:r,hsl:p,renderers:g,onChange:d}))),o.default.createElement(\"div\",{style:_.color},o.default.createElement(l.Checkboard,null),o.default.createElement(\"div\",{style:_.activeColor}))),o.default.createElement(c.default,{rgb:r,hsl:p,hex:a,onChange:d,disableAlpha:b}),o.default.createElement(f.default,{colors:v,onClick:d,onSwatchHover:h}))};p.propTypes={disableAlpha:a.default.bool,width:a.default.oneOfType([a.default.string,a.default.number]),styles:a.default.object},p.defaultProps={disableAlpha:!1,width:200,styles:{},presetColors:[\"#D0021B\",\"#F5A623\",\"#F8E71C\",\"#8B572A\",\"#7ED321\",\"#417505\",\"#BD10E0\",\"#9013FE\",\"#4A90E2\",\"#50E3C2\",\"#B8E986\",\"#000000\",\"#4A4A4A\",\"#9B9B9B\",\"#FFFFFF\"]},t.default=(0,l.ColorWrap)(p)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.SketchFields=void 0;var n=u(r(1)),o=u(r(158)),a=u(r(165)),i=r(159);function u(e){return e&&e.__esModule?e:{default:e}}var l=t.SketchFields=function(e){var t=e.onChange,r=e.rgb,u=e.hsl,l=e.hex,c=e.disableAlpha,f=(0,o.default)({default:{fields:{display:\"flex\",paddingTop:\"4px\"},single:{flex:\"1\",paddingLeft:\"6px\"},alpha:{flex:\"1\",paddingLeft:\"6px\"},double:{flex:\"2\"},input:{width:\"80%\",padding:\"4px 10% 3px\",border:\"none\",boxShadow:\"inset 0 0 0 1px #ccc\",fontSize:\"11px\"},label:{display:\"block\",textAlign:\"center\",fontSize:\"11px\",color:\"#222\",paddingTop:\"3px\",paddingBottom:\"4px\",textTransform:\"capitalize\"}},disableAlpha:{alpha:{display:\"none\"}}},{disableAlpha:c}),s=function(e,n){e.hex?a.default.isValidHex(e.hex)&&t({hex:e.hex,source:\"hex\"},n):e.r||e.g||e.b?t({r:e.r||r.r,g:e.g||r.g,b:e.b||r.b,a:r.a,source:\"rgb\"},n):e.a&&(e.a<0?e.a=0:e.a>100&&(e.a=100),e.a/=100,t({h:u.h,s:u.s,l:u.l,a:e.a,source:\"rgb\"},n))};return n.default.createElement(\"div\",{style:f.fields,className:\"flexbox-fix\"},n.default.createElement(\"div\",{style:f.double},n.default.createElement(i.EditableInput,{style:{input:f.input,label:f.label},label:\"hex\",value:l.replace(\"#\",\"\"),onChange:s})),n.default.createElement(\"div\",{style:f.single},n.default.createElement(i.EditableInput,{style:{input:f.input,label:f.label},label:\"r\",value:r.r,onChange:s,dragLabel:\"true\",dragMax:\"255\"})),n.default.createElement(\"div\",{style:f.single},n.default.createElement(i.EditableInput,{style:{input:f.input,label:f.label},label:\"g\",value:r.g,onChange:s,dragLabel:\"true\",dragMax:\"255\"})),n.default.createElement(\"div\",{style:f.single},n.default.createElement(i.EditableInput,{style:{input:f.input,label:f.label},label:\"b\",value:r.b,onChange:s,dragLabel:\"true\",dragMax:\"255\"})),n.default.createElement(\"div\",{style:f.alpha},n.default.createElement(i.EditableInput,{style:{input:f.input,label:f.label},label:\"a\",value:Math.round(100*r.a),onChange:s,dragLabel:\"true\",dragMax:\"100\"})))};t.default=l},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.SketchPresetColors=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o=l(r(1)),a=l(r(0)),i=l(r(158)),u=r(159);function l(e){return e&&e.__esModule?e:{default:e}}var c=t.SketchPresetColors=function(e){var t=e.colors,r=e.onClick,a=void 0===r?function(){}:r,l=e.onSwatchHover,c=(0,i.default)({default:{colors:{margin:\"0 -10px\",padding:\"10px 0 0 10px\",borderTop:\"1px solid #eee\",display:\"flex\",flexWrap:\"wrap\",position:\"relative\"},swatchWrap:{width:\"16px\",height:\"16px\",margin:\"0 10px 10px 0\"},swatch:{borderRadius:\"3px\",boxShadow:\"inset 0 0 0 1px rgba(0,0,0,.15)\"}},\"no-presets\":{colors:{display:\"none\"}}},{\"no-presets\":!t||!t.length}),f=function(e,t){a({hex:e,source:\"hex\"},t)};return o.default.createElement(\"div\",{style:c.colors,className:\"flexbox-fix\"},t.map((function(e){var t=\"string\"==typeof e?{color:e}:e,r=\"\"+t.color+(t.title||\"\");return o.default.createElement(\"div\",{key:r,style:c.swatchWrap},o.default.createElement(u.Swatch,n({},t,{style:c.swatch,onClick:f,onHover:l,focusStyle:{boxShadow:\"inset 0 0 0 1px rgba(0,0,0,.15), 0 0 4px \"+t.color}})))})))};c.propTypes={colors:a.default.arrayOf(a.default.oneOfType([a.default.string,a.default.shape({color:a.default.string,title:a.default.string})])).isRequired},t.default=c},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Slider=void 0;var n=f(r(1)),o=f(r(0)),a=f(r(158)),i=f(r(160)),u=r(159),l=f(r(531)),c=f(r(533));function f(e){return e&&e.__esModule?e:{default:e}}var s=t.Slider=function(e){var t=e.hsl,r=e.onChange,o=e.pointer,c=e.styles,f=void 0===c?{}:c,s=e.className,p=void 0===s?\"\":s,d=(0,a.default)((0,i.default)({default:{hue:{height:\"12px\",position:\"relative\"},Hue:{radius:\"2px\"}}},f));return n.default.createElement(\"div\",{style:d.wrap||{},className:\"slider-picker \"+p},n.default.createElement(\"div\",{style:d.hue},n.default.createElement(u.Hue,{style:d.Hue,hsl:t,pointer:o,onChange:r})),n.default.createElement(\"div\",{style:d.swatches},n.default.createElement(l.default,{hsl:t,onClick:r})))};s.propTypes={styles:o.default.object},s.defaultProps={pointer:c.default,styles:{}},t.default=(0,u.ColorWrap)(s)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.SliderSwatches=void 0;var n=i(r(1)),o=i(r(158)),a=i(r(532));function i(e){return e&&e.__esModule?e:{default:e}}var u=t.SliderSwatches=function(e){var t=e.onClick,r=e.hsl,i=(0,o.default)({default:{swatches:{marginTop:\"20px\"},swatch:{boxSizing:\"border-box\",width:\"20%\",paddingRight:\"1px\",float:\"left\"},clear:{clear:\"both\"}}});return n.default.createElement(\"div\",{style:i.swatches},n.default.createElement(\"div\",{style:i.swatch},n.default.createElement(a.default,{hsl:r,offset:\".80\",active:Math.abs(r.l-.8)<.1&&Math.abs(r.s-.5)<.1,onClick:t,first:!0})),n.default.createElement(\"div\",{style:i.swatch},n.default.createElement(a.default,{hsl:r,offset:\".65\",active:Math.abs(r.l-.65)<.1&&Math.abs(r.s-.5)<.1,onClick:t})),n.default.createElement(\"div\",{style:i.swatch},n.default.createElement(a.default,{hsl:r,offset:\".50\",active:Math.abs(r.l-.5)<.1&&Math.abs(r.s-.5)<.1,onClick:t})),n.default.createElement(\"div\",{style:i.swatch},n.default.createElement(a.default,{hsl:r,offset:\".35\",active:Math.abs(r.l-.35)<.1&&Math.abs(r.s-.5)<.1,onClick:t})),n.default.createElement(\"div\",{style:i.swatch},n.default.createElement(a.default,{hsl:r,offset:\".20\",active:Math.abs(r.l-.2)<.1&&Math.abs(r.s-.5)<.1,onClick:t,last:!0})),n.default.createElement(\"div\",{style:i.clear}))};t.default=u},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.SliderSwatch=void 0;var n=a(r(1)),o=a(r(158));function a(e){return e&&e.__esModule?e:{default:e}}var i=t.SliderSwatch=function(e){var t=e.hsl,r=e.offset,a=e.onClick,i=void 0===a?function(){}:a,u=e.active,l=e.first,c=e.last,f=(0,o.default)({default:{swatch:{height:\"12px\",background:\"hsl(\"+t.h+\", 50%, \"+100*r+\"%)\",cursor:\"pointer\"}},first:{swatch:{borderRadius:\"2px 0 0 2px\"}},last:{swatch:{borderRadius:\"0 2px 2px 0\"}},active:{swatch:{transform:\"scaleY(1.8)\",borderRadius:\"3.6px/2px\"}}},{active:u,first:l,last:c});return n.default.createElement(\"div\",{style:f.swatch,onClick:function(e){return i({h:t.h,s:.5,l:r,source:\"hsl\"},e)}})};t.default=i},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.SliderPointer=void 0;var n=a(r(1)),o=a(r(158));function a(e){return e&&e.__esModule?e:{default:e}}var i=t.SliderPointer=function(){var e=(0,o.default)({default:{picker:{width:\"14px\",height:\"14px\",borderRadius:\"6px\",transform:\"translate(-7px, -1px)\",backgroundColor:\"rgb(248, 248, 248)\",boxShadow:\"0 1px 4px 0 rgba(0, 0, 0, 0.37)\"}}});return n.default.createElement(\"div\",{style:e.picker})};t.default=i},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Swatches=void 0;var n=p(r(1)),o=p(r(0)),a=p(r(158)),i=p(r(172)),u=p(r(160)),l=p(r(165)),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(r(272)),f=r(159),s=p(r(535));function p(e){return e&&e.__esModule?e:{default:e}}var d=t.Swatches=function(e){var t=e.width,r=e.height,o=e.onChange,c=e.onSwatchHover,p=e.colors,d=e.hex,h=e.styles,b=void 0===h?{}:h,v=e.className,g=void 0===v?\"\":v,x=(0,a.default)((0,u.default)({default:{picker:{width:t,height:r},overflow:{height:r,overflowY:\"scroll\"},body:{padding:\"16px 0 6px 16px\"},clear:{clear:\"both\"}}},b)),y=function(e,t){l.default.isValidHex(e)&&o({hex:e,source:\"hex\"},t)};return n.default.createElement(\"div\",{style:x.picker,className:\"swatches-picker \"+g},n.default.createElement(f.Raised,null,n.default.createElement(\"div\",{style:x.overflow},n.default.createElement(\"div\",{style:x.body},(0,i.default)(p,(function(e){return n.default.createElement(s.default,{key:e.toString(),group:e,active:d,onClick:y,onSwatchHover:c})})),n.default.createElement(\"div\",{style:x.clear})))))};d.propTypes={width:o.default.oneOfType([o.default.string,o.default.number]),height:o.default.oneOfType([o.default.string,o.default.number]),colors:o.default.arrayOf(o.default.arrayOf(o.default.string)),styles:o.default.object},d.defaultProps={width:320,height:240,colors:[[c.red[900],c.red[700],c.red[500],c.red[300],c.red[100]],[c.pink[900],c.pink[700],c.pink[500],c.pink[300],c.pink[100]],[c.purple[900],c.purple[700],c.purple[500],c.purple[300],c.purple[100]],[c.deepPurple[900],c.deepPurple[700],c.deepPurple[500],c.deepPurple[300],c.deepPurple[100]],[c.indigo[900],c.indigo[700],c.indigo[500],c.indigo[300],c.indigo[100]],[c.blue[900],c.blue[700],c.blue[500],c.blue[300],c.blue[100]],[c.lightBlue[900],c.lightBlue[700],c.lightBlue[500],c.lightBlue[300],c.lightBlue[100]],[c.cyan[900],c.cyan[700],c.cyan[500],c.cyan[300],c.cyan[100]],[c.teal[900],c.teal[700],c.teal[500],c.teal[300],c.teal[100]],[\"#194D33\",c.green[700],c.green[500],c.green[300],c.green[100]],[c.lightGreen[900],c.lightGreen[700],c.lightGreen[500],c.lightGreen[300],c.lightGreen[100]],[c.lime[900],c.lime[700],c.lime[500],c.lime[300],c.lime[100]],[c.yellow[900],c.yellow[700],c.yellow[500],c.yellow[300],c.yellow[100]],[c.amber[900],c.amber[700],c.amber[500],c.amber[300],c.amber[100]],[c.orange[900],c.orange[700],c.orange[500],c.orange[300],c.orange[100]],[c.deepOrange[900],c.deepOrange[700],c.deepOrange[500],c.deepOrange[300],c.deepOrange[100]],[c.brown[900],c.brown[700],c.brown[500],c.brown[300],c.brown[100]],[c.blueGrey[900],c.blueGrey[700],c.blueGrey[500],c.blueGrey[300],c.blueGrey[100]],[\"#000000\",\"#525252\",\"#969696\",\"#D9D9D9\",\"#FFFFFF\"]],styles:{}},t.default=(0,f.ColorWrap)(d)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.SwatchesGroup=void 0;var n=u(r(1)),o=u(r(158)),a=u(r(172)),i=u(r(536));function u(e){return e&&e.__esModule?e:{default:e}}var l=t.SwatchesGroup=function(e){var t=e.onClick,r=e.onSwatchHover,u=e.group,l=e.active,c=(0,o.default)({default:{group:{paddingBottom:\"10px\",width:\"40px\",float:\"left\",marginRight:\"10px\"}}});return n.default.createElement(\"div\",{style:c.group},(0,a.default)(u,(function(e,o){return n.default.createElement(i.default,{key:e,color:e,active:e.toLowerCase()===l,first:0===o,last:o===u.length-1,onClick:t,onSwatchHover:r})})))};t.default=l},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.SwatchesColor=void 0;var n=l(r(1)),o=l(r(158)),a=l(r(165)),i=r(159),u=l(r(537));function l(e){return e&&e.__esModule?e:{default:e}}var c=t.SwatchesColor=function(e){var t=e.color,r=e.onClick,l=void 0===r?function(){}:r,c=e.onSwatchHover,f=e.first,s=e.last,p=e.active,d=(0,o.default)({default:{color:{width:\"40px\",height:\"24px\",cursor:\"pointer\",background:t,marginBottom:\"1px\"},check:{color:a.default.getContrastingColor(t),marginLeft:\"8px\",display:\"none\"}},first:{color:{overflow:\"hidden\",borderRadius:\"2px 2px 0 0\"}},last:{color:{overflow:\"hidden\",borderRadius:\"0 0 2px 2px\"}},active:{check:{display:\"block\"}},\"color-#FFFFFF\":{color:{boxShadow:\"inset 0 0 0 1px #ddd\"},check:{color:\"#333\"}},transparent:{check:{color:\"#333\"}}},{first:f,last:s,active:p,\"color-#FFFFFF\":\"#FFFFFF\"===t,transparent:\"transparent\"===t});return n.default.createElement(i.Swatch,{color:t,style:d.color,onClick:l,onHover:c,focusStyle:{boxShadow:\"0 0 4px \"+t}},n.default.createElement(\"div\",{style:d.check},n.default.createElement(u.default,null)))};t.default=c},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n,o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=r(1),i=(n=a)&&n.__esModule?n:{default:n};t.default=function(e){var t=e.fill,r=void 0===t?\"currentColor\":t,n=e.width,a=void 0===n?24:n,u=e.height,l=void 0===u?24:u,c=e.style,f=void 0===c?{}:c,s=function(e,t){var r={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}(e,[\"fill\",\"width\",\"height\",\"style\"]);return i.default.createElement(\"svg\",o({viewBox:\"0 0 24 24\",style:o({fill:r,width:a,height:l},f)},s),i.default.createElement(\"path\",{d:\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\"}))}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Twitter=void 0;var n=f(r(1)),o=f(r(0)),a=f(r(158)),i=f(r(172)),u=f(r(160)),l=f(r(165)),c=r(159);function f(e){return e&&e.__esModule?e:{default:e}}var s=t.Twitter=function(e){var t=e.onChange,r=e.onSwatchHover,o=e.hex,f=e.colors,s=e.width,p=e.triangle,d=e.styles,h=void 0===d?{}:d,b=e.className,v=void 0===b?\"\":b,g=(0,a.default)((0,u.default)({default:{card:{width:s,background:\"#fff\",border:\"0 solid rgba(0,0,0,0.25)\",boxShadow:\"0 1px 4px rgba(0,0,0,0.25)\",borderRadius:\"4px\",position:\"relative\"},body:{padding:\"15px 9px 9px 15px\"},label:{fontSize:\"18px\",color:\"#fff\"},triangle:{width:\"0px\",height:\"0px\",borderStyle:\"solid\",borderWidth:\"0 9px 10px 9px\",borderColor:\"transparent transparent #fff transparent\",position:\"absolute\"},triangleShadow:{width:\"0px\",height:\"0px\",borderStyle:\"solid\",borderWidth:\"0 9px 10px 9px\",borderColor:\"transparent transparent rgba(0,0,0,.1) transparent\",position:\"absolute\"},hash:{background:\"#F0F0F0\",height:\"30px\",width:\"30px\",borderRadius:\"4px 0 0 4px\",float:\"left\",color:\"#98A1A4\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},input:{width:\"100px\",fontSize:\"14px\",color:\"#666\",border:\"0px\",outline:\"none\",height:\"28px\",boxShadow:\"inset 0 0 0 1px #F0F0F0\",boxSizing:\"content-box\",borderRadius:\"0 4px 4px 0\",float:\"left\",paddingLeft:\"8px\"},swatch:{width:\"30px\",height:\"30px\",float:\"left\",borderRadius:\"4px\",margin:\"0 6px 6px 0\"},clear:{clear:\"both\"}},\"hide-triangle\":{triangle:{display:\"none\"},triangleShadow:{display:\"none\"}},\"top-left-triangle\":{triangle:{top:\"-10px\",left:\"12px\"},triangleShadow:{top:\"-11px\",left:\"12px\"}},\"top-right-triangle\":{triangle:{top:\"-10px\",right:\"12px\"},triangleShadow:{top:\"-11px\",right:\"12px\"}}},h),{\"hide-triangle\":\"hide\"===p,\"top-left-triangle\":\"top-left\"===p,\"top-right-triangle\":\"top-right\"===p}),x=function(e,r){l.default.isValidHex(e)&&t({hex:e,source:\"hex\"},r)};return n.default.createElement(\"div\",{style:g.card,className:\"twitter-picker \"+v},n.default.createElement(\"div\",{style:g.triangleShadow}),n.default.createElement(\"div\",{style:g.triangle}),n.default.createElement(\"div\",{style:g.body},(0,i.default)(f,(function(e,t){return n.default.createElement(c.Swatch,{key:t,color:e,hex:e,style:g.swatch,onClick:x,onHover:r,focusStyle:{boxShadow:\"0 0 4px \"+e}})})),n.default.createElement(\"div\",{style:g.hash},\"#\"),n.default.createElement(c.EditableInput,{label:null,style:{input:g.input},value:o.replace(\"#\",\"\"),onChange:x}),n.default.createElement(\"div\",{style:g.clear})))};s.propTypes={width:o.default.oneOfType([o.default.string,o.default.number]),triangle:o.default.oneOf([\"hide\",\"top-left\",\"top-right\"]),colors:o.default.arrayOf(o.default.string),styles:o.default.object},s.defaultProps={width:276,colors:[\"#FF6900\",\"#FCB900\",\"#7BDCB5\",\"#00D084\",\"#8ED1FC\",\"#0693E3\",\"#ABB8C3\",\"#EB144C\",\"#F78DA7\",\"#9900EF\"],triangle:\"top-left\",styles:{}},t.default=(0,c.ColorWrap)(s)}])]);\n//# sourceMappingURL=async-colorpicker.js.map"
  },
  {
    "path": "inst/deps/bundle.js",
    "content": "this[\"dash_daq\"] =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/lib/\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/*!******************!*\\\n  !*** ./index.js ***!\n  \\******************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _BooleanSwitch = __webpack_require__(/*! ./components/BooleanSwitch.react */ 1);\n\t\n\tObject.defineProperty(exports, 'BooleanSwitch', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_BooleanSwitch).default;\n\t  }\n\t});\n\t\n\tvar _ColorPicker = __webpack_require__(/*! ./components/ColorPicker.react */ 24);\n\t\n\tObject.defineProperty(exports, 'ColorPicker', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_ColorPicker).default;\n\t  }\n\t});\n\t\n\tvar _Gauge = __webpack_require__(/*! ./components/Gauge.react */ 413);\n\t\n\tObject.defineProperty(exports, 'Gauge', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Gauge).default;\n\t  }\n\t});\n\t\n\tvar _GraduatedBar = __webpack_require__(/*! ./components/GraduatedBar.react */ 425);\n\t\n\tObject.defineProperty(exports, 'GraduatedBar', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_GraduatedBar).default;\n\t  }\n\t});\n\t\n\tvar _Indicator = __webpack_require__(/*! ./components/Indicator.react */ 427);\n\t\n\tObject.defineProperty(exports, 'Indicator', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Indicator).default;\n\t  }\n\t});\n\t\n\tvar _Knob = __webpack_require__(/*! ./components/Knob.react */ 428);\n\t\n\tObject.defineProperty(exports, 'Knob', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Knob).default;\n\t  }\n\t});\n\t\n\tvar _LEDDisplay = __webpack_require__(/*! ./components/LEDDisplay.react */ 431);\n\t\n\tObject.defineProperty(exports, 'LEDDisplay', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_LEDDisplay).default;\n\t  }\n\t});\n\t\n\tvar _NumericInput = __webpack_require__(/*! ./components/NumericInput.react */ 434);\n\t\n\tObject.defineProperty(exports, 'NumericInput', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_NumericInput).default;\n\t  }\n\t});\n\t\n\tvar _PowerButton = __webpack_require__(/*! ./components/PowerButton.react */ 436);\n\t\n\tObject.defineProperty(exports, 'PowerButton', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_PowerButton).default;\n\t  }\n\t});\n\t\n\tvar _PrecisionInput = __webpack_require__(/*! ./components/PrecisionInput.react */ 439);\n\t\n\tObject.defineProperty(exports, 'PrecisionInput', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_PrecisionInput).default;\n\t  }\n\t});\n\t\n\tvar _StopButton = __webpack_require__(/*! ./components/StopButton.react */ 441);\n\t\n\tObject.defineProperty(exports, 'StopButton', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_StopButton).default;\n\t  }\n\t});\n\t\n\tvar _Slider = __webpack_require__(/*! ./components/Slider.react */ 443);\n\t\n\tObject.defineProperty(exports, 'Slider', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Slider).default;\n\t  }\n\t});\n\t\n\tvar _Tank = __webpack_require__(/*! ./components/Tank.react */ 928);\n\t\n\tObject.defineProperty(exports, 'Tank', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Tank).default;\n\t  }\n\t});\n\t\n\tvar _Thermometer = __webpack_require__(/*! ./components/Thermometer.react */ 930);\n\t\n\tObject.defineProperty(exports, 'Thermometer', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Thermometer).default;\n\t  }\n\t});\n\t\n\tvar _ToggleSwitch = __webpack_require__(/*! ./components/ToggleSwitch.react */ 19);\n\t\n\tObject.defineProperty(exports, 'ToggleSwitch', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_ToggleSwitch).default;\n\t  }\n\t});\n\t\n\tvar _DarkThemeProvider = __webpack_require__(/*! ./components/DarkThemeProvider.react */ 932);\n\t\n\tObject.defineProperty(exports, 'DarkThemeProvider', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_DarkThemeProvider).default;\n\t  }\n\t});\n\t\n\tvar _Joystick = __webpack_require__(/*! ./components/Joystick.react */ 933);\n\t\n\tObject.defineProperty(exports, 'Joystick', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Joystick).default;\n\t  }\n\t});\n\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/***/ }),\n/* 1 */\n/*!*******************************************!*\\\n  !*** ./components/BooleanSwitch.react.js ***!\n  \\*******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar Component = _react.Component;\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar PropTypes = _interopRequireDefault(_propTypes).default;\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar withTheme = _styledComponents.withTheme;\n\t\n\tvar _constants = __webpack_require__(/*! ../styled/constants */ 18);\n\t\n\tvar light = _constants.light;\n\t\n\tvar _ToggleSwitch = __webpack_require__(/*! ./ToggleSwitch.react */ 19);\n\t\n\tvar ToggleSwitch = _interopRequireDefault(_ToggleSwitch).default;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\t/**\n\t * A switch component that toggles\n\t * between on and off.\n\t */\n\tvar BooleanSwitch = function (_Component) {\n\t  _inherits(BooleanSwitch, _Component);\n\t\n\t  function BooleanSwitch(props) {\n\t    _classCallCheck(this, BooleanSwitch);\n\t\n\t    var _this = _possibleConstructorReturn(this, (BooleanSwitch.__proto__ || Object.getPrototypeOf(BooleanSwitch)).call(this, props));\n\t\n\t    _this.state = {\n\t      on: props.on\n\t    };\n\t\n\t    _this.setPropsOverride = _this.setPropsOverride.bind(_this);\n\t    return _this;\n\t  }\n\t\n\t  _createClass(BooleanSwitch, [{\n\t    key: 'componentWillReceiveProps',\n\t    value: function componentWillReceiveProps(newProps) {\n\t      if (newProps.on !== this.state.on) this.setState({ on: newProps.on });\n\t    }\n\t  }, {\n\t    key: 'setPropsOverride',\n\t    value: function setPropsOverride(_ref) {\n\t      var value = _ref.value;\n\t\n\t      this.setState({ on: value });\n\t      if (this.props.setProps) this.props.setProps({ on: value });\n\t    }\n\t  }, {\n\t    key: 'render',\n\t    value: function render() {\n\t      return React.createElement(ToggleSwitch, _extends({}, this.props, {\n\t        value: this.state.on,\n\t        setProps: this.setPropsOverride,\n\t        booleanSwitch: true,\n\t        color: this.props.color || this.props.theme.primary\n\t      }));\n\t    }\n\t  }]);\n\t\n\t  return BooleanSwitch;\n\t}(Component);\n\t\n\tBooleanSwitch.defaultProps = {\n\t  on: false,\n\t  vertical: false,\n\t  theme: light,\n\t  labelPosition: 'top'\n\t};\n\t\n\tBooleanSwitch.propTypes = {\n\t  /**\n\t   * The ID used to identify this compnent in Dash callbacks\n\t   */\n\t  id: PropTypes.string,\n\t\n\t  /**\n\t   * Whether or not the switch is on\n\t   */\n\t  on: PropTypes.bool,\n\t\n\t  /**\n\t   * Color to highlight active switch background\n\t   */\n\t  color: PropTypes.string,\n\t\n\t  /**\n\t   * If true, switch will be vertical instead\n\t   * of horizontal\n\t   */\n\t  vertical: PropTypes.bool,\n\t\n\t  /**\n\t   * If true, switch cannot be clicked\n\t   */\n\t  disabled: PropTypes.bool,\n\t\n\t  /**\n\t   * Theme configuration to be set by a ThemeProvider\n\t   */\n\t  theme: PropTypes.object,\n\t\n\t  /**\n\t   * Description to be displayed alongside the control. To control styling,\n\t   * pass an object with label and style properties.\n\t   */\n\t  label: PropTypes.oneOfType([\n\t  /**\n\t   * Label to be displayed\n\t   */\n\t  PropTypes.string,\n\t\n\t  /**\n\t   * The style and label\n\t   */\n\t  PropTypes.shape({\n\t    style: PropTypes.object,\n\t    label: PropTypes.string\n\t  })]),\n\t\n\t  /**\n\t   * Where the component label is positioned.\n\t   */\n\t  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\t\n\t  /**\n\t   * Class to apply to the root component element.\n\t   */\n\t  className: PropTypes.string,\n\t\n\t  /**\n\t   * Style to apply to the root object.\n\t   */\n\t  style: PropTypes.object,\n\t\n\t  /**\n\t   * Dash-assigned callback that gets fired when\n\t   * switch is toggled.\n\t   */\n\t  setProps: PropTypes.func\n\t};\n\t\n\texports.default = withTheme(BooleanSwitch);\n\n/***/ }),\n/* 2 */\n/*!************************!*\\\n  !*** external \"React\" ***!\n  \\************************/\n/***/ (function(module, exports) {\n\n\t(function() { module.exports = this[\"React\"]; }());\n\n/***/ }),\n/* 3 */\n/*!********************************!*\\\n  !*** ../~/prop-types/index.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t */\n\t\n\tif (true) {\n\t  var ReactIs = __webpack_require__(/*! react-is */ 4);\n\t\n\t  // By explicitly using `prop-types` you are opting into new development behavior.\n\t  // http://fb.me/prop-types-in-prod\n\t  var throwOnDirectAccess = true;\n\t  module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ 6)(ReactIs.isElement, throwOnDirectAccess);\n\t} else {\n\t  // By explicitly using `prop-types` you are opting into new production behavior.\n\t  // http://fb.me/prop-types-in-prod\n\t  module.exports = require('./factoryWithThrowingShims')();\n\t}\n\n\n/***/ }),\n/* 4 */\n/*!******************************!*\\\n  !*** ../~/react-is/index.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tif (false) {\n\t  module.exports = require('./cjs/react-is.production.min.js');\n\t} else {\n\t  module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ 5);\n\t}\n\n\n/***/ }),\n/* 5 */\n/*!*************************************************!*\\\n  !*** ../~/react-is/cjs/react-is.development.js ***!\n  \\*************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/** @license React v16.8.6\n\t * react-is.development.js\n\t *\n\t * Copyright (c) Facebook, Inc. and its affiliates.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t */\n\t\n\t'use strict';\n\t\n\t\n\t\n\tif (true) {\n\t  (function() {\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', { value: true });\n\t\n\t// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n\t// nor polyfill, then a plain number is used for performance.\n\tvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\n\t\n\tvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\n\tvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\n\tvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\n\tvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\n\tvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\n\tvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\n\tvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;\n\tvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\n\tvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\n\tvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\n\tvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\n\tvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\n\tvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\n\t\n\tfunction isValidElementType(type) {\n\t  return typeof type === 'string' || typeof type === 'function' ||\n\t  // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n\t  type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE);\n\t}\n\t\n\t/**\n\t * Forked from fbjs/warning:\n\t * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n\t *\n\t * Only change is we use console.warn instead of console.error,\n\t * and do nothing when 'console' is not supported.\n\t * This really simplifies the code.\n\t * ---\n\t * Similar to invariant but only logs a warning if the condition is not met.\n\t * This can be used to log issues in development environments in critical\n\t * paths. Removing the logging code for production environments will keep the\n\t * same logic and follow the same code paths.\n\t */\n\t\n\tvar lowPriorityWarning = function () {};\n\t\n\t{\n\t  var printWarning = function (format) {\n\t    for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n\t      args[_key - 1] = arguments[_key];\n\t    }\n\t\n\t    var argIndex = 0;\n\t    var message = 'Warning: ' + format.replace(/%s/g, function () {\n\t      return args[argIndex++];\n\t    });\n\t    if (typeof console !== 'undefined') {\n\t      console.warn(message);\n\t    }\n\t    try {\n\t      // --- Welcome to debugging React ---\n\t      // This error was thrown as a convenience so that you can use this stack\n\t      // to find the callsite that caused this warning to fire.\n\t      throw new Error(message);\n\t    } catch (x) {}\n\t  };\n\t\n\t  lowPriorityWarning = function (condition, format) {\n\t    if (format === undefined) {\n\t      throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument');\n\t    }\n\t    if (!condition) {\n\t      for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n\t        args[_key2 - 2] = arguments[_key2];\n\t      }\n\t\n\t      printWarning.apply(undefined, [format].concat(args));\n\t    }\n\t  };\n\t}\n\t\n\tvar lowPriorityWarning$1 = lowPriorityWarning;\n\t\n\tfunction typeOf(object) {\n\t  if (typeof object === 'object' && object !== null) {\n\t    var $$typeof = object.$$typeof;\n\t    switch ($$typeof) {\n\t      case REACT_ELEMENT_TYPE:\n\t        var type = object.type;\n\t\n\t        switch (type) {\n\t          case REACT_ASYNC_MODE_TYPE:\n\t          case REACT_CONCURRENT_MODE_TYPE:\n\t          case REACT_FRAGMENT_TYPE:\n\t          case REACT_PROFILER_TYPE:\n\t          case REACT_STRICT_MODE_TYPE:\n\t          case REACT_SUSPENSE_TYPE:\n\t            return type;\n\t          default:\n\t            var $$typeofType = type && type.$$typeof;\n\t\n\t            switch ($$typeofType) {\n\t              case REACT_CONTEXT_TYPE:\n\t              case REACT_FORWARD_REF_TYPE:\n\t              case REACT_PROVIDER_TYPE:\n\t                return $$typeofType;\n\t              default:\n\t                return $$typeof;\n\t            }\n\t        }\n\t      case REACT_LAZY_TYPE:\n\t      case REACT_MEMO_TYPE:\n\t      case REACT_PORTAL_TYPE:\n\t        return $$typeof;\n\t    }\n\t  }\n\t\n\t  return undefined;\n\t}\n\t\n\t// AsyncMode is deprecated along with isAsyncMode\n\tvar AsyncMode = REACT_ASYNC_MODE_TYPE;\n\tvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\n\tvar ContextConsumer = REACT_CONTEXT_TYPE;\n\tvar ContextProvider = REACT_PROVIDER_TYPE;\n\tvar Element = REACT_ELEMENT_TYPE;\n\tvar ForwardRef = REACT_FORWARD_REF_TYPE;\n\tvar Fragment = REACT_FRAGMENT_TYPE;\n\tvar Lazy = REACT_LAZY_TYPE;\n\tvar Memo = REACT_MEMO_TYPE;\n\tvar Portal = REACT_PORTAL_TYPE;\n\tvar Profiler = REACT_PROFILER_TYPE;\n\tvar StrictMode = REACT_STRICT_MODE_TYPE;\n\tvar Suspense = REACT_SUSPENSE_TYPE;\n\t\n\tvar hasWarnedAboutDeprecatedIsAsyncMode = false;\n\t\n\t// AsyncMode should be deprecated\n\tfunction isAsyncMode(object) {\n\t  {\n\t    if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n\t      hasWarnedAboutDeprecatedIsAsyncMode = true;\n\t      lowPriorityWarning$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n\t    }\n\t  }\n\t  return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n\t}\n\tfunction isConcurrentMode(object) {\n\t  return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n\t}\n\tfunction isContextConsumer(object) {\n\t  return typeOf(object) === REACT_CONTEXT_TYPE;\n\t}\n\tfunction isContextProvider(object) {\n\t  return typeOf(object) === REACT_PROVIDER_TYPE;\n\t}\n\tfunction isElement(object) {\n\t  return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n\t}\n\tfunction isForwardRef(object) {\n\t  return typeOf(object) === REACT_FORWARD_REF_TYPE;\n\t}\n\tfunction isFragment(object) {\n\t  return typeOf(object) === REACT_FRAGMENT_TYPE;\n\t}\n\tfunction isLazy(object) {\n\t  return typeOf(object) === REACT_LAZY_TYPE;\n\t}\n\tfunction isMemo(object) {\n\t  return typeOf(object) === REACT_MEMO_TYPE;\n\t}\n\tfunction isPortal(object) {\n\t  return typeOf(object) === REACT_PORTAL_TYPE;\n\t}\n\tfunction isProfiler(object) {\n\t  return typeOf(object) === REACT_PROFILER_TYPE;\n\t}\n\tfunction isStrictMode(object) {\n\t  return typeOf(object) === REACT_STRICT_MODE_TYPE;\n\t}\n\tfunction isSuspense(object) {\n\t  return typeOf(object) === REACT_SUSPENSE_TYPE;\n\t}\n\t\n\texports.typeOf = typeOf;\n\texports.AsyncMode = AsyncMode;\n\texports.ConcurrentMode = ConcurrentMode;\n\texports.ContextConsumer = ContextConsumer;\n\texports.ContextProvider = ContextProvider;\n\texports.Element = Element;\n\texports.ForwardRef = ForwardRef;\n\texports.Fragment = Fragment;\n\texports.Lazy = Lazy;\n\texports.Memo = Memo;\n\texports.Portal = Portal;\n\texports.Profiler = Profiler;\n\texports.StrictMode = StrictMode;\n\texports.Suspense = Suspense;\n\texports.isValidElementType = isValidElementType;\n\texports.isAsyncMode = isAsyncMode;\n\texports.isConcurrentMode = isConcurrentMode;\n\texports.isContextConsumer = isContextConsumer;\n\texports.isContextProvider = isContextProvider;\n\texports.isElement = isElement;\n\texports.isForwardRef = isForwardRef;\n\texports.isFragment = isFragment;\n\texports.isLazy = isLazy;\n\texports.isMemo = isMemo;\n\texports.isPortal = isPortal;\n\texports.isProfiler = isProfiler;\n\texports.isStrictMode = isStrictMode;\n\texports.isSuspense = isSuspense;\n\t  })();\n\t}\n\n\n/***/ }),\n/* 6 */\n/*!**************************************************!*\\\n  !*** ../~/prop-types/factoryWithTypeCheckers.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t */\n\t\n\t'use strict';\n\t\n\tvar ReactIs = __webpack_require__(/*! react-is */ 4);\n\tvar assign = __webpack_require__(/*! object-assign */ 7);\n\t\n\tvar ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ 8);\n\tvar checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ 9);\n\t\n\tvar has = Function.call.bind(Object.prototype.hasOwnProperty);\n\tvar printWarning = function() {};\n\t\n\tif (true) {\n\t  printWarning = function(text) {\n\t    var message = 'Warning: ' + text;\n\t    if (typeof console !== 'undefined') {\n\t      console.error(message);\n\t    }\n\t    try {\n\t      // --- Welcome to debugging React ---\n\t      // This error was thrown as a convenience so that you can use this stack\n\t      // to find the callsite that caused this warning to fire.\n\t      throw new Error(message);\n\t    } catch (x) {}\n\t  };\n\t}\n\t\n\tfunction emptyFunctionThatReturnsNull() {\n\t  return null;\n\t}\n\t\n\tmodule.exports = function(isValidElement, throwOnDirectAccess) {\n\t  /* global Symbol */\n\t  var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n\t  var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\t\n\t  /**\n\t   * Returns the iterator method function contained on the iterable object.\n\t   *\n\t   * Be sure to invoke the function with the iterable as context:\n\t   *\n\t   *     var iteratorFn = getIteratorFn(myIterable);\n\t   *     if (iteratorFn) {\n\t   *       var iterator = iteratorFn.call(myIterable);\n\t   *       ...\n\t   *     }\n\t   *\n\t   * @param {?object} maybeIterable\n\t   * @return {?function}\n\t   */\n\t  function getIteratorFn(maybeIterable) {\n\t    var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n\t    if (typeof iteratorFn === 'function') {\n\t      return iteratorFn;\n\t    }\n\t  }\n\t\n\t  /**\n\t   * Collection of methods that allow declaration and validation of props that are\n\t   * supplied to React components. Example usage:\n\t   *\n\t   *   var Props = require('ReactPropTypes');\n\t   *   var MyArticle = React.createClass({\n\t   *     propTypes: {\n\t   *       // An optional string prop named \"description\".\n\t   *       description: Props.string,\n\t   *\n\t   *       // A required enum prop named \"category\".\n\t   *       category: Props.oneOf(['News','Photos']).isRequired,\n\t   *\n\t   *       // A prop named \"dialog\" that requires an instance of Dialog.\n\t   *       dialog: Props.instanceOf(Dialog).isRequired\n\t   *     },\n\t   *     render: function() { ... }\n\t   *   });\n\t   *\n\t   * A more formal specification of how these methods are used:\n\t   *\n\t   *   type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n\t   *   decl := ReactPropTypes.{type}(.isRequired)?\n\t   *\n\t   * Each and every declaration produces a function with the same signature. This\n\t   * allows the creation of custom validation functions. For example:\n\t   *\n\t   *  var MyLink = React.createClass({\n\t   *    propTypes: {\n\t   *      // An optional string or URI prop named \"href\".\n\t   *      href: function(props, propName, componentName) {\n\t   *        var propValue = props[propName];\n\t   *        if (propValue != null && typeof propValue !== 'string' &&\n\t   *            !(propValue instanceof URI)) {\n\t   *          return new Error(\n\t   *            'Expected a string or an URI for ' + propName + ' in ' +\n\t   *            componentName\n\t   *          );\n\t   *        }\n\t   *      }\n\t   *    },\n\t   *    render: function() {...}\n\t   *  });\n\t   *\n\t   * @internal\n\t   */\n\t\n\t  var ANONYMOUS = '<<anonymous>>';\n\t\n\t  // Important!\n\t  // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n\t  var ReactPropTypes = {\n\t    array: createPrimitiveTypeChecker('array'),\n\t    bool: createPrimitiveTypeChecker('boolean'),\n\t    func: createPrimitiveTypeChecker('function'),\n\t    number: createPrimitiveTypeChecker('number'),\n\t    object: createPrimitiveTypeChecker('object'),\n\t    string: createPrimitiveTypeChecker('string'),\n\t    symbol: createPrimitiveTypeChecker('symbol'),\n\t\n\t    any: createAnyTypeChecker(),\n\t    arrayOf: createArrayOfTypeChecker,\n\t    element: createElementTypeChecker(),\n\t    elementType: createElementTypeTypeChecker(),\n\t    instanceOf: createInstanceTypeChecker,\n\t    node: createNodeChecker(),\n\t    objectOf: createObjectOfTypeChecker,\n\t    oneOf: createEnumTypeChecker,\n\t    oneOfType: createUnionTypeChecker,\n\t    shape: createShapeTypeChecker,\n\t    exact: createStrictShapeTypeChecker,\n\t  };\n\t\n\t  /**\n\t   * inlined Object.is polyfill to avoid requiring consumers ship their own\n\t   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n\t   */\n\t  /*eslint-disable no-self-compare*/\n\t  function is(x, y) {\n\t    // SameValue algorithm\n\t    if (x === y) {\n\t      // Steps 1-5, 7-10\n\t      // Steps 6.b-6.e: +0 != -0\n\t      return x !== 0 || 1 / x === 1 / y;\n\t    } else {\n\t      // Step 6.a: NaN == NaN\n\t      return x !== x && y !== y;\n\t    }\n\t  }\n\t  /*eslint-enable no-self-compare*/\n\t\n\t  /**\n\t   * We use an Error-like object for backward compatibility as people may call\n\t   * PropTypes directly and inspect their output. However, we don't use real\n\t   * Errors anymore. We don't inspect their stack anyway, and creating them\n\t   * is prohibitively expensive if they are created too often, such as what\n\t   * happens in oneOfType() for any type before the one that matched.\n\t   */\n\t  function PropTypeError(message) {\n\t    this.message = message;\n\t    this.stack = '';\n\t  }\n\t  // Make `instanceof Error` still work for returned errors.\n\t  PropTypeError.prototype = Error.prototype;\n\t\n\t  function createChainableTypeChecker(validate) {\n\t    if (true) {\n\t      var manualPropTypeCallCache = {};\n\t      var manualPropTypeWarningCount = 0;\n\t    }\n\t    function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n\t      componentName = componentName || ANONYMOUS;\n\t      propFullName = propFullName || propName;\n\t\n\t      if (secret !== ReactPropTypesSecret) {\n\t        if (throwOnDirectAccess) {\n\t          // New behavior only for users of `prop-types` package\n\t          var err = new Error(\n\t            'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n\t            'Use `PropTypes.checkPropTypes()` to call them. ' +\n\t            'Read more at http://fb.me/use-check-prop-types'\n\t          );\n\t          err.name = 'Invariant Violation';\n\t          throw err;\n\t        } else if ((\"development\") !== 'production' && typeof console !== 'undefined') {\n\t          // Old behavior for people using React.PropTypes\n\t          var cacheKey = componentName + ':' + propName;\n\t          if (\n\t            !manualPropTypeCallCache[cacheKey] &&\n\t            // Avoid spamming the console because they are often not actionable except for lib authors\n\t            manualPropTypeWarningCount < 3\n\t          ) {\n\t            printWarning(\n\t              'You are manually calling a React.PropTypes validation ' +\n\t              'function for the `' + propFullName + '` prop on `' + componentName  + '`. This is deprecated ' +\n\t              'and will throw in the standalone `prop-types` package. ' +\n\t              'You may be seeing this warning due to a third-party PropTypes ' +\n\t              'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n\t            );\n\t            manualPropTypeCallCache[cacheKey] = true;\n\t            manualPropTypeWarningCount++;\n\t          }\n\t        }\n\t      }\n\t      if (props[propName] == null) {\n\t        if (isRequired) {\n\t          if (props[propName] === null) {\n\t            return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n\t          }\n\t          return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n\t        }\n\t        return null;\n\t      } else {\n\t        return validate(props, propName, componentName, location, propFullName);\n\t      }\n\t    }\n\t\n\t    var chainedCheckType = checkType.bind(null, false);\n\t    chainedCheckType.isRequired = checkType.bind(null, true);\n\t\n\t    return chainedCheckType;\n\t  }\n\t\n\t  function createPrimitiveTypeChecker(expectedType) {\n\t    function validate(props, propName, componentName, location, propFullName, secret) {\n\t      var propValue = props[propName];\n\t      var propType = getPropType(propValue);\n\t      if (propType !== expectedType) {\n\t        // `propValue` being instance of, say, date/regexp, pass the 'object'\n\t        // check, but we can offer a more precise error message here rather than\n\t        // 'of type `object`'.\n\t        var preciseType = getPreciseType(propValue);\n\t\n\t        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n\t      }\n\t      return null;\n\t    }\n\t    return createChainableTypeChecker(validate);\n\t  }\n\t\n\t  function createAnyTypeChecker() {\n\t    return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n\t  }\n\t\n\t  function createArrayOfTypeChecker(typeChecker) {\n\t    function validate(props, propName, componentName, location, propFullName) {\n\t      if (typeof typeChecker !== 'function') {\n\t        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n\t      }\n\t      var propValue = props[propName];\n\t      if (!Array.isArray(propValue)) {\n\t        var propType = getPropType(propValue);\n\t        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n\t      }\n\t      for (var i = 0; i < propValue.length; i++) {\n\t        var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n\t        if (error instanceof Error) {\n\t          return error;\n\t        }\n\t      }\n\t      return null;\n\t    }\n\t    return createChainableTypeChecker(validate);\n\t  }\n\t\n\t  function createElementTypeChecker() {\n\t    function validate(props, propName, componentName, location, propFullName) {\n\t      var propValue = props[propName];\n\t      if (!isValidElement(propValue)) {\n\t        var propType = getPropType(propValue);\n\t        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n\t      }\n\t      return null;\n\t    }\n\t    return createChainableTypeChecker(validate);\n\t  }\n\t\n\t  function createElementTypeTypeChecker() {\n\t    function validate(props, propName, componentName, location, propFullName) {\n\t      var propValue = props[propName];\n\t      if (!ReactIs.isValidElementType(propValue)) {\n\t        var propType = getPropType(propValue);\n\t        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n\t      }\n\t      return null;\n\t    }\n\t    return createChainableTypeChecker(validate);\n\t  }\n\t\n\t  function createInstanceTypeChecker(expectedClass) {\n\t    function validate(props, propName, componentName, location, propFullName) {\n\t      if (!(props[propName] instanceof expectedClass)) {\n\t        var expectedClassName = expectedClass.name || ANONYMOUS;\n\t        var actualClassName = getClassName(props[propName]);\n\t        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n\t      }\n\t      return null;\n\t    }\n\t    return createChainableTypeChecker(validate);\n\t  }\n\t\n\t  function createEnumTypeChecker(expectedValues) {\n\t    if (!Array.isArray(expectedValues)) {\n\t      if (true) {\n\t        if (arguments.length > 1) {\n\t          printWarning(\n\t            'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n\t            'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n\t          );\n\t        } else {\n\t          printWarning('Invalid argument supplied to oneOf, expected an array.');\n\t        }\n\t      }\n\t      return emptyFunctionThatReturnsNull;\n\t    }\n\t\n\t    function validate(props, propName, componentName, location, propFullName) {\n\t      var propValue = props[propName];\n\t      for (var i = 0; i < expectedValues.length; i++) {\n\t        if (is(propValue, expectedValues[i])) {\n\t          return null;\n\t        }\n\t      }\n\t\n\t      var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n\t        var type = getPreciseType(value);\n\t        if (type === 'symbol') {\n\t          return String(value);\n\t        }\n\t        return value;\n\t      });\n\t      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n\t    }\n\t    return createChainableTypeChecker(validate);\n\t  }\n\t\n\t  function createObjectOfTypeChecker(typeChecker) {\n\t    function validate(props, propName, componentName, location, propFullName) {\n\t      if (typeof typeChecker !== 'function') {\n\t        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n\t      }\n\t      var propValue = props[propName];\n\t      var propType = getPropType(propValue);\n\t      if (propType !== 'object') {\n\t        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n\t      }\n\t      for (var key in propValue) {\n\t        if (has(propValue, key)) {\n\t          var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n\t          if (error instanceof Error) {\n\t            return error;\n\t          }\n\t        }\n\t      }\n\t      return null;\n\t    }\n\t    return createChainableTypeChecker(validate);\n\t  }\n\t\n\t  function createUnionTypeChecker(arrayOfTypeCheckers) {\n\t    if (!Array.isArray(arrayOfTypeCheckers)) {\n\t       true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n\t      return emptyFunctionThatReturnsNull;\n\t    }\n\t\n\t    for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n\t      var checker = arrayOfTypeCheckers[i];\n\t      if (typeof checker !== 'function') {\n\t        printWarning(\n\t          'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n\t          'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n\t        );\n\t        return emptyFunctionThatReturnsNull;\n\t      }\n\t    }\n\t\n\t    function validate(props, propName, componentName, location, propFullName) {\n\t      for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n\t        var checker = arrayOfTypeCheckers[i];\n\t        if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n\t          return null;\n\t        }\n\t      }\n\t\n\t      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n\t    }\n\t    return createChainableTypeChecker(validate);\n\t  }\n\t\n\t  function createNodeChecker() {\n\t    function validate(props, propName, componentName, location, propFullName) {\n\t      if (!isNode(props[propName])) {\n\t        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n\t      }\n\t      return null;\n\t    }\n\t    return createChainableTypeChecker(validate);\n\t  }\n\t\n\t  function createShapeTypeChecker(shapeTypes) {\n\t    function validate(props, propName, componentName, location, propFullName) {\n\t      var propValue = props[propName];\n\t      var propType = getPropType(propValue);\n\t      if (propType !== 'object') {\n\t        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n\t      }\n\t      for (var key in shapeTypes) {\n\t        var checker = shapeTypes[key];\n\t        if (!checker) {\n\t          continue;\n\t        }\n\t        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n\t        if (error) {\n\t          return error;\n\t        }\n\t      }\n\t      return null;\n\t    }\n\t    return createChainableTypeChecker(validate);\n\t  }\n\t\n\t  function createStrictShapeTypeChecker(shapeTypes) {\n\t    function validate(props, propName, componentName, location, propFullName) {\n\t      var propValue = props[propName];\n\t      var propType = getPropType(propValue);\n\t      if (propType !== 'object') {\n\t        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n\t      }\n\t      // We need to check all keys in case some are required but missing from\n\t      // props.\n\t      var allKeys = assign({}, props[propName], shapeTypes);\n\t      for (var key in allKeys) {\n\t        var checker = shapeTypes[key];\n\t        if (!checker) {\n\t          return new PropTypeError(\n\t            'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n\t            '\\nBad object: ' + JSON.stringify(props[propName], null, '  ') +\n\t            '\\nValid keys: ' +  JSON.stringify(Object.keys(shapeTypes), null, '  ')\n\t          );\n\t        }\n\t        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n\t        if (error) {\n\t          return error;\n\t        }\n\t      }\n\t      return null;\n\t    }\n\t\n\t    return createChainableTypeChecker(validate);\n\t  }\n\t\n\t  function isNode(propValue) {\n\t    switch (typeof propValue) {\n\t      case 'number':\n\t      case 'string':\n\t      case 'undefined':\n\t        return true;\n\t      case 'boolean':\n\t        return !propValue;\n\t      case 'object':\n\t        if (Array.isArray(propValue)) {\n\t          return propValue.every(isNode);\n\t        }\n\t        if (propValue === null || isValidElement(propValue)) {\n\t          return true;\n\t        }\n\t\n\t        var iteratorFn = getIteratorFn(propValue);\n\t        if (iteratorFn) {\n\t          var iterator = iteratorFn.call(propValue);\n\t          var step;\n\t          if (iteratorFn !== propValue.entries) {\n\t            while (!(step = iterator.next()).done) {\n\t              if (!isNode(step.value)) {\n\t                return false;\n\t              }\n\t            }\n\t          } else {\n\t            // Iterator will provide entry [k,v] tuples rather than values.\n\t            while (!(step = iterator.next()).done) {\n\t              var entry = step.value;\n\t              if (entry) {\n\t                if (!isNode(entry[1])) {\n\t                  return false;\n\t                }\n\t              }\n\t            }\n\t          }\n\t        } else {\n\t          return false;\n\t        }\n\t\n\t        return true;\n\t      default:\n\t        return false;\n\t    }\n\t  }\n\t\n\t  function isSymbol(propType, propValue) {\n\t    // Native Symbol.\n\t    if (propType === 'symbol') {\n\t      return true;\n\t    }\n\t\n\t    // falsy value can't be a Symbol\n\t    if (!propValue) {\n\t      return false;\n\t    }\n\t\n\t    // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n\t    if (propValue['@@toStringTag'] === 'Symbol') {\n\t      return true;\n\t    }\n\t\n\t    // Fallback for non-spec compliant Symbols which are polyfilled.\n\t    if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n\t      return true;\n\t    }\n\t\n\t    return false;\n\t  }\n\t\n\t  // Equivalent of `typeof` but with special handling for array and regexp.\n\t  function getPropType(propValue) {\n\t    var propType = typeof propValue;\n\t    if (Array.isArray(propValue)) {\n\t      return 'array';\n\t    }\n\t    if (propValue instanceof RegExp) {\n\t      // Old webkits (at least until Android 4.0) return 'function' rather than\n\t      // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n\t      // passes PropTypes.object.\n\t      return 'object';\n\t    }\n\t    if (isSymbol(propType, propValue)) {\n\t      return 'symbol';\n\t    }\n\t    return propType;\n\t  }\n\t\n\t  // This handles more types than `getPropType`. Only used for error messages.\n\t  // See `createPrimitiveTypeChecker`.\n\t  function getPreciseType(propValue) {\n\t    if (typeof propValue === 'undefined' || propValue === null) {\n\t      return '' + propValue;\n\t    }\n\t    var propType = getPropType(propValue);\n\t    if (propType === 'object') {\n\t      if (propValue instanceof Date) {\n\t        return 'date';\n\t      } else if (propValue instanceof RegExp) {\n\t        return 'regexp';\n\t      }\n\t    }\n\t    return propType;\n\t  }\n\t\n\t  // Returns a string that is postfixed to a warning about an invalid type.\n\t  // For example, \"undefined\" or \"of type array\"\n\t  function getPostfixForTypeWarning(value) {\n\t    var type = getPreciseType(value);\n\t    switch (type) {\n\t      case 'array':\n\t      case 'object':\n\t        return 'an ' + type;\n\t      case 'boolean':\n\t      case 'date':\n\t      case 'regexp':\n\t        return 'a ' + type;\n\t      default:\n\t        return type;\n\t    }\n\t  }\n\t\n\t  // Returns class name of the object, if any.\n\t  function getClassName(propValue) {\n\t    if (!propValue.constructor || !propValue.constructor.name) {\n\t      return ANONYMOUS;\n\t    }\n\t    return propValue.constructor.name;\n\t  }\n\t\n\t  ReactPropTypes.checkPropTypes = checkPropTypes;\n\t  ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n\t  ReactPropTypes.PropTypes = ReactPropTypes;\n\t\n\t  return ReactPropTypes;\n\t};\n\n\n/***/ }),\n/* 7 */\n/*!***********************************!*\\\n  !*** ../~/object-assign/index.js ***!\n  \\***********************************/\n/***/ (function(module, exports) {\n\n\t/*\n\tobject-assign\n\t(c) Sindre Sorhus\n\t@license MIT\n\t*/\n\t\n\t'use strict';\n\t/* eslint-disable no-unused-vars */\n\tvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\t\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\t\n\t\treturn Object(val);\n\t}\n\t\n\tfunction shouldUseNative() {\n\t\ttry {\n\t\t\tif (!Object.assign) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\n\t\t\t// Detect buggy property enumeration order in older V8 versions.\n\t\n\t\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\t\tvar test1 = new String('abc');  // eslint-disable-line no-new-wrappers\n\t\t\ttest1[5] = 'de';\n\t\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\n\t\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\t\tvar test2 = {};\n\t\t\tfor (var i = 0; i < 10; i++) {\n\t\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t\t}\n\t\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\t\treturn test2[n];\n\t\t\t});\n\t\t\tif (order2.join('') !== '0123456789') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\n\t\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\t\tvar test3 = {};\n\t\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\t\ttest3[letter] = letter;\n\t\t\t});\n\t\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\n\t\t\treturn true;\n\t\t} catch (err) {\n\t\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\t\treturn false;\n\t\t}\n\t}\n\t\n\tmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\t\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\t\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\tif (getOwnPropertySymbols) {\n\t\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\treturn to;\n\t};\n\n\n/***/ }),\n/* 8 */\n/*!***************************************************!*\\\n  !*** ../~/prop-types/lib/ReactPropTypesSecret.js ***!\n  \\***************************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t */\n\t\n\t'use strict';\n\t\n\tvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\t\n\tmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n/* 9 */\n/*!*****************************************!*\\\n  !*** ../~/prop-types/checkPropTypes.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t */\n\t\n\t'use strict';\n\t\n\tvar printWarning = function() {};\n\t\n\tif (true) {\n\t  var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ 8);\n\t  var loggedTypeFailures = {};\n\t  var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\t\n\t  printWarning = function(text) {\n\t    var message = 'Warning: ' + text;\n\t    if (typeof console !== 'undefined') {\n\t      console.error(message);\n\t    }\n\t    try {\n\t      // --- Welcome to debugging React ---\n\t      // This error was thrown as a convenience so that you can use this stack\n\t      // to find the callsite that caused this warning to fire.\n\t      throw new Error(message);\n\t    } catch (x) {}\n\t  };\n\t}\n\t\n\t/**\n\t * Assert that the values match with the type specs.\n\t * Error messages are memorized and will only be shown once.\n\t *\n\t * @param {object} typeSpecs Map of name to a ReactPropType\n\t * @param {object} values Runtime values that need to be type-checked\n\t * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n\t * @param {string} componentName Name of the component for error messages.\n\t * @param {?Function} getStack Returns the component stack.\n\t * @private\n\t */\n\tfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n\t  if (true) {\n\t    for (var typeSpecName in typeSpecs) {\n\t      if (has(typeSpecs, typeSpecName)) {\n\t        var error;\n\t        // Prop type validation may throw. In case they do, we don't want to\n\t        // fail the render phase where it didn't fail before. So we log it.\n\t        // After these have been cleaned up, we'll let them throw.\n\t        try {\n\t          // This is intentionally an invariant that gets caught. It's the same\n\t          // behavior as without this statement except with a better message.\n\t          if (typeof typeSpecs[typeSpecName] !== 'function') {\n\t            var err = Error(\n\t              (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n\t              'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n\t            );\n\t            err.name = 'Invariant Violation';\n\t            throw err;\n\t          }\n\t          error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n\t        } catch (ex) {\n\t          error = ex;\n\t        }\n\t        if (error && !(error instanceof Error)) {\n\t          printWarning(\n\t            (componentName || 'React class') + ': type specification of ' +\n\t            location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n\t            'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n\t            'You may have forgotten to pass an argument to the type checker ' +\n\t            'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n\t            'shape all require an argument).'\n\t          );\n\t        }\n\t        if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n\t          // Only monitor this failure once because there tends to be a lot of the\n\t          // same error.\n\t          loggedTypeFailures[error.message] = true;\n\t\n\t          var stack = getStack ? getStack() : '';\n\t\n\t          printWarning(\n\t            'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n\t          );\n\t        }\n\t      }\n\t    }\n\t  }\n\t}\n\t\n\t/**\n\t * Resets warning cache when testing.\n\t *\n\t * @private\n\t */\n\tcheckPropTypes.resetWarningCache = function() {\n\t  if (true) {\n\t    loggedTypeFailures = {};\n\t  }\n\t}\n\t\n\tmodule.exports = checkPropTypes;\n\n\n/***/ }),\n/* 10 */\n/*!********************************************************************!*\\\n  !*** ../~/styled-components/dist/styled-components.browser.cjs.js ***!\n  \\********************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(process, module) {'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', { value: true });\n\t\n\tfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\t\n\tvar hyphenate = _interopDefault(__webpack_require__(/*! fbjs/lib/hyphenateStyleName */ 13));\n\tvar React = __webpack_require__(/*! react */ 2);\n\tvar React__default = _interopDefault(React);\n\tvar Stylis = _interopDefault(__webpack_require__(/*! stylis */ 15));\n\tvar _insertRulePlugin = _interopDefault(__webpack_require__(/*! stylis-rule-sheet */ 16));\n\tvar PropTypes = _interopDefault(__webpack_require__(/*! prop-types */ 3));\n\tvar hoistStatics = _interopDefault(__webpack_require__(/*! hoist-non-react-statics */ 17));\n\tvar reactIs = __webpack_require__(/*! react-is */ 4);\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n\t  return typeof obj;\n\t} : function (obj) {\n\t  return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n\t};\n\t\n\tvar classCallCheck = function (instance, Constructor) {\n\t  if (!(instance instanceof Constructor)) {\n\t    throw new TypeError(\"Cannot call a class as a function\");\n\t  }\n\t};\n\t\n\tvar createClass = function () {\n\t  function defineProperties(target, props) {\n\t    for (var i = 0; i < props.length; i++) {\n\t      var descriptor = props[i];\n\t      descriptor.enumerable = descriptor.enumerable || false;\n\t      descriptor.configurable = true;\n\t      if (\"value\" in descriptor) descriptor.writable = true;\n\t      Object.defineProperty(target, descriptor.key, descriptor);\n\t    }\n\t  }\n\t\n\t  return function (Constructor, protoProps, staticProps) {\n\t    if (protoProps) defineProperties(Constructor.prototype, protoProps);\n\t    if (staticProps) defineProperties(Constructor, staticProps);\n\t    return Constructor;\n\t  };\n\t}();\n\t\n\tvar _extends = Object.assign || function (target) {\n\t  for (var i = 1; i < arguments.length; i++) {\n\t    var source = arguments[i];\n\t\n\t    for (var key in source) {\n\t      if (Object.prototype.hasOwnProperty.call(source, key)) {\n\t        target[key] = source[key];\n\t      }\n\t    }\n\t  }\n\t\n\t  return target;\n\t};\n\t\n\tvar inherits = function (subClass, superClass) {\n\t  if (typeof superClass !== \"function\" && superClass !== null) {\n\t    throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n\t  }\n\t\n\t  subClass.prototype = Object.create(superClass && superClass.prototype, {\n\t    constructor: {\n\t      value: subClass,\n\t      enumerable: false,\n\t      writable: true,\n\t      configurable: true\n\t    }\n\t  });\n\t  if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n\t};\n\t\n\tvar objectWithoutProperties = function (obj, keys) {\n\t  var target = {};\n\t\n\t  for (var i in obj) {\n\t    if (keys.indexOf(i) >= 0) continue;\n\t    if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n\t    target[i] = obj[i];\n\t  }\n\t\n\t  return target;\n\t};\n\t\n\tvar possibleConstructorReturn = function (self, call) {\n\t  if (!self) {\n\t    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n\t  }\n\t\n\t  return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n\t};\n\t\n\t// \n\tvar isPlainObject = (function (x) {\n\t  return (typeof x === 'undefined' ? 'undefined' : _typeof(x)) === 'object' && x.constructor === Object;\n\t});\n\t\n\t// \n\t\n\t\n\t/**\n\t * Parse errors.md and turn it into a simple hash of code: message\n\t */\n\tvar ERRORS =  true ? {\n\t  \"1\": \"Cannot create styled-component for component: %s.\\n\\n\",\n\t  \"2\": \"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\n\\n* Are you trying to reuse it across renders?\\n* Are you accidentally calling collectStyles twice?\\n\\n\",\n\t  \"3\": \"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\n\\n\",\n\t  \"4\": \"The `StyleSheetManager` expects a valid target or sheet prop!\\n\\n* Does this error occur on the client and is your target falsy?\\n* Does this error occur on the server and is the sheet falsy?\\n\\n\",\n\t  \"5\": \"The clone method cannot be used on the client!\\n\\n* Are you running in a client-like environment on the server?\\n* Are you trying to run SSR on the client?\\n\\n\",\n\t  \"6\": \"Trying to insert a new style tag, but the given Node is unmounted!\\n\\n* Are you using a custom target that isn't mounted?\\n* Does your document not have a valid head element?\\n* Have you accidentally removed a style tag manually?\\n\\n\",\n\t  \"7\": \"ThemeProvider: Please return an object from your \\\"theme\\\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n\",\n\t  \"8\": \"ThemeProvider: Please make your \\\"theme\\\" prop an object.\\n\\n\",\n\t  \"9\": \"Missing document `<head>`\\n\\n\",\n\t  \"10\": \"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",\n\t  \"11\": \"A plain React class (%s) has been interpolated into styles, probably as a component selector (https://www.styled-components.com/docs/advanced#referring-to-other-components). Only styled-component classes can be targeted in this fashion.\"\n\t} : {};\n\t\n\t/**\n\t * super basic version of sprintf\n\t */\n\tfunction format() {\n\t  for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t    args[_key] = arguments[_key];\n\t  }\n\t\n\t  var a = args[0];\n\t  var b = [];\n\t  var c = void 0;\n\t\n\t  for (c = 1; c < args.length; c += 1) {\n\t    b.push(args[c]);\n\t  }\n\t\n\t  b.forEach(function (d) {\n\t    a = a.replace(/%[a-z]/, d);\n\t  });\n\t\n\t  return a;\n\t}\n\t\n\t/**\n\t * Create an error file out of errors.md for development and a simple web link to the full errors\n\t * in production mode.\n\t */\n\t\n\tvar StyledComponentsError = function (_Error) {\n\t  inherits(StyledComponentsError, _Error);\n\t\n\t  function StyledComponentsError(code) {\n\t    classCallCheck(this, StyledComponentsError);\n\t\n\t    for (var _len2 = arguments.length, interpolations = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n\t      interpolations[_key2 - 1] = arguments[_key2];\n\t    }\n\t\n\t    if (false) {\n\t      var _this = possibleConstructorReturn(this, _Error.call(this, 'An error occurred. See https://github.com/styled-components/styled-components/blob/master/src/utils/errors.md#' + code + ' for more information. ' + (interpolations ? 'Additional arguments: ' + interpolations.join(', ') : '')));\n\t    } else {\n\t      var _this = possibleConstructorReturn(this, _Error.call(this, format.apply(undefined, [ERRORS[code]].concat(interpolations))));\n\t    }\n\t    return possibleConstructorReturn(_this);\n\t  }\n\t\n\t  return StyledComponentsError;\n\t}(Error);\n\t\n\t// \n\t\n\tvar objToCss = function objToCss(obj, prevKey) {\n\t  var css = Object.keys(obj).filter(function (key) {\n\t    var chunk = obj[key];\n\t    return chunk !== undefined && chunk !== null && chunk !== false && chunk !== '';\n\t  }).map(function (key) {\n\t    if (isPlainObject(obj[key])) return objToCss(obj[key], key);\n\t    return hyphenate(key) + ': ' + obj[key] + ';';\n\t  }).join(' ');\n\t  return prevKey ? prevKey + ' {\\n  ' + css + '\\n}' : css;\n\t};\n\t\n\tvar flatten = function flatten(chunks, executionContext) {\n\t  return chunks.reduce(function (ruleSet, chunk) {\n\t    /* Remove falsey values */\n\t    if (chunk === undefined || chunk === null || chunk === false || chunk === '') {\n\t      return ruleSet;\n\t    }\n\t\n\t    /* Flatten ruleSet */\n\t    if (Array.isArray(chunk)) {\n\t      ruleSet.push.apply(ruleSet, flatten(chunk, executionContext));\n\t      return ruleSet;\n\t    }\n\t\n\t    /* Handle other components */\n\t    if (chunk.hasOwnProperty('styledComponentId')) {\n\t      // $FlowFixMe not sure how to make this pass\n\t      ruleSet.push('.' + chunk.styledComponentId);\n\t      return ruleSet;\n\t    }\n\t\n\t    /* Either execute or defer the function */\n\t    if (typeof chunk === 'function') {\n\t      if (executionContext) {\n\t        var nextChunk = chunk(executionContext);\n\t        /* Throw if a React Element was given styles */\n\t        if (React__default.isValidElement(nextChunk)) {\n\t          var elementName = chunk.displayName || chunk.name;\n\t          throw new StyledComponentsError(11, elementName);\n\t        }\n\t        ruleSet.push.apply(ruleSet, flatten([nextChunk], executionContext));\n\t      } else ruleSet.push(chunk);\n\t\n\t      return ruleSet;\n\t    }\n\t\n\t    /* Handle objects */\n\t    ruleSet.push(\n\t    // $FlowFixMe have to add %checks somehow to isPlainObject\n\t    isPlainObject(chunk) ? objToCss(chunk) : chunk.toString());\n\t\n\t    return ruleSet;\n\t  }, []);\n\t};\n\t\n\t// \n\t\n\tvar COMMENT_REGEX = /^\\s*\\/\\/.*$/gm;\n\t\n\t// NOTE: This stylis instance is only used to split rules from SSR'd style tags\n\tvar stylisSplitter = new Stylis({\n\t  global: false,\n\t  cascade: true,\n\t  keyframe: false,\n\t  prefix: false,\n\t  compress: false,\n\t  semicolon: true\n\t});\n\t\n\tvar stylis = new Stylis({\n\t  global: false,\n\t  cascade: true,\n\t  keyframe: false,\n\t  prefix: true,\n\t  compress: false,\n\t  semicolon: false // NOTE: This means \"autocomplete missing semicolons\"\n\t});\n\t\n\t// Wrap `insertRulePlugin to build a list of rules,\n\t// and then make our own plugin to return the rules. This\n\t// makes it easier to hook into the existing SSR architecture\n\t\n\tvar parsingRules = [];\n\t// eslint-disable-next-line consistent-return\n\tvar returnRulesPlugin = function returnRulesPlugin(context) {\n\t  if (context === -2) {\n\t    var parsedRules = parsingRules;\n\t    parsingRules = [];\n\t    return parsedRules;\n\t  }\n\t};\n\t\n\tvar parseRulesPlugin = _insertRulePlugin(function (rule) {\n\t  parsingRules.push(rule);\n\t});\n\t\n\tstylis.use([parseRulesPlugin, returnRulesPlugin]);\n\tstylisSplitter.use([parseRulesPlugin, returnRulesPlugin]);\n\t\n\tvar stringifyRules = function stringifyRules(rules, selector, prefix) {\n\t  var flatCSS = rules.join('').replace(COMMENT_REGEX, ''); // replace JS comments\n\t\n\t  var cssStr = selector && prefix ? prefix + ' ' + selector + ' { ' + flatCSS + ' }' : flatCSS;\n\t\n\t  return stylis(prefix || !selector ? '' : selector, cssStr);\n\t};\n\t\n\tvar splitByRules = function splitByRules(css) {\n\t  return stylisSplitter('', css);\n\t};\n\t\n\t// \n\t\n\tfunction isStyledComponent(target) /* : %checks */{\n\t  return (\n\t    // $FlowFixMe TODO: flow for styledComponentId\n\t    typeof target === 'function' && typeof target.styledComponentId === 'string'\n\t  );\n\t}\n\t\n\t// \n\t\n\t/* This function is DEPRECATED and will be removed on the next major version release.\n\t * It was needed to rehydrate all style blocks prepended to chunks before React\n\t * tries to rehydrate its HTML stream. Since the master StyleSheet will now detect\n\t * the use of streamed style tags and will perform the rehydration earlier when needed\n\t * this function will not be needed anymore */\n\tfunction consolidateStreamedStyles() {\n\t  if (true) {\n\t    // eslint-disable-next-line no-console\n\t    console.warn('styled-components automatically does streaming SSR rehydration now.\\n' + 'Calling consolidateStreamedStyles manually is no longer necessary and a noop now.\\n' + '- Please remove the consolidateStreamedStyles call from your client.');\n\t  }\n\t}\n\t\n\t// \n\t/* eslint-disable no-bitwise */\n\t\n\t/* This is the \"capacity\" of our alphabet i.e. 2x26 for all letters plus their capitalised\n\t * counterparts */\n\tvar charsLength = 52;\n\t\n\t/* start at 75 for 'a' until 'z' (25) and then start at 65 for capitalised letters */\n\tvar getAlphabeticChar = function getAlphabeticChar(code) {\n\t  return String.fromCharCode(code + (code > 25 ? 39 : 97));\n\t};\n\t\n\t/* input a number, usually a hash and convert it to base-52 */\n\tvar generateAlphabeticName = function generateAlphabeticName(code) {\n\t  var name = '';\n\t  var x = void 0;\n\t\n\t  /* get a char and divide by alphabet-length */\n\t  for (x = code; x > charsLength; x = Math.floor(x / charsLength)) {\n\t    name = getAlphabeticChar(x % charsLength) + name;\n\t  }\n\t\n\t  return getAlphabeticChar(x % charsLength) + name;\n\t};\n\t\n\t// \n\t\n\tvar interleave = (function (strings, interpolations) {\n\t  var result = [strings[0]];\n\t\n\t  for (var i = 0, len = interpolations.length; i < len; i += 1) {\n\t    result.push(interpolations[i], strings[i + 1]);\n\t  }\n\t\n\t  return result;\n\t});\n\t\n\t// \n\tvar EMPTY_ARRAY = Object.freeze([]);\n\tvar EMPTY_OBJECT = Object.freeze({});\n\t\n\t// \n\t\n\tvar css = (function (styles) {\n\t  for (var _len = arguments.length, interpolations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n\t    interpolations[_key - 1] = arguments[_key];\n\t  }\n\t\n\t  if (typeof styles === 'function' || isPlainObject(styles)) {\n\t    // $FlowFixMe\n\t    return flatten(interleave(EMPTY_ARRAY, [styles].concat(interpolations)));\n\t  }\n\t\n\t  // $FlowFixMe\n\t  return flatten(interleave(styles, interpolations));\n\t});\n\t\n\t// \n\t\n\t\n\tvar SC_ATTR = typeof process !== 'undefined' && ({\"NODE_ENV\":\"development\"}).SC_ATTR || 'data-styled-components';\n\tvar SC_STREAM_ATTR = 'data-styled-streamed';\n\tvar CONTEXT_KEY = '__styled-components-stylesheet__';\n\t\n\tvar IS_BROWSER = typeof window !== 'undefined' && 'HTMLElement' in window;\n\t\n\tvar DISABLE_SPEEDY = (\"development\") !== 'production';\n\t\n\t// \n\tvar SC_COMPONENT_ID = /^[^\\S\\n]*?\\/\\* sc-component-id:\\s*(\\S+)\\s+\\*\\//gm;\n\t\n\tvar extractComps = (function (maybeCSS) {\n\t  var css = '' + (maybeCSS || ''); // Definitely a string, and a clone\n\t  var existingComponents = [];\n\t  css.replace(SC_COMPONENT_ID, function (match, componentId, matchIndex) {\n\t    existingComponents.push({ componentId: componentId, matchIndex: matchIndex });\n\t    return match;\n\t  });\n\t  return existingComponents.map(function (_ref, i) {\n\t    var componentId = _ref.componentId,\n\t        matchIndex = _ref.matchIndex;\n\t\n\t    var nextComp = existingComponents[i + 1];\n\t    var cssFromDOM = nextComp ? css.slice(matchIndex, nextComp.matchIndex) : css.slice(matchIndex);\n\t    return { componentId: componentId, cssFromDOM: cssFromDOM };\n\t  });\n\t});\n\t\n\t// \n\t/* eslint-disable camelcase, no-undef */\n\t\n\tvar getNonce = (function () {\n\t  return typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\t});\n\t\n\t// \n\t// Helper to call a given function, only once\n\tvar once = (function (cb) {\n\t  var called = false;\n\t\n\t  return function () {\n\t    if (!called) {\n\t      called = true;\n\t      cb();\n\t    }\n\t  };\n\t});\n\t\n\t// \n\t/* These are helpers for the StyleTags to keep track of the injected\n\t * rule names for each (component) ID that they're keeping track of.\n\t * They're crucial for detecting whether a name has already been\n\t * injected.\n\t * (This excludes rehydrated names) */\n\t\n\t/* adds a new ID:name pairing to a names dictionary */\n\tvar addNameForId = function addNameForId(names, id, name) {\n\t  if (name) {\n\t    // eslint-disable-next-line no-param-reassign\n\t    var namesForId = names[id] || (names[id] = Object.create(null));\n\t    namesForId[name] = true;\n\t  }\n\t};\n\t\n\t/* resets an ID entirely by overwriting it in the dictionary */\n\tvar resetIdNames = function resetIdNames(names, id) {\n\t  // eslint-disable-next-line no-param-reassign\n\t  names[id] = Object.create(null);\n\t};\n\t\n\t/* factory for a names dictionary checking the existance of an ID:name pairing */\n\tvar hasNameForId = function hasNameForId(names) {\n\t  return function (id, name) {\n\t    return names[id] !== undefined && names[id][name];\n\t  };\n\t};\n\t\n\t/* stringifies names for the html/element output */\n\tvar stringifyNames = function stringifyNames(names) {\n\t  var str = '';\n\t  // eslint-disable-next-line guard-for-in\n\t  for (var id in names) {\n\t    str += Object.keys(names[id]).join(' ') + ' ';\n\t  }\n\t  return str.trim();\n\t};\n\t\n\t/* clones the nested names dictionary */\n\tvar cloneNames = function cloneNames(names) {\n\t  var clone = Object.create(null);\n\t  // eslint-disable-next-line guard-for-in\n\t  for (var id in names) {\n\t    clone[id] = _extends({}, names[id]);\n\t  }\n\t  return clone;\n\t};\n\t\n\t// \n\t\n\t/* These are helpers that deal with the insertRule (aka speedy) API\n\t * They are used in the StyleTags and specifically the speedy tag\n\t */\n\t\n\t/* retrieve a sheet for a given style tag */\n\tvar sheetForTag = function sheetForTag(tag) {\n\t  // $FlowFixMe\n\t  if (tag.sheet) return tag.sheet;\n\t\n\t  /* Firefox quirk requires us to step through all stylesheets to find one owned by the given tag */\n\t  var size = document.styleSheets.length;\n\t  for (var i = 0; i < size; i += 1) {\n\t    var sheet = document.styleSheets[i];\n\t    // $FlowFixMe\n\t    if (sheet.ownerNode === tag) return sheet;\n\t  }\n\t\n\t  /* we should always be able to find a tag */\n\t  throw new StyledComponentsError(10);\n\t};\n\t\n\t/* insert a rule safely and return whether it was actually injected */\n\tvar safeInsertRule = function safeInsertRule(sheet, cssRule, index) {\n\t  /* abort early if cssRule string is falsy */\n\t  if (!cssRule) return false;\n\t\n\t  var maxIndex = sheet.cssRules.length;\n\t\n\t  try {\n\t    /* use insertRule and cap passed index with maxIndex (no of cssRules) */\n\t    sheet.insertRule(cssRule, index <= maxIndex ? index : maxIndex);\n\t  } catch (err) {\n\t    /* any error indicates an invalid rule */\n\t    return false;\n\t  }\n\t\n\t  return true;\n\t};\n\t\n\t/* deletes `size` rules starting from `removalIndex` */\n\tvar deleteRules = function deleteRules(sheet, removalIndex, size) {\n\t  var lowerBound = removalIndex - size;\n\t  for (var i = removalIndex; i > lowerBound; i -= 1) {\n\t    sheet.deleteRule(i);\n\t  }\n\t};\n\t\n\t// \n\t\n\t/* this marker separates component styles and is important for rehydration */\n\tvar makeTextMarker = function makeTextMarker(id) {\n\t  return '\\n/* sc-component-id: ' + id + ' */\\n';\n\t};\n\t\n\t/* add up all numbers in array up until and including the index */\n\tvar addUpUntilIndex = function addUpUntilIndex(sizes, index) {\n\t  var totalUpToIndex = 0;\n\t  for (var i = 0; i <= index; i += 1) {\n\t    totalUpToIndex += sizes[i];\n\t  }\n\t\n\t  return totalUpToIndex;\n\t};\n\t\n\t/* create a new style tag after lastEl */\n\tvar makeStyleTag = function makeStyleTag(target, tagEl, insertBefore) {\n\t  var el = document.createElement('style');\n\t  el.setAttribute(SC_ATTR, '');\n\t\n\t  var nonce = getNonce();\n\t  if (nonce) {\n\t    el.setAttribute('nonce', nonce);\n\t  }\n\t\n\t  /* Work around insertRule quirk in EdgeHTML */\n\t  el.appendChild(document.createTextNode(''));\n\t\n\t  if (target && !tagEl) {\n\t    /* Append to target when no previous element was passed */\n\t    target.appendChild(el);\n\t  } else {\n\t    if (!tagEl || !target || !tagEl.parentNode) {\n\t      throw new StyledComponentsError(6);\n\t    }\n\t\n\t    /* Insert new style tag after the previous one */\n\t    tagEl.parentNode.insertBefore(el, insertBefore ? tagEl : tagEl.nextSibling);\n\t  }\n\t\n\t  return el;\n\t};\n\t\n\t/* takes a css factory function and outputs an html styled tag factory */\n\tvar wrapAsHtmlTag = function wrapAsHtmlTag(css, names) {\n\t  return function (additionalAttrs) {\n\t    var nonce = getNonce();\n\t    var attrs = [nonce && 'nonce=\"' + nonce + '\"', SC_ATTR + '=\"' + stringifyNames(names) + '\"', additionalAttrs];\n\t\n\t    var htmlAttr = attrs.filter(Boolean).join(' ');\n\t    return '<style ' + htmlAttr + '>' + css() + '</style>';\n\t  };\n\t};\n\t\n\t/* takes a css factory function and outputs an element factory */\n\tvar wrapAsElement = function wrapAsElement(css, names) {\n\t  return function () {\n\t    var _props;\n\t\n\t    var props = (_props = {}, _props[SC_ATTR] = stringifyNames(names), _props);\n\t\n\t    var nonce = getNonce();\n\t    if (nonce) {\n\t      // $FlowFixMe\n\t      props.nonce = nonce;\n\t    }\n\t\n\t    // eslint-disable-next-line react/no-danger\n\t    return React__default.createElement('style', _extends({}, props, { dangerouslySetInnerHTML: { __html: css() } }));\n\t  };\n\t};\n\t\n\tvar getIdsFromMarkersFactory = function getIdsFromMarkersFactory(markers) {\n\t  return function () {\n\t    return Object.keys(markers);\n\t  };\n\t};\n\t\n\t/* speedy tags utilise insertRule */\n\tvar makeSpeedyTag = function makeSpeedyTag(el, getImportRuleTag) {\n\t  var names = Object.create(null);\n\t  var markers = Object.create(null);\n\t  var sizes = [];\n\t\n\t  var extractImport = getImportRuleTag !== undefined;\n\t  /* indicates whther getImportRuleTag was called */\n\t  var usedImportRuleTag = false;\n\t\n\t  var insertMarker = function insertMarker(id) {\n\t    var prev = markers[id];\n\t    if (prev !== undefined) {\n\t      return prev;\n\t    }\n\t\n\t    markers[id] = sizes.length;\n\t    sizes.push(0);\n\t    resetIdNames(names, id);\n\t\n\t    return markers[id];\n\t  };\n\t\n\t  var insertRules = function insertRules(id, cssRules, name) {\n\t    var marker = insertMarker(id);\n\t    var sheet = sheetForTag(el);\n\t    var insertIndex = addUpUntilIndex(sizes, marker);\n\t\n\t    var injectedRules = 0;\n\t    var importRules = [];\n\t    var cssRulesSize = cssRules.length;\n\t\n\t    for (var i = 0; i < cssRulesSize; i += 1) {\n\t      var cssRule = cssRules[i];\n\t      var mayHaveImport = extractImport; /* @import rules are reordered to appear first */\n\t      if (mayHaveImport && cssRule.indexOf('@import') !== -1) {\n\t        importRules.push(cssRule);\n\t      } else if (safeInsertRule(sheet, cssRule, insertIndex + injectedRules)) {\n\t        mayHaveImport = false;\n\t        injectedRules += 1;\n\t      }\n\t    }\n\t\n\t    if (extractImport && importRules.length > 0) {\n\t      usedImportRuleTag = true;\n\t      // $FlowFixMe\n\t      getImportRuleTag().insertRules(id + '-import', importRules);\n\t    }\n\t\n\t    sizes[marker] += injectedRules; /* add up no of injected rules */\n\t    addNameForId(names, id, name);\n\t  };\n\t\n\t  var removeRules = function removeRules(id) {\n\t    var marker = markers[id];\n\t    if (marker === undefined) return;\n\t\n\t    var size = sizes[marker];\n\t    var sheet = sheetForTag(el);\n\t    var removalIndex = addUpUntilIndex(sizes, marker);\n\t    deleteRules(sheet, removalIndex, size);\n\t    sizes[marker] = 0;\n\t    resetIdNames(names, id);\n\t\n\t    if (extractImport && usedImportRuleTag) {\n\t      // $FlowFixMe\n\t      getImportRuleTag().removeRules(id + '-import');\n\t    }\n\t  };\n\t\n\t  var css = function css() {\n\t    var _sheetForTag = sheetForTag(el),\n\t        cssRules = _sheetForTag.cssRules;\n\t\n\t    var str = '';\n\t\n\t    // eslint-disable-next-line guard-for-in\n\t    for (var id in markers) {\n\t      str += makeTextMarker(id);\n\t      var marker = markers[id];\n\t      var end = addUpUntilIndex(sizes, marker);\n\t      var size = sizes[marker];\n\t      for (var i = end - size; i < end; i += 1) {\n\t        var rule = cssRules[i];\n\t        if (rule !== undefined) {\n\t          str += rule.cssText;\n\t        }\n\t      }\n\t    }\n\t\n\t    return str;\n\t  };\n\t\n\t  return {\n\t    clone: function clone() {\n\t      throw new StyledComponentsError(5);\n\t    },\n\t\n\t    css: css,\n\t    getIds: getIdsFromMarkersFactory(markers),\n\t    hasNameForId: hasNameForId(names),\n\t    insertMarker: insertMarker,\n\t    insertRules: insertRules,\n\t    removeRules: removeRules,\n\t    sealed: false,\n\t    styleTag: el,\n\t    toElement: wrapAsElement(css, names),\n\t    toHTML: wrapAsHtmlTag(css, names)\n\t  };\n\t};\n\t\n\tvar makeTextNode = function makeTextNode(id) {\n\t  return document.createTextNode(makeTextMarker(id));\n\t};\n\t\n\tvar makeBrowserTag = function makeBrowserTag(el, getImportRuleTag) {\n\t  var names = Object.create(null);\n\t  var markers = Object.create(null);\n\t\n\t  var extractImport = getImportRuleTag !== undefined;\n\t\n\t  /* indicates whther getImportRuleTag was called */\n\t  var usedImportRuleTag = false;\n\t\n\t  var insertMarker = function insertMarker(id) {\n\t    var prev = markers[id];\n\t    if (prev !== undefined) {\n\t      return prev;\n\t    }\n\t\n\t    markers[id] = makeTextNode(id);\n\t    el.appendChild(markers[id]);\n\t    names[id] = Object.create(null);\n\t\n\t    return markers[id];\n\t  };\n\t\n\t  var insertRules = function insertRules(id, cssRules, name) {\n\t    var marker = insertMarker(id);\n\t    var importRules = [];\n\t    var cssRulesSize = cssRules.length;\n\t\n\t    for (var i = 0; i < cssRulesSize; i += 1) {\n\t      var rule = cssRules[i];\n\t      var mayHaveImport = extractImport;\n\t      if (mayHaveImport && rule.indexOf('@import') !== -1) {\n\t        importRules.push(rule);\n\t      } else {\n\t        mayHaveImport = false;\n\t        var separator = i === cssRulesSize - 1 ? '' : ' ';\n\t        marker.appendData('' + rule + separator);\n\t      }\n\t    }\n\t\n\t    addNameForId(names, id, name);\n\t\n\t    if (extractImport && importRules.length > 0) {\n\t      usedImportRuleTag = true;\n\t      // $FlowFixMe\n\t      getImportRuleTag().insertRules(id + '-import', importRules);\n\t    }\n\t  };\n\t\n\t  var removeRules = function removeRules(id) {\n\t    var marker = markers[id];\n\t    if (marker === undefined) return;\n\t\n\t    /* create new empty text node and replace the current one */\n\t    var newMarker = makeTextNode(id);\n\t    el.replaceChild(newMarker, marker);\n\t    markers[id] = newMarker;\n\t    resetIdNames(names, id);\n\t\n\t    if (extractImport && usedImportRuleTag) {\n\t      // $FlowFixMe\n\t      getImportRuleTag().removeRules(id + '-import');\n\t    }\n\t  };\n\t\n\t  var css = function css() {\n\t    var str = '';\n\t    // eslint-disable-next-line guard-for-in\n\t    for (var id in markers) {\n\t      str += markers[id].data;\n\t    }\n\t    return str;\n\t  };\n\t\n\t  return {\n\t    clone: function clone() {\n\t      throw new StyledComponentsError(5);\n\t    },\n\t\n\t    css: css,\n\t    getIds: getIdsFromMarkersFactory(markers),\n\t    hasNameForId: hasNameForId(names),\n\t    insertMarker: insertMarker,\n\t    insertRules: insertRules,\n\t    removeRules: removeRules,\n\t    sealed: false,\n\t    styleTag: el,\n\t    toElement: wrapAsElement(css, names),\n\t    toHTML: wrapAsHtmlTag(css, names)\n\t  };\n\t};\n\t\n\tvar makeServerTagInternal = function makeServerTagInternal(namesArg, markersArg) {\n\t  var names = namesArg === undefined ? Object.create(null) : namesArg;\n\t  var markers = markersArg === undefined ? Object.create(null) : markersArg;\n\t\n\t  var insertMarker = function insertMarker(id) {\n\t    var prev = markers[id];\n\t    if (prev !== undefined) {\n\t      return prev;\n\t    }\n\t\n\t    return markers[id] = [''];\n\t  };\n\t\n\t  var insertRules = function insertRules(id, cssRules, name) {\n\t    var marker = insertMarker(id);\n\t    marker[0] += cssRules.join(' ');\n\t    addNameForId(names, id, name);\n\t  };\n\t\n\t  var removeRules = function removeRules(id) {\n\t    var marker = markers[id];\n\t    if (marker === undefined) return;\n\t    marker[0] = '';\n\t    resetIdNames(names, id);\n\t  };\n\t\n\t  var css = function css() {\n\t    var str = '';\n\t    // eslint-disable-next-line guard-for-in\n\t    for (var id in markers) {\n\t      var cssForId = markers[id][0];\n\t      if (cssForId) {\n\t        str += makeTextMarker(id) + cssForId;\n\t      }\n\t    }\n\t    return str;\n\t  };\n\t\n\t  var clone = function clone() {\n\t    var namesClone = cloneNames(names);\n\t    var markersClone = Object.create(null);\n\t\n\t    // eslint-disable-next-line guard-for-in\n\t    for (var id in markers) {\n\t      markersClone[id] = [markers[id][0]];\n\t    }\n\t\n\t    return makeServerTagInternal(namesClone, markersClone);\n\t  };\n\t\n\t  var tag = {\n\t    clone: clone,\n\t    css: css,\n\t    getIds: getIdsFromMarkersFactory(markers),\n\t    hasNameForId: hasNameForId(names),\n\t    insertMarker: insertMarker,\n\t    insertRules: insertRules,\n\t    removeRules: removeRules,\n\t    sealed: false,\n\t    styleTag: null,\n\t    toElement: wrapAsElement(css, names),\n\t    toHTML: wrapAsHtmlTag(css, names)\n\t  };\n\t\n\t  return tag;\n\t};\n\t\n\tvar makeServerTag = function makeServerTag() {\n\t  return makeServerTagInternal();\n\t};\n\t\n\tvar makeTag = function makeTag(target, tagEl, forceServer, insertBefore, getImportRuleTag) {\n\t  if (IS_BROWSER && !forceServer) {\n\t    var el = makeStyleTag(target, tagEl, insertBefore);\n\t\n\t    if (DISABLE_SPEEDY) {\n\t      return makeBrowserTag(el, getImportRuleTag);\n\t    } else {\n\t      return makeSpeedyTag(el, getImportRuleTag);\n\t    }\n\t  }\n\t\n\t  return makeServerTag();\n\t};\n\t\n\t/* wraps a given tag so that rehydration is performed once when necessary */\n\tvar makeRehydrationTag = function makeRehydrationTag(tag, els, extracted, immediateRehydration) {\n\t  /* rehydration function that adds all rules to the new tag */\n\t  var rehydrate = once(function () {\n\t    /* add all extracted components to the new tag */\n\t    for (var i = 0, len = extracted.length; i < len; i += 1) {\n\t      var _extracted$i = extracted[i],\n\t          componentId = _extracted$i.componentId,\n\t          cssFromDOM = _extracted$i.cssFromDOM;\n\t\n\t      var cssRules = splitByRules(cssFromDOM);\n\t      tag.insertRules(componentId, cssRules);\n\t    }\n\t\n\t    /* remove old HTMLStyleElements, since they have been rehydrated */\n\t    for (var _i = 0, _len = els.length; _i < _len; _i += 1) {\n\t      var el = els[_i];\n\t      if (el.parentNode) {\n\t        el.parentNode.removeChild(el);\n\t      }\n\t    }\n\t  });\n\t\n\t  if (immediateRehydration) rehydrate();\n\t\n\t  return _extends({}, tag, {\n\t    /* add rehydration hook to insertion methods */\n\t    insertMarker: function insertMarker(id) {\n\t      rehydrate();\n\t      return tag.insertMarker(id);\n\t    },\n\t    insertRules: function insertRules(id, cssRules, name) {\n\t      rehydrate();\n\t      return tag.insertRules(id, cssRules, name);\n\t    }\n\t  });\n\t};\n\t\n\t// \n\t\n\tvar SPLIT_REGEX = /\\s+/;\n\t\n\t/* determine the maximum number of components before tags are sharded */\n\tvar MAX_SIZE = void 0;\n\tif (IS_BROWSER) {\n\t  /* in speedy mode we can keep a lot more rules in a sheet before a slowdown can be expected */\n\t  MAX_SIZE = DISABLE_SPEEDY ? 40 : 1000;\n\t} else {\n\t  /* for servers we do not need to shard at all */\n\t  MAX_SIZE = -1;\n\t}\n\t\n\tvar sheetRunningId = 0;\n\tvar master = void 0;\n\t\n\tvar StyleSheet = function () {\n\t  /* a map from ids to tags */\n\t  /* deferred rules for a given id */\n\t  /* this is used for not reinjecting rules via hasNameForId() */\n\t  /* when rules for an id are removed using remove() we have to ignore rehydratedNames for it */\n\t  /* a list of tags belonging to this StyleSheet */\n\t  /* a tag for import rules */\n\t  /* current capacity until a new tag must be created */\n\t  /* children (aka clones) of this StyleSheet inheriting all and future injections */\n\t\n\t  function StyleSheet() {\n\t    var _this = this;\n\t\n\t    var target = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : IS_BROWSER ? document.head : null;\n\t    var forceServer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\t    classCallCheck(this, StyleSheet);\n\t\n\t    this.getImportRuleTag = function () {\n\t      var importRuleTag = _this.importRuleTag;\n\t\n\t      if (importRuleTag !== undefined) {\n\t        return importRuleTag;\n\t      }\n\t\n\t      var firstTag = _this.tags[0];\n\t      var insertBefore = true;\n\t\n\t      return _this.importRuleTag = makeTag(_this.target, firstTag ? firstTag.styleTag : null, _this.forceServer, insertBefore);\n\t    };\n\t\n\t    sheetRunningId += 1;\n\t    this.id = sheetRunningId;\n\t    this.forceServer = forceServer;\n\t    this.target = forceServer ? null : target;\n\t    this.tagMap = {};\n\t    this.deferred = {};\n\t    this.rehydratedNames = {};\n\t    this.ignoreRehydratedNames = {};\n\t    this.tags = [];\n\t    this.capacity = 1;\n\t    this.clones = [];\n\t  }\n\t\n\t  /* rehydrate all SSR'd style tags */\n\t\n\t\n\t  StyleSheet.prototype.rehydrate = function rehydrate() {\n\t    if (!IS_BROWSER || this.forceServer) {\n\t      return this;\n\t    }\n\t\n\t    var els = [];\n\t    var extracted = [];\n\t    var isStreamed = false;\n\t\n\t    /* retrieve all of our SSR style elements from the DOM */\n\t    var nodes = document.querySelectorAll('style[' + SC_ATTR + ']');\n\t    var nodesSize = nodes.length;\n\t\n\t    /* abort rehydration if no previous style tags were found */\n\t    if (nodesSize === 0) {\n\t      return this;\n\t    }\n\t\n\t    for (var i = 0; i < nodesSize; i += 1) {\n\t      // $FlowFixMe: We can trust that all elements in this query are style elements\n\t      var el = nodes[i];\n\t\n\t      /* check if style tag is a streamed tag */\n\t      if (!isStreamed) isStreamed = !!el.getAttribute(SC_STREAM_ATTR);\n\t\n\t      /* retrieve all component names */\n\t      var elNames = (el.getAttribute(SC_ATTR) || '').trim().split(SPLIT_REGEX);\n\t      var elNamesSize = elNames.length;\n\t      for (var j = 0; j < elNamesSize; j += 1) {\n\t        var name = elNames[j];\n\t        /* add rehydrated name to sheet to avoid readding styles */\n\t        this.rehydratedNames[name] = true;\n\t      }\n\t\n\t      /* extract all components and their CSS */\n\t      extracted.push.apply(extracted, extractComps(el.textContent));\n\t\n\t      /* store original HTMLStyleElement */\n\t      els.push(el);\n\t    }\n\t\n\t    /* abort rehydration if nothing was extracted */\n\t    var extractedSize = extracted.length;\n\t    if (extractedSize === 0) {\n\t      return this;\n\t    }\n\t\n\t    /* create a tag to be used for rehydration */\n\t    var tag = this.makeTag(null);\n\t    var rehydrationTag = makeRehydrationTag(tag, els, extracted, isStreamed);\n\t\n\t    /* reset capacity and adjust MAX_SIZE by the initial size of the rehydration */\n\t    this.capacity = Math.max(1, MAX_SIZE - extractedSize);\n\t    this.tags.push(rehydrationTag);\n\t\n\t    /* retrieve all component ids */\n\t    for (var _j = 0; _j < extractedSize; _j += 1) {\n\t      this.tagMap[extracted[_j].componentId] = rehydrationTag;\n\t    }\n\t\n\t    return this;\n\t  };\n\t\n\t  /* retrieve a \"master\" instance of StyleSheet which is typically used when no other is available\n\t   * The master StyleSheet is targeted by injectGlobal, keyframes, and components outside of any\n\t    * StyleSheetManager's context */\n\t\n\t\n\t  /* reset the internal \"master\" instance */\n\t  StyleSheet.reset = function reset() {\n\t    var forceServer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\t\n\t    master = new StyleSheet(undefined, forceServer).rehydrate();\n\t  };\n\t\n\t  /* adds \"children\" to the StyleSheet that inherit all of the parents' rules\n\t   * while their own rules do not affect the parent */\n\t\n\t\n\t  StyleSheet.prototype.clone = function clone() {\n\t    var sheet = new StyleSheet(this.target, this.forceServer);\n\t\n\t    /* add to clone array */\n\t    this.clones.push(sheet);\n\t\n\t    /* clone all tags */\n\t    sheet.tags = this.tags.map(function (tag) {\n\t      var ids = tag.getIds();\n\t      var newTag = tag.clone();\n\t\n\t      /* reconstruct tagMap */\n\t      for (var i = 0; i < ids.length; i += 1) {\n\t        sheet.tagMap[ids[i]] = newTag;\n\t      }\n\t\n\t      return newTag;\n\t    });\n\t\n\t    /* clone other maps */\n\t    sheet.rehydratedNames = _extends({}, this.rehydratedNames);\n\t    sheet.deferred = _extends({}, this.deferred);\n\t\n\t    return sheet;\n\t  };\n\t\n\t  /* force StyleSheet to create a new tag on the next injection */\n\t\n\t\n\t  StyleSheet.prototype.sealAllTags = function sealAllTags() {\n\t    this.capacity = 1;\n\t\n\t    this.tags.forEach(function (tag) {\n\t      // eslint-disable-next-line no-param-reassign\n\t      tag.sealed = true;\n\t    });\n\t  };\n\t\n\t  StyleSheet.prototype.makeTag = function makeTag$$1(tag) {\n\t    var lastEl = tag ? tag.styleTag : null;\n\t    var insertBefore = false;\n\t\n\t    return makeTag(this.target, lastEl, this.forceServer, insertBefore, this.getImportRuleTag);\n\t  };\n\t\n\t  /* get a tag for a given componentId, assign the componentId to one, or shard */\n\t  StyleSheet.prototype.getTagForId = function getTagForId(id) {\n\t    /* simply return a tag, when the componentId was already assigned one */\n\t    var prev = this.tagMap[id];\n\t    if (prev !== undefined && !prev.sealed) {\n\t      return prev;\n\t    }\n\t\n\t    var tag = this.tags[this.tags.length - 1];\n\t\n\t    /* shard (create a new tag) if the tag is exhausted (See MAX_SIZE) */\n\t    this.capacity -= 1;\n\t\n\t    if (this.capacity === 0) {\n\t      this.capacity = MAX_SIZE;\n\t      tag = this.makeTag(tag);\n\t      this.tags.push(tag);\n\t    }\n\t\n\t    return this.tagMap[id] = tag;\n\t  };\n\t\n\t  /* mainly for injectGlobal to check for its id */\n\t\n\t\n\t  StyleSheet.prototype.hasId = function hasId(id) {\n\t    return this.tagMap[id] !== undefined;\n\t  };\n\t\n\t  /* caching layer checking id+name to already have a corresponding tag and injected rules */\n\t\n\t\n\t  StyleSheet.prototype.hasNameForId = function hasNameForId(id, name) {\n\t    /* exception for rehydrated names which are checked separately */\n\t    if (this.ignoreRehydratedNames[id] === undefined && this.rehydratedNames[name]) {\n\t      return true;\n\t    }\n\t\n\t    var tag = this.tagMap[id];\n\t    return tag !== undefined && tag.hasNameForId(id, name);\n\t  };\n\t\n\t  /* registers a componentId and registers it on its tag */\n\t\n\t\n\t  StyleSheet.prototype.deferredInject = function deferredInject(id, cssRules) {\n\t    /* don't inject when the id is already registered */\n\t    if (this.tagMap[id] !== undefined) return;\n\t\n\t    var clones = this.clones;\n\t\n\t    for (var i = 0; i < clones.length; i += 1) {\n\t      clones[i].deferredInject(id, cssRules);\n\t    }\n\t\n\t    this.getTagForId(id).insertMarker(id);\n\t    this.deferred[id] = cssRules;\n\t  };\n\t\n\t  /* injects rules for a given id with a name that will need to be cached */\n\t\n\t\n\t  StyleSheet.prototype.inject = function inject(id, cssRules, name) {\n\t    var clones = this.clones;\n\t\n\t\n\t    for (var i = 0; i < clones.length; i += 1) {\n\t      clones[i].inject(id, cssRules, name);\n\t    }\n\t\n\t    var tag = this.getTagForId(id);\n\t\n\t    /* add deferred rules for component */\n\t    if (this.deferred[id] !== undefined) {\n\t      // Combine passed cssRules with previously deferred CSS rules\n\t      // NOTE: We cannot mutate the deferred array itself as all clones\n\t      // do the same (see clones[i].inject)\n\t      var rules = this.deferred[id].concat(cssRules);\n\t      tag.insertRules(id, rules, name);\n\t\n\t      this.deferred[id] = undefined;\n\t    } else {\n\t      tag.insertRules(id, cssRules, name);\n\t    }\n\t  };\n\t\n\t  /* removes all rules for a given id, which doesn't remove its marker but resets it */\n\t\n\t\n\t  StyleSheet.prototype.remove = function remove(id) {\n\t    var tag = this.tagMap[id];\n\t    if (tag === undefined) return;\n\t\n\t    var clones = this.clones;\n\t\n\t    for (var i = 0; i < clones.length; i += 1) {\n\t      clones[i].remove(id);\n\t    }\n\t\n\t    /* remove all rules from the tag */\n\t    tag.removeRules(id);\n\t    /* ignore possible rehydrated names */\n\t    this.ignoreRehydratedNames[id] = true;\n\t    /* delete possible deferred rules */\n\t    this.deferred[id] = undefined;\n\t  };\n\t\n\t  StyleSheet.prototype.toHTML = function toHTML() {\n\t    return this.tags.map(function (tag) {\n\t      return tag.toHTML();\n\t    }).join('');\n\t  };\n\t\n\t  StyleSheet.prototype.toReactElements = function toReactElements() {\n\t    var id = this.id;\n\t\n\t\n\t    return this.tags.map(function (tag, i) {\n\t      var key = 'sc-' + id + '-' + i;\n\t      return React.cloneElement(tag.toElement(), { key: key });\n\t    });\n\t  };\n\t\n\t  createClass(StyleSheet, null, [{\n\t    key: 'master',\n\t    get: function get$$1() {\n\t      return master || (master = new StyleSheet().rehydrate());\n\t    }\n\t\n\t    /* NOTE: This is just for backwards-compatibility with jest-styled-components */\n\t\n\t  }, {\n\t    key: 'instance',\n\t    get: function get$$1() {\n\t      return StyleSheet.master;\n\t    }\n\t  }]);\n\t  return StyleSheet;\n\t}();\n\t\n\tvar _StyleSheetManager$ch;\n\t\n\tvar StyleSheetManager = function (_Component) {\n\t  inherits(StyleSheetManager, _Component);\n\t\n\t  function StyleSheetManager() {\n\t    classCallCheck(this, StyleSheetManager);\n\t    return possibleConstructorReturn(this, _Component.apply(this, arguments));\n\t  }\n\t\n\t  StyleSheetManager.prototype.getChildContext = function getChildContext() {\n\t    var _ref;\n\t\n\t    return _ref = {}, _ref[CONTEXT_KEY] = this.sheetInstance, _ref;\n\t  };\n\t\n\t  StyleSheetManager.prototype.componentWillMount = function componentWillMount() {\n\t    if (this.props.sheet) {\n\t      this.sheetInstance = this.props.sheet;\n\t    } else if (this.props.target) {\n\t      this.sheetInstance = new StyleSheet(this.props.target);\n\t    } else {\n\t      throw new StyledComponentsError(4);\n\t    }\n\t  };\n\t\n\t  StyleSheetManager.prototype.render = function render() {\n\t    /* eslint-disable react/prop-types */\n\t    // Flow v0.43.1 will report an error accessing the `children` property,\n\t    // but v0.47.0 will not. It is necessary to use a type cast instead of\n\t    // a \"fixme\" comment to satisfy both Flow versions.\n\t    return React__default.Children.only(this.props.children);\n\t  };\n\t\n\t  return StyleSheetManager;\n\t}(React.Component);\n\t\n\tStyleSheetManager.childContextTypes = (_StyleSheetManager$ch = {}, _StyleSheetManager$ch[CONTEXT_KEY] = PropTypes.oneOfType([PropTypes.instanceOf(StyleSheet), PropTypes.instanceOf(ServerStyleSheet)]).isRequired, _StyleSheetManager$ch);\n\t true ? StyleSheetManager.propTypes = {\n\t  sheet: PropTypes.oneOfType([PropTypes.instanceOf(StyleSheet), PropTypes.instanceOf(ServerStyleSheet)]),\n\t  target: PropTypes.shape({\n\t    appendChild: PropTypes.func.isRequired\n\t  })\n\t} : void 0;\n\t\n\t// \n\t\n\tvar ServerStyleSheet = function () {\n\t  function ServerStyleSheet() {\n\t    classCallCheck(this, ServerStyleSheet);\n\t\n\t    /* The master sheet might be reset, so keep a reference here */\n\t    this.masterSheet = StyleSheet.master;\n\t    this.instance = this.masterSheet.clone();\n\t    this.closed = false;\n\t  }\n\t\n\t  ServerStyleSheet.prototype.complete = function complete() {\n\t    if (!this.closed) {\n\t      /* Remove closed StyleSheets from the master sheet */\n\t      var index = this.masterSheet.clones.indexOf(this.instance);\n\t      this.masterSheet.clones.splice(index, 1);\n\t      this.closed = true;\n\t    }\n\t  };\n\t\n\t  ServerStyleSheet.prototype.collectStyles = function collectStyles(children) {\n\t    if (this.closed) {\n\t      throw new StyledComponentsError(2);\n\t    }\n\t\n\t    return React__default.createElement(\n\t      StyleSheetManager,\n\t      { sheet: this.instance },\n\t      children\n\t    );\n\t  };\n\t\n\t  ServerStyleSheet.prototype.getStyleTags = function getStyleTags() {\n\t    this.complete();\n\t    return this.instance.toHTML();\n\t  };\n\t\n\t  ServerStyleSheet.prototype.getStyleElement = function getStyleElement() {\n\t    this.complete();\n\t    return this.instance.toReactElements();\n\t  };\n\t\n\t  ServerStyleSheet.prototype.interleaveWithNodeStream = function interleaveWithNodeStream(readableStream) {\n\t    var _this = this;\n\t\n\t    {\n\t      throw new StyledComponentsError(3);\n\t    }\n\t\n\t    /* the tag index keeps track of which tags have already been emitted */\n\t    var instance = this.instance;\n\t\n\t    var instanceTagIndex = 0;\n\t\n\t    var streamAttr = SC_STREAM_ATTR + '=\"true\"';\n\t\n\t    var transformer = new stream.Transform({\n\t      transform: function appendStyleChunks(chunk, /* encoding */_, callback) {\n\t        var tags = instance.tags;\n\t\n\t        var html = '';\n\t\n\t        /* retrieve html for each new style tag */\n\t        for (; instanceTagIndex < tags.length; instanceTagIndex += 1) {\n\t          var tag = tags[instanceTagIndex];\n\t          html += tag.toHTML(streamAttr);\n\t        }\n\t\n\t        /* force our StyleSheets to emit entirely new tags */\n\t        instance.sealAllTags();\n\t\n\t        /* prepend style html to chunk */\n\t        this.push(html + chunk);\n\t        callback();\n\t      }\n\t    });\n\t\n\t    readableStream.on('end', function () {\n\t      return _this.complete();\n\t    });\n\t    readableStream.on('error', function (err) {\n\t      _this.complete();\n\t\n\t      // forward the error to the transform stream\n\t      transformer.emit('error', err);\n\t    });\n\t\n\t    return readableStream.pipe(transformer);\n\t  };\n\t\n\t  return ServerStyleSheet;\n\t}();\n\t\n\t// \n\t\n\tvar LIMIT = 200;\n\t\n\tvar createWarnTooManyClasses = (function (displayName) {\n\t  var generatedClasses = {};\n\t  var warningSeen = false;\n\t\n\t  return function (className) {\n\t    if (!warningSeen) {\n\t      generatedClasses[className] = true;\n\t      if (Object.keys(generatedClasses).length >= LIMIT) {\n\t        // Unable to find latestRule in test environment.\n\t        /* eslint-disable no-console, prefer-template */\n\t        console.warn('Over ' + LIMIT + ' classes were generated for component ' + displayName + '. \\n' + 'Consider using the attrs method, together with a style object for frequently changed styles.\\n' + 'Example:\\n' + '  const Component = styled.div.attrs({\\n' + '    style: ({ background }) => ({\\n' + '      background,\\n' + '    }),\\n' + '  })`width: 100%;`\\n\\n' + '  <Component />');\n\t        warningSeen = true;\n\t        generatedClasses = {};\n\t      }\n\t    }\n\t  };\n\t});\n\t\n\t// \n\t\n\tvar determineTheme = (function (props, fallbackTheme, defaultProps) {\n\t  // Props should take precedence over ThemeProvider, which should take precedence over\n\t  // defaultProps, but React automatically puts defaultProps on props.\n\t\n\t  /* eslint-disable react/prop-types */\n\t  var isDefaultTheme = defaultProps && props.theme === defaultProps.theme;\n\t  var theme = props.theme && !isDefaultTheme ? props.theme : fallbackTheme;\n\t  /* eslint-enable */\n\t\n\t  return theme;\n\t});\n\t\n\t// \n\tvar escapeRegex = /[[\\].#*$><+~=|^:(),\"'`-]+/g;\n\tvar dashesAtEnds = /(^-|-$)/g;\n\t\n\t/**\n\t * TODO: Explore using CSS.escape when it becomes more available\n\t * in evergreen browsers.\n\t */\n\tfunction escape(str) {\n\t  return str\n\t  // Replace all possible CSS selectors\n\t  .replace(escapeRegex, '-')\n\t\n\t  // Remove extraneous hyphens at the start and end\n\t  .replace(dashesAtEnds, '');\n\t}\n\t\n\t// \n\t\n\tfunction getComponentName(target) {\n\t  return target.displayName || target.name || 'Component';\n\t}\n\t\n\t// \n\t\n\tfunction isTag(target) /* : %checks */{\n\t  return typeof target === 'string';\n\t}\n\t\n\t// \n\t\n\tfunction generateDisplayName(target) {\n\t  return isTag(target) ? 'styled.' + target : 'Styled(' + getComponentName(target) + ')';\n\t}\n\t\n\t// \n\t/* eslint-disable max-len */\n\t/**\n\t * Trying to avoid the unknown-prop errors on styled components by filtering by\n\t * React's attribute whitelist.\n\t *\n\t * To regenerate this regex:\n\t *\n\t * 1. `npm i -g regexgen` (https://github.com/devongovett/regexgen)\n\t * 2. Run `regexgen` with the list of space-separated words below as input\n\t * 3. Surround the emitted regex with this: `/^(GENERATED_REGEX)$/` -- this will ensure a full string match\n\t *    and no false positives from partials\n\t * */\n\t/*\n\tchildren dangerouslySetInnerHTML key ref autoFocus defaultValue valueLink defaultChecked checkedLink innerHTML suppressContentEditableWarning onFocusIn onFocusOut className onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown onKeyPress onKeyUp onFocus onBlur onChange onInput onInvalid onSubmit onReset onClick onContextMenu onDoubleClick onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onAnimationStart onAnimationEnd onAnimationIteration onTransitionEnd onCopyCapture onCutCapture onPasteCapture onCompositionEndCapture onCompositionStartCapture onCompositionUpdateCapture onKeyDownCapture onKeyPressCapture onKeyUpCapture onFocusCapture onBlurCapture onChangeCapture onInputCapture onSubmitCapture onResetCapture onClickCapture onContextMenuCapture onDoubleClickCapture onDragCapture onDragEndCapture onDragEnterCapture onDragExitCapture onDragLeaveCapture onDragOverCapture onDragStartCapture onDropCapture onMouseDownCapture onMouseEnterCapture onMouseLeaveCapture onMouseMoveCapture onMouseOutCapture onMouseOverCapture onMouseUpCapture onSelectCapture onTouchCancelCapture onTouchEndCapture onTouchMoveCapture onTouchStartCapture onScrollCapture onWheelCapture onAbortCapture onCanPlayCapture onCanPlayThroughCapture onDurationChangeCapture onEmptiedCapture onEncryptedCapture onEndedCapture onErrorCapture onLoadedDataCapture onLoadedMetadataCapture onLoadStartCapture onPauseCapture onPlayCapture onPlayingCapture onProgressCapture onRateChangeCapture onSeekedCapture onSeekingCapture onStalledCapture onSuspendCapture onTimeUpdateCapture onVolumeChangeCapture onWaitingCapture onLoadCapture onAnimationStartCapture onAnimationEndCapture onAnimationIterationCapture onTransitionEndCapture accept acceptCharset accessKey action allowFullScreen allowTransparency alt as async autoComplete autoPlay capture cellPadding cellSpacing charSet challenge checked cite classID className cols colSpan content contentEditable contextMenu controlsList controls coords crossOrigin data dateTime default defer dir disabled download draggable encType form formAction formEncType formMethod formNoValidate formTarget frameBorder headers height hidden high href hrefLang htmlFor httpEquiv icon id inputMode integrity is keyParams keyType kind label lang list loop low manifest marginHeight marginWidth max maxLength media mediaGroup method min minLength multiple muted name nonce noValidate open optimum pattern placeholder playsInline poster preload profile radioGroup readOnly referrerPolicy rel required reversed role rows rowSpan sandbox scope scoped scrolling seamless selected shape size sizes span spellCheck src srcDoc srcLang srcSet start step style summary tabIndex target title type useMap value width wmode wrap about datatype inlist prefix property resource typeof vocab autoCapitalize autoCorrect autoSave color itemProp itemScope itemType itemID itemRef results security unselectable accentHeight accumulate additive alignmentBaseline allowReorder alphabetic amplitude arabicForm ascent attributeName attributeType autoReverse azimuth baseFrequency baseProfile baselineShift bbox begin bias by calcMode capHeight clip clipPath clipRule clipPathUnits colorInterpolation colorInterpolationFilters colorProfile colorRendering contentScriptType contentStyleType cursor cx cy d decelerate descent diffuseConstant direction display divisor dominantBaseline dur dx dy edgeMode elevation enableBackground end exponent externalResourcesRequired fill fillOpacity fillRule filter filterRes filterUnits floodColor floodOpacity focusable fontFamily fontSize fontSizeAdjust fontStretch fontStyle fontVariant fontWeight format from fx fy g1 g2 glyphName glyphOrientationHorizontal glyphOrientationVertical glyphRef gradientTransform gradientUnits hanging horizAdvX horizOriginX ideographic imageRendering in in2 intercept k k1 k2 k3 k4 kernelMatrix kernelUnitLength kerning keyPoints keySplines keyTimes lengthAdjust letterSpacing lightingColor limitingConeAngle local markerEnd markerMid markerStart markerHeight markerUnits markerWidth mask maskContentUnits maskUnits mathematical mode numOctaves offset opacity operator order orient orientation origin overflow overlinePosition overlineThickness paintOrder panose1 pathLength patternContentUnits patternTransform patternUnits pointerEvents points pointsAtX pointsAtY pointsAtZ preserveAlpha preserveAspectRatio primitiveUnits r radius refX refY renderingIntent repeatCount repeatDur requiredExtensions requiredFeatures restart result rotate rx ry scale seed shapeRendering slope spacing specularConstant specularExponent speed spreadMethod startOffset stdDeviation stemh stemv stitchTiles stopColor stopOpacity strikethroughPosition strikethroughThickness string stroke strokeDasharray strokeDashoffset strokeLinecap strokeLinejoin strokeMiterlimit strokeOpacity strokeWidth surfaceScale systemLanguage tableValues targetX targetY textAnchor textDecoration textRendering textLength to transform u1 u2 underlinePosition underlineThickness unicode unicodeBidi unicodeRange unitsPerEm vAlphabetic vHanging vIdeographic vMathematical values vectorEffect version vertAdvY vertOriginX vertOriginY viewBox viewTarget visibility widths wordSpacing writingMode x xHeight x1 x2 xChannelSelector xlinkActuate xlinkArcrole xlinkHref xlinkRole xlinkShow xlinkTitle xlinkType xmlBase xmlns xmlnsXlink xmlLang xmlSpace y y1 y2 yChannelSelector z zoomAndPan onPointerDown onPointerMove onPointerUp onPointerCancel onGotPointerCapture onLostPointerCapture onPointerEnter onPointerLeave onPointerOver onPointerOut class for autofocus allow allowUserMedia allowPaymentRequest\n\t*/\n\t/* eslint-enable max-len */\n\t\n\tvar ATTRIBUTE_REGEX = /^((?:s(?:uppressContentEditableWarn|croll|pac)|(?:shape|image|text)Render|(?:letter|word)Spac|vHang|hang)ing|(?:on(?:AnimationIteration|C(?:o(?:mposition(?:Update|Start|End)|ntextMenu|py)|anPlayThrough|anPlay|hange|lick|ut)|(?:Animation|Touch|Load|Drag)Start|(?:(?:Duration|Volume|Rate)Chang|(?:MouseLea|(?:Touch|Mouse)Mo|DragLea)v|Paus)e|Loaded(?:Metad|D)ata|(?:(?:T(?:ransition|ouch)|Animation)E|Suspe)nd|DoubleClick|(?:TouchCanc|Whe)el|Lo(?:stPointer|ad)|TimeUpdate|(?:Mouse(?:Ent|Ov)e|Drag(?:Ent|Ov)e|Erro)r|GotPointer|MouseDown|(?:E(?:n(?:crypt|d)|mpti)|S(?:tall|eek))ed|KeyPress|(?:MouseOu|DragExi|S(?:elec|ubmi)|Rese|Inpu)t|P(?:rogress|laying)|DragEnd|Key(?:Down|Up)|(?:MouseU|Dro)p|(?:Wait|Seek)ing|Scroll|Focus|Paste|Abort|Drag|Play|Blur)Captur|alignmentBaselin|(?:limitingConeAng|xlink(?:(?:Arcr|R)o|Tit)|s(?:urfaceSca|ty|ca)|unselectab|baseProfi|fontSty|(?:focus|dragg)ab|multip|profi|tit)l|d(?:ominantBaselin|efaultValu)|onPointerLeav|a(?:uto(?:Capitaliz|Revers|Sav)|dditiv)|(?:(?:formNoValid|xlinkActu|noValid|accumul|rot)a|autoComple|decelera)t|(?:(?:attribute|item)T|datat)yp|onPointerMov|(?:attribute|glyph)Nam|playsInlin|(?:writing|input|edge)Mod|(?:formE|e)ncTyp|(?:amplitu|mo)d|(?:xlinkTy|itemSco|keyTy|slo)p|(?:xmlSpa|non)c|fillRul|(?:dateTi|na)m|r(?:esourc|ol)|xmlBas|wmod)e|(?:glyphOrientationHorizont|loc)al|(?:externalResourcesRequir|select|revers|mut)ed|c(?:o(?:lorInterpolationFilter|ord)s|o(?:lor(?:Interpolation)?|nt(?:rols|ent))|(?:ontentS(?:cript|tyle)Typ|o(?:ntentEditab|lorProfi)l|l(?:assNam|ipRul)|a(?:lcMod|ptur)|it)e|olorRendering|l(?:ipPathUnits|assID)|(?:ontrolsLis|apHeigh)t|h(?:eckedLink|a(?:llenge|rSet)|ildren|ecked)|ell(?:Spac|Padd)ing|o(?:ntextMenu|ls)|(?:rossOrigi|olSpa)n|l(?:ip(?:Path)?|ass)|ursor|[xy])|glyphOrientationVertical|d(?:angerouslySetInnerHTML|efaultChecked|ownload|isabled|isplay|[xy])|(?:s(?:trikethroughThickn|eaml)es|(?:und|ov)erlineThicknes|r(?:equiredExtension|adiu)|(?:requiredFeatur|tableValu|stitchTil|numOctav|filterR)e|key(?:(?:Splin|Tim)e|Param)|auto[Ff]ocu|header|bia)s|(?:(?:st(?:rikethroughPosi|dDevia)|(?:und|ov)erlinePosi|(?:textDecor|elev)a|orienta)tio|(?:strokeLinejo|orig)i|on(?:PointerDow|FocusI)|formActio|zoomAndPa|directio|(?:vers|act)io|rowSpa|begi|ico)n|o(?:n(?:AnimationIteration|C(?:o(?:mposition(?:Update|Start|End)|ntextMenu|py)|anPlayThrough|anPlay|hange|lick|ut)|(?:(?:Duration|Volume|Rate)Chang|(?:MouseLea|(?:Touch|Mouse)Mo|DragLea)v|Paus)e|Loaded(?:Metad|D)ata|(?:Animation|Touch|Load|Drag)Start|(?:(?:T(?:ransition|ouch)|Animation)E|Suspe)nd|DoubleClick|(?:TouchCanc|Whe)el|(?:Mouse(?:Ent|Ov)e|Drag(?:Ent|Ov)e|Erro)r|TimeUpdate|(?:E(?:n(?:crypt|d)|mpti)|S(?:tall|eek))ed|MouseDown|P(?:rogress|laying)|(?:MouseOu|DragExi|S(?:elec|ubmi)|Rese|Inpu)t|KeyPress|DragEnd|Key(?:Down|Up)|(?:Wait|Seek)ing|(?:MouseU|Dro)p|Scroll|Paste|Focus|Abort|Drag|Play|Load|Blur)|rient)|p(?:reserveAspectRatio|ointsAt[X-Z]|anose1)|(?:(?:allowPaymentReque|(?:fontSize|length)Adju|manife)s|strokeMiterlimi|(?:(?:specularE|e)xpon|renderingInt|asc)en|(?:specularConsta|repeatCou|fontVaria)n|d(?:iffuseConsta|esce)n|baselineShif|vectorEffec|onPointerOu|(?:(?:mar(?:ker|gin)|x)H|accentH|fontW)eigh|markerStar|a(?:utoCorrec|bou)|onFocusOu|intercep|restar|forma|inlis|heigh|lis)t|(?:patternContent|ma(?:sk(?:Content)?|rker)|primitive|gradient|pattern|filter)Units|(?:(?:allowTranspar|baseFrequ)enc|re(?:ferrerPolic|adOnl)|(?:(?:st(?:roke|op)O|floodO|fillO|o)pac|integr|secur)it|visibilit|fontFamil|accessKe|propert|summar)y|(?:gradientT|patternT|t)ransform|(?:(?:st(?:rokeDasho|artO)|o)ffs|acceptChars|formTarg|viewTarg|srcS)et|(?:[xy]ChannelSelect|lightingCol|textAnch|floodCol|stopCol|operat|htmlF)or|(?:(?:enableBackgrou|markerE)n|s(?:p(?:readMetho|ee)|ee)|formMetho|(?:markerM|onInval)i|preloa|metho|kin)d|k(?:ernel(?:UnitLength|Matrix)|[1-4])|strokeDasharray|(?:onPointerCanc|lab)el|(?:allowFullScre|hidd)en|a(?:l(?:lowUserMedia|phabetic|t)|rabicForm|sync)|systemLanguage|(?:(?:o(?:nPointer(?:Ent|Ov)|rd)|allowReord|placehold|frameBord|paintOrd|post)e|repeatDu|d(?:efe|u))r|(?:pointerEve|keyPoi)nts|preserveAlpha|(?:strokeLineca|onPointerU|itemPro|useMa|wra|loo)p|v(?:Mathematical|ert(?:Origin[XY]|AdvY)|alues|ocab)|unicodeRange|h(?:oriz(?:Origin|Adv)X|ttpEquiv)|(?:vI|i)deographic|mathematical|u(?:nicodeBidi|[12])|(?:fontStretc|hig)h|vAlphabetic|(?:(?:mar(?:ker|gin)W|strokeW)id|azimu)th|(?:xmlnsXl|valueL)ink|mediaGroup|spellCheck|(?:text|m(?:in|ax))Length|(?:unitsPerE|optimu|fro)m|r(?:adioGroup|e(?:sults|f[XY]|l)|ows|[xy])|pathLength|(?:xlinkHr|glyphR)ef|innerHTML|xlinkShow|f(?:o(?:ntSize|rm?)|il(?:ter|l))|(?:tabInde|(?:sand|b)bo|viewBo)x|autoPlay|r(?:e(?:quired|sult|f))?|(?:(?:href|xml|src)La|kerni)ng|o(?:verflow|pen)|i(?:temRef|n2|s)|p(?:attern|oints)|unicode|d(?:efault|ata|ir)?|divisor|t(?:arget[XY]|o)|(?:stri|la)ng|(?:width|size)s|prefix|typeof|srcDoc|s(?:coped|te(?:m[hv]|p)|pan)|s(?:t(?:roke|art)|hape|cope|rc)|a(?:ccept|llow|s)|itemID|t(?:arget|ype)|m(?:edia|a(?:sk|x)|in)|value|width|x(?:mlns)?|size|href|k(?:ey)?|end|low|by|x[12]|y[12]|g[12]|i[dn]|f[xy]|[yz])$/;\n\t/* From DOMProperty */\n\tvar 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';\n\tvar ATTRIBUTE_NAME_CHAR = ATTRIBUTE_NAME_START_CHAR + '\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\n\tvar isCustomAttribute = RegExp.prototype.test.bind(new RegExp('^(x|data|aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$'));\n\t\n\tvar validAttr = (function (name) {\n\t  return ATTRIBUTE_REGEX.test(name) || isCustomAttribute(name.toLowerCase());\n\t});\n\t\n\t// \n\t\n\tfunction hasInInheritanceChain(child, parent) {\n\t  var target = child;\n\t\n\t  while (target) {\n\t    target = Object.getPrototypeOf(target);\n\t\n\t    if (target && target === parent) {\n\t      return true;\n\t    }\n\t  }\n\t\n\t  return false;\n\t}\n\t\n\t// \n\t/**\n\t * Creates a broadcast that can be listened to, i.e. simple event emitter\n\t *\n\t * @see https://github.com/ReactTraining/react-broadcast\n\t */\n\t\n\tvar createBroadcast = function createBroadcast(initialState) {\n\t  var listeners = {};\n\t  var id = 0;\n\t  var state = initialState;\n\t\n\t  function publish(nextState) {\n\t    state = nextState;\n\t\n\t    // eslint-disable-next-line guard-for-in, no-restricted-syntax\n\t    for (var key in listeners) {\n\t      var listener = listeners[key];\n\t      if (listener === undefined) {\n\t        // eslint-disable-next-line no-continue\n\t        continue;\n\t      }\n\t\n\t      listener(state);\n\t    }\n\t  }\n\t\n\t  function subscribe(listener) {\n\t    var currentId = id;\n\t    listeners[currentId] = listener;\n\t    id += 1;\n\t    listener(state);\n\t    return currentId;\n\t  }\n\t\n\t  function unsubscribe(unsubID) {\n\t    listeners[unsubID] = undefined;\n\t  }\n\t\n\t  return { publish: publish, subscribe: subscribe, unsubscribe: unsubscribe };\n\t};\n\t\n\tvar _contextShape, _ThemeProvider$contex;\n\t\n\t// NOTE: DO NOT CHANGE, changing this is a semver major change!\n\tvar CHANNEL = '__styled-components__';\n\tvar CHANNEL_NEXT = CHANNEL + 'next__';\n\t\n\tvar CONTEXT_CHANNEL_SHAPE = PropTypes.shape({\n\t  getTheme: PropTypes.func,\n\t  subscribe: PropTypes.func,\n\t  unsubscribe: PropTypes.func\n\t});\n\t\n\tvar contextShape = (_contextShape = {}, _contextShape[CHANNEL] = PropTypes.func, _contextShape[CHANNEL_NEXT] = CONTEXT_CHANNEL_SHAPE, _contextShape);\n\t\n\tvar warnChannelDeprecated = void 0;\n\tif (true) {\n\t  warnChannelDeprecated = once(function () {\n\t    // eslint-disable-next-line no-console\n\t    console.warn('Warning: Usage of `context.' + CHANNEL + '` as a function is deprecated. It will be replaced with the object on `.context.' + CHANNEL_NEXT + '` in a future version.');\n\t  });\n\t}\n\t\n\tvar isFunction = function isFunction(test) {\n\t  return typeof test === 'function';\n\t};\n\t\n\t/**\n\t * Provide a theme to an entire react component tree via context and event listeners (have to do\n\t * both context and event emitter as pure components block context updates)\n\t */\n\t\n\tvar ThemeProvider = function (_Component) {\n\t  inherits(ThemeProvider, _Component);\n\t\n\t  function ThemeProvider() {\n\t    classCallCheck(this, ThemeProvider);\n\t\n\t    var _this = possibleConstructorReturn(this, _Component.call(this));\n\t\n\t    _this.unsubscribeToOuterId = -1;\n\t\n\t    _this.getTheme = _this.getTheme.bind(_this);\n\t    return _this;\n\t  }\n\t\n\t  ThemeProvider.prototype.componentWillMount = function componentWillMount() {\n\t    var _this2 = this;\n\t\n\t    // If there is a ThemeProvider wrapper anywhere around this theme provider, merge this theme\n\t    // with the outer theme\n\t    var outerContext = this.context[CHANNEL_NEXT];\n\t    if (outerContext !== undefined) {\n\t      this.unsubscribeToOuterId = outerContext.subscribe(function (theme) {\n\t        _this2.outerTheme = theme;\n\t\n\t        if (_this2.broadcast !== undefined) {\n\t          _this2.publish(_this2.props.theme);\n\t        }\n\t      });\n\t    }\n\t\n\t    this.broadcast = createBroadcast(this.getTheme());\n\t  };\n\t\n\t  ThemeProvider.prototype.getChildContext = function getChildContext() {\n\t    var _this3 = this,\n\t        _babelHelpers$extends;\n\t\n\t    return _extends({}, this.context, (_babelHelpers$extends = {}, _babelHelpers$extends[CHANNEL_NEXT] = {\n\t      getTheme: this.getTheme,\n\t      subscribe: this.broadcast.subscribe,\n\t      unsubscribe: this.broadcast.unsubscribe\n\t    }, _babelHelpers$extends[CHANNEL] = function (subscriber) {\n\t      if (true) {\n\t        warnChannelDeprecated();\n\t      }\n\t\n\t      // Patch the old `subscribe` provide via `CHANNEL` for older clients.\n\t      var unsubscribeId = _this3.broadcast.subscribe(subscriber);\n\t      return function () {\n\t        return _this3.broadcast.unsubscribe(unsubscribeId);\n\t      };\n\t    }, _babelHelpers$extends));\n\t  };\n\t\n\t  ThemeProvider.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n\t    if (this.props.theme !== nextProps.theme) {\n\t      this.publish(nextProps.theme);\n\t    }\n\t  };\n\t\n\t  ThemeProvider.prototype.componentWillUnmount = function componentWillUnmount() {\n\t    if (this.unsubscribeToOuterId !== -1) {\n\t      this.context[CHANNEL_NEXT].unsubscribe(this.unsubscribeToOuterId);\n\t    }\n\t  };\n\t\n\t  // Get the theme from the props, supporting both (outerTheme) => {} as well as object notation\n\t\n\t\n\t  ThemeProvider.prototype.getTheme = function getTheme(passedTheme) {\n\t    var theme = passedTheme || this.props.theme;\n\t\n\t    if (isFunction(theme)) {\n\t      var mergedTheme = theme(this.outerTheme);\n\t\n\t      if ((\"development\") !== 'production' && (mergedTheme === null || Array.isArray(mergedTheme) || (typeof mergedTheme === 'undefined' ? 'undefined' : _typeof(mergedTheme)) !== 'object')) {\n\t        throw new StyledComponentsError(7);\n\t      }\n\t\n\t      return mergedTheme;\n\t    }\n\t\n\t    if (theme === null || Array.isArray(theme) || (typeof theme === 'undefined' ? 'undefined' : _typeof(theme)) !== 'object') {\n\t      throw new StyledComponentsError(8);\n\t    }\n\t\n\t    return _extends({}, this.outerTheme, theme);\n\t  };\n\t\n\t  ThemeProvider.prototype.publish = function publish(theme) {\n\t    this.broadcast.publish(this.getTheme(theme));\n\t  };\n\t\n\t  ThemeProvider.prototype.render = function render() {\n\t    if (!this.props.children) {\n\t      return null;\n\t    }\n\t\n\t    return React__default.Children.only(this.props.children);\n\t  };\n\t\n\t  return ThemeProvider;\n\t}(React.Component);\n\t\n\tThemeProvider.childContextTypes = contextShape;\n\tThemeProvider.contextTypes = (_ThemeProvider$contex = {}, _ThemeProvider$contex[CHANNEL_NEXT] = CONTEXT_CHANNEL_SHAPE, _ThemeProvider$contex);\n\t\n\tvar _babelHelpers$extends;\n\t\n\t// HACK for generating all static styles without needing to allocate\n\t// an empty execution context every single time...\n\tvar STATIC_EXECUTION_CONTEXT = {};\n\t\n\tvar modifiedContextShape = _extends({}, contextShape, (_babelHelpers$extends = {}, _babelHelpers$extends[CONTEXT_KEY] = PropTypes.oneOfType([PropTypes.instanceOf(StyleSheet), PropTypes.instanceOf(ServerStyleSheet)]), _babelHelpers$extends));\n\t\n\tvar identifiers = {};\n\t\n\t/* We depend on components having unique IDs */\n\tvar generateId = function generateId(ComponentStyle, _displayName, parentComponentId) {\n\t  var displayName = typeof _displayName !== 'string' ? 'sc' : escape(_displayName);\n\t\n\t  /**\n\t   * This ensures uniqueness if two components happen to share\n\t   * the same displayName.\n\t   */\n\t  var nr = (identifiers[displayName] || 0) + 1;\n\t  identifiers[displayName] = nr;\n\t\n\t  var componentId = displayName + '-' + ComponentStyle.generateName(displayName + nr);\n\t\n\t  return parentComponentId !== undefined ? parentComponentId + '-' + componentId : componentId;\n\t};\n\t\n\tvar warnExtendDeprecated = function warnExtendDeprecated() {};\n\tif (true) {\n\t  warnExtendDeprecated = once(function () {\n\t    // eslint-disable-next-line no-console\n\t    console.warn('Warning: The \"extend\" API will be removed in the upcoming v4.0 release. Use styled(StyledComponent) instead. You can find more information here: https://github.com/styled-components/styled-components/issues/1546');\n\t  });\n\t}\n\t\n\t// $FlowFixMe\n\t\n\tvar BaseStyledComponent = function (_Component) {\n\t  inherits(BaseStyledComponent, _Component);\n\t\n\t  function BaseStyledComponent() {\n\t    var _temp, _this, _ret;\n\t\n\t    classCallCheck(this, BaseStyledComponent);\n\t\n\t    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t      args[_key] = arguments[_key];\n\t    }\n\t\n\t    return _ret = (_temp = (_this = possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.attrs = {}, _this.state = {\n\t      theme: null,\n\t      generatedClassName: ''\n\t    }, _this.unsubscribeId = -1, _temp), possibleConstructorReturn(_this, _ret);\n\t  }\n\t\n\t  BaseStyledComponent.prototype.unsubscribeFromContext = function unsubscribeFromContext() {\n\t    if (this.unsubscribeId !== -1) {\n\t      this.context[CHANNEL_NEXT].unsubscribe(this.unsubscribeId);\n\t    }\n\t  };\n\t\n\t  BaseStyledComponent.prototype.buildExecutionContext = function buildExecutionContext(theme, props) {\n\t    var attrs = this.constructor.attrs;\n\t\n\t    var context = _extends({}, props, { theme: theme });\n\t    if (attrs === undefined) {\n\t      return context;\n\t    }\n\t\n\t    this.attrs = Object.keys(attrs).reduce(function (acc, key) {\n\t      var attr = attrs[key];\n\t\n\t      // eslint-disable-next-line no-param-reassign\n\t      acc[key] = typeof attr === 'function' && !hasInInheritanceChain(attr, React.Component) ? attr(context) : attr;\n\t      return acc;\n\t    }, {});\n\t\n\t    return _extends({}, context, this.attrs);\n\t  };\n\t\n\t  BaseStyledComponent.prototype.generateAndInjectStyles = function generateAndInjectStyles(theme, props) {\n\t    var _constructor = this.constructor,\n\t        attrs = _constructor.attrs,\n\t        componentStyle = _constructor.componentStyle,\n\t        warnTooManyClasses = _constructor.warnTooManyClasses;\n\t\n\t    var styleSheet = this.context[CONTEXT_KEY] || StyleSheet.master;\n\t\n\t    // statically styled-components don't need to build an execution context object,\n\t    // and shouldn't be increasing the number of class names\n\t    if (componentStyle.isStatic && attrs === undefined) {\n\t      return componentStyle.generateAndInjectStyles(STATIC_EXECUTION_CONTEXT, styleSheet);\n\t    } else {\n\t      var executionContext = this.buildExecutionContext(theme, props);\n\t      var className = componentStyle.generateAndInjectStyles(executionContext, styleSheet);\n\t\n\t      if ((\"development\") !== 'production' && warnTooManyClasses !== undefined) {\n\t        warnTooManyClasses(className);\n\t      }\n\t\n\t      return className;\n\t    }\n\t  };\n\t\n\t  BaseStyledComponent.prototype.componentWillMount = function componentWillMount() {\n\t    var _this2 = this;\n\t\n\t    var componentStyle = this.constructor.componentStyle;\n\t\n\t    var styledContext = this.context[CHANNEL_NEXT];\n\t\n\t    // If this is a statically-styled component, we don't need to the theme\n\t    // to generate or build styles.\n\t    if (componentStyle.isStatic) {\n\t      var generatedClassName = this.generateAndInjectStyles(STATIC_EXECUTION_CONTEXT, this.props);\n\t      this.setState({ generatedClassName: generatedClassName });\n\t      // If there is a theme in the context, subscribe to the event emitter. This\n\t      // is necessary due to pure components blocking context updates, this circumvents\n\t      // that by updating when an event is emitted\n\t    } else if (styledContext !== undefined) {\n\t      var subscribe = styledContext.subscribe;\n\t\n\t      this.unsubscribeId = subscribe(function (nextTheme) {\n\t        // This will be called once immediately\n\t        var theme = determineTheme(_this2.props, nextTheme, _this2.constructor.defaultProps);\n\t\n\t        var generatedClassName = _this2.generateAndInjectStyles(theme, _this2.props);\n\t\n\t        _this2.setState({ theme: theme, generatedClassName: generatedClassName });\n\t      });\n\t    } else {\n\t      // eslint-disable-next-line react/prop-types\n\t      var theme = this.props.theme || EMPTY_OBJECT;\n\t      var _generatedClassName = this.generateAndInjectStyles(theme, this.props);\n\t      this.setState({ theme: theme, generatedClassName: _generatedClassName });\n\t    }\n\t  };\n\t\n\t  BaseStyledComponent.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n\t    var _this3 = this;\n\t\n\t    // If this is a statically-styled component, we don't need to listen to\n\t    // props changes to update styles\n\t    var componentStyle = this.constructor.componentStyle;\n\t\n\t    if (componentStyle.isStatic) {\n\t      return;\n\t    }\n\t\n\t    this.setState(function (prevState) {\n\t      var theme = determineTheme(nextProps, prevState.theme, _this3.constructor.defaultProps);\n\t      var generatedClassName = _this3.generateAndInjectStyles(theme, nextProps);\n\t\n\t      return { theme: theme, generatedClassName: generatedClassName };\n\t    });\n\t  };\n\t\n\t  BaseStyledComponent.prototype.componentWillUnmount = function componentWillUnmount() {\n\t    this.unsubscribeFromContext();\n\t  };\n\t\n\t  BaseStyledComponent.prototype.render = function render() {\n\t    // eslint-disable-next-line react/prop-types\n\t    var innerRef = this.props.innerRef;\n\t    var generatedClassName = this.state.generatedClassName;\n\t    var _constructor2 = this.constructor,\n\t        styledComponentId = _constructor2.styledComponentId,\n\t        target = _constructor2.target;\n\t\n\t\n\t    var isTargetTag = isTag(target);\n\t\n\t    var className = [\n\t    // eslint-disable-next-line react/prop-types\n\t    this.props.className, styledComponentId, this.attrs.className, generatedClassName].filter(Boolean).join(' ');\n\t\n\t    var baseProps = _extends({}, this.attrs, {\n\t      className: className\n\t    });\n\t\n\t    if (isStyledComponent(target)) {\n\t      baseProps.innerRef = innerRef;\n\t    } else {\n\t      baseProps.ref = innerRef;\n\t    }\n\t\n\t    var propsForElement = baseProps;\n\t    var key = void 0;\n\t\n\t    for (key in this.props) {\n\t      // Don't pass through non HTML tags through to HTML elements\n\t      // always omit innerRef\n\t      if (key !== 'innerRef' && key !== 'className' && (!isTargetTag || validAttr(key))) {\n\t        propsForElement[key] = key === 'style' && key in this.attrs ? _extends({}, this.attrs[key], this.props[key]) : this.props[key];\n\t      }\n\t    }\n\t\n\t    return React.createElement(target, propsForElement);\n\t  };\n\t\n\t  return BaseStyledComponent;\n\t}(React.Component);\n\t\n\tvar _StyledComponent = (function (ComponentStyle, constructWithOptions) {\n\t  var createStyledComponent = function createStyledComponent(target, options, rules) {\n\t    var _options$isClass = options.isClass,\n\t        isClass = _options$isClass === undefined ? !isTag(target) : _options$isClass,\n\t        _options$displayName = options.displayName,\n\t        displayName = _options$displayName === undefined ? generateDisplayName(target) : _options$displayName,\n\t        _options$componentId = options.componentId,\n\t        componentId = _options$componentId === undefined ? generateId(ComponentStyle, options.displayName, options.parentComponentId) : _options$componentId,\n\t        _options$ParentCompon = options.ParentComponent,\n\t        ParentComponent = _options$ParentCompon === undefined ? BaseStyledComponent : _options$ParentCompon,\n\t        extendingRules = options.rules,\n\t        attrs = options.attrs;\n\t\n\t\n\t    var styledComponentId = options.displayName && options.componentId ? escape(options.displayName) + '-' + options.componentId : options.componentId || componentId;\n\t\n\t    var componentStyle = new ComponentStyle(extendingRules === undefined ? rules : extendingRules.concat(rules), attrs, styledComponentId);\n\t\n\t    var StyledComponent = function (_ParentComponent) {\n\t      inherits(StyledComponent, _ParentComponent);\n\t\n\t      function StyledComponent() {\n\t        classCallCheck(this, StyledComponent);\n\t        return possibleConstructorReturn(this, _ParentComponent.apply(this, arguments));\n\t      }\n\t\n\t      StyledComponent.withComponent = function withComponent(tag) {\n\t        var previousComponentId = options.componentId,\n\t            optionsToCopy = objectWithoutProperties(options, ['componentId']);\n\t\n\t\n\t        var newComponentId = previousComponentId && previousComponentId + '-' + (isTag(tag) ? tag : escape(getComponentName(tag)));\n\t\n\t        var newOptions = _extends({}, optionsToCopy, {\n\t          componentId: newComponentId,\n\t          ParentComponent: StyledComponent\n\t        });\n\t\n\t        return createStyledComponent(tag, newOptions, rules);\n\t      };\n\t\n\t      createClass(StyledComponent, null, [{\n\t        key: 'extend',\n\t        get: function get$$1() {\n\t          var rulesFromOptions = options.rules,\n\t              parentComponentId = options.componentId,\n\t              optionsToCopy = objectWithoutProperties(options, ['rules', 'componentId']);\n\t\n\t\n\t          var newRules = rulesFromOptions === undefined ? rules : rulesFromOptions.concat(rules);\n\t\n\t          var newOptions = _extends({}, optionsToCopy, {\n\t            rules: newRules,\n\t            parentComponentId: parentComponentId,\n\t            ParentComponent: StyledComponent\n\t          });\n\t\n\t          warnExtendDeprecated();\n\t\n\t          return constructWithOptions(createStyledComponent, target, newOptions);\n\t        }\n\t      }]);\n\t      return StyledComponent;\n\t    }(ParentComponent);\n\t\n\t    StyledComponent.attrs = attrs;\n\t    StyledComponent.componentStyle = componentStyle;\n\t    StyledComponent.contextTypes = modifiedContextShape;\n\t    StyledComponent.displayName = displayName;\n\t    StyledComponent.styledComponentId = styledComponentId;\n\t    StyledComponent.target = target;\n\t\n\t\n\t    if (true) {\n\t      StyledComponent.warnTooManyClasses = createWarnTooManyClasses(displayName);\n\t    }\n\t\n\t    if (isClass) {\n\t      hoistStatics(StyledComponent, target, {\n\t        // all SC-specific things should not be hoisted\n\t        attrs: true,\n\t        componentStyle: true,\n\t        displayName: true,\n\t        extend: true,\n\t        styledComponentId: true,\n\t        target: true,\n\t        warnTooManyClasses: true,\n\t        withComponent: true\n\t      });\n\t    }\n\t\n\t    return StyledComponent;\n\t  };\n\t\n\t  return createStyledComponent;\n\t});\n\t\n\t// Source: https://github.com/garycourt/murmurhash-js/blob/master/murmurhash2_gc.js\n\tfunction murmurhash(str) {\n\t  var l = str.length | 0,\n\t      h = l | 0,\n\t      i = 0,\n\t      k;\n\t\n\t  while (l >= 4) {\n\t    k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n\t\n\t    k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n\t    k ^= k >>> 24;\n\t    k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n\t\n\t    h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16) ^ k;\n\t\n\t    l -= 4;\n\t    ++i;\n\t  }\n\t\n\t  switch (l) {\n\t    case 3:\n\t      h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\t    case 2:\n\t      h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\t    case 1:\n\t      h ^= str.charCodeAt(i) & 0xff;\n\t      h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n\t  }\n\t\n\t  h ^= h >>> 13;\n\t  h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n\t  h ^= h >>> 15;\n\t\n\t  return h >>> 0;\n\t}\n\t\n\t// \n\t\n\tvar areStylesCacheable = IS_BROWSER;\n\t\n\tvar isStaticRules = function isStaticRules(rules, attrs) {\n\t  for (var i = 0, len = rules.length; i < len; i += 1) {\n\t    var rule = rules[i];\n\t\n\t    // recursive case\n\t    if (Array.isArray(rule) && !isStaticRules(rule)) {\n\t      return false;\n\t    } else if (typeof rule === 'function' && !isStyledComponent(rule)) {\n\t      // functions are allowed to be static if they're just being\n\t      // used to get the classname of a nested styled component\n\t      return false;\n\t    }\n\t  }\n\t\n\t  if (attrs !== undefined) {\n\t    // eslint-disable-next-line guard-for-in, no-restricted-syntax\n\t    for (var key in attrs) {\n\t      if (typeof attrs[key] === 'function') {\n\t        return false;\n\t      }\n\t    }\n\t  }\n\t\n\t  return true;\n\t};\n\t\n\tvar isHMREnabled = typeof module !== 'undefined' && module.hot && (\"development\") !== 'production';\n\t\n\t/*\n\t ComponentStyle is all the CSS-specific stuff, not\n\t the React-specific stuff.\n\t */\n\tvar _ComponentStyle = (function (nameGenerator, flatten, stringifyRules) {\n\t  /* combines hashStr (murmurhash) and nameGenerator for convenience */\n\t  var generateRuleHash = function generateRuleHash(str) {\n\t    return nameGenerator(murmurhash(str));\n\t  };\n\t\n\t  var ComponentStyle = function () {\n\t    function ComponentStyle(rules, attrs, componentId) {\n\t      classCallCheck(this, ComponentStyle);\n\t\n\t      this.rules = rules;\n\t      this.isStatic = !isHMREnabled && isStaticRules(rules, attrs);\n\t      this.componentId = componentId;\n\t\n\t      if (!StyleSheet.master.hasId(componentId)) {\n\t        var placeholder =  true ? ['.' + componentId + ' {}'] : [];\n\t\n\t        StyleSheet.master.deferredInject(componentId, placeholder);\n\t      }\n\t    }\n\t\n\t    /*\n\t     * Flattens a rule set into valid CSS\n\t     * Hashes it, wraps the whole chunk in a .hash1234 {}\n\t     * Returns the hash to be injected on render()\n\t     * */\n\t\n\t\n\t    ComponentStyle.prototype.generateAndInjectStyles = function generateAndInjectStyles(executionContext, styleSheet) {\n\t      var isStatic = this.isStatic,\n\t          componentId = this.componentId,\n\t          lastClassName = this.lastClassName;\n\t\n\t      if (areStylesCacheable && isStatic && lastClassName !== undefined && styleSheet.hasNameForId(componentId, lastClassName)) {\n\t        return lastClassName;\n\t      }\n\t\n\t      var flatCSS = flatten(this.rules, executionContext);\n\t      var name = generateRuleHash(this.componentId + flatCSS.join(''));\n\t\n\t      if (!styleSheet.hasNameForId(componentId, name)) {\n\t        styleSheet.inject(this.componentId, stringifyRules(flatCSS, '.' + name), name);\n\t      }\n\t\n\t      this.lastClassName = name;\n\t      return name;\n\t    };\n\t\n\t    ComponentStyle.generateName = function generateName(str) {\n\t      return generateRuleHash(str);\n\t    };\n\t\n\t    return ComponentStyle;\n\t  }();\n\t\n\t  return ComponentStyle;\n\t});\n\t\n\t// \n\t// Thanks to ReactDOMFactories for this handy list!\n\t\n\tvar domElements = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr',\n\t\n\t// SVG\n\t'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\t\n\t// \n\t\n\tvar _styled = (function (styledComponent, constructWithOptions) {\n\t  var styled = function styled(tag) {\n\t    return constructWithOptions(styledComponent, tag);\n\t  };\n\t\n\t  // Shorthands for all valid HTML Elements\n\t  domElements.forEach(function (domElement) {\n\t    styled[domElement] = styled(domElement);\n\t  });\n\t\n\t  return styled;\n\t});\n\t\n\t// \n\t\n\tvar replaceWhitespace = function replaceWhitespace(str) {\n\t  return str.replace(/\\s|\\\\n/g, '');\n\t};\n\t\n\tvar _keyframes = (function (nameGenerator, stringifyRules, css) {\n\t  return function () {\n\t    var styleSheet = StyleSheet.master;\n\t    var rules = css.apply(undefined, arguments);\n\t    var name = nameGenerator(murmurhash(replaceWhitespace(JSON.stringify(rules))));\n\t    var id = 'sc-keyframes-' + name;\n\t\n\t    if (!styleSheet.hasNameForId(id, name)) {\n\t      styleSheet.inject(id, stringifyRules(rules, name, '@keyframes'), name);\n\t    }\n\t\n\t    return name;\n\t  };\n\t});\n\t\n\t// \n\t\n\tvar _injectGlobal = (function (stringifyRules, css) {\n\t  var injectGlobal = function injectGlobal() {\n\t    var styleSheet = StyleSheet.master;\n\t    var rules = css.apply(undefined, arguments);\n\t    var hash = murmurhash(JSON.stringify(rules));\n\t    var id = 'sc-global-' + hash;\n\t\n\t    if (!styleSheet.hasId(id)) {\n\t      styleSheet.inject(id, stringifyRules(rules));\n\t    }\n\t  };\n\t\n\t  return injectGlobal;\n\t});\n\t\n\t// \n\t\n\tvar _constructWithOptions = (function (css) {\n\t  var constructWithOptions = function constructWithOptions(componentConstructor, tag) {\n\t    var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : EMPTY_OBJECT;\n\t\n\t    if (!reactIs.isValidElementType(tag)) {\n\t      throw new StyledComponentsError(1, String(tag));\n\t    }\n\t\n\t    /* This is callable directly as a template function */\n\t    // $FlowFixMe: Not typed to avoid destructuring arguments\n\t    var templateFunction = function templateFunction() {\n\t      return componentConstructor(tag, options, css.apply(undefined, arguments));\n\t    };\n\t\n\t    /* If config methods are called, wrap up a new template function and merge options */\n\t    templateFunction.withConfig = function (config) {\n\t      return constructWithOptions(componentConstructor, tag, _extends({}, options, config));\n\t    };\n\t    templateFunction.attrs = function (attrs) {\n\t      return constructWithOptions(componentConstructor, tag, _extends({}, options, {\n\t        attrs: _extends({}, options.attrs || EMPTY_OBJECT, attrs)\n\t      }));\n\t    };\n\t\n\t    return templateFunction;\n\t  };\n\t\n\t  return constructWithOptions;\n\t});\n\t\n\t// \n\t\n\tvar withTheme = (function (Component) {\n\t  var isStatelessFunctionalComponent = typeof Component === 'function' &&\n\t  // $FlowFixMe TODO: flow for prototype\n\t  !(Component.prototype && 'isReactComponent' in Component.prototype);\n\t\n\t  // NOTE: We can't pass a ref to a stateless functional component\n\t  var shouldSetInnerRef = isStyledComponent(Component) || isStatelessFunctionalComponent;\n\t\n\t  var WithTheme = function (_React$Component) {\n\t    inherits(WithTheme, _React$Component);\n\t\n\t    function WithTheme() {\n\t      var _temp, _this, _ret;\n\t\n\t      classCallCheck(this, WithTheme);\n\t\n\t      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t        args[_key] = arguments[_key];\n\t      }\n\t\n\t      return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = EMPTY_OBJECT, _this.unsubscribeId = -1, _temp), possibleConstructorReturn(_this, _ret);\n\t    }\n\t\n\t    // NOTE: This is so that isStyledComponent passes for the innerRef unwrapping\n\t\n\t\n\t    WithTheme.prototype.componentWillMount = function componentWillMount() {\n\t      var _this2 = this;\n\t\n\t      var defaultProps = this.constructor.defaultProps;\n\t\n\t      var styledContext = this.context[CHANNEL_NEXT];\n\t      var themeProp = determineTheme(this.props, undefined, defaultProps);\n\t      if (styledContext === undefined && themeProp === undefined && (\"development\") !== 'production') {\n\t        // eslint-disable-next-line no-console\n\t        console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps');\n\t      } else if (styledContext === undefined && themeProp !== undefined) {\n\t        this.setState({ theme: themeProp });\n\t      } else {\n\t        var subscribe = styledContext.subscribe;\n\t\n\t        this.unsubscribeId = subscribe(function (nextTheme) {\n\t          var theme = determineTheme(_this2.props, nextTheme, defaultProps);\n\t          _this2.setState({ theme: theme });\n\t        });\n\t      }\n\t    };\n\t\n\t    WithTheme.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n\t      var defaultProps = this.constructor.defaultProps;\n\t\n\t      this.setState(function (oldState) {\n\t        var theme = determineTheme(nextProps, oldState.theme, defaultProps);\n\t\n\t        return { theme: theme };\n\t      });\n\t    };\n\t\n\t    WithTheme.prototype.componentWillUnmount = function componentWillUnmount() {\n\t      if (this.unsubscribeId !== -1) {\n\t        this.context[CHANNEL_NEXT].unsubscribe(this.unsubscribeId);\n\t      }\n\t    };\n\t\n\t    WithTheme.prototype.render = function render() {\n\t      var props = _extends({\n\t        theme: this.state.theme\n\t      }, this.props);\n\t\n\t      if (!shouldSetInnerRef) {\n\t        props.ref = props.innerRef;\n\t        delete props.innerRef;\n\t      }\n\t\n\t      return React__default.createElement(Component, props);\n\t    };\n\t\n\t    return WithTheme;\n\t  }(React__default.Component);\n\t\n\t  WithTheme.contextTypes = contextShape;\n\t  WithTheme.displayName = 'WithTheme(' + getComponentName(Component) + ')';\n\t  WithTheme.styledComponentId = 'withTheme';\n\t\n\t\n\t  return hoistStatics(WithTheme, Component);\n\t});\n\t\n\t// \n\t\n\t/* eslint-disable */\n\tvar __DO_NOT_USE_OR_YOU_WILL_BE_HAUNTED_BY_SPOOKY_GHOSTS = {\n\t  StyleSheet: StyleSheet\n\t};\n\t\n\t// \n\t\n\t/* Warning if you've imported this file on React Native */\n\tif ((\"development\") !== 'production' && typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n\t  // eslint-disable-next-line no-console\n\t  console.warn(\"It looks like you've imported 'styled-components' on React Native.\\n\" + \"Perhaps you're looking to import 'styled-components/native'?\\n\" + 'Read more about this at https://www.styled-components.com/docs/basics#react-native');\n\t}\n\t\n\t/* Warning if there are several instances of styled-components */\n\tif ((\"development\") !== 'production' && (\"development\") !== 'test' && typeof window !== 'undefined' && typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string' && navigator.userAgent.indexOf('Node.js') === -1 && navigator.userAgent.indexOf('jsdom') === -1) {\n\t  window['__styled-components-init__'] = window['__styled-components-init__'] || 0;\n\t\n\t  if (window['__styled-components-init__'] === 1) {\n\t    // eslint-disable-next-line no-console\n\t    console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. \" + 'This may cause dynamic styles not rendering properly, errors happening during rehydration process ' + 'and makes your application bigger without a good reason.\\n\\n' + 'See https://s-c.sh/2BAXzed for more info.');\n\t  }\n\t\n\t  window['__styled-components-init__'] += 1;\n\t}\n\t\n\t/* Instantiate singletons */\n\tvar ComponentStyle = _ComponentStyle(generateAlphabeticName, flatten, stringifyRules);\n\tvar constructWithOptions = _constructWithOptions(css);\n\tvar StyledComponent = _StyledComponent(ComponentStyle, constructWithOptions);\n\t\n\t/* Instantiate exported singletons */\n\tvar keyframes = _keyframes(generateAlphabeticName, stringifyRules, css);\n\tvar injectGlobal = _injectGlobal(stringifyRules, css);\n\tvar styled = _styled(StyledComponent, constructWithOptions);\n\t\n\texports.default = styled;\n\texports.css = css;\n\texports.keyframes = keyframes;\n\texports.injectGlobal = injectGlobal;\n\texports.isStyledComponent = isStyledComponent;\n\texports.consolidateStreamedStyles = consolidateStreamedStyles;\n\texports.ThemeProvider = ThemeProvider;\n\texports.withTheme = withTheme;\n\texports.ServerStyleSheet = ServerStyleSheet;\n\texports.StyleSheetManager = StyleSheetManager;\n\texports.__DO_NOT_USE_OR_YOU_WILL_BE_HAUNTED_BY_SPOOKY_GHOSTS = __DO_NOT_USE_OR_YOU_WILL_BE_HAUNTED_BY_SPOOKY_GHOSTS;\n\t//# sourceMappingURL=styled-components.browser.cjs.js.map\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(/*! ./../../process/browser.js */ 11), __webpack_require__(/*! ./../../webpack/buildin/module.js */ 12)(module)))\n\n/***/ }),\n/* 11 */\n/*!*******************************!*\\\n  !*** ../~/process/browser.js ***!\n  \\*******************************/\n/***/ (function(module, exports) {\n\n\t// shim for using process in browser\n\tvar process = module.exports = {};\n\t\n\t// cached from whatever global is present so that test runners that stub it\n\t// don't break things.  But we need to wrap it in a try catch in case it is\n\t// wrapped in strict mode code which doesn't define any globals.  It's inside a\n\t// function because try/catches deoptimize in certain engines.\n\t\n\tvar cachedSetTimeout;\n\tvar cachedClearTimeout;\n\t\n\tfunction defaultSetTimout() {\n\t    throw new Error('setTimeout has not been defined');\n\t}\n\tfunction defaultClearTimeout () {\n\t    throw new Error('clearTimeout has not been defined');\n\t}\n\t(function () {\n\t    try {\n\t        if (typeof setTimeout === 'function') {\n\t            cachedSetTimeout = setTimeout;\n\t        } else {\n\t            cachedSetTimeout = defaultSetTimout;\n\t        }\n\t    } catch (e) {\n\t        cachedSetTimeout = defaultSetTimout;\n\t    }\n\t    try {\n\t        if (typeof clearTimeout === 'function') {\n\t            cachedClearTimeout = clearTimeout;\n\t        } else {\n\t            cachedClearTimeout = defaultClearTimeout;\n\t        }\n\t    } catch (e) {\n\t        cachedClearTimeout = defaultClearTimeout;\n\t    }\n\t} ())\n\tfunction runTimeout(fun) {\n\t    if (cachedSetTimeout === setTimeout) {\n\t        //normal enviroments in sane situations\n\t        return setTimeout(fun, 0);\n\t    }\n\t    // if setTimeout wasn't available but was latter defined\n\t    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n\t        cachedSetTimeout = setTimeout;\n\t        return setTimeout(fun, 0);\n\t    }\n\t    try {\n\t        // when when somebody has screwed with setTimeout but no I.E. maddness\n\t        return cachedSetTimeout(fun, 0);\n\t    } catch(e){\n\t        try {\n\t            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n\t            return cachedSetTimeout.call(null, fun, 0);\n\t        } catch(e){\n\t            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n\t            return cachedSetTimeout.call(this, fun, 0);\n\t        }\n\t    }\n\t\n\t\n\t}\n\tfunction runClearTimeout(marker) {\n\t    if (cachedClearTimeout === clearTimeout) {\n\t        //normal enviroments in sane situations\n\t        return clearTimeout(marker);\n\t    }\n\t    // if clearTimeout wasn't available but was latter defined\n\t    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n\t        cachedClearTimeout = clearTimeout;\n\t        return clearTimeout(marker);\n\t    }\n\t    try {\n\t        // when when somebody has screwed with setTimeout but no I.E. maddness\n\t        return cachedClearTimeout(marker);\n\t    } catch (e){\n\t        try {\n\t            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n\t            return cachedClearTimeout.call(null, marker);\n\t        } catch (e){\n\t            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n\t            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n\t            return cachedClearTimeout.call(this, marker);\n\t        }\n\t    }\n\t\n\t\n\t\n\t}\n\tvar queue = [];\n\tvar draining = false;\n\tvar currentQueue;\n\tvar queueIndex = -1;\n\t\n\tfunction cleanUpNextTick() {\n\t    if (!draining || !currentQueue) {\n\t        return;\n\t    }\n\t    draining = false;\n\t    if (currentQueue.length) {\n\t        queue = currentQueue.concat(queue);\n\t    } else {\n\t        queueIndex = -1;\n\t    }\n\t    if (queue.length) {\n\t        drainQueue();\n\t    }\n\t}\n\t\n\tfunction drainQueue() {\n\t    if (draining) {\n\t        return;\n\t    }\n\t    var timeout = runTimeout(cleanUpNextTick);\n\t    draining = true;\n\t\n\t    var len = queue.length;\n\t    while(len) {\n\t        currentQueue = queue;\n\t        queue = [];\n\t        while (++queueIndex < len) {\n\t            if (currentQueue) {\n\t                currentQueue[queueIndex].run();\n\t            }\n\t        }\n\t        queueIndex = -1;\n\t        len = queue.length;\n\t    }\n\t    currentQueue = null;\n\t    draining = false;\n\t    runClearTimeout(timeout);\n\t}\n\t\n\tprocess.nextTick = function (fun) {\n\t    var args = new Array(arguments.length - 1);\n\t    if (arguments.length > 1) {\n\t        for (var i = 1; i < arguments.length; i++) {\n\t            args[i - 1] = arguments[i];\n\t        }\n\t    }\n\t    queue.push(new Item(fun, args));\n\t    if (queue.length === 1 && !draining) {\n\t        runTimeout(drainQueue);\n\t    }\n\t};\n\t\n\t// v8 likes predictible objects\n\tfunction Item(fun, array) {\n\t    this.fun = fun;\n\t    this.array = array;\n\t}\n\tItem.prototype.run = function () {\n\t    this.fun.apply(null, this.array);\n\t};\n\tprocess.title = 'browser';\n\tprocess.browser = true;\n\tprocess.env = {};\n\tprocess.argv = [];\n\tprocess.version = ''; // empty string to avoid regexp issues\n\tprocess.versions = {};\n\t\n\tfunction noop() {}\n\t\n\tprocess.on = noop;\n\tprocess.addListener = noop;\n\tprocess.once = noop;\n\tprocess.off = noop;\n\tprocess.removeListener = noop;\n\tprocess.removeAllListeners = noop;\n\tprocess.emit = noop;\n\tprocess.prependListener = noop;\n\tprocess.prependOnceListener = noop;\n\t\n\tprocess.listeners = function (name) { return [] }\n\t\n\tprocess.binding = function (name) {\n\t    throw new Error('process.binding is not supported');\n\t};\n\t\n\tprocess.cwd = function () { return '/' };\n\tprocess.chdir = function (dir) {\n\t    throw new Error('process.chdir is not supported');\n\t};\n\tprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 12 */\n/*!**************************************!*\\\n  !*** ../~/webpack/buildin/module.js ***!\n  \\**************************************/\n/***/ (function(module, exports) {\n\n\tmodule.exports = function(module) {\r\n\t\tif(!module.webpackPolyfill) {\r\n\t\t\tmodule.deprecate = function() {};\r\n\t\t\tmodule.paths = [];\r\n\t\t\t// module.parent = undefined by default\r\n\t\t\tmodule.children = [];\r\n\t\t\tmodule.webpackPolyfill = 1;\r\n\t\t}\r\n\t\treturn module;\r\n\t}\r\n\n\n/***/ }),\n/* 13 */\n/*!*******************************************!*\\\n  !*** ../~/fbjs/lib/hyphenateStyleName.js ***!\n  \\*******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t *\n\t * @typechecks\n\t */\n\t\n\t'use strict';\n\t\n\tvar hyphenate = __webpack_require__(/*! ./hyphenate */ 14);\n\t\n\tvar msPattern = /^ms-/;\n\t\n\t/**\n\t * Hyphenates a camelcased CSS property name, for example:\n\t *\n\t *   > hyphenateStyleName('backgroundColor')\n\t *   < \"background-color\"\n\t *   > hyphenateStyleName('MozTransition')\n\t *   < \"-moz-transition\"\n\t *   > hyphenateStyleName('msTransition')\n\t *   < \"-ms-transition\"\n\t *\n\t * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n\t * is converted to `-ms-`.\n\t *\n\t * @param {string} string\n\t * @return {string}\n\t */\n\tfunction hyphenateStyleName(string) {\n\t  return hyphenate(string).replace(msPattern, '-ms-');\n\t}\n\t\n\tmodule.exports = hyphenateStyleName;\n\n/***/ }),\n/* 14 */\n/*!**********************************!*\\\n  !*** ../~/fbjs/lib/hyphenate.js ***!\n  \\**********************************/\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t *\n\t * @typechecks\n\t */\n\t\n\tvar _uppercasePattern = /([A-Z])/g;\n\t\n\t/**\n\t * Hyphenates a camelcased string, for example:\n\t *\n\t *   > hyphenate('backgroundColor')\n\t *   < \"background-color\"\n\t *\n\t * For CSS style names, use `hyphenateStyleName` instead which works properly\n\t * with all vendor prefixes, including `ms`.\n\t *\n\t * @param {string} string\n\t * @return {string}\n\t */\n\tfunction hyphenate(string) {\n\t  return string.replace(_uppercasePattern, '-$1').toLowerCase();\n\t}\n\t\n\tmodule.exports = hyphenate;\n\n/***/ }),\n/* 15 */\n/*!*****************************!*\\\n  !*** ../~/stylis/stylis.js ***!\n  \\*****************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(module) {/*\n\t *          __        ___\n\t *    _____/ /___  __/ (_)____\n\t *   / ___/ __/ / / / / / ___/\n\t *  (__  ) /_/ /_/ / / (__  )\n\t * /____/\\__/\\__, /_/_/____/\n\t *          /____/\n\t *\n\t * light - weight css preprocessor @licence MIT\n\t */\n\t(function (factory) {/* eslint-disable */\n\t\t true ? (module['exports'] = factory(null)) :\n\t\t\ttypeof define === 'function' && define['amd'] ? define(factory(null)) :\n\t\t\t\t(window['stylis'] = factory(null))\n\t}(/** @param {*=} options */function factory (options) {/* eslint-disable */\n\t\n\t\t'use strict'\n\t\n\t\t/**\n\t\t * Notes\n\t\t *\n\t\t * The ['<method name>'] pattern is used to support closure compiler\n\t\t * the jsdoc signatures are also used to the same effect\n\t\t *\n\t\t * ----\n\t\t *\n\t\t * int + int + int === n4 [faster]\n\t\t *\n\t\t * vs\n\t\t *\n\t\t * int === n1 && int === n2 && int === n3\n\t\t *\n\t\t * ----\n\t\t *\n\t\t * switch (int) { case ints...} [faster]\n\t\t *\n\t\t * vs\n\t\t *\n\t\t * if (int == 1 && int === 2 ...)\n\t\t *\n\t\t * ----\n\t\t *\n\t\t * The (first*n1 + second*n2 + third*n3) format used in the property parser\n\t\t * is a simple way to hash the sequence of characters\n\t\t * taking into account the index they occur in\n\t\t * since any number of 3 character sequences could produce duplicates.\n\t\t *\n\t\t * On the other hand sequences that are directly tied to the index of the character\n\t\t * resolve a far more accurate measure, it's also faster\n\t\t * to evaluate one condition in a switch statement\n\t\t * than three in an if statement regardless of the added math.\n\t\t *\n\t\t * This allows the vendor prefixer to be both small and fast.\n\t\t */\n\t\n\t\tvar nullptn = /^\\0+/g /* matches leading null characters */\n\t\tvar formatptn = /[\\0\\r\\f]/g /* matches new line, null and formfeed characters */\n\t\tvar colonptn = /: */g /* splits animation rules */\n\t\tvar cursorptn = /zoo|gra/ /* assert cursor varient */\n\t\tvar transformptn = /([,: ])(transform)/g /* vendor prefix transform, older webkit */\n\t\tvar animationptn = /,+\\s*(?![^(]*[)])/g /* splits multiple shorthand notation animations */\n\t\tvar propertiesptn = / +\\s*(?![^(]*[)])/g /* animation properties */\n\t\tvar elementptn = / *[\\0] */g /* selector elements */\n\t\tvar selectorptn = /,\\r+?/g /* splits selectors */\n\t\tvar andptn = /([\\t\\r\\n ])*\\f?&/g /* match & */\n\t\tvar escapeptn = /:global\\(((?:[^\\(\\)\\[\\]]*|\\[.*\\]|\\([^\\(\\)]*\\))*)\\)/g /* matches :global(.*) */\n\t\tvar invalidptn = /\\W+/g /* removes invalid characters from keyframes */\n\t\tvar keyframeptn = /@(k\\w+)\\s*(\\S*)\\s*/ /* matches @keyframes $1 */\n\t\tvar plcholdrptn = /::(place)/g /* match ::placeholder varient */\n\t\tvar readonlyptn = /:(read-only)/g /* match :read-only varient */\n\t\tvar beforeptn = /\\s+(?=[{\\];=:>])/g /* matches \\s before ] ; = : */\n\t\tvar afterptn = /([[}=:>])\\s+/g /* matches \\s after characters [ } = : */\n\t\tvar tailptn = /(\\{[^{]+?);(?=\\})/g /* matches tail semi-colons ;} */\n\t\tvar whiteptn = /\\s{2,}/g /* matches repeating whitespace */\n\t\tvar pseudoptn = /([^\\(])(:+) */g /* pseudo element */\n\t\tvar writingptn = /[svh]\\w+-[tblr]{2}/ /* match writing mode property values */\n\t\tvar gradientptn = /([\\w-]+t\\()/g /* match *gradient property */\n\t\tvar supportsptn = /\\(\\s*(.*)\\s*\\)/g /* match supports (groups) */\n\t\tvar propertyptn = /([\\s\\S]*?);/g /* match properties leading semicolon */\n\t\tvar selfptn = /-self|flex-/g /* match flex- and -self in align-self: flex-*; */\n\t\tvar pseudofmt = /[^]*?(:[rp][el]a[\\w-]+)[^]*/ /* extrats :readonly or :placholder from selector */\n\t\tvar trimptn = /[ \\t]+$/ /* match tail whitspace */\n\t\tvar dimensionptn = /stretch|:\\s*\\w+\\-(?:conte|avail)/ /* match max/min/fit-content, fill-available */\n\t\tvar imgsrcptn = /([^-])(image-set\\()/\n\t\n\t\t/* vendors */\n\t\tvar webkit = '-webkit-'\n\t\tvar moz = '-moz-'\n\t\tvar ms = '-ms-'\n\t\n\t\t/* character codes */\n\t\tvar SEMICOLON = 59 /* ; */\n\t\tvar CLOSEBRACES = 125 /* } */\n\t\tvar OPENBRACES = 123 /* { */\n\t\tvar OPENPARENTHESES = 40 /* ( */\n\t\tvar CLOSEPARENTHESES = 41 /* ) */\n\t\tvar OPENBRACKET = 91 /* [ */\n\t\tvar CLOSEBRACKET = 93 /* ] */\n\t\tvar NEWLINE = 10 /* \\n */\n\t\tvar CARRIAGE = 13 /* \\r */\n\t\tvar TAB = 9 /* \\t */\n\t\tvar AT = 64 /* @ */\n\t\tvar SPACE = 32 /*   */\n\t\tvar AND = 38 /* & */\n\t\tvar DASH = 45 /* - */\n\t\tvar UNDERSCORE = 95 /* _ */\n\t\tvar STAR = 42 /* * */\n\t\tvar COMMA = 44 /* , */\n\t\tvar COLON = 58 /* : */\n\t\tvar SINGLEQUOTE = 39 /* ' */\n\t\tvar DOUBLEQUOTE = 34 /* \" */\n\t\tvar FOWARDSLASH = 47 /* / */\n\t\tvar GREATERTHAN = 62 /* > */\n\t\tvar PLUS = 43 /* + */\n\t\tvar TILDE = 126 /* ~ */\n\t\tvar NULL = 0 /* \\0 */\n\t\tvar FORMFEED = 12 /* \\f */\n\t\tvar VERTICALTAB = 11 /* \\v */\n\t\n\t\t/* special identifiers */\n\t\tvar KEYFRAME = 107 /* k */\n\t\tvar MEDIA = 109 /* m */\n\t\tvar SUPPORTS = 115 /* s */\n\t\tvar PLACEHOLDER = 112 /* p */\n\t\tvar READONLY = 111 /* o */\n\t\tvar IMPORT = 105 /* <at>i */\n\t\tvar CHARSET = 99 /* <at>c */\n\t\tvar DOCUMENT = 100 /* <at>d */\n\t\tvar PAGE = 112 /* <at>p */\n\t\n\t\tvar column = 1 /* current column */\n\t\tvar line = 1 /* current line numebr */\n\t\tvar pattern = 0 /* :pattern */\n\t\n\t\tvar cascade = 1 /* #id h1 h2 vs h1#id h2#id  */\n\t\tvar prefix = 1 /* vendor prefix */\n\t\tvar escape = 1 /* escape :global() pattern */\n\t\tvar compress = 0 /* compress output */\n\t\tvar semicolon = 0 /* no/semicolon option */\n\t\tvar preserve = 0 /* preserve empty selectors */\n\t\n\t\t/* empty reference */\n\t\tvar array = []\n\t\n\t\t/* plugins */\n\t\tvar plugins = []\n\t\tvar plugged = 0\n\t\tvar should = null\n\t\n\t\t/* plugin context */\n\t\tvar POSTS = -2\n\t\tvar PREPS = -1\n\t\tvar UNKWN = 0\n\t\tvar PROPS = 1\n\t\tvar BLCKS = 2\n\t\tvar ATRUL = 3\n\t\n\t\t/* plugin newline context */\n\t\tvar unkwn = 0\n\t\n\t\t/* keyframe animation */\n\t\tvar keyed = 1\n\t\tvar key = ''\n\t\n\t\t/* selector namespace */\n\t\tvar nscopealt = ''\n\t\tvar nscope = ''\n\t\n\t\t/**\n\t\t * Compile\n\t\t *\n\t\t * @param {Array<string>} parent\n\t\t * @param {Array<string>} current\n\t\t * @param {string} body\n\t\t * @param {number} id\n\t\t * @param {number} depth\n\t\t * @return {string}\n\t\t */\n\t\tfunction compile (parent, current, body, id, depth) {\n\t\t\tvar bracket = 0 /* brackets [] */\n\t\t\tvar comment = 0 /* comments /* // or /* */\n\t\t\tvar parentheses = 0 /* functions () */\n\t\t\tvar quote = 0 /* quotes '', \"\" */\n\t\n\t\t\tvar first = 0 /* first character code */\n\t\t\tvar second = 0 /* second character code */\n\t\t\tvar code = 0 /* current character code */\n\t\t\tvar tail = 0 /* previous character code */\n\t\t\tvar trail = 0 /* character before previous code */\n\t\t\tvar peak = 0 /* previous non-whitespace code */\n\t\n\t\t\tvar counter = 0 /* count sequence termination */\n\t\t\tvar context = 0 /* track current context */\n\t\t\tvar atrule = 0 /* track @at-rule context */\n\t\t\tvar pseudo = 0 /* track pseudo token index */\n\t\t\tvar caret = 0 /* current character index */\n\t\t\tvar format = 0 /* control character formating context */\n\t\t\tvar insert = 0 /* auto semicolon insertion */\n\t\t\tvar invert = 0 /* inverted selector pattern */\n\t\t\tvar length = 0 /* generic length address */\n\t\t\tvar eof = body.length /* end of file(length) */\n\t\t\tvar eol = eof - 1 /* end of file(characters) */\n\t\n\t\t\tvar char = '' /* current character */\n\t\t\tvar chars = '' /* current buffer of characters */\n\t\t\tvar child = '' /* next buffer of characters */\n\t\t\tvar out = '' /* compiled body */\n\t\t\tvar children = '' /* compiled children */\n\t\t\tvar flat = '' /* compiled leafs */\n\t\t\tvar selector /* generic selector address */\n\t\t\tvar result /* generic address */\n\t\n\t\t\t// ...build body\n\t\t\twhile (caret < eof) {\n\t\t\t\tcode = body.charCodeAt(caret)\n\t\n\t\t\t\t// eof varient\n\t\t\t\tif (caret === eol) {\n\t\t\t\t\t// last character + noop context, add synthetic padding for noop context to terminate\n\t\t\t\t\tif (comment + quote + parentheses + bracket !== 0) {\n\t\t\t\t\t\tif (comment !== 0) {\n\t\t\t\t\t\t\tcode = comment === FOWARDSLASH ? NEWLINE : FOWARDSLASH\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tquote = parentheses = bracket = 0\n\t\t\t\t\t\teof++\n\t\t\t\t\t\teol++\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\t\t\tif (comment + quote + parentheses + bracket === 0) {\n\t\t\t\t\t// eof varient\n\t\t\t\t\tif (caret === eol) {\n\t\t\t\t\t\tif (format > 0) {\n\t\t\t\t\t\t\tchars = chars.replace(formatptn, '')\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tif (chars.trim().length > 0) {\n\t\t\t\t\t\t\tswitch (code) {\n\t\t\t\t\t\t\t\tcase SPACE:\n\t\t\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\t\t\tcase SEMICOLON:\n\t\t\t\t\t\t\t\tcase CARRIAGE:\n\t\t\t\t\t\t\t\tcase NEWLINE: {\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\tchars += body.charAt(caret)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tcode = SEMICOLON\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\t// auto semicolon insertion\n\t\t\t\t\tif (insert === 1) {\n\t\t\t\t\t\tswitch (code) {\n\t\t\t\t\t\t\t// false flags\n\t\t\t\t\t\t\tcase OPENBRACES:\n\t\t\t\t\t\t\tcase CLOSEBRACES:\n\t\t\t\t\t\t\tcase SEMICOLON:\n\t\t\t\t\t\t\tcase DOUBLEQUOTE:\n\t\t\t\t\t\t\tcase SINGLEQUOTE:\n\t\t\t\t\t\t\tcase OPENPARENTHESES:\n\t\t\t\t\t\t\tcase CLOSEPARENTHESES:\n\t\t\t\t\t\t\tcase COMMA: {\n\t\t\t\t\t\t\t\tinsert = 0\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// ignore\n\t\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\t\tcase CARRIAGE:\n\t\t\t\t\t\t\tcase NEWLINE:\n\t\t\t\t\t\t\tcase SPACE: {\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// valid\n\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\tinsert = 0\n\t\t\t\t\t\t\t\tlength = caret\n\t\t\t\t\t\t\t\tfirst = code\n\t\t\t\t\t\t\t\tcaret--\n\t\t\t\t\t\t\t\tcode = SEMICOLON\n\t\n\t\t\t\t\t\t\t\twhile (length < eof) {\n\t\t\t\t\t\t\t\t\tswitch (body.charCodeAt(length++)) {\n\t\t\t\t\t\t\t\t\t\tcase NEWLINE:\n\t\t\t\t\t\t\t\t\t\tcase CARRIAGE:\n\t\t\t\t\t\t\t\t\t\tcase SEMICOLON: {\n\t\t\t\t\t\t\t\t\t\t\t++caret\n\t\t\t\t\t\t\t\t\t\t\tcode = first\n\t\t\t\t\t\t\t\t\t\t\tlength = eof\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcase COLON: {\n\t\t\t\t\t\t\t\t\t\t\tif (format > 0) {\n\t\t\t\t\t\t\t\t\t\t\t\t++caret\n\t\t\t\t\t\t\t\t\t\t\t\tcode = first\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcase OPENBRACES: {\n\t\t\t\t\t\t\t\t\t\t\tlength = eof\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\t// token varient\n\t\t\t\t\tswitch (code) {\n\t\t\t\t\t\tcase OPENBRACES: {\n\t\t\t\t\t\t\tchars = chars.trim()\n\t\t\t\t\t\t\tfirst = chars.charCodeAt(0)\n\t\t\t\t\t\t\tcounter = 1\n\t\t\t\t\t\t\tlength = ++caret\n\t\n\t\t\t\t\t\t\twhile (caret < eof) {\n\t\t\t\t\t\t\t\tswitch (code = body.charCodeAt(caret)) {\n\t\t\t\t\t\t\t\t\tcase OPENBRACES: {\n\t\t\t\t\t\t\t\t\t\tcounter++\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcase CLOSEBRACES: {\n\t\t\t\t\t\t\t\t\t\tcounter--\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcase FOWARDSLASH: {\n\t\t\t\t\t\t\t\t\t\tswitch (second = body.charCodeAt(caret + 1)) {\n\t\t\t\t\t\t\t\t\t\t\t// /*, //\n\t\t\t\t\t\t\t\t\t\t\tcase STAR:\n\t\t\t\t\t\t\t\t\t\t\tcase FOWARDSLASH: {\n\t\t\t\t\t\t\t\t\t\t\t\tcaret = delimited(second, caret, eol, body)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t// given \"[\" === 91 & \"]\" === 93 hence forth 91 + 1 + 1 === 93\n\t\t\t\t\t\t\t\t\tcase OPENBRACKET: {\n\t\t\t\t\t\t\t\t\t\tcode++\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t// given \"(\" === 40 & \")\" === 41 hence forth 40 + 1 === 41\n\t\t\t\t\t\t\t\t\tcase OPENPARENTHESES: {\n\t\t\t\t\t\t\t\t\t\tcode++\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t// quote tail delimiter is identical to the head delimiter hence noop,\n\t\t\t\t\t\t\t\t\t// fallthrough clauses have been shifted to the correct tail delimiter\n\t\t\t\t\t\t\t\t\tcase DOUBLEQUOTE:\n\t\t\t\t\t\t\t\t\tcase SINGLEQUOTE: {\n\t\t\t\t\t\t\t\t\t\twhile (caret++ < eol) {\n\t\t\t\t\t\t\t\t\t\t\tif (body.charCodeAt(caret) === code) {\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\tif (counter === 0) {\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\tcaret++\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tchild = body.substring(length, caret)\n\t\n\t\t\t\t\t\t\tif (first === NULL) {\n\t\t\t\t\t\t\t\tfirst = (chars = chars.replace(nullptn, '').trim()).charCodeAt(0)\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tswitch (first) {\n\t\t\t\t\t\t\t\t// @at-rule\n\t\t\t\t\t\t\t\tcase AT: {\n\t\t\t\t\t\t\t\t\tif (format > 0) {\n\t\t\t\t\t\t\t\t\t\tchars = chars.replace(formatptn, '')\n\t\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\t\tsecond = chars.charCodeAt(1)\n\t\n\t\t\t\t\t\t\t\t\tswitch (second) {\n\t\t\t\t\t\t\t\t\t\tcase DOCUMENT:\n\t\t\t\t\t\t\t\t\t\tcase MEDIA:\n\t\t\t\t\t\t\t\t\t\tcase SUPPORTS:\n\t\t\t\t\t\t\t\t\t\tcase DASH: {\n\t\t\t\t\t\t\t\t\t\t\tselector = current\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\t\tselector = array\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\t\tchild = compile(current, selector, child, second, depth+1)\n\t\t\t\t\t\t\t\t\tlength = child.length\n\t\n\t\t\t\t\t\t\t\t\t// preserve empty @at-rule\n\t\t\t\t\t\t\t\t\tif (preserve > 0 && length === 0) {\n\t\t\t\t\t\t\t\t\t\tlength = chars.length\n\t\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\t\t// execute plugins, @at-rule context\n\t\t\t\t\t\t\t\t\tif (plugged > 0) {\n\t\t\t\t\t\t\t\t\t\tselector = select(array, chars, invert)\n\t\t\t\t\t\t\t\t\t\tresult = proxy(ATRUL, child, selector, current, line, column, length, second, depth, id)\n\t\t\t\t\t\t\t\t\t\tchars = selector.join('')\n\t\n\t\t\t\t\t\t\t\t\t\tif (result !== void 0) {\n\t\t\t\t\t\t\t\t\t\t\tif ((length = (child = result.trim()).length) === 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tsecond = 0\n\t\t\t\t\t\t\t\t\t\t\t\tchild = ''\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\t\tif (length > 0) {\n\t\t\t\t\t\t\t\t\t\tswitch (second) {\n\t\t\t\t\t\t\t\t\t\t\tcase SUPPORTS: {\n\t\t\t\t\t\t\t\t\t\t\t\tchars = chars.replace(supportsptn, supports)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tcase DOCUMENT:\n\t\t\t\t\t\t\t\t\t\t\tcase MEDIA:\n\t\t\t\t\t\t\t\t\t\t\tcase DASH: {\n\t\t\t\t\t\t\t\t\t\t\t\tchild = chars + '{' + child + '}'\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tcase KEYFRAME: {\n\t\t\t\t\t\t\t\t\t\t\t\tchars = chars.replace(keyframeptn, '$1 $2' + (keyed > 0 ? key : ''))\n\t\t\t\t\t\t\t\t\t\t\t\tchild = chars + '{' + child + '}'\n\t\n\t\t\t\t\t\t\t\t\t\t\t\tif (prefix === 1 || (prefix === 2 && vendor('@'+child, 3))) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tchild = '@' + webkit + child + '@' + child\n\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\tchild = '@' + child\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\t\t\tchild = chars + child\n\t\n\t\t\t\t\t\t\t\t\t\t\t\tif (id === PAGE) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tchild = (out += child, '')\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tchild = ''\n\t\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// selector\n\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\tchild = compile(current, select(current, chars, invert), child, id, depth+1)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tchildren += child\n\t\n\t\t\t\t\t\t\t// reset\n\t\t\t\t\t\t\tcontext = 0\n\t\t\t\t\t\t\tinsert = 0\n\t\t\t\t\t\t\tpseudo = 0\n\t\t\t\t\t\t\tformat = 0\n\t\t\t\t\t\t\tinvert = 0\n\t\t\t\t\t\t\tatrule = 0\n\t\t\t\t\t\t\tchars = ''\n\t\t\t\t\t\t\tchild = ''\n\t\t\t\t\t\t\tcode = body.charCodeAt(++caret)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase CLOSEBRACES:\n\t\t\t\t\t\tcase SEMICOLON: {\n\t\t\t\t\t\t\tchars = (format > 0 ? chars.replace(formatptn, '') : chars).trim()\n\t\n\t\t\t\t\t\t\tif ((length = chars.length) > 1) {\n\t\t\t\t\t\t\t\t// monkey-patch missing colon\n\t\t\t\t\t\t\t\tif (pseudo === 0) {\n\t\t\t\t\t\t\t\t\tfirst = chars.charCodeAt(0)\n\t\n\t\t\t\t\t\t\t\t\t// first character is a letter or dash, buffer has a space character\n\t\t\t\t\t\t\t\t\tif ((first === DASH || first > 96 && first < 123)) {\n\t\t\t\t\t\t\t\t\t\tlength = (chars = chars.replace(' ', ':')).length\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\t// execute plugins, property context\n\t\t\t\t\t\t\t\tif (plugged > 0) {\n\t\t\t\t\t\t\t\t\tif ((result = proxy(PROPS, chars, current, parent, line, column, out.length, id, depth, id)) !== void 0) {\n\t\t\t\t\t\t\t\t\t\tif ((length = (chars = result.trim()).length) === 0) {\n\t\t\t\t\t\t\t\t\t\t\tchars = '\\0\\0'\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\tfirst = chars.charCodeAt(0)\n\t\t\t\t\t\t\t\tsecond = chars.charCodeAt(1)\n\t\n\t\t\t\t\t\t\t\tswitch (first) {\n\t\t\t\t\t\t\t\t\tcase NULL: {\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcase AT: {\n\t\t\t\t\t\t\t\t\t\tif (second === IMPORT || second === CHARSET) {\n\t\t\t\t\t\t\t\t\t\t\tflat += chars + body.charAt(caret)\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\tif (chars.charCodeAt(length-1) === COLON) {\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\t\t\tout += property(chars, first, second, chars.charCodeAt(2))\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t// reset\n\t\t\t\t\t\t\tcontext = 0\n\t\t\t\t\t\t\tinsert = 0\n\t\t\t\t\t\t\tpseudo = 0\n\t\t\t\t\t\t\tformat = 0\n\t\t\t\t\t\t\tinvert = 0\n\t\t\t\t\t\t\tchars = ''\n\t\t\t\t\t\t\tcode = body.charCodeAt(++caret)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\t\t\t// parse characters\n\t\t\t\tswitch (code) {\n\t\t\t\t\tcase CARRIAGE:\n\t\t\t\t\tcase NEWLINE: {\n\t\t\t\t\t\t// auto insert semicolon\n\t\t\t\t\t\tif (comment + quote + parentheses + bracket + semicolon === 0) {\n\t\t\t\t\t\t\t// valid non-whitespace characters that\n\t\t\t\t\t\t\t// may precede a newline\n\t\t\t\t\t\t\tswitch (peak) {\n\t\t\t\t\t\t\t\tcase CLOSEPARENTHESES:\n\t\t\t\t\t\t\t\tcase SINGLEQUOTE:\n\t\t\t\t\t\t\t\tcase DOUBLEQUOTE:\n\t\t\t\t\t\t\t\tcase AT:\n\t\t\t\t\t\t\t\tcase TILDE:\n\t\t\t\t\t\t\t\tcase GREATERTHAN:\n\t\t\t\t\t\t\t\tcase STAR:\n\t\t\t\t\t\t\t\tcase PLUS:\n\t\t\t\t\t\t\t\tcase FOWARDSLASH:\n\t\t\t\t\t\t\t\tcase DASH:\n\t\t\t\t\t\t\t\tcase COLON:\n\t\t\t\t\t\t\t\tcase COMMA:\n\t\t\t\t\t\t\t\tcase SEMICOLON:\n\t\t\t\t\t\t\t\tcase OPENBRACES:\n\t\t\t\t\t\t\t\tcase CLOSEBRACES: {\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t// current buffer has a colon\n\t\t\t\t\t\t\t\t\tif (pseudo > 0) {\n\t\t\t\t\t\t\t\t\t\tinsert = 1\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t// terminate line comment\n\t\t\t\t\t\tif (comment === FOWARDSLASH) {\n\t\t\t\t\t\t\tcomment = 0\n\t\t\t\t\t\t} else if (cascade + context === 0 && id !== KEYFRAME && chars.length > 0) {\n\t\t\t\t\t\t\tformat = 1\n\t\t\t\t\t\t\tchars += '\\0'\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t// execute plugins, newline context\n\t\t\t\t\t\tif (plugged * unkwn > 0) {\n\t\t\t\t\t\t\tproxy(UNKWN, chars, current, parent, line, column, out.length, id, depth, id)\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t// next line, reset column position\n\t\t\t\t\t\tcolumn = 1\n\t\t\t\t\t\tline++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase SEMICOLON:\n\t\t\t\t\tcase CLOSEBRACES: {\n\t\t\t\t\t\tif (comment + quote + parentheses + bracket === 0) {\n\t\t\t\t\t\t\tcolumn++\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\t// increment column position\n\t\t\t\t\t\tcolumn++\n\t\n\t\t\t\t\t\t// current character\n\t\t\t\t\t\tchar = body.charAt(caret)\n\t\n\t\t\t\t\t\t// remove comments, escape functions, strings, attributes and prepare selectors\n\t\t\t\t\t\tswitch (code) {\n\t\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\t\tcase SPACE: {\n\t\t\t\t\t\t\t\tif (quote + bracket + comment === 0) {\n\t\t\t\t\t\t\t\t\tswitch (tail) {\n\t\t\t\t\t\t\t\t\t\tcase COMMA:\n\t\t\t\t\t\t\t\t\t\tcase COLON:\n\t\t\t\t\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\t\t\t\t\tcase SPACE: {\n\t\t\t\t\t\t\t\t\t\t\tchar = ''\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\t\tif (code !== SPACE) {\n\t\t\t\t\t\t\t\t\t\t\t\tchar = ' '\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// escape breaking control characters\n\t\t\t\t\t\t\tcase NULL: {\n\t\t\t\t\t\t\t\tchar = '\\\\0'\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcase FORMFEED: {\n\t\t\t\t\t\t\t\tchar = '\\\\f'\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcase VERTICALTAB: {\n\t\t\t\t\t\t\t\tchar = '\\\\v'\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// &\n\t\t\t\t\t\t\tcase AND: {\n\t\t\t\t\t\t\t\t// inverted selector pattern i.e html &\n\t\t\t\t\t\t\t\tif (quote + comment + bracket === 0 && cascade > 0) {\n\t\t\t\t\t\t\t\t\tinvert = 1\n\t\t\t\t\t\t\t\t\tformat = 1\n\t\t\t\t\t\t\t\t\tchar = '\\f' + char\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// ::p<l>aceholder, l\n\t\t\t\t\t\t\t// :read-on<l>y, l\n\t\t\t\t\t\t\tcase 108: {\n\t\t\t\t\t\t\t\tif (quote + comment + bracket + pattern === 0 && pseudo > 0) {\n\t\t\t\t\t\t\t\t\tswitch (caret - pseudo) {\n\t\t\t\t\t\t\t\t\t\t// ::placeholder\n\t\t\t\t\t\t\t\t\t\tcase 2: {\n\t\t\t\t\t\t\t\t\t\t\tif (tail === PLACEHOLDER && body.charCodeAt(caret-3) === COLON) {\n\t\t\t\t\t\t\t\t\t\t\t\tpattern = tail\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t// :read-only\n\t\t\t\t\t\t\t\t\t\tcase 8: {\n\t\t\t\t\t\t\t\t\t\t\tif (trail === READONLY) {\n\t\t\t\t\t\t\t\t\t\t\t\tpattern = trail\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// :<pattern>\n\t\t\t\t\t\t\tcase COLON: {\n\t\t\t\t\t\t\t\tif (quote + comment + bracket === 0) {\n\t\t\t\t\t\t\t\t\tpseudo = caret\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// selectors\n\t\t\t\t\t\t\tcase COMMA: {\n\t\t\t\t\t\t\t\tif (comment + parentheses + quote + bracket === 0) {\n\t\t\t\t\t\t\t\t\tformat = 1\n\t\t\t\t\t\t\t\t\tchar += '\\r'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// quotes\n\t\t\t\t\t\t\tcase DOUBLEQUOTE:\n\t\t\t\t\t\t\tcase SINGLEQUOTE: {\n\t\t\t\t\t\t\t\tif (comment === 0) {\n\t\t\t\t\t\t\t\t\tquote = quote === code ? 0 : (quote === 0 ? code : quote)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// attributes\n\t\t\t\t\t\t\tcase OPENBRACKET: {\n\t\t\t\t\t\t\t\tif (quote + comment + parentheses === 0) {\n\t\t\t\t\t\t\t\t\tbracket++\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcase CLOSEBRACKET: {\n\t\t\t\t\t\t\t\tif (quote + comment + parentheses === 0) {\n\t\t\t\t\t\t\t\t\tbracket--\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// functions\n\t\t\t\t\t\t\tcase CLOSEPARENTHESES: {\n\t\t\t\t\t\t\t\tif (quote + comment + bracket === 0) {\n\t\t\t\t\t\t\t\t\tparentheses--\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcase OPENPARENTHESES: {\n\t\t\t\t\t\t\t\tif (quote + comment + bracket === 0) {\n\t\t\t\t\t\t\t\t\tif (context === 0) {\n\t\t\t\t\t\t\t\t\t\tswitch (tail*2 + trail*3) {\n\t\t\t\t\t\t\t\t\t\t\t// :matches\n\t\t\t\t\t\t\t\t\t\t\tcase 533: {\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t// :global, :not, :nth-child etc...\n\t\t\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\t\t\tcounter = 0\n\t\t\t\t\t\t\t\t\t\t\t\tcontext = 1\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\t\tparentheses++\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcase AT: {\n\t\t\t\t\t\t\t\tif (comment + parentheses + quote + bracket + pseudo + atrule === 0) {\n\t\t\t\t\t\t\t\t\tatrule = 1\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// block/line comments\n\t\t\t\t\t\t\tcase STAR:\n\t\t\t\t\t\t\tcase FOWARDSLASH: {\n\t\t\t\t\t\t\t\tif (quote + bracket + parentheses > 0) {\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\tswitch (comment) {\n\t\t\t\t\t\t\t\t\t// initialize line/block comment context\n\t\t\t\t\t\t\t\t\tcase 0: {\n\t\t\t\t\t\t\t\t\t\tswitch (code*2 + body.charCodeAt(caret+1)*3) {\n\t\t\t\t\t\t\t\t\t\t\t// //\n\t\t\t\t\t\t\t\t\t\t\tcase 235: {\n\t\t\t\t\t\t\t\t\t\t\t\tcomment = FOWARDSLASH\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t// /*\n\t\t\t\t\t\t\t\t\t\t\tcase 220: {\n\t\t\t\t\t\t\t\t\t\t\t\tlength = caret\n\t\t\t\t\t\t\t\t\t\t\t\tcomment = STAR\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t// end block comment context\n\t\t\t\t\t\t\t\t\tcase STAR: {\n\t\t\t\t\t\t\t\t\t\tif (code === FOWARDSLASH && tail === STAR && length + 2 !== caret) {\n\t\t\t\t\t\t\t\t\t\t\t// /*<!> ... */, !\n\t\t\t\t\t\t\t\t\t\t\tif (body.charCodeAt(length+2) === 33) {\n\t\t\t\t\t\t\t\t\t\t\t\tout += body.substring(length, caret+1)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tchar = ''\n\t\t\t\t\t\t\t\t\t\t\tcomment = 0\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t// ignore comment blocks\n\t\t\t\t\t\tif (comment === 0) {\n\t\t\t\t\t\t\t// aggressive isolation mode, divide each individual selector\n\t\t\t\t\t\t\t// including selectors in :not function but excluding selectors in :global function\n\t\t\t\t\t\t\tif (cascade + quote + bracket + atrule === 0 && id !== KEYFRAME && code !== SEMICOLON) {\n\t\t\t\t\t\t\t\tswitch (code) {\n\t\t\t\t\t\t\t\t\tcase COMMA:\n\t\t\t\t\t\t\t\t\tcase TILDE:\n\t\t\t\t\t\t\t\t\tcase GREATERTHAN:\n\t\t\t\t\t\t\t\t\tcase PLUS:\n\t\t\t\t\t\t\t\t\tcase CLOSEPARENTHESES:\n\t\t\t\t\t\t\t\t\tcase OPENPARENTHESES: {\n\t\t\t\t\t\t\t\t\t\tif (context === 0) {\n\t\t\t\t\t\t\t\t\t\t\t// outside of an isolated context i.e nth-child(<...>)\n\t\t\t\t\t\t\t\t\t\t\tswitch (tail) {\n\t\t\t\t\t\t\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\t\t\t\t\t\t\tcase SPACE:\n\t\t\t\t\t\t\t\t\t\t\t\tcase NEWLINE:\n\t\t\t\t\t\t\t\t\t\t\t\tcase CARRIAGE: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tchar = char + '\\0'\n\t\t\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tchar = '\\0' + char + (code === COMMA ? '' : '\\0')\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tformat = 1\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t// within an isolated context, sleep untill it's terminated\n\t\t\t\t\t\t\t\t\t\t\tswitch (code) {\n\t\t\t\t\t\t\t\t\t\t\t\tcase OPENPARENTHESES: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t// :globa<l>(\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (pseudo + 7 === caret && tail === 108) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpseudo = 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontext = ++counter\n\t\t\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tcase CLOSEPARENTHESES: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif ((context = --counter) === 0) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tformat = 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tchar += '\\0'\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\t\t\t\tcase SPACE: {\n\t\t\t\t\t\t\t\t\t\tswitch (tail) {\n\t\t\t\t\t\t\t\t\t\t\tcase NULL:\n\t\t\t\t\t\t\t\t\t\t\tcase OPENBRACES:\n\t\t\t\t\t\t\t\t\t\t\tcase CLOSEBRACES:\n\t\t\t\t\t\t\t\t\t\t\tcase SEMICOLON:\n\t\t\t\t\t\t\t\t\t\t\tcase COMMA:\n\t\t\t\t\t\t\t\t\t\t\tcase FORMFEED:\n\t\t\t\t\t\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\t\t\t\t\t\tcase SPACE:\n\t\t\t\t\t\t\t\t\t\t\tcase NEWLINE:\n\t\t\t\t\t\t\t\t\t\t\tcase CARRIAGE: {\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\t\t\t// ignore in isolated contexts\n\t\t\t\t\t\t\t\t\t\t\t\tif (context === 0) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tformat = 1\n\t\t\t\t\t\t\t\t\t\t\t\t\tchar += '\\0'\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t// concat buffer of characters\n\t\t\t\t\t\t\tchars += char\n\t\n\t\t\t\t\t\t\t// previous non-whitespace character code\n\t\t\t\t\t\t\tif (code !== SPACE && code !== TAB) {\n\t\t\t\t\t\t\t\tpeak = code\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\t\t\t// tail character codes\n\t\t\t\ttrail = tail\n\t\t\t\ttail = code\n\t\n\t\t\t\t// visit every character\n\t\t\t\tcaret++\n\t\t\t}\n\t\n\t\t\tlength = out.length\n\t\n\t\t\t// preserve empty selector\n\t \t\tif (preserve > 0) {\n\t \t\t\tif (length === 0 && children.length === 0 && (current[0].length === 0) === false) {\n\t \t\t\t\tif (id !== MEDIA || (current.length === 1 && (cascade > 0 ? nscopealt : nscope) === current[0])) {\n\t\t\t\t\t\tlength = current.join(',').length + 2\n\t \t\t\t\t}\n\t \t\t\t}\n\t\t\t}\n\t\n\t\t\tif (length > 0) {\n\t\t\t\t// cascade isolation mode?\n\t\t\t\tselector = cascade === 0 && id !== KEYFRAME ? isolate(current) : current\n\t\n\t\t\t\t// execute plugins, block context\n\t\t\t\tif (plugged > 0) {\n\t\t\t\t\tresult = proxy(BLCKS, out, selector, parent, line, column, length, id, depth, id)\n\t\n\t\t\t\t\tif (result !== void 0 && (out = result).length === 0) {\n\t\t\t\t\t\treturn flat + out + children\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\t\t\tout = selector.join(',') + '{' + out + '}'\n\t\n\t\t\t\tif (prefix*pattern !== 0) {\n\t\t\t\t\tif (prefix === 2 && !vendor(out, 2))\n\t\t\t\t\t\tpattern = 0\n\t\n\t\t\t\t\tswitch (pattern) {\n\t\t\t\t\t\t// ::read-only\n\t\t\t\t\t\tcase READONLY: {\n\t\t\t\t\t\t\tout = out.replace(readonlyptn, ':'+moz+'$1')+out\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// ::placeholder\n\t\t\t\t\t\tcase PLACEHOLDER: {\n\t\t\t\t\t\t\tout = (\n\t\t\t\t\t\t\t\tout.replace(plcholdrptn, '::' + webkit + 'input-$1') +\n\t\t\t\t\t\t\t\tout.replace(plcholdrptn, '::' + moz + '$1') +\n\t\t\t\t\t\t\t\tout.replace(plcholdrptn, ':' + ms + 'input-$1') + out\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\tpattern = 0\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn flat + out + children\n\t\t}\n\t\n\t\t/**\n\t\t * Select\n\t\t *\n\t\t * @param {Array<string>} parent\n\t\t * @param {string} current\n\t\t * @param {number} invert\n\t\t * @return {Array<string>}\n\t\t */\n\t\tfunction select (parent, current, invert) {\n\t\t\tvar selectors = current.trim().split(selectorptn)\n\t\t\tvar out = selectors\n\t\n\t\t\tvar length = selectors.length\n\t\t\tvar l = parent.length\n\t\n\t\t\tswitch (l) {\n\t\t\t\t// 0-1 parent selectors\n\t\t\t\tcase 0:\n\t\t\t\tcase 1: {\n\t\t\t\t\tfor (var i = 0, selector = l === 0 ? '' : parent[0] + ' '; i < length; ++i) {\n\t\t\t\t\t\tout[i] = scope(selector, out[i], invert, l).trim()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\t// >2 parent selectors, nested\n\t\t\t\tdefault: {\n\t\t\t\t\tfor (var i = 0, j = 0, out = []; i < length; ++i) {\n\t\t\t\t\t\tfor (var k = 0; k < l; ++k) {\n\t\t\t\t\t\t\tout[j++] = scope(parent[k] + ' ', selectors[i], invert, l).trim()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn out\n\t\t}\n\t\n\t\t/**\n\t\t * Scope\n\t\t *\n\t\t * @param {string} parent\n\t\t * @param {string} current\n\t\t * @param {number} invert\n\t\t * @param {number} level\n\t\t * @return {string}\n\t\t */\n\t\tfunction scope (parent, current, invert, level) {\n\t\t\tvar selector = current\n\t\t\tvar code = selector.charCodeAt(0)\n\t\n\t\t\t// trim leading whitespace\n\t\t\tif (code < 33) {\n\t\t\t\tcode = (selector = selector.trim()).charCodeAt(0)\n\t\t\t}\n\t\n\t\t\tswitch (code) {\n\t\t\t\t// &\n\t\t\t\tcase AND: {\n\t\t\t\t\tswitch (cascade + level) {\n\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\tcase 1: {\n\t\t\t\t\t\t\tif (parent.trim().length === 0) {\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\treturn selector.replace(andptn, '$1'+parent.trim())\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\t// :\n\t\t\t\tcase COLON: {\n\t\t\t\t\tswitch (selector.charCodeAt(1)) {\n\t\t\t\t\t\t// g in :global\n\t\t\t\t\t\tcase 103: {\n\t\t\t\t\t\t\tif (escape > 0 && cascade > 0) {\n\t\t\t\t\t\t\t\treturn selector.replace(escapeptn, '$1').replace(andptn, '$1'+nscope)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t// :hover\n\t\t\t\t\t\t\treturn parent.trim() + selector.replace(andptn, '$1'+parent.trim())\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\t// html &\n\t\t\t\t\tif (invert*cascade > 0 && selector.indexOf('\\f') > 0) {\n\t\t\t\t\t\treturn selector.replace(andptn, (parent.charCodeAt(0) === COLON ? '' : '$1')+parent.trim())\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn parent + selector\n\t\t}\n\t\n\t\t/**\n\t\t * Property\n\t\t *\n\t\t * @param {string} input\n\t\t * @param {number} first\n\t\t * @param {number} second\n\t\t * @param {number} third\n\t\t * @return {string}\n\t\t */\n\t\tfunction property (input, first, second, third) {\n\t\t\tvar index = 0\n\t\t\tvar out = input + ';'\n\t\t\tvar hash = (first*2) + (second*3) + (third*4)\n\t\t\tvar cache\n\t\n\t\t\t// animation: a, n, i characters\n\t\t\tif (hash === 944) {\n\t\t\t\treturn animation(out)\n\t\t\t} else if (prefix === 0 || (prefix === 2 && !vendor(out, 1))) {\n\t\t\t\treturn out\n\t\t\t}\n\t\n\t\t\t// vendor prefix\n\t\t\tswitch (hash) {\n\t\t\t\t// text-decoration/text-size-adjust/text-shadow/text-align/text-transform: t, e, x\n\t\t\t\tcase 1015: {\n\t\t\t\t\t// text-shadow/text-align/text-transform, a\n\t\t\t\t\treturn out.charCodeAt(10) === 97 ? webkit + out + out : out\n\t\t\t\t}\n\t\t\t\t// filter/fill f, i, l\n\t\t\t\tcase 951: {\n\t\t\t\t\t// filter, t\n\t\t\t\t\treturn out.charCodeAt(3) === 116 ? webkit + out + out : out\n\t\t\t\t}\n\t\t\t\t// color/column, c, o, l\n\t\t\t\tcase 963: {\n\t\t\t\t\t// column, n\n\t\t\t\t\treturn out.charCodeAt(5) === 110 ? webkit + out + out : out\n\t\t\t\t}\n\t\t\t\t// box-decoration-break, b, o, x\n\t\t\t\tcase 1009: {\n\t\t\t\t\tif (out.charCodeAt(4) !== 100) {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// mask, m, a, s\n\t\t\t\t// clip-path, c, l, i\n\t\t\t\tcase 969:\n\t\t\t\tcase 942: {\n\t\t\t\t\treturn webkit + out + out\n\t\t\t\t}\n\t\t\t\t// appearance: a, p, p\n\t\t\t\tcase 978: {\n\t\t\t\t\treturn webkit + out + moz + out + out\n\t\t\t\t}\n\t\t\t\t// hyphens: h, y, p\n\t\t\t\t// user-select: u, s, e\n\t\t\t\tcase 1019:\n\t\t\t\tcase 983: {\n\t\t\t\t\treturn webkit + out + moz + out + ms + out + out\n\t\t\t\t}\n\t\t\t\t// background/backface-visibility, b, a, c\n\t\t\t\tcase 883: {\n\t\t\t\t\t// backface-visibility, -\n\t\t\t\t\tif (out.charCodeAt(8) === DASH) {\n\t\t\t\t\t\treturn webkit + out + out\n\t\t\t\t\t}\n\t\n\t\t\t\t\t// image-set(...)\n\t\t\t\t\tif (out.indexOf('image-set(', 11) > 0) {\n\t\t\t\t\t\treturn out.replace(imgsrcptn, '$1'+webkit+'$2') + out\n\t\t\t\t\t}\n\t\n\t\t\t\t\treturn out\n\t\t\t\t}\n\t\t\t\t// flex: f, l, e\n\t\t\t\tcase 932: {\n\t\t\t\t\tif (out.charCodeAt(4) === DASH) {\n\t\t\t\t\t\tswitch (out.charCodeAt(5)) {\n\t\t\t\t\t\t\t// flex-grow, g\n\t\t\t\t\t\t\tcase 103: {\n\t\t\t\t\t\t\t\treturn webkit + 'box-' + out.replace('-grow', '') + webkit + out + ms + out.replace('grow', 'positive') + out\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// flex-shrink, s\n\t\t\t\t\t\t\tcase 115: {\n\t\t\t\t\t\t\t\treturn webkit + out + ms + out.replace('shrink', 'negative') + out\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// flex-basis, b\n\t\t\t\t\t\t\tcase 98: {\n\t\t\t\t\t\t\t\treturn webkit + out + ms + out.replace('basis', 'preferred-size') + out\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\treturn webkit + out + ms + out + out\n\t\t\t\t}\n\t\t\t\t// order: o, r, d\n\t\t\t\tcase 964: {\n\t\t\t\t\treturn webkit + out + ms + 'flex' + '-' + out + out\n\t\t\t\t}\n\t\t\t\t// justify-items/justify-content, j, u, s\n\t\t\t\tcase 1023: {\n\t\t\t\t\t// justify-content, c\n\t\t\t\t\tif (out.charCodeAt(8) !== 99) {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\n\t\t\t\t\tcache = out.substring(out.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify')\n\t\t\t\t\treturn webkit + 'box-pack' + cache + webkit + out + ms + 'flex-pack' + cache + out\n\t\t\t\t}\n\t\t\t\t// cursor, c, u, r\n\t\t\t\tcase 1005: {\n\t\t\t\t\treturn cursorptn.test(out) ? out.replace(colonptn, ':' + webkit) + out.replace(colonptn, ':' + moz) + out : out\n\t\t\t\t}\n\t\t\t\t// writing-mode, w, r, i\n\t\t\t\tcase 1000: {\n\t\t\t\t\tcache = out.substring(13).trim()\n\t\t\t\t\tindex = cache.indexOf('-') + 1\n\t\n\t\t\t\t\tswitch (cache.charCodeAt(0)+cache.charCodeAt(index)) {\n\t\t\t\t\t\t// vertical-lr\n\t\t\t\t\t\tcase 226: {\n\t\t\t\t\t\t\tcache = out.replace(writingptn, 'tb')\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// vertical-rl\n\t\t\t\t\t\tcase 232: {\n\t\t\t\t\t\t\tcache = out.replace(writingptn, 'tb-rl')\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// horizontal-tb\n\t\t\t\t\t\tcase 220: {\n\t\t\t\t\t\t\tcache = out.replace(writingptn, 'lr')\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\treturn out\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\treturn webkit + out + ms + cache + out\n\t\t\t\t}\n\t\t\t\t// position: sticky\n\t\t\t\tcase 1017: {\n\t\t\t\t\tif (out.indexOf('sticky', 9) === -1) {\n\t\t\t\t\t\treturn out\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// display(flex/inline-flex/inline-box): d, i, s\n\t\t\t\tcase 975: {\n\t\t\t\t\tindex = (out = input).length - 10\n\t\t\t\t\tcache = (out.charCodeAt(index) === 33 ? out.substring(0, index) : out).substring(input.indexOf(':', 7) + 1).trim()\n\t\n\t\t\t\t\tswitch (hash = cache.charCodeAt(0) + (cache.charCodeAt(7)|0)) {\n\t\t\t\t\t\t// inline-\n\t\t\t\t\t\tcase 203: {\n\t\t\t\t\t\t\t// inline-box\n\t\t\t\t\t\t\tif (cache.charCodeAt(8) < 111) {\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// inline-box/sticky\n\t\t\t\t\t\tcase 115: {\n\t\t\t\t\t\t\tout = out.replace(cache, webkit+cache)+';'+out\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// inline-flex\n\t\t\t\t\t\t// flex\n\t\t\t\t\t\tcase 207:\n\t\t\t\t\t\tcase 102: {\n\t\t\t\t\t\t\tout = (\n\t\t\t\t\t\t\t\tout.replace(cache, webkit+(hash > 102 ? 'inline-' : '')+'box')+';'+\n\t\t\t\t\t\t\t\tout.replace(cache, webkit+cache)+';'+\n\t\t\t\t\t\t\t\tout.replace(cache, ms+cache+'box')+';'+\n\t\t\t\t\t\t\t\tout\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\treturn out + ';'\n\t\t\t\t}\n\t\t\t\t// align-items, align-center, align-self: a, l, i, -\n\t\t\t\tcase 938: {\n\t\t\t\t\tif (out.charCodeAt(5) === DASH) {\n\t\t\t\t\t\tswitch (out.charCodeAt(6)) {\n\t\t\t\t\t\t\t// align-items, i\n\t\t\t\t\t\t\tcase 105: {\n\t\t\t\t\t\t\t\tcache = out.replace('-items', '')\n\t\t\t\t\t\t\t\treturn webkit + out + webkit + 'box-' + cache + ms + 'flex-' + cache + out\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// align-self, s\n\t\t\t\t\t\t\tcase 115: {\n\t\t\t\t\t\t\t\treturn webkit + out + ms + 'flex-item-' + out.replace(selfptn, '') + out\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// align-content\n\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\treturn webkit + out + ms + 'flex-line-pack' + out.replace('align-content', '').replace(selfptn, '') + out\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\t// min/max\n\t\t\t\tcase 973:\n\t\t\t\tcase 989: {\n\t\t\t\t\t// min-/max- height/width/block-size/inline-size\n\t\t\t\t\tif (out.charCodeAt(3) !== DASH || out.charCodeAt(4) === 122) {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// height/width: min-content / width: max-content\n\t\t\t\tcase 931:\n\t\t\t\tcase 953: {\n\t\t\t\t\tif (dimensionptn.test(input) === true) {\n\t\t\t\t\t\t// stretch\n\t\t\t\t\t\tif ((cache = input.substring(input.indexOf(':') + 1)).charCodeAt(0) === 115)\n\t\t\t\t\t\t\treturn property(input.replace('stretch', 'fill-available'), first, second, third).replace(':fill-available', ':stretch')\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\treturn out.replace(cache, webkit + cache) + out.replace(cache, moz + cache.replace('fill-', '')) + out\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\t// transform, transition: t, r, a\n\t\t\t\tcase 962: {\n\t\t\t\t\tout = webkit + out + (out.charCodeAt(5) === 102 ? ms + out : '') + out\n\t\n\t\t\t\t\t// transitions\n\t\t\t\t\tif (second + third === 211 && out.charCodeAt(13) === 105 && out.indexOf('transform', 10) > 0) {\n\t\t\t\t\t\treturn out.substring(0, out.indexOf(';', 27) + 1).replace(transformptn, '$1' + webkit + '$2') + out\n\t\t\t\t\t}\n\t\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn out\n\t\t}\n\t\n\t\t/**\n\t\t * Vendor\n\t\t *\n\t\t * @param {string} content\n\t\t * @param {number} context\n\t\t * @return {boolean}\n\t\t */\n\t\tfunction vendor (content, context) {\n\t\t\tvar index = content.indexOf(context === 1 ? ':' : '{')\n\t\t\tvar key = content.substring(0, context !== 3 ? index : 10)\n\t\t\tvar value = content.substring(index + 1, content.length - 1)\n\t\n\t\t\treturn should(context !== 2 ? key : key.replace(pseudofmt, '$1'), value, context)\n\t\t}\n\t\n\t\t/**\n\t\t * Supports\n\t\t *\n\t\t * @param {string} match\n\t\t * @param {string} group\n\t\t * @return {string}\n\t\t */\n\t\tfunction supports (match, group) {\n\t\t\tvar out = property(group, group.charCodeAt(0), group.charCodeAt(1), group.charCodeAt(2))\n\t\n\t\t\treturn out !== group+';' ? out.replace(propertyptn, ' or ($1)').substring(4) : '('+group+')'\n\t\t}\n\t\n\t\t/**\n\t\t * Animation\n\t\t *\n\t\t * @param {string} input\n\t\t * @return {string}\n\t\t */\n\t\tfunction animation (input) {\n\t\t\tvar length = input.length\n\t\t\tvar index = input.indexOf(':', 9) + 1\n\t\t\tvar declare = input.substring(0, index).trim()\n\t\t\tvar out = input.substring(index, length-1).trim()\n\t\n\t\t\tswitch (input.charCodeAt(9)*keyed) {\n\t\t\t\tcase 0: {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\t// animation-*, -\n\t\t\t\tcase DASH: {\n\t\t\t\t\t// animation-name, n\n\t\t\t\t\tif (input.charCodeAt(10) !== 110) {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// animation/animation-name\n\t\t\t\tdefault: {\n\t\t\t\t\t// split in case of multiple animations\n\t\t\t\t\tvar list = out.split((out = '', animationptn))\n\t\n\t\t\t\t\tfor (var i = 0, index = 0, length = list.length; i < length; index = 0, ++i) {\n\t\t\t\t\t\tvar value = list[i]\n\t\t\t\t\t\tvar items = value.split(propertiesptn)\n\t\n\t\t\t\t\t\twhile (value = items[index]) {\n\t\t\t\t\t\t\tvar peak = value.charCodeAt(0)\n\t\n\t\t\t\t\t\t\tif (keyed === 1 && (\n\t\t\t\t\t\t\t\t// letters\n\t\t\t\t\t\t\t\t(peak > AT && peak < 90) || (peak > 96 && peak < 123) || peak === UNDERSCORE ||\n\t\t\t\t\t\t\t\t// dash but not in sequence i.e --\n\t\t\t\t\t\t\t\t(peak === DASH && value.charCodeAt(1) !== DASH)\n\t\t\t\t\t\t\t)) {\n\t\t\t\t\t\t\t\t// not a number/function\n\t\t\t\t\t\t\t\tswitch (isNaN(parseFloat(value)) + (value.indexOf('(') !== -1)) {\n\t\t\t\t\t\t\t\t\tcase 1: {\n\t\t\t\t\t\t\t\t\t\tswitch (value) {\n\t\t\t\t\t\t\t\t\t\t\t// not a valid reserved keyword\n\t\t\t\t\t\t\t\t\t\t\tcase 'infinite': case 'alternate': case 'backwards': case 'running':\n\t\t\t\t\t\t\t\t\t\t\tcase 'normal': case 'forwards': case 'both': case 'none': case 'linear':\n\t\t\t\t\t\t\t\t\t\t\tcase 'ease': case 'ease-in': case 'ease-out': case 'ease-in-out':\n\t\t\t\t\t\t\t\t\t\t\tcase 'paused': case 'reverse': case 'alternate-reverse': case 'inherit':\n\t\t\t\t\t\t\t\t\t\t\tcase 'initial': case 'unset': case 'step-start': case 'step-end': {\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\t\t\tvalue += key\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\titems[index++] = value\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tout += (i === 0 ? '' : ',') + items.join(' ')\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\tout = declare + out + ';'\n\t\n\t\t\tif (prefix === 1 || (prefix === 2 && vendor(out, 1)))\n\t\t\t\treturn webkit + out + out\n\t\n\t\t\treturn out\n\t\t}\n\t\n\t\t/**\n\t\t * Isolate\n\t\t *\n\t\t * @param {Array<string>} current\n\t\t */\n\t\tfunction isolate (current) {\n\t\t\tfor (var i = 0, length = current.length, selector = Array(length), padding, element; i < length; ++i) {\n\t\t\t\t// split individual elements in a selector i.e h1 h2 === [h1, h2]\n\t\t\t\tvar elements = current[i].split(elementptn)\n\t\t\t\tvar out = ''\n\t\n\t\t\t\tfor (var j = 0, size = 0, tail = 0, code = 0, l = elements.length; j < l; ++j) {\n\t\t\t\t\t// empty element\n\t\t\t\t\tif ((size = (element = elements[j]).length) === 0 && l > 1) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\n\t\t\t\t\ttail = out.charCodeAt(out.length-1)\n\t\t\t\t\tcode = element.charCodeAt(0)\n\t\t\t\t\tpadding = ''\n\t\n\t\t\t\t\tif (j !== 0) {\n\t\t\t\t\t\t// determine if we need padding\n\t\t\t\t\t\tswitch (tail) {\n\t\t\t\t\t\t\tcase STAR:\n\t\t\t\t\t\t\tcase TILDE:\n\t\t\t\t\t\t\tcase GREATERTHAN:\n\t\t\t\t\t\t\tcase PLUS:\n\t\t\t\t\t\t\tcase SPACE:\n\t\t\t\t\t\t\tcase OPENPARENTHESES:  {\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\tpadding = ' '\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\tswitch (code) {\n\t\t\t\t\t\tcase AND: {\n\t\t\t\t\t\t\telement = padding + nscopealt\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase TILDE:\n\t\t\t\t\t\tcase GREATERTHAN:\n\t\t\t\t\t\tcase PLUS:\n\t\t\t\t\t\tcase SPACE:\n\t\t\t\t\t\tcase CLOSEPARENTHESES:\n\t\t\t\t\t\tcase OPENPARENTHESES: {\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase OPENBRACKET: {\n\t\t\t\t\t\t\telement = padding + element + nscopealt\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase COLON: {\n\t\t\t\t\t\t\tswitch (element.charCodeAt(1)*2 + element.charCodeAt(2)*3) {\n\t\t\t\t\t\t\t\t// :global\n\t\t\t\t\t\t\t\tcase 530: {\n\t\t\t\t\t\t\t\t\tif (escape > 0) {\n\t\t\t\t\t\t\t\t\t\telement = padding + element.substring(8, size - 1)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// :hover, :nth-child(), ...\n\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\tif (j < 1 || elements[j-1].length < 1) {\n\t\t\t\t\t\t\t\t\t\telement = padding + nscopealt + element\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase COMMA: {\n\t\t\t\t\t\t\tpadding = ''\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\tif (size > 1 && element.indexOf(':') > 0) {\n\t\t\t\t\t\t\t\telement = padding + element.replace(pseudoptn, '$1' + nscopealt + '$2')\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\telement = padding + element + nscopealt\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\tout += element\n\t\t\t\t}\n\t\n\t\t\t\tselector[i] = out.replace(formatptn, '').trim()\n\t\t\t}\n\t\n\t\t\treturn selector\n\t\t}\n\t\n\t\t/**\n\t\t * Proxy\n\t\t *\n\t\t * @param {number} context\n\t\t * @param {string} content\n\t\t * @param {Array<string>} selectors\n\t\t * @param {Array<string>} parents\n\t\t * @param {number} line\n\t\t * @param {number} column\n\t\t * @param {number} length\n\t\t * @param {number} id\n\t\t * @param {number} depth\n\t\t * @param {number} at\n\t\t * @return {(string|void|*)}\n\t\t */\n\t\tfunction proxy (context, content, selectors, parents, line, column, length, id, depth, at) {\n\t\t\tfor (var i = 0, out = content, next; i < plugged; ++i) {\n\t\t\t\tswitch (next = plugins[i].call(stylis, context, out, selectors, parents, line, column, length, id, depth, at)) {\n\t\t\t\t\tcase void 0:\n\t\t\t\t\tcase false:\n\t\t\t\t\tcase true:\n\t\t\t\t\tcase null: {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\tout = next\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (out !== content) {\n\t\t\t  return out\n\t\t\t}\n\t\t}\n\t\n\t\t/**\n\t\t * @param {number} code\n\t\t * @param {number} index\n\t\t * @param {number} length\n\t\t * @param {string} body\n\t\t * @return {number}\n\t\t */\n\t\tfunction delimited (code, index, length, body) {\n\t\t\tfor (var i = index + 1; i < length; ++i) {\n\t\t\t\tswitch (body.charCodeAt(i)) {\n\t\t\t\t\t// /*\n\t\t\t\t\tcase FOWARDSLASH: {\n\t\t\t\t\t\tif (code === STAR) {\n\t\t\t\t\t\t\tif (body.charCodeAt(i - 1) === STAR &&  index + 2 !== i) {\n\t\t\t\t\t\t\t\treturn i + 1\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\t// //\n\t\t\t\t\tcase NEWLINE: {\n\t\t\t\t\t\tif (code === FOWARDSLASH) {\n\t\t\t\t\t\t\treturn i + 1\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn i\n\t\t}\n\t\n\t\t/**\n\t\t * @param {number} type\n\t\t * @param {number} index\n\t\t * @param {number} length\n\t\t * @param {number} find\n\t\t * @param {string} body\n\t\t * @return {number}\n\t\t */\n\t\tfunction match (type, index, length, body) {\n\t\t\tfor (var i = index + 1; i < length; ++i) {\n\t\t\t\tswitch (body.charCodeAt(i)) {\n\t\t\t\t\tcase type: {\n\t\t\t\t\t\treturn i\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn i\n\t\t}\n\t\n\t\t/**\n\t\t * Minify\n\t\t *\n\t\t * @param {(string|*)} output\n\t\t * @return {string}\n\t\t */\n\t\tfunction minify (output) {\n\t\t\treturn output\n\t\t\t\t.replace(formatptn, '')\n\t\t\t\t.replace(beforeptn, '')\n\t\t\t\t.replace(afterptn, '$1')\n\t\t\t\t.replace(tailptn, '$1')\n\t\t\t\t.replace(whiteptn, ' ')\n\t\t}\n\t\n\t\t/**\n\t\t * Use\n\t\t *\n\t\t * @param {(Array<function(...?)>|function(...?)|number|void)?} plugin\n\t\t */\n\t\tfunction use (plugin) {\n\t\t\tswitch (plugin) {\n\t\t\t\tcase void 0:\n\t\t\t\tcase null: {\n\t\t\t\t\tplugged = plugins.length = 0\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\tif (typeof plugin === 'function') {\n\t\t\t\t\t\tplugins[plugged++] = plugin\n\t\t\t\t\t}\telse if (typeof plugin === 'object') {\n\t\t\t\t\t\tfor (var i = 0, length = plugin.length; i < length; ++i) {\n\t\t\t\t\t\t\tuse(plugin[i])\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tunkwn = !!plugin|0\n\t\t\t\t\t}\n\t\t\t\t}\n\t \t\t}\n\t\n\t \t\treturn use\n\t\t}\n\t\n\t\t/**\n\t\t * Set\n\t\t *\n\t\t * @param {*} options\n\t\t */\n\t\tfunction set (options) {\n\t\t\tfor (var name in options) {\n\t\t\t\tvar value = options[name]\n\t\t\t\tswitch (name) {\n\t\t\t\t\tcase 'keyframe': keyed = value|0; break\n\t\t\t\t\tcase 'global': escape = value|0; break\n\t\t\t\t\tcase 'cascade': cascade = value|0; break\n\t\t\t\t\tcase 'compress': compress = value|0; break\n\t\t\t\t\tcase 'semicolon': semicolon = value|0; break\n\t\t\t\t\tcase 'preserve': preserve = value|0; break\n\t\t\t\t\tcase 'prefix':\n\t\t\t\t\t\tshould = null\n\t\n\t\t\t\t\t\tif (!value) {\n\t\t\t\t\t\t\tprefix = 0\n\t\t\t\t\t\t} else if (typeof value !== 'function') {\n\t\t\t\t\t\t\tprefix = 1\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tprefix = 2\n\t\t\t\t\t\t\tshould = value\n\t\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn set\n\t\t}\n\t\n\t\t/**\n\t\t * Stylis\n\t\t *\n\t\t * @param {string} selector\n\t\t * @param {string} input\n\t\t * @return {*}\n\t\t */\n\t\tfunction stylis (selector, input) {\n\t\t\tif (this !== void 0 && this.constructor === stylis) {\n\t\t\t\treturn factory(selector)\n\t\t\t}\n\t\n\t\t\t// setup\n\t\t\tvar ns = selector\n\t\t\tvar code = ns.charCodeAt(0)\n\t\n\t\t\t// trim leading whitespace\n\t\t\tif (code < 33) {\n\t\t\t\tcode = (ns = ns.trim()).charCodeAt(0)\n\t\t\t}\n\t\n\t\t\t// keyframe/animation namespace\n\t\t\tif (keyed > 0) {\n\t\t\t\tkey = ns.replace(invalidptn, code === OPENBRACKET ? '' : '-')\n\t\t\t}\n\t\n\t\t\t// reset, used to assert if a plugin is moneky-patching the return value\n\t\t\tcode = 1\n\t\n\t\t\t// cascade/isolate\n\t\t\tif (cascade === 1) {\n\t\t\t\tnscope = ns\n\t\t\t} else {\n\t\t\t\tnscopealt = ns\n\t\t\t}\n\t\n\t\t\tvar selectors = [nscope]\n\t\t\tvar result\n\t\n\t\t\t// execute plugins, pre-process context\n\t\t\tif (plugged > 0) {\n\t\t\t\tresult = proxy(PREPS, input, selectors, selectors, line, column, 0, 0, 0, 0)\n\t\n\t\t\t\tif (result !== void 0 && typeof result === 'string') {\n\t\t\t\t\tinput = result\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\t// build\n\t\t\tvar output = compile(array, selectors, input, 0, 0)\n\t\n\t\t\t// execute plugins, post-process context\n\t\t\tif (plugged > 0) {\n\t\t\t\tresult = proxy(POSTS, output, selectors, selectors, line, column, output.length, 0, 0, 0)\n\t\n\t\t\t\t// bypass minification\n\t\t\t\tif (result !== void 0 && typeof(output = result) !== 'string') {\n\t\t\t\t\tcode = 0\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\t// reset\n\t\t\tkey = ''\n\t\t\tnscope = ''\n\t\t\tnscopealt = ''\n\t\t\tpattern = 0\n\t\t\tline = 1\n\t\t\tcolumn = 1\n\t\n\t\t\treturn compress*code === 0 ? output : minify(output)\n\t\t}\n\t\n\t\tstylis['use'] = use\n\t\tstylis['set'] = set\n\t\n\t\tif (options !== void 0) {\n\t\t\tset(options)\n\t\t}\n\t\n\t\treturn stylis\n\t}));\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(/*! ./../webpack/buildin/module.js */ 12)(module)))\n\n/***/ }),\n/* 16 */\n/*!***************************************!*\\\n  !*** ../~/stylis-rule-sheet/index.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(module) {(function (factory) {\n\t\t true ? (module['exports'] = factory()) :\n\t\t\ttypeof define === 'function' && define['amd'] ? define(factory()) :\n\t\t\t\t(window['stylisRuleSheet'] = factory())\n\t}(function () {\n\t\n\t\t'use strict'\n\t\n\t\treturn function (insertRule) {\n\t\t\tvar delimiter = '/*|*/'\n\t\t\tvar needle = delimiter+'}'\n\t\n\t\t\tfunction toSheet (block) {\n\t\t\t\tif (block)\n\t\t\t\t\ttry {\n\t\t\t\t\t\tinsertRule(block + '}')\n\t\t\t\t\t} catch (e) {}\n\t\t\t}\n\t\n\t\t\treturn function ruleSheet (context, content, selectors, parents, line, column, length, ns, depth, at) {\n\t\t\t\tswitch (context) {\n\t\t\t\t\t// property\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\t// @import\n\t\t\t\t\t\tif (depth === 0 && content.charCodeAt(0) === 64)\n\t\t\t\t\t\t\treturn insertRule(content+';'), ''\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// selector\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\tif (ns === 0)\n\t\t\t\t\t\t\treturn content + delimiter\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// at-rule\n\t\t\t\t\tcase 3:\n\t\t\t\t\t\tswitch (ns) {\n\t\t\t\t\t\t\t// @font-face, @page\n\t\t\t\t\t\t\tcase 102:\n\t\t\t\t\t\t\tcase 112:\n\t\t\t\t\t\t\t\treturn insertRule(selectors[0]+content), ''\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\treturn content + (at === 0 ? delimiter : '')\n\t\t\t\t\t\t}\n\t\t\t\t\tcase -2:\n\t\t\t\t\t\tcontent.split(needle).forEach(toSheet)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}))\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(/*! ./../webpack/buildin/module.js */ 12)(module)))\n\n/***/ }),\n/* 17 */\n/*!************************************************************************!*\\\n  !*** ../~/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js ***!\n  \\************************************************************************/\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\t/**\n\t * Copyright 2015, Yahoo! Inc.\n\t * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n\t */\n\tvar REACT_STATICS = {\n\t    childContextTypes: true,\n\t    contextTypes: true,\n\t    defaultProps: true,\n\t    displayName: true,\n\t    getDefaultProps: true,\n\t    getDerivedStateFromProps: true,\n\t    mixins: true,\n\t    propTypes: true,\n\t    type: true\n\t};\n\t\n\tvar KNOWN_STATICS = {\n\t    name: true,\n\t    length: true,\n\t    prototype: true,\n\t    caller: true,\n\t    callee: true,\n\t    arguments: true,\n\t    arity: true\n\t};\n\t\n\tvar defineProperty = Object.defineProperty;\n\tvar getOwnPropertyNames = Object.getOwnPropertyNames;\n\tvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\n\tvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\tvar getPrototypeOf = Object.getPrototypeOf;\n\tvar objectPrototype = getPrototypeOf && getPrototypeOf(Object);\n\t\n\tfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n\t    if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components\n\t\n\t        if (objectPrototype) {\n\t            var inheritedComponent = getPrototypeOf(sourceComponent);\n\t            if (inheritedComponent && inheritedComponent !== objectPrototype) {\n\t                hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n\t            }\n\t        }\n\t\n\t        var keys = getOwnPropertyNames(sourceComponent);\n\t\n\t        if (getOwnPropertySymbols) {\n\t            keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n\t        }\n\t\n\t        for (var i = 0; i < keys.length; ++i) {\n\t            var key = keys[i];\n\t            if (!REACT_STATICS[key] && !KNOWN_STATICS[key] && (!blacklist || !blacklist[key])) {\n\t                var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\t                try { // Avoid failures from read-only properties\n\t                    defineProperty(targetComponent, key, descriptor);\n\t                } catch (e) {}\n\t            }\n\t        }\n\t\n\t        return targetComponent;\n\t    }\n\t\n\t    return targetComponent;\n\t}\n\t\n\tmodule.exports = hoistNonReactStatics;\n\n\n/***/ }),\n/* 18 */\n/*!*****************************!*\\\n  !*** ./styled/constants.js ***!\n  \\*****************************/\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\tvar colors = exports.colors = {\n\t  PRIMARY: '#ABE2FB',\n\t  SECONDARY: '#E6E6E6',\n\t  DARKER_PRIMARY: '#87ceeb',\n\t  OFF_WHITE: '#15181A',\n\t  GREY: '#D3D3D3',\n\t  RED: '#FF5E5E',\n\t  DARK_GREY: '#535D63'\n\t};\n\t\n\tvar TRACK_TOTAL_DEG = exports.TRACK_TOTAL_DEG = 270.0;\n\t\n\tvar RADIAN = exports.RADIAN = Math.PI / 180.0;\n\t\n\tvar light = exports.light = {\n\t  primary: colors.PRIMARY,\n\t  secondary: colors.SECONDARY,\n\t  detail: colors.GREY,\n\t  dark: false\n\t};\n\t\n\tvar dark = exports.dark = {\n\t  primary: colors.PRIMARY,\n\t  secondary: colors.DARK_GREY,\n\t  detail: colors.DARK_GREY,\n\t  dark: true\n\t};\n\t\n\texports.default = {\n\t  dark: dark,\n\t  light: light,\n\t  colors: colors\n\t};\n\n/***/ }),\n/* 19 */\n/*!******************************************!*\\\n  !*** ./components/ToggleSwitch.react.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar Component = _react.Component;\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar PropTypes = _interopRequireDefault(_propTypes).default;\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar withTheme = _styledComponents.withTheme;\n\t\n\tvar _Indicator = __webpack_require__(/*! ../styled/shared/Indicator.styled */ 20);\n\t\n\tvar Indicator = _interopRequireDefault(_Indicator).default;\n\t\n\tvar _ToggleSwitch = __webpack_require__(/*! ../styled/ToggleSwitch.styled */ 21);\n\t\n\tvar Wrapper = _ToggleSwitch.Wrapper;\n\tvar ButtonContainer = _ToggleSwitch.ButtonContainer;\n\tvar Button = _ToggleSwitch.Button;\n\tvar DarkSwitchContainer = _ToggleSwitch.DarkSwitchContainer;\n\tvar DarkSwitch = _ToggleSwitch.DarkSwitch;\n\tvar RowContainer = _ToggleSwitch.RowContainer;\n\tvar RowLabel = _ToggleSwitch.RowLabel;\n\t\n\tvar _LabelContainer = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ 23);\n\t\n\tvar LabelContainer = _interopRequireDefault(_LabelContainer).default;\n\t\n\tvar _constants = __webpack_require__(/*! ../styled/constants */ 18);\n\t\n\tvar light = _constants.light;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tfunction getLabelProps(label) {\n\t  if ((typeof label === 'undefined' ? 'undefined' : _typeof(label)) === 'object') {\n\t    return {\n\t      children: label.label,\n\t      style: label.style\n\t    };\n\t  }\n\t  return {\n\t    children: label,\n\t    style: {}\n\t  };\n\t}\n\t/**\n\t * A switch component that toggles between\n\t * two values.\n\t */\n\t\n\tvar ToggleSwitch = function (_Component) {\n\t  _inherits(ToggleSwitch, _Component);\n\t\n\t  function ToggleSwitch(props) {\n\t    _classCallCheck(this, ToggleSwitch);\n\t\n\t    var _this = _possibleConstructorReturn(this, (ToggleSwitch.__proto__ || Object.getPrototypeOf(ToggleSwitch)).call(this, props));\n\t\n\t    _this.state = {\n\t      value: props.value\n\t    };\n\t\n\t    _this.click = _this.click.bind(_this);\n\t    return _this;\n\t  }\n\t\n\t  _createClass(ToggleSwitch, [{\n\t    key: 'componentWillReceiveProps',\n\t    value: function componentWillReceiveProps(newProps) {\n\t      if (newProps.value !== this.state.value) this.setState({ value: newProps.value });\n\t    }\n\t  }, {\n\t    key: 'click',\n\t    value: function click() {\n\t      if (!this.props.disabled) {\n\t        var newValue = !this.state.value;\n\t\n\t        this.setState({ value: newValue });\n\t        if (this.props.setProps) this.props.setProps({ value: newValue });\n\t      }\n\t    }\n\t  }, {\n\t    key: 'render',\n\t    value: function render() {\n\t      var _props = this.props,\n\t          id = _props.id,\n\t          className = _props.className,\n\t          style = _props.style,\n\t          label = _props.label,\n\t          labelPosition = _props.labelPosition,\n\t          booleanSwitch = _props.booleanSwitch,\n\t          theme = _props.theme,\n\t          color = _props.color;\n\t\n\t      var size = this.props.size || 45;\n\t\n\t      var SwitchContainer = ButtonContainer;\n\t      var Switch = Button;\n\t\n\t      if (theme.dark && !booleanSwitch) {\n\t        SwitchContainer = DarkSwitchContainer;\n\t        Switch = DarkSwitch;\n\t      }\n\t\n\t      var indicatorSize = size / 10 * 1.25;\n\t\n\t      var doubleLabel = Array.isArray(label);\n\t\n\t      var switchCore = React.createElement(\n\t        Wrapper,\n\t        { rotate: this.props.vertical ? -90 : 0, size: size },\n\t        !booleanSwitch && React.createElement(Indicator, { on: this.state.value, size: indicatorSize, primary: color }),\n\t        React.createElement(\n\t          SwitchContainer,\n\t          {\n\t            onClick: this.click,\n\t            size: size,\n\t            color: color,\n\t            on: this.state.value,\n\t            booleanSwitch: booleanSwitch\n\t          },\n\t          React.createElement(Switch, {\n\t            disabled: this.props.disabled,\n\t            on: this.state.value,\n\t            size: size,\n\t            booleanSwitch: booleanSwitch\n\t          })\n\t        ),\n\t        !booleanSwitch && React.createElement(Indicator, { main: true, on: this.state.value, size: indicatorSize, primary: color })\n\t      );\n\t\n\t      return React.createElement(\n\t        'div',\n\t        { id: id, className: className, style: style },\n\t        doubleLabel ? React.createElement(\n\t          RowContainer,\n\t          this.props,\n\t          React.createElement(RowLabel, _extends({\n\t            position: this.props.vertical ? 'bottom' : 'left'\n\t          }, getLabelProps(label[0]))),\n\t          switchCore,\n\t          React.createElement(RowLabel, _extends({\n\t            position: this.props.vertical ? 'top' : 'right'\n\t          }, getLabelProps(label[1])))\n\t        ) : React.createElement(\n\t          LabelContainer,\n\t          { label: label, labelPosition: labelPosition },\n\t          switchCore\n\t        )\n\t      );\n\t    }\n\t  }]);\n\t\n\t  return ToggleSwitch;\n\t}(Component);\n\t\n\tToggleSwitch.defaultProps = {\n\t  value: false,\n\t  vertical: false,\n\t  theme: light,\n\t  labelPosition: 'top'\n\t};\n\t\n\tToggleSwitch.propTypes = {\n\t  /**\n\t   * The ID used to identify this compnent in Dash callbacks\n\t   */\n\t  id: PropTypes.string,\n\t\n\t  /**\n\t   * The state of the switch\n\t   */\n\t  value: PropTypes.bool,\n\t\n\t  /**\n\t   * The size of the switch\n\t   */\n\t  size: PropTypes.number,\n\t\n\t  /**\n\t   * Color to highlight button/indicator\n\t   */\n\t  color: PropTypes.string,\n\t\n\t  /**\n\t   * If true, switch will be vertical instead\n\t   * of horizontal\n\t   */\n\t  vertical: PropTypes.bool,\n\t\n\t  /**\n\t   * If true, switch cannot be clicked\n\t   */\n\t  disabled: PropTypes.bool,\n\t\n\t  /**\n\t   * Theme configuration to be set by a ThemeProvider\n\t   */\n\t  theme: PropTypes.object,\n\t\n\t  /**\n\t   * Description to be displayed alongside the control. To control styling, pass an object with label and style properties.\n\t   */\n\t  label: PropTypes.oneOfType([\n\t  /**\n\t   * Label to be displayed\n\t   */\n\t  PropTypes.string,\n\t\n\t  /**\n\t   * The style and label\n\t   */\n\t  PropTypes.shape({\n\t    style: PropTypes.object,\n\t    label: PropTypes.string\n\t  }),\n\t\n\t  /**\n\t   * Multiple labels for both toggle states. The label at index 0 will be left\n\t   * (or bottom if the switch is vertical), and the label at index 0 will be\n\t   * on the right (or top if vertical)\n\t   */\n\t  PropTypes.arrayOf(PropTypes.oneOfType([\n\t  /**\n\t   * Label to be displayed\n\t   */\n\t  PropTypes.string,\n\t\n\t  /**\n\t   * The style and label\n\t   */\n\t  PropTypes.shape({\n\t    style: PropTypes.object,\n\t    label: PropTypes.string\n\t  })]))]),\n\t\n\t  /**\n\t   * Where the component label is positioned.\n\t   */\n\t  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\t\n\t  /**\n\t   * Class to apply to the root component element.\n\t   */\n\t  className: PropTypes.string,\n\t\n\t  /**\n\t   * Style to apply to the root object.\n\t   */\n\t  style: PropTypes.object,\n\t\n\t  /**\n\t   * Dash-assigned callback that gets fired when\n\t   * switch is toggled.\n\t   */\n\t  setProps: PropTypes.func\n\t};\n\t\n\texports.default = withTheme(ToggleSwitch);\n\n/***/ }),\n/* 20 */\n/*!*******************************************!*\\\n  !*** ./styled/shared/Indicator.styled.js ***!\n  \\*******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _templateObject = _taggedTemplateLiteral(['\\n  border-radius: ', ';\\n  transition: all 100ms ease-in-out;\\n  ', '\\n\\n'], ['\\n  border-radius: ', ';\\n  transition: all 100ms ease-in-out;\\n  ', '\\n\\n']),\n\t    _templateObject2 = _taggedTemplateLiteral(['\\n      width: ', 'px;\\n      height: ', 'px;\\n      background-color: ', ';\\n      ', '\\n      ', '\\n    '], ['\\n      width: ', 'px;\\n      height: ', 'px;\\n      background-color: ', ';\\n      ', '\\n      ', '\\n    ']),\n\t    _templateObject3 = _taggedTemplateLiteral(['\\n          box-shadow: 0 0 8px 2px ', ', 1px 1px 0px 0px rgba(0,0,0,0.9), -1px -1px 0px 0px rgba(255,255,255,0.1);\\n        '], ['\\n          box-shadow: 0 0 8px 2px ', ', 1px 1px 0px 0px rgba(0,0,0,0.9), -1px -1px 0px 0px rgba(255,255,255,0.1);\\n        ']),\n\t    _templateObject4 = _taggedTemplateLiteral(['\\n        background-image: linear-gradient(145deg, rgba(255,255,255,0.10) 0%, rgba(0,0,0,0.50) 100%);\\n        background-blend-mode: overlay;\\n        box-shadow: inset 0 0 8px -1px rgba(0,0,0,0.5),\\n                    inset 0 0 4px 0 rgba(0,0,0,0.6),\\n                    -1px -1px 0px 0px rgba(0,0,0,0.9),\\n                    1px 1px 0px 0px rgba(255,255,255,0.1);\\n        '], ['\\n        background-image: linear-gradient(145deg, rgba(255,255,255,0.10) 0%, rgba(0,0,0,0.50) 100%);\\n        background-blend-mode: overlay;\\n        box-shadow: inset 0 0 8px -1px rgba(0,0,0,0.5),\\n                    inset 0 0 4px 0 rgba(0,0,0,0.6),\\n                    -1px -1px 0px 0px rgba(0,0,0,0.9),\\n                    1px 1px 0px 0px rgba(255,255,255,0.1);\\n        ']);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar PropTypes = _interopRequireDefault(_propTypes).default;\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar styled = _interopRequireDefault(_styledComponents).default;\n\t\n\tvar css = _styledComponents.css;\n\t\n\tvar _constants = __webpack_require__(/*! ../constants */ 18);\n\t\n\tvar light = _constants.light;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\t\n\tvar Indicator = styled('div')(_templateObject, function (_ref) {\n\t  var rectangular = _ref.rectangular;\n\t  return rectangular ? '0' : '50%';\n\t}, function (props) {\n\t  var color = props.main ? props.on ? props.primary || props.theme.primary : props.secondary || props.theme.secondary : props.on ? props.theme.secondary : props.primary || props.theme.primary;\n\t\n\t  return css(_templateObject2, props.width || props.height || props.size, props.height || props.width || props.size, color, props.border ? 'border: 1px solid ' + (props.on ? color : '#F8F4F4') + ';' : '', props.theme.dark ? props.on && props.main || !props.on && !props.main ? css(_templateObject3, color) : css(_templateObject4) : '');\n\t});\n\tIndicator.defaultProps = {\n\t  theme: light\n\t};\n\t\n\tIndicator.propTypes = {\n\t  /**\n\t   * Size of the indicator\n\t   */\n\t  size: PropTypes.number,\n\t\n\t  /**\n\t   * Theme for styling the component\n\t   */\n\t  theme: PropTypes.object,\n\t\n\t  /**\n\t   * Add border for off\n\t   */\n\t  border: PropTypes.bool,\n\t\n\t  /**\n\t   * Color to display when on\n\t   */\n\t  primary: PropTypes.string,\n\t\n\t  /**\n\t   * Color to display when off\n\t   */\n\t  secondary: PropTypes.string\n\t};\n\t\n\texports.default = Indicator;\n\n/***/ }),\n/* 21 */\n/*!***************************************!*\\\n  !*** ./styled/ToggleSwitch.styled.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.RowLabel = exports.RowContainer = exports.DarkSwitch = exports.DarkSwitchContainer = exports.Button = exports.ButtonContainer = exports.Wrapper = undefined;\n\t\n\tvar _templateObject = _taggedTemplateLiteral(['\\n  display: flex;\\n  justify-content: space-around;\\n  align-items: center;\\n  ', ';\\n'], ['\\n  display: flex;\\n  justify-content: space-around;\\n  align-items: center;\\n  ', ';\\n']),\n\t    _templateObject2 = _taggedTemplateLiteral(['\\n    transform: rotate(', 'deg);\\n  '], ['\\n    transform: rotate(', 'deg);\\n  ']),\n\t    _templateObject3 = _taggedTemplateLiteral(['\\n  height: auto;\\n  display: flex;\\n  transition: all 0.1s ease-in;\\n\\n  ', ' ', ';\\n'], ['\\n  height: auto;\\n  display: flex;\\n  transition: all 0.1s ease-in;\\n\\n  ', ' ', ';\\n']),\n\t    _templateObject4 = _taggedTemplateLiteral(['\\n    width: ', 'px;\\n    cursor: pointer;\\n    padding: ', 'px;\\n    border-radius: ', 'px;\\n    margin-left: ', 'px;\\n    margin-right: ', 'px;\\n  '], ['\\n    width: ', 'px;\\n    cursor: pointer;\\n    padding: ', 'px;\\n    border-radius: ', 'px;\\n    margin-left: ', 'px;\\n    margin-right: ', 'px;\\n  ']),\n\t    _templateObject5 = _taggedTemplateLiteral(['\\n  background: ', ';\\n'], ['\\n  background: ', ';\\n']),\n\t    _templateObject6 = _taggedTemplateLiteral(['\\n  background: ', ';\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.4) 0%, rgba(0, 0, 0, 0.3) 100%);\\n  box-shadow: inset 0 0 8px -1px #000000, inset 0 0 8px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.9), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n'], ['\\n  background: ', ';\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.4) 0%, rgba(0, 0, 0, 0.3) 100%);\\n  box-shadow: inset 0 0 8px -1px #000000, inset 0 0 8px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.9), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n']),\n\t    _templateObject7 = _taggedTemplateLiteral(['\\n  background: white;\\n  border-radius: 50%;\\n  display: block;\\n  padding: 0;\\n  margin: 0;\\n  transition: all 100ms ease-in-out;\\n  outline: none;\\n  ', ' &:focus, &:active, &:hover {\\n    border: none;\\n    border: ', ';\\n  }\\n\\n  &:disabled {\\n    opacity: ', ';\\n    cursor: not-allowed;\\n  }\\n\\n  ', ';\\n'], ['\\n  background: white;\\n  border-radius: 50%;\\n  display: block;\\n  padding: 0;\\n  margin: 0;\\n  transition: all 100ms ease-in-out;\\n  outline: none;\\n  ', ' &:focus, &:active, &:hover {\\n    border: none;\\n    border: ', ';\\n  }\\n\\n  &:disabled {\\n    opacity: ', ';\\n    cursor: not-allowed;\\n  }\\n\\n  ', ';\\n']),\n\t    _templateObject8 = _taggedTemplateLiteral(['\\n    border: none;\\n    border: 1px solid ', ';\\n    width: ', 'px;\\n    height: ', 'px;\\n    transform: translateX(', 'px);\\n  '], ['\\n    border: none;\\n    border: 1px solid ', ';\\n    width: ', 'px;\\n    height: ', 'px;\\n    transform: translateX(', 'px);\\n  ']),\n\t    _templateObject9 = _taggedTemplateLiteral(['\\n  background-color: #141414;\\n  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.5) -20%, rgba(0, 0, 0, 0.7) 100%);\\n  box-shadow: inset 0 0 1px 0 rgba(52, 52, 52, 0.4), inset 0 0 0 1px rgba(0, 0, 0, 0.2),\\n    1px 1px 2px 0px rgba(0, 0, 0, 0.7);\\n\\n  &:hover {\\n    background-color: rgba(0, 0, 0, 0.7);\\n  }\\n\\n  &::before,\\n  &::after {\\n    content: none;\\n  }\\n'], ['\\n  background-color: #141414;\\n  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.5) -20%, rgba(0, 0, 0, 0.7) 100%);\\n  box-shadow: inset 0 0 1px 0 rgba(52, 52, 52, 0.4), inset 0 0 0 1px rgba(0, 0, 0, 0.2),\\n    1px 1px 2px 0px rgba(0, 0, 0, 0.7);\\n\\n  &:hover {\\n    background-color: rgba(0, 0, 0, 0.7);\\n  }\\n\\n  &::before,\\n  &::after {\\n    content: none;\\n  }\\n']),\n\t    _templateObject10 = _taggedTemplateLiteral(['\\n  display: flex;\\n  padding: 2px 4px;\\n  cursor: pointer;\\n  border-radius: 1px;\\n  margin: 0 8px;\\n\\n  background: #22272a;\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.4) 0%, rgba(0, 0, 0, 0.1) 100%);\\n  box-shadow: inset 0 0 8px -1px #000000, inset 0 0 8px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.9), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n'], ['\\n  display: flex;\\n  padding: 2px 4px;\\n  cursor: pointer;\\n  border-radius: 1px;\\n  margin: 0 8px;\\n\\n  background: #22272a;\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.4) 0%, rgba(0, 0, 0, 0.1) 100%);\\n  box-shadow: inset 0 0 8px -1px #000000, inset 0 0 8px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.9), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n']),\n\t    _templateObject11 = _taggedTemplateLiteral(['\\n  display: block;\\n  position: relative;\\n  margin: 0;\\n  transition: all 100ms ease-in-out;\\n  outline: none;\\n  background: #161616;\\n  height: ', ';\\n  width: ', ';\\n  background-blend-mode: overlay;\\n  background-color: #111;\\n  background-image: ;\\n  background-image: ', ';\\n  box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.9);\\n  border-radius: 2px;\\n\\n  &:disabled {\\n    cursor: not-allowed;\\n  }\\n\\n  &:hover::after,\\n  &:active::after,\\n  &:focus::after {\\n    box-shadow: none;\\n  }\\n\\n  &::before {\\n    content: none;\\n  }\\n\\n  &::after {\\n    transition: all 100ms ease-in-out;\\n    content: \\'\\';\\n    position: absolute;\\n    left: 0;\\n    right: 0;\\n    top: 4%;\\n    height: 92%;\\n    width: 92%;\\n    margin: 0 auto;\\n    ', ' background-color: #161616;\\n    background-blend-mode: overlay;\\n    background-image: ', ';\\n    border-radius: 2px;\\n  }\\n\\n  &:hover::after {\\n    background-color: #181818;\\n  }\\n'], ['\\n  display: block;\\n  position: relative;\\n  margin: 0;\\n  transition: all 100ms ease-in-out;\\n  outline: none;\\n  background: #161616;\\n  height: ', ';\\n  width: ', ';\\n  background-blend-mode: overlay;\\n  background-color: #111;\\n  background-image: ;\\n  background-image: ', ';\\n  box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.9);\\n  border-radius: 2px;\\n\\n  &:disabled {\\n    cursor: not-allowed;\\n  }\\n\\n  &:hover::after,\\n  &:active::after,\\n  &:focus::after {\\n    box-shadow: none;\\n  }\\n\\n  &::before {\\n    content: none;\\n  }\\n\\n  &::after {\\n    transition: all 100ms ease-in-out;\\n    content: \\'\\';\\n    position: absolute;\\n    left: 0;\\n    right: 0;\\n    top: 4%;\\n    height: 92%;\\n    width: 92%;\\n    margin: 0 auto;\\n    ', ' background-color: #161616;\\n    background-blend-mode: overlay;\\n    background-image: ', ';\\n    border-radius: 2px;\\n  }\\n\\n  &:hover::after {\\n    background-color: #181818;\\n  }\\n']),\n\t    _templateObject12 = _taggedTemplateLiteral(['radial-gradient(farthest-corner at 0px 0px, rgba(256,255,255,1) 5%, rgba(0,0,0,0.6) 90%)'], ['radial-gradient(farthest-corner at 0px 0px, rgba(256,255,255,1) 5%, rgba(0,0,0,0.6) 90%)']),\n\t    _templateObject13 = _taggedTemplateLiteral(['\\n            margin-left: ', 'px;\\n          '], ['\\n            margin-left: ', 'px;\\n          ']),\n\t    _templateObject14 = _taggedTemplateLiteral(['\\n            margin-right: ', 'px;\\n          '], ['\\n            margin-right: ', 'px;\\n          ']),\n\t    _templateObject15 = _taggedTemplateLiteral(['linear-gradient(135deg, rgba(255,255,255,0.7) 20%, rgba(0,0,0,0) 100%),\\n          linear-gradient(90deg, rgba(255,255,255,0) 40%, rgba(0,0,0,0.8) 100%)'], ['linear-gradient(135deg, rgba(255,255,255,0.7) 20%, rgba(0,0,0,0) 100%),\\n          linear-gradient(90deg, rgba(255,255,255,0) 40%, rgba(0,0,0,0.8) 100%)']),\n\t    _templateObject16 = _taggedTemplateLiteral(['linear-gradient(135deg, rgba(0,0,0,0) 0%, rgba(255,255,255,1) 100%),\\n          linear-gradient(90deg, rgba(0,0,0,0.6) 40%, rgba(255,255,255,0) 100%)'], ['linear-gradient(135deg, rgba(0,0,0,0) 0%, rgba(255,255,255,1) 100%),\\n          linear-gradient(90deg, rgba(0,0,0,0.6) 40%, rgba(255,255,255,0) 100%)']),\n\t    _templateObject17 = _taggedTemplateLiteral(['\\n  display: flex;\\n  align-items: center;\\n  justify-content: space-around;\\n  flex-direction: ', ';\\n'], ['\\n  display: flex;\\n  align-items: center;\\n  justify-content: space-around;\\n  flex-direction: ', ';\\n']),\n\t    _templateObject18 = _taggedTemplateLiteral(['\\n  margin: 0;\\n  ', '\\n  ', '\\n  ', '\\n  ', '\\n'], ['\\n  margin: 0;\\n  ', '\\n  ', '\\n  ', '\\n  ', '\\n']);\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar styled = _interopRequireDefault(_styledComponents).default;\n\t\n\tvar css = _styledComponents.css;\n\t\n\tvar _constants = __webpack_require__(/*! ./constants */ 18);\n\t\n\tvar light = _constants.light;\n\t\n\tvar _Label = __webpack_require__(/*! ./shared/Label.styled */ 22);\n\t\n\tvar Label = _interopRequireDefault(_Label).default;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\t\n\tvar Wrapper = exports.Wrapper = styled('div')(_templateObject, function (_ref) {\n\t  var rotate = _ref.rotate;\n\t  return css(_templateObject2, parseInt(rotate, 10));\n\t});\n\t\n\tvar ButtonContainer = exports.ButtonContainer = styled('div')(_templateObject3, function (_ref2) {\n\t  var size = _ref2.size;\n\t  return css(_templateObject4, size, 0.05 * size, size, 0.05 * size, 0.05 * size);\n\t}, function (_ref3) {\n\t  var theme = _ref3.theme;\n\t  return theme.dark ? darkContainer : lightContainer;\n\t});\n\tButtonContainer.defaultProps = {\n\t  theme: light\n\t};\n\t\n\tvar lightContainer = css(_templateObject5, function (_ref4) {\n\t  var on = _ref4.on,\n\t      theme = _ref4.theme,\n\t      color = _ref4.color;\n\t  return on ? color || theme.secondary : theme.secondary;\n\t});\n\t\n\tvar darkContainer = css(_templateObject6, function (_ref5) {\n\t  var on = _ref5.on,\n\t      theme = _ref5.theme,\n\t      color = _ref5.color;\n\t  return on ? color || theme.secondary : '#22272a';\n\t});\n\t\n\tvar Button = exports.Button = styled.button(_templateObject7, function (_ref6) {\n\t  var size = _ref6.size,\n\t      on = _ref6.on,\n\t      theme = _ref6.theme;\n\t  return css(_templateObject8, theme.dark ? 'none' : theme.detail, size / 2, size / 2, on ? size - size / 2 : 0);\n\t}, function (_ref7) {\n\t  var theme = _ref7.theme;\n\t  return theme.dark ? 'none' : '1px solid ' + theme.detail;\n\t}, function (_ref8) {\n\t  var theme = _ref8.theme;\n\t  return theme.dark ? 1 : 0.65;\n\t}, function (_ref9) {\n\t  var theme = _ref9.theme;\n\t  return theme.dark ? darkButton : null;\n\t});\n\t\n\tButton.defaultProps = {\n\t  theme: light\n\t};\n\t\n\tvar darkButton = css(_templateObject9);\n\t\n\tvar DarkSwitchContainer = exports.DarkSwitchContainer = styled.div(_templateObject10);\n\t\n\tvar DarkSwitch = exports.DarkSwitch = styled.button(_templateObject11, function (_ref10) {\n\t  var size = _ref10.size;\n\t  return size * 0.72 + 'px';\n\t}, function (_ref11) {\n\t  var size = _ref11.size;\n\t  return size * 1.44 + 'px';\n\t}, function (_ref12) {\n\t  var on = _ref12.on;\n\t  return on ? css(_templateObject12) : css(_templateObject12);\n\t}, function (_ref13) {\n\t  var size = _ref13.size,\n\t      on = _ref13.on;\n\t\n\t  var margin = size * 0.08;\n\t  return on ? css(_templateObject13, margin) : css(_templateObject14, margin);\n\t}, function (_ref14) {\n\t  var on = _ref14.on;\n\t  return on ? css(_templateObject15) : css(_templateObject16);\n\t});\n\t\n\tvar RowContainer = exports.RowContainer = styled.div(_templateObject17, function (props) {\n\t  return props.vertical ? 'column-reverse' : 'row';\n\t});\n\t\n\tvar RowLabel = exports.RowLabel = styled(Label)(_templateObject18, function (_ref15) {\n\t  var position = _ref15.position,\n\t      theme = _ref15.theme;\n\t  return position === 'right' ? 'margin-left: ' + (theme.dark ? 12 : 8) + 'px;' : '';\n\t}, function (_ref16) {\n\t  var position = _ref16.position,\n\t      theme = _ref16.theme;\n\t  return position === 'left' ? 'margin-right: ' + (theme.dark ? 12 : 8) + 'px;' : '';\n\t}, function (_ref17) {\n\t  var position = _ref17.position,\n\t      theme = _ref17.theme;\n\t  return position === 'top' ? 'margin-bottom: ' + (theme.dark ? 34 : 20) + 'px;' : '';\n\t}, function (_ref18) {\n\t  var position = _ref18.position,\n\t      theme = _ref18.theme;\n\t  return position === 'bottom' ? 'margin-top: ' + (theme.dark ? 34 : 20) + 'px;' : '';\n\t});\n\t\n\tRowLabel.defaultProps = {\n\t  theme: light\n\t};\n\n/***/ }),\n/* 22 */\n/*!***************************************!*\\\n  !*** ./styled/shared/Label.styled.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _templateObject = _taggedTemplateLiteral(['\\n  display: block;\\n  font-size: 14px;\\n  ', '\\n  ', '\\n'], ['\\n  display: block;\\n  font-size: 14px;\\n  ', '\\n  ', '\\n']),\n\t    _templateObject2 = _taggedTemplateLiteral(['margin-bottom: 8px;'], ['margin-bottom: 8px;']),\n\t    _templateObject3 = _taggedTemplateLiteral(['margin-top: 8px;'], ['margin-top: 8px;']),\n\t    _templateObject4 = _taggedTemplateLiteral(['', ''], ['', '']);\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar styled = _interopRequireDefault(_styledComponents).default;\n\t\n\tvar css = _styledComponents.css;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\t\n\texports.default = styled.label(_templateObject, function (_ref) {\n\t  var position = _ref.position;\n\t  return position === 'top' ? css(_templateObject2) : css(_templateObject3);\n\t}, function (props) {\n\t  return css(_templateObject4, props.css);\n\t});\n\n/***/ }),\n/* 23 */\n/*!************************************************!*\\\n  !*** ./styled/shared/LabelContainer.styled.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tvar _templateObject = _taggedTemplateLiteral(['\\n  display: flex;\\n  align-items: center;\\n  justify-content: space-around;\\n  flex-direction: ', ';\\n'], ['\\n  display: flex;\\n  align-items: center;\\n  justify-content: space-around;\\n  flex-direction: ', ';\\n']);\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar styled = _interopRequireDefault(_styledComponents).default;\n\t\n\tvar _Label = __webpack_require__(/*! ./Label.styled */ 22);\n\t\n\tvar Label = _interopRequireDefault(_Label).default;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\t\n\tvar Container = styled.div(_templateObject, function (props) {\n\t  switch (props.labelPosition) {\n\t    case 'top':\n\t      return 'column-reverse';\n\t    case 'bottom':\n\t      return 'column';\n\t  }\n\t});\n\t\n\tfunction LabelContainer(props) {\n\t  var labelText = props.label;\n\t  var customLabelStyle = {};\n\t  if (_typeof(props.label) === 'object') {\n\t    labelText = props.label.label;\n\t    customLabelStyle = props.label.style;\n\t  }\n\t\n\t  if (labelText && labelText.length) {\n\t    return React.createElement(\n\t      Container,\n\t      { className: props.className, id: props.id, labelPosition: props.labelPosition },\n\t      props.children,\n\t      React.createElement(\n\t        Label,\n\t        { style: customLabelStyle, css: props.labelCSS, position: props.labelPosition },\n\t        labelText\n\t      )\n\t    );\n\t  }\n\t  return React.createElement(\n\t    'div',\n\t    null,\n\t    props.children\n\t  );\n\t}\n\t\n\tLabelContainer.defaultProps = {\n\t  labelPosition: 'bottom'\n\t};\n\t\n\texports.default = LabelContainer;\n\n/***/ }),\n/* 24 */\n/*!*****************************************!*\\\n  !*** ./components/ColorPicker.react.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar Component = _react.Component;\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar PropTypes = _interopRequireDefault(_propTypes).default;\n\t\n\tvar _reactColor = __webpack_require__(/*! react-color */ 25);\n\t\n\tvar ChromePicker = _reactColor.ChromePicker;\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar withTheme = _styledComponents.withTheme;\n\t\n\tvar _color = __webpack_require__(/*! color */ 404);\n\t\n\tvar Color = _interopRequireDefault(_color).default;\n\t\n\tvar _constants = __webpack_require__(/*! ../styled/constants */ 18);\n\t\n\tvar colors = _constants.colors;\n\tvar light = _constants.light;\n\t\n\tvar _ColorPicker = __webpack_require__(/*! ../styled/ColorPicker.styled */ 412);\n\t\n\tvar Container = _ColorPicker.Container;\n\t\n\tvar _LabelContainer = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ 23);\n\t\n\tvar LabelContainer = _interopRequireDefault(_LabelContainer).default;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar DEFAULT_COLOR = colors.PRIMARY;\n\t\n\tvar parseValue = function parseValue(value) {\n\t  value = value || {};\n\t\n\t  if (value.rgb) {\n\t    var rgba = Object.values(value.rgb);\n\t    return 'rgba(' + rgba[0] + ', ' + rgba[1] + ', ' + rgba[2] + ', ' + rgba[3] + ')';\n\t  }\n\t\n\t  if (value.hex) return Color(value.hex).rgb().string();\n\t\n\t  return DEFAULT_COLOR;\n\t};\n\t\n\t/**\n\t * A color picker.\n\t */\n\t\n\tvar ColorPicker = function (_Component) {\n\t  _inherits(ColorPicker, _Component);\n\t\n\t  function ColorPicker(props) {\n\t    _classCallCheck(this, ColorPicker);\n\t\n\t    var _this = _possibleConstructorReturn(this, (ColorPicker.__proto__ || Object.getPrototypeOf(ColorPicker)).call(this, props));\n\t\n\t    _this.state = {\n\t      value: props.value\n\t    };\n\t\n\t    _this.calcHandleGlow = _this.calcHandleGlow.bind(_this);\n\t    _this.setValue = _this.setValue.bind(_this);\n\t    return _this;\n\t  }\n\t\n\t  _createClass(ColorPicker, [{\n\t    key: 'componentWillReceiveProps',\n\t    value: function componentWillReceiveProps(newProps) {\n\t      if (newProps.value !== this.state.value) this.setState({ value: newProps.value });\n\t    }\n\t  }, {\n\t    key: 'calcHandleGlow',\n\t    value: function calcHandleGlow() {\n\t      return Color(parseValue(this.state.value)).fade(0.5).string();\n\t    }\n\t  }, {\n\t    key: 'setValue',\n\t    value: function setValue(value) {\n\t      if (value != null) {\n\t        var hex = value.hex,\n\t            rgb = value.rgb;\n\t\n\t        var newValue = { hex: hex, rgb: rgb };\n\t\n\t        this.setState({ value: newValue });\n\t        if (this.props.setProps) this.props.setProps({ value: newValue });\n\t      }\n\t    }\n\t  }, {\n\t    key: 'render',\n\t    value: function render() {\n\t      var _props = this.props,\n\t          id = _props.id,\n\t          className = _props.className,\n\t          style = _props.style;\n\t\n\t\n\t      return React.createElement(\n\t        'div',\n\t        { id: id, className: className, style: style },\n\t        React.createElement(\n\t          LabelContainer,\n\t          this.props,\n\t          React.createElement(\n\t            Container,\n\t            _extends({}, this.props, { glow: this.calcHandleGlow }),\n\t            React.createElement(ChromePicker, { color: parseValue(this.state.value), onChangeComplete: this.setValue })\n\t          )\n\t        )\n\t      );\n\t    }\n\t  }]);\n\t\n\t  return ColorPicker;\n\t}(Component);\n\t\n\tColorPicker.defaultProps = {\n\t  size: 225,\n\t  theme: light,\n\t  labelPosition: 'top'\n\t};\n\t\n\tColorPicker.propTypes = {\n\t  /**\n\t   * The ID used to identify the color picker in Dash callbacks\n\t   */\n\t  id: PropTypes.string,\n\t\n\t  /**\n\t   * Color value of the picker\n\t   */\n\t  value: PropTypes.shape({\n\t    /**\n\t     * Hex string\n\t     */\n\t    hex: PropTypes.string,\n\t\n\t    /**\n\t     * RGB/RGBA object\n\t     */\n\t    rbg: PropTypes.shape({\n\t      r: PropTypes.number,\n\t      g: PropTypes.number,\n\t      b: PropTypes.number,\n\t      a: PropTypes.number\n\t    })\n\t  }),\n\t\n\t  /**\n\t   * If true, color cannot be picked.\n\t   */\n\t  disabled: PropTypes.bool,\n\t\n\t  /**\n\t   * Size (width) of the component in pixels\n\t   */\n\t  size: PropTypes.number,\n\t\n\t  /**\n\t   * Theme configuration to be set by a ThemeProvider\n\t   */\n\t  theme: PropTypes.object,\n\t\n\t  /**\n\t   * Description to be displayed alongside the control. To control styling,\n\t   * pass an object with label and style properties\n\t   */\n\t  label: PropTypes.oneOfType([\n\t  /**\n\t   * Label to be displayed\n\t   */\n\t  PropTypes.string,\n\t\n\t  /**\n\t   * The style and label\n\t   */\n\t  PropTypes.shape({\n\t    style: PropTypes.object,\n\t    label: PropTypes.string\n\t  })]),\n\t\n\t  /**\n\t   * Where the indicator label is positioned\n\t   */\n\t  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\t\n\t  /**\n\t   * Class to apply to the root component element\n\t   */\n\t  className: PropTypes.string,\n\t\n\t  /**\n\t   * Dash-assigned callback that gets fired when\n\t   * the color picker's value changes\n\t   */\n\t  setProps: PropTypes.func,\n\t\n\t  /**\n\t   * Style to apply to the root component element\n\t   */\n\t  style: PropTypes.object\n\t};\n\t\n\texports.default = withTheme(ColorPicker);\n\n/***/ }),\n/* 25 */\n/*!*************************************!*\\\n  !*** ../~/react-color/lib/index.js ***!\n  \\*************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.CustomPicker = exports.TwitterPicker = exports.SwatchesPicker = exports.SliderPicker = exports.SketchPicker = exports.PhotoshopPicker = exports.MaterialPicker = exports.HuePicker = exports.GithubPicker = exports.CompactPicker = exports.ChromePicker = exports.default = exports.CirclePicker = exports.BlockPicker = exports.AlphaPicker = undefined;\n\t\n\tvar _Alpha = __webpack_require__(/*! ./components/alpha/Alpha */ 26);\n\t\n\tObject.defineProperty(exports, 'AlphaPicker', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Alpha).default;\n\t  }\n\t});\n\t\n\tvar _Block = __webpack_require__(/*! ./components/block/Block */ 319);\n\t\n\tObject.defineProperty(exports, 'BlockPicker', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Block).default;\n\t  }\n\t});\n\t\n\tvar _Circle = __webpack_require__(/*! ./components/circle/Circle */ 370);\n\t\n\tObject.defineProperty(exports, 'CirclePicker', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Circle).default;\n\t  }\n\t});\n\t\n\tvar _Chrome = __webpack_require__(/*! ./components/chrome/Chrome */ 373);\n\t\n\tObject.defineProperty(exports, 'ChromePicker', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Chrome).default;\n\t  }\n\t});\n\t\n\tvar _Compact = __webpack_require__(/*! ./components/compact/Compact */ 378);\n\t\n\tObject.defineProperty(exports, 'CompactPicker', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Compact).default;\n\t  }\n\t});\n\t\n\tvar _Github = __webpack_require__(/*! ./components/github/Github */ 381);\n\t\n\tObject.defineProperty(exports, 'GithubPicker', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Github).default;\n\t  }\n\t});\n\t\n\tvar _Hue = __webpack_require__(/*! ./components/hue/Hue */ 383);\n\t\n\tObject.defineProperty(exports, 'HuePicker', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Hue).default;\n\t  }\n\t});\n\t\n\tvar _Material = __webpack_require__(/*! ./components/material/Material */ 385);\n\t\n\tObject.defineProperty(exports, 'MaterialPicker', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Material).default;\n\t  }\n\t});\n\t\n\tvar _Photoshop = __webpack_require__(/*! ./components/photoshop/Photoshop */ 386);\n\t\n\tObject.defineProperty(exports, 'PhotoshopPicker', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Photoshop).default;\n\t  }\n\t});\n\t\n\tvar _Sketch = __webpack_require__(/*! ./components/sketch/Sketch */ 392);\n\t\n\tObject.defineProperty(exports, 'SketchPicker', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Sketch).default;\n\t  }\n\t});\n\t\n\tvar _Slider = __webpack_require__(/*! ./components/slider/Slider */ 395);\n\t\n\tObject.defineProperty(exports, 'SliderPicker', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Slider).default;\n\t  }\n\t});\n\t\n\tvar _Swatches = __webpack_require__(/*! ./components/swatches/Swatches */ 399);\n\t\n\tObject.defineProperty(exports, 'SwatchesPicker', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Swatches).default;\n\t  }\n\t});\n\t\n\tvar _Twitter = __webpack_require__(/*! ./components/twitter/Twitter */ 403);\n\t\n\tObject.defineProperty(exports, 'TwitterPicker', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Twitter).default;\n\t  }\n\t});\n\t\n\tvar _ColorWrap = __webpack_require__(/*! ./components/common/ColorWrap */ 303);\n\t\n\tObject.defineProperty(exports, 'CustomPicker', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_ColorWrap).default;\n\t  }\n\t});\n\t\n\tvar _Chrome2 = _interopRequireDefault(_Chrome);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = _Chrome2.default;\n\n/***/ }),\n/* 26 */\n/*!******************************************************!*\\\n  !*** ../~/react-color/lib/components/alpha/Alpha.js ***!\n  \\******************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.AlphaPicker = undefined;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _common = __webpack_require__(/*! ../common */ 191);\n\t\n\tvar _AlphaPointer = __webpack_require__(/*! ./AlphaPointer */ 318);\n\t\n\tvar _AlphaPointer2 = _interopRequireDefault(_AlphaPointer);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar AlphaPicker = exports.AlphaPicker = function AlphaPicker(_ref) {\n\t  var rgb = _ref.rgb,\n\t      hsl = _ref.hsl,\n\t      width = _ref.width,\n\t      height = _ref.height,\n\t      onChange = _ref.onChange,\n\t      direction = _ref.direction,\n\t      style = _ref.style,\n\t      renderers = _ref.renderers,\n\t      pointer = _ref.pointer,\n\t      _ref$className = _ref.className,\n\t      className = _ref$className === undefined ? '' : _ref$className;\n\t\n\t  var styles = (0, _reactcss2.default)({\n\t    'default': {\n\t      picker: {\n\t        position: 'relative',\n\t        width: width,\n\t        height: height\n\t      },\n\t      alpha: {\n\t        radius: '2px',\n\t        style: style\n\t      }\n\t    }\n\t  });\n\t\n\t  return _react2.default.createElement(\n\t    'div',\n\t    { style: styles.picker, className: 'alpha-picker ' + className },\n\t    _react2.default.createElement(_common.Alpha, _extends({}, styles.alpha, {\n\t      rgb: rgb,\n\t      hsl: hsl,\n\t      pointer: pointer,\n\t      renderers: renderers,\n\t      onChange: onChange,\n\t      direction: direction\n\t    }))\n\t  );\n\t};\n\t\n\tAlphaPicker.defaultProps = {\n\t  width: '316px',\n\t  height: '16px',\n\t  direction: 'horizontal',\n\t  pointer: _AlphaPointer2.default\n\t};\n\t\n\texports.default = (0, _common.ColorWrap)(AlphaPicker);\n\n/***/ }),\n/* 27 */\n/*!**********************************!*\\\n  !*** ../~/reactcss/lib/index.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.ReactCSS = exports.loop = exports.handleActive = exports.handleHover = exports.hover = undefined;\n\t\n\tvar _flattenNames = __webpack_require__(/*! ./flattenNames */ 28);\n\t\n\tvar _flattenNames2 = _interopRequireDefault(_flattenNames);\n\t\n\tvar _mergeClasses = __webpack_require__(/*! ./mergeClasses */ 155);\n\t\n\tvar _mergeClasses2 = _interopRequireDefault(_mergeClasses);\n\t\n\tvar _autoprefix = __webpack_require__(/*! ./autoprefix */ 187);\n\t\n\tvar _autoprefix2 = _interopRequireDefault(_autoprefix);\n\t\n\tvar _hover2 = __webpack_require__(/*! ./components/hover */ 188);\n\t\n\tvar _hover3 = _interopRequireDefault(_hover2);\n\t\n\tvar _active = __webpack_require__(/*! ./components/active */ 189);\n\t\n\tvar _active2 = _interopRequireDefault(_active);\n\t\n\tvar _loop2 = __webpack_require__(/*! ./loop */ 190);\n\t\n\tvar _loop3 = _interopRequireDefault(_loop2);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.hover = _hover3.default;\n\texports.handleHover = _hover3.default;\n\texports.handleActive = _active2.default;\n\texports.loop = _loop3.default;\n\tvar ReactCSS = exports.ReactCSS = function ReactCSS(classes) {\n\t  for (var _len = arguments.length, activations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n\t    activations[_key - 1] = arguments[_key];\n\t  }\n\t\n\t  var activeNames = (0, _flattenNames2.default)(activations);\n\t  var merged = (0, _mergeClasses2.default)(classes, activeNames);\n\t  return (0, _autoprefix2.default)(merged);\n\t};\n\t\n\texports.default = ReactCSS;\n\n/***/ }),\n/* 28 */\n/*!*****************************************!*\\\n  !*** ../~/reactcss/lib/flattenNames.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.flattenNames = undefined;\n\t\n\tvar _isString2 = __webpack_require__(/*! lodash/isString */ 29);\n\t\n\tvar _isString3 = _interopRequireDefault(_isString2);\n\t\n\tvar _forOwn2 = __webpack_require__(/*! lodash/forOwn */ 38);\n\t\n\tvar _forOwn3 = _interopRequireDefault(_forOwn2);\n\t\n\tvar _isPlainObject2 = __webpack_require__(/*! lodash/isPlainObject */ 64);\n\t\n\tvar _isPlainObject3 = _interopRequireDefault(_isPlainObject2);\n\t\n\tvar _map2 = __webpack_require__(/*! lodash/map */ 66);\n\t\n\tvar _map3 = _interopRequireDefault(_map2);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar flattenNames = exports.flattenNames = function flattenNames() {\n\t  var things = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\t\n\t  var names = [];\n\t\n\t  (0, _map3.default)(things, function (thing) {\n\t    if (Array.isArray(thing)) {\n\t      flattenNames(thing).map(function (name) {\n\t        return names.push(name);\n\t      });\n\t    } else if ((0, _isPlainObject3.default)(thing)) {\n\t      (0, _forOwn3.default)(thing, function (value, key) {\n\t        value === true && names.push(key);\n\t        names.push(key + '-' + value);\n\t      });\n\t    } else if ((0, _isString3.default)(thing)) {\n\t      names.push(thing);\n\t    }\n\t  });\n\t\n\t  return names;\n\t};\n\t\n\texports.default = flattenNames;\n\n/***/ }),\n/* 29 */\n/*!******************************************!*\\\n  !*** ../~/reactcss/~/lodash/isString.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseGetTag = __webpack_require__(/*! ./_baseGetTag */ 30),\n\t    isArray = __webpack_require__(/*! ./isArray */ 36),\n\t    isObjectLike = __webpack_require__(/*! ./isObjectLike */ 37);\n\t\n\t/** `Object#toString` result references. */\n\tvar stringTag = '[object String]';\n\t\n\t/**\n\t * Checks if `value` is classified as a `String` primitive or object.\n\t *\n\t * @static\n\t * @since 0.1.0\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n\t * @example\n\t *\n\t * _.isString('abc');\n\t * // => true\n\t *\n\t * _.isString(1);\n\t * // => false\n\t */\n\tfunction isString(value) {\n\t  return typeof value == 'string' ||\n\t    (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n\t}\n\t\n\tmodule.exports = isString;\n\n\n/***/ }),\n/* 30 */\n/*!*********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseGetTag.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar Symbol = __webpack_require__(/*! ./_Symbol */ 31),\n\t    getRawTag = __webpack_require__(/*! ./_getRawTag */ 34),\n\t    objectToString = __webpack_require__(/*! ./_objectToString */ 35);\n\t\n\t/** `Object#toString` result references. */\n\tvar nullTag = '[object Null]',\n\t    undefinedTag = '[object Undefined]';\n\t\n\t/** Built-in value references. */\n\tvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\t\n\t/**\n\t * The base implementation of `getTag` without fallbacks for buggy environments.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {string} Returns the `toStringTag`.\n\t */\n\tfunction baseGetTag(value) {\n\t  if (value == null) {\n\t    return value === undefined ? undefinedTag : nullTag;\n\t  }\n\t  return (symToStringTag && symToStringTag in Object(value))\n\t    ? getRawTag(value)\n\t    : objectToString(value);\n\t}\n\t\n\tmodule.exports = baseGetTag;\n\n\n/***/ }),\n/* 31 */\n/*!*****************************************!*\\\n  !*** ../~/reactcss/~/lodash/_Symbol.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar root = __webpack_require__(/*! ./_root */ 32);\n\t\n\t/** Built-in value references. */\n\tvar Symbol = root.Symbol;\n\t\n\tmodule.exports = Symbol;\n\n\n/***/ }),\n/* 32 */\n/*!***************************************!*\\\n  !*** ../~/reactcss/~/lodash/_root.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar freeGlobal = __webpack_require__(/*! ./_freeGlobal */ 33);\n\t\n\t/** Detect free variable `self`. */\n\tvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\t\n\t/** Used as a reference to the global object. */\n\tvar root = freeGlobal || freeSelf || Function('return this')();\n\t\n\tmodule.exports = root;\n\n\n/***/ }),\n/* 33 */\n/*!*********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_freeGlobal.js ***!\n  \\*********************************************/\n/***/ (function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */\n\tvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\t\n\tmodule.exports = freeGlobal;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ }),\n/* 34 */\n/*!********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_getRawTag.js ***!\n  \\********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar Symbol = __webpack_require__(/*! ./_Symbol */ 31);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar nativeObjectToString = objectProto.toString;\n\t\n\t/** Built-in value references. */\n\tvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\t\n\t/**\n\t * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {string} Returns the raw `toStringTag`.\n\t */\n\tfunction getRawTag(value) {\n\t  var isOwn = hasOwnProperty.call(value, symToStringTag),\n\t      tag = value[symToStringTag];\n\t\n\t  try {\n\t    value[symToStringTag] = undefined;\n\t    var unmasked = true;\n\t  } catch (e) {}\n\t\n\t  var result = nativeObjectToString.call(value);\n\t  if (unmasked) {\n\t    if (isOwn) {\n\t      value[symToStringTag] = tag;\n\t    } else {\n\t      delete value[symToStringTag];\n\t    }\n\t  }\n\t  return result;\n\t}\n\t\n\tmodule.exports = getRawTag;\n\n\n/***/ }),\n/* 35 */\n/*!*************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_objectToString.js ***!\n  \\*************************************************/\n/***/ (function(module, exports) {\n\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar nativeObjectToString = objectProto.toString;\n\t\n\t/**\n\t * Converts `value` to a string using `Object.prototype.toString`.\n\t *\n\t * @private\n\t * @param {*} value The value to convert.\n\t * @returns {string} Returns the converted string.\n\t */\n\tfunction objectToString(value) {\n\t  return nativeObjectToString.call(value);\n\t}\n\t\n\tmodule.exports = objectToString;\n\n\n/***/ }),\n/* 36 */\n/*!*****************************************!*\\\n  !*** ../~/reactcss/~/lodash/isArray.js ***!\n  \\*****************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(document.body.children);\n\t * // => false\n\t *\n\t * _.isArray('abc');\n\t * // => false\n\t *\n\t * _.isArray(_.noop);\n\t * // => false\n\t */\n\tvar isArray = Array.isArray;\n\t\n\tmodule.exports = isArray;\n\n\n/***/ }),\n/* 37 */\n/*!**********************************************!*\\\n  !*** ../~/reactcss/~/lodash/isObjectLike.js ***!\n  \\**********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like. A value is object-like if it's not `null`\n\t * and has a `typeof` result of \"object\".\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t * @example\n\t *\n\t * _.isObjectLike({});\n\t * // => true\n\t *\n\t * _.isObjectLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObjectLike(_.noop);\n\t * // => false\n\t *\n\t * _.isObjectLike(null);\n\t * // => false\n\t */\n\tfunction isObjectLike(value) {\n\t  return value != null && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ }),\n/* 38 */\n/*!****************************************!*\\\n  !*** ../~/reactcss/~/lodash/forOwn.js ***!\n  \\****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseForOwn = __webpack_require__(/*! ./_baseForOwn */ 39),\n\t    castFunction = __webpack_require__(/*! ./_castFunction */ 62);\n\t\n\t/**\n\t * Iterates over own enumerable string keyed properties of an object and\n\t * invokes `iteratee` for each property. The iteratee is invoked with three\n\t * arguments: (value, key, object). Iteratee functions may exit iteration\n\t * early by explicitly returning `false`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.3.0\n\t * @category Object\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t * @see _.forOwnRight\n\t * @example\n\t *\n\t * function Foo() {\n\t *   this.a = 1;\n\t *   this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.forOwn(new Foo, function(value, key) {\n\t *   console.log(key);\n\t * });\n\t * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n\t */\n\tfunction forOwn(object, iteratee) {\n\t  return object && baseForOwn(object, castFunction(iteratee));\n\t}\n\t\n\tmodule.exports = forOwn;\n\n\n/***/ }),\n/* 39 */\n/*!*********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseForOwn.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseFor = __webpack_require__(/*! ./_baseFor */ 40),\n\t    keys = __webpack_require__(/*! ./keys */ 42);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t  return object && baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n\n/***/ }),\n/* 40 */\n/*!******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseFor.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar createBaseFor = __webpack_require__(/*! ./_createBaseFor */ 41);\n\t\n\t/**\n\t * The base implementation of `baseForOwn` which iterates over `object`\n\t * properties returned by `keysFunc` and invokes `iteratee` for each property.\n\t * Iteratee functions may exit iteration early by explicitly returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n\n/***/ }),\n/* 41 */\n/*!************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_createBaseFor.js ***!\n  \\************************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t  return function(object, iteratee, keysFunc) {\n\t    var index = -1,\n\t        iterable = Object(object),\n\t        props = keysFunc(object),\n\t        length = props.length;\n\t\n\t    while (length--) {\n\t      var key = props[fromRight ? length : ++index];\n\t      if (iteratee(iterable[key], key, iterable) === false) {\n\t        break;\n\t      }\n\t    }\n\t    return object;\n\t  };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n\n/***/ }),\n/* 42 */\n/*!**************************************!*\\\n  !*** ../~/reactcss/~/lodash/keys.js ***!\n  \\**************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar arrayLikeKeys = __webpack_require__(/*! ./_arrayLikeKeys */ 43),\n\t    baseKeys = __webpack_require__(/*! ./_baseKeys */ 55),\n\t    isArrayLike = __webpack_require__(/*! ./isArrayLike */ 59);\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @since 0.1.0\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t *   this.a = 1;\n\t *   this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tfunction keys(object) {\n\t  return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n\t}\n\t\n\tmodule.exports = keys;\n\n\n/***/ }),\n/* 43 */\n/*!************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_arrayLikeKeys.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseTimes = __webpack_require__(/*! ./_baseTimes */ 44),\n\t    isArguments = __webpack_require__(/*! ./isArguments */ 45),\n\t    isArray = __webpack_require__(/*! ./isArray */ 36),\n\t    isBuffer = __webpack_require__(/*! ./isBuffer */ 47),\n\t    isIndex = __webpack_require__(/*! ./_isIndex */ 49),\n\t    isTypedArray = __webpack_require__(/*! ./isTypedArray */ 50);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the enumerable property names of the array-like `value`.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @param {boolean} inherited Specify returning inherited property names.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction arrayLikeKeys(value, inherited) {\n\t  var isArr = isArray(value),\n\t      isArg = !isArr && isArguments(value),\n\t      isBuff = !isArr && !isArg && isBuffer(value),\n\t      isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n\t      skipIndexes = isArr || isArg || isBuff || isType,\n\t      result = skipIndexes ? baseTimes(value.length, String) : [],\n\t      length = result.length;\n\t\n\t  for (var key in value) {\n\t    if ((inherited || hasOwnProperty.call(value, key)) &&\n\t        !(skipIndexes && (\n\t           // Safari 9 has enumerable `arguments.length` in strict mode.\n\t           key == 'length' ||\n\t           // Node.js 0.10 has enumerable non-index properties on buffers.\n\t           (isBuff && (key == 'offset' || key == 'parent')) ||\n\t           // PhantomJS 2 has enumerable non-index properties on typed arrays.\n\t           (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n\t           // Skip index properties.\n\t           isIndex(key, length)\n\t        ))) {\n\t      result.push(key);\n\t    }\n\t  }\n\t  return result;\n\t}\n\t\n\tmodule.exports = arrayLikeKeys;\n\n\n/***/ }),\n/* 44 */\n/*!********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseTimes.js ***!\n  \\********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.times` without support for iteratee shorthands\n\t * or max array length checks.\n\t *\n\t * @private\n\t * @param {number} n The number of times to invoke `iteratee`.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns the array of results.\n\t */\n\tfunction baseTimes(n, iteratee) {\n\t  var index = -1,\n\t      result = Array(n);\n\t\n\t  while (++index < n) {\n\t    result[index] = iteratee(index);\n\t  }\n\t  return result;\n\t}\n\t\n\tmodule.exports = baseTimes;\n\n\n/***/ }),\n/* 45 */\n/*!*********************************************!*\\\n  !*** ../~/reactcss/~/lodash/isArguments.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseIsArguments = __webpack_require__(/*! ./_baseIsArguments */ 46),\n\t    isObjectLike = __webpack_require__(/*! ./isObjectLike */ 37);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Built-in value references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is likely an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n\t *  else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n\t  return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n\t    !propertyIsEnumerable.call(value, 'callee');\n\t};\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ }),\n/* 46 */\n/*!**************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseIsArguments.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseGetTag = __webpack_require__(/*! ./_baseGetTag */ 30),\n\t    isObjectLike = __webpack_require__(/*! ./isObjectLike */ 37);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]';\n\t\n\t/**\n\t * The base implementation of `_.isArguments`.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n\t */\n\tfunction baseIsArguments(value) {\n\t  return isObjectLike(value) && baseGetTag(value) == argsTag;\n\t}\n\t\n\tmodule.exports = baseIsArguments;\n\n\n/***/ }),\n/* 47 */\n/*!******************************************!*\\\n  !*** ../~/reactcss/~/lodash/isBuffer.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(/*! ./_root */ 32),\n\t    stubFalse = __webpack_require__(/*! ./stubFalse */ 48);\n\t\n\t/** Detect free variable `exports`. */\n\tvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\t\n\t/** Detect free variable `module`. */\n\tvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\t\n\t/** Detect the popular CommonJS extension `module.exports`. */\n\tvar moduleExports = freeModule && freeModule.exports === freeExports;\n\t\n\t/** Built-in value references. */\n\tvar Buffer = moduleExports ? root.Buffer : undefined;\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\t\n\t/**\n\t * Checks if `value` is a buffer.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.3.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n\t * @example\n\t *\n\t * _.isBuffer(new Buffer(2));\n\t * // => true\n\t *\n\t * _.isBuffer(new Uint8Array(2));\n\t * // => false\n\t */\n\tvar isBuffer = nativeIsBuffer || stubFalse;\n\t\n\tmodule.exports = isBuffer;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(/*! ./../../../webpack/buildin/module.js */ 12)(module)))\n\n/***/ }),\n/* 48 */\n/*!*******************************************!*\\\n  !*** ../~/reactcss/~/lodash/stubFalse.js ***!\n  \\*******************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * This method returns `false`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.13.0\n\t * @category Util\n\t * @returns {boolean} Returns `false`.\n\t * @example\n\t *\n\t * _.times(2, _.stubFalse);\n\t * // => [false, false]\n\t */\n\tfunction stubFalse() {\n\t  return false;\n\t}\n\t\n\tmodule.exports = stubFalse;\n\n\n/***/ }),\n/* 49 */\n/*!******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_isIndex.js ***!\n  \\******************************************/\n/***/ (function(module, exports) {\n\n\t/** Used as references for various `Number` constants. */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t  var type = typeof value;\n\t  length = length == null ? MAX_SAFE_INTEGER : length;\n\t\n\t  return !!length &&\n\t    (type == 'number' ||\n\t      (type != 'symbol' && reIsUint.test(value))) &&\n\t        (value > -1 && value % 1 == 0 && value < length);\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ }),\n/* 50 */\n/*!**********************************************!*\\\n  !*** ../~/reactcss/~/lodash/isTypedArray.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseIsTypedArray = __webpack_require__(/*! ./_baseIsTypedArray */ 51),\n\t    baseUnary = __webpack_require__(/*! ./_baseUnary */ 53),\n\t    nodeUtil = __webpack_require__(/*! ./_nodeUtil */ 54);\n\t\n\t/* Node.js helper references. */\n\tvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 3.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ }),\n/* 51 */\n/*!***************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseIsTypedArray.js ***!\n  \\***************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseGetTag = __webpack_require__(/*! ./_baseGetTag */ 30),\n\t    isLength = __webpack_require__(/*! ./isLength */ 52),\n\t    isObjectLike = __webpack_require__(/*! ./isObjectLike */ 37);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t    arrayTag = '[object Array]',\n\t    boolTag = '[object Boolean]',\n\t    dateTag = '[object Date]',\n\t    errorTag = '[object Error]',\n\t    funcTag = '[object Function]',\n\t    mapTag = '[object Map]',\n\t    numberTag = '[object Number]',\n\t    objectTag = '[object Object]',\n\t    regexpTag = '[object RegExp]',\n\t    setTag = '[object Set]',\n\t    stringTag = '[object String]',\n\t    weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t    dataViewTag = '[object DataView]',\n\t    float32Tag = '[object Float32Array]',\n\t    float64Tag = '[object Float64Array]',\n\t    int8Tag = '[object Int8Array]',\n\t    int16Tag = '[object Int16Array]',\n\t    int32Tag = '[object Int32Array]',\n\t    uint8Tag = '[object Uint8Array]',\n\t    uint8ClampedTag = '[object Uint8ClampedArray]',\n\t    uint16Tag = '[object Uint16Array]',\n\t    uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\n\ttypedArrayTags[errorTag] = typedArrayTags[funcTag] =\n\ttypedArrayTags[mapTag] = typedArrayTags[numberTag] =\n\ttypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\n\ttypedArrayTags[setTag] = typedArrayTags[stringTag] =\n\ttypedArrayTags[weakMapTag] = false;\n\t\n\t/**\n\t * The base implementation of `_.isTypedArray` without Node.js optimizations.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n\t */\n\tfunction baseIsTypedArray(value) {\n\t  return isObjectLike(value) &&\n\t    isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n\t}\n\t\n\tmodule.exports = baseIsTypedArray;\n\n\n/***/ }),\n/* 52 */\n/*!******************************************!*\\\n  !*** ../~/reactcss/~/lodash/isLength.js ***!\n  \\******************************************/\n/***/ (function(module, exports) {\n\n\t/** Used as references for various `Number` constants. */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This method is loosely based on\n\t * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t * @example\n\t *\n\t * _.isLength(3);\n\t * // => true\n\t *\n\t * _.isLength(Number.MIN_VALUE);\n\t * // => false\n\t *\n\t * _.isLength(Infinity);\n\t * // => false\n\t *\n\t * _.isLength('3');\n\t * // => false\n\t */\n\tfunction isLength(value) {\n\t  return typeof value == 'number' &&\n\t    value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ }),\n/* 53 */\n/*!********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseUnary.js ***!\n  \\********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.unary` without support for storing metadata.\n\t *\n\t * @private\n\t * @param {Function} func The function to cap arguments for.\n\t * @returns {Function} Returns the new capped function.\n\t */\n\tfunction baseUnary(func) {\n\t  return function(value) {\n\t    return func(value);\n\t  };\n\t}\n\t\n\tmodule.exports = baseUnary;\n\n\n/***/ }),\n/* 54 */\n/*!*******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_nodeUtil.js ***!\n  \\*******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(/*! ./_freeGlobal */ 33);\n\t\n\t/** Detect free variable `exports`. */\n\tvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\t\n\t/** Detect free variable `module`. */\n\tvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\t\n\t/** Detect the popular CommonJS extension `module.exports`. */\n\tvar moduleExports = freeModule && freeModule.exports === freeExports;\n\t\n\t/** Detect free variable `process` from Node.js. */\n\tvar freeProcess = moduleExports && freeGlobal.process;\n\t\n\t/** Used to access faster Node.js helpers. */\n\tvar nodeUtil = (function() {\n\t  try {\n\t    // Use `util.types` for Node.js 10+.\n\t    var types = freeModule && freeModule.require && freeModule.require('util').types;\n\t\n\t    if (types) {\n\t      return types;\n\t    }\n\t\n\t    // Legacy `process.binding('util')` for Node.js < 10.\n\t    return freeProcess && freeProcess.binding && freeProcess.binding('util');\n\t  } catch (e) {}\n\t}());\n\t\n\tmodule.exports = nodeUtil;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(/*! ./../../../webpack/buildin/module.js */ 12)(module)))\n\n/***/ }),\n/* 55 */\n/*!*******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseKeys.js ***!\n  \\*******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isPrototype = __webpack_require__(/*! ./_isPrototype */ 56),\n\t    nativeKeys = __webpack_require__(/*! ./_nativeKeys */ 57);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction baseKeys(object) {\n\t  if (!isPrototype(object)) {\n\t    return nativeKeys(object);\n\t  }\n\t  var result = [];\n\t  for (var key in Object(object)) {\n\t    if (hasOwnProperty.call(object, key) && key != 'constructor') {\n\t      result.push(key);\n\t    }\n\t  }\n\t  return result;\n\t}\n\t\n\tmodule.exports = baseKeys;\n\n\n/***/ }),\n/* 56 */\n/*!**********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_isPrototype.js ***!\n  \\**********************************************/\n/***/ (function(module, exports) {\n\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Checks if `value` is likely a prototype object.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n\t */\n\tfunction isPrototype(value) {\n\t  var Ctor = value && value.constructor,\n\t      proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\t\n\t  return value === proto;\n\t}\n\t\n\tmodule.exports = isPrototype;\n\n\n/***/ }),\n/* 57 */\n/*!*********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_nativeKeys.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar overArg = __webpack_require__(/*! ./_overArg */ 58);\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = overArg(Object.keys, Object);\n\t\n\tmodule.exports = nativeKeys;\n\n\n/***/ }),\n/* 58 */\n/*!******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_overArg.js ***!\n  \\******************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Creates a unary function that invokes `func` with its argument transformed.\n\t *\n\t * @private\n\t * @param {Function} func The function to wrap.\n\t * @param {Function} transform The argument transform.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction overArg(func, transform) {\n\t  return function(arg) {\n\t    return func(transform(arg));\n\t  };\n\t}\n\t\n\tmodule.exports = overArg;\n\n\n/***/ }),\n/* 59 */\n/*!*********************************************!*\\\n  !*** ../~/reactcss/~/lodash/isArrayLike.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(/*! ./isFunction */ 60),\n\t    isLength = __webpack_require__(/*! ./isLength */ 52);\n\t\n\t/**\n\t * Checks if `value` is array-like. A value is considered array-like if it's\n\t * not a function and has a `value.length` that's an integer greater than or\n\t * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t * @example\n\t *\n\t * _.isArrayLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArrayLike(document.body.children);\n\t * // => true\n\t *\n\t * _.isArrayLike('abc');\n\t * // => true\n\t *\n\t * _.isArrayLike(_.noop);\n\t * // => false\n\t */\n\tfunction isArrayLike(value) {\n\t  return value != null && isLength(value.length) && !isFunction(value);\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ }),\n/* 60 */\n/*!********************************************!*\\\n  !*** ../~/reactcss/~/lodash/isFunction.js ***!\n  \\********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseGetTag = __webpack_require__(/*! ./_baseGetTag */ 30),\n\t    isObject = __webpack_require__(/*! ./isObject */ 61);\n\t\n\t/** `Object#toString` result references. */\n\tvar asyncTag = '[object AsyncFunction]',\n\t    funcTag = '[object Function]',\n\t    genTag = '[object GeneratorFunction]',\n\t    proxyTag = '[object Proxy]';\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t  if (!isObject(value)) {\n\t    return false;\n\t  }\n\t  // The use of `Object#toString` avoids issues with the `typeof` operator\n\t  // in Safari 9 which returns 'object' for typed arrays and other constructors.\n\t  var tag = baseGetTag(value);\n\t  return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ }),\n/* 61 */\n/*!******************************************!*\\\n  !*** ../~/reactcss/~/lodash/isObject.js ***!\n  \\******************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the\n\t * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n\t * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(_.noop);\n\t * // => true\n\t *\n\t * _.isObject(null);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t  var type = typeof value;\n\t  return value != null && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ }),\n/* 62 */\n/*!***********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_castFunction.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(/*! ./identity */ 63);\n\t\n\t/**\n\t * Casts `value` to `identity` if it's not a function.\n\t *\n\t * @private\n\t * @param {*} value The value to inspect.\n\t * @returns {Function} Returns cast function.\n\t */\n\tfunction castFunction(value) {\n\t  return typeof value == 'function' ? value : identity;\n\t}\n\t\n\tmodule.exports = castFunction;\n\n\n/***/ }),\n/* 63 */\n/*!******************************************!*\\\n  !*** ../~/reactcss/~/lodash/identity.js ***!\n  \\******************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * This method returns the first argument it receives.\n\t *\n\t * @static\n\t * @since 0.1.0\n\t * @memberOf _\n\t * @category Util\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'a': 1 };\n\t *\n\t * console.log(_.identity(object) === object);\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t  return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ }),\n/* 64 */\n/*!***********************************************!*\\\n  !*** ../~/reactcss/~/lodash/isPlainObject.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseGetTag = __webpack_require__(/*! ./_baseGetTag */ 30),\n\t    getPrototype = __webpack_require__(/*! ./_getPrototype */ 65),\n\t    isObjectLike = __webpack_require__(/*! ./isObjectLike */ 37);\n\t\n\t/** `Object#toString` result references. */\n\tvar objectTag = '[object Object]';\n\t\n\t/** Used for built-in method references. */\n\tvar funcProto = Function.prototype,\n\t    objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = funcProto.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to infer the `Object` constructor. */\n\tvar objectCtorString = funcToString.call(Object);\n\t\n\t/**\n\t * Checks if `value` is a plain object, that is, an object created by the\n\t * `Object` constructor or one with a `[[Prototype]]` of `null`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.8.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n\t * @example\n\t *\n\t * function Foo() {\n\t *   this.a = 1;\n\t * }\n\t *\n\t * _.isPlainObject(new Foo);\n\t * // => false\n\t *\n\t * _.isPlainObject([1, 2, 3]);\n\t * // => false\n\t *\n\t * _.isPlainObject({ 'x': 0, 'y': 0 });\n\t * // => true\n\t *\n\t * _.isPlainObject(Object.create(null));\n\t * // => true\n\t */\n\tfunction isPlainObject(value) {\n\t  if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n\t    return false;\n\t  }\n\t  var proto = getPrototype(value);\n\t  if (proto === null) {\n\t    return true;\n\t  }\n\t  var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n\t  return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n\t    funcToString.call(Ctor) == objectCtorString;\n\t}\n\t\n\tmodule.exports = isPlainObject;\n\n\n/***/ }),\n/* 65 */\n/*!***********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_getPrototype.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar overArg = __webpack_require__(/*! ./_overArg */ 58);\n\t\n\t/** Built-in value references. */\n\tvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\t\n\tmodule.exports = getPrototype;\n\n\n/***/ }),\n/* 66 */\n/*!*************************************!*\\\n  !*** ../~/reactcss/~/lodash/map.js ***!\n  \\*************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar arrayMap = __webpack_require__(/*! ./_arrayMap */ 67),\n\t    baseIteratee = __webpack_require__(/*! ./_baseIteratee */ 68),\n\t    baseMap = __webpack_require__(/*! ./_baseMap */ 152),\n\t    isArray = __webpack_require__(/*! ./isArray */ 36);\n\t\n\t/**\n\t * Creates an array of values by running each element in `collection` thru\n\t * `iteratee`. The iteratee is invoked with three arguments:\n\t * (value, index|key, collection).\n\t *\n\t * Many lodash methods are guarded to work as iteratees for methods like\n\t * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n\t *\n\t * The guarded methods are:\n\t * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n\t * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n\t * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n\t * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Collection\n\t * @param {Array|Object} collection The collection to iterate over.\n\t * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n\t * @returns {Array} Returns the new mapped array.\n\t * @example\n\t *\n\t * function square(n) {\n\t *   return n * n;\n\t * }\n\t *\n\t * _.map([4, 8], square);\n\t * // => [16, 64]\n\t *\n\t * _.map({ 'a': 4, 'b': 8 }, square);\n\t * // => [16, 64] (iteration order is not guaranteed)\n\t *\n\t * var users = [\n\t *   { 'user': 'barney' },\n\t *   { 'user': 'fred' }\n\t * ];\n\t *\n\t * // The `_.property` iteratee shorthand.\n\t * _.map(users, 'user');\n\t * // => ['barney', 'fred']\n\t */\n\tfunction map(collection, iteratee) {\n\t  var func = isArray(collection) ? arrayMap : baseMap;\n\t  return func(collection, baseIteratee(iteratee, 3));\n\t}\n\t\n\tmodule.exports = map;\n\n\n/***/ }),\n/* 67 */\n/*!*******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_arrayMap.js ***!\n  \\*******************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.map` for arrays without support for iteratee\n\t * shorthands.\n\t *\n\t * @private\n\t * @param {Array} [array] The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns the new mapped array.\n\t */\n\tfunction arrayMap(array, iteratee) {\n\t  var index = -1,\n\t      length = array == null ? 0 : array.length,\n\t      result = Array(length);\n\t\n\t  while (++index < length) {\n\t    result[index] = iteratee(array[index], index, array);\n\t  }\n\t  return result;\n\t}\n\t\n\tmodule.exports = arrayMap;\n\n\n/***/ }),\n/* 68 */\n/*!***********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseIteratee.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseMatches = __webpack_require__(/*! ./_baseMatches */ 69),\n\t    baseMatchesProperty = __webpack_require__(/*! ./_baseMatchesProperty */ 134),\n\t    identity = __webpack_require__(/*! ./identity */ 63),\n\t    isArray = __webpack_require__(/*! ./isArray */ 36),\n\t    property = __webpack_require__(/*! ./property */ 149);\n\t\n\t/**\n\t * The base implementation of `_.iteratee`.\n\t *\n\t * @private\n\t * @param {*} [value=_.identity] The value to convert to an iteratee.\n\t * @returns {Function} Returns the iteratee.\n\t */\n\tfunction baseIteratee(value) {\n\t  // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n\t  // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n\t  if (typeof value == 'function') {\n\t    return value;\n\t  }\n\t  if (value == null) {\n\t    return identity;\n\t  }\n\t  if (typeof value == 'object') {\n\t    return isArray(value)\n\t      ? baseMatchesProperty(value[0], value[1])\n\t      : baseMatches(value);\n\t  }\n\t  return property(value);\n\t}\n\t\n\tmodule.exports = baseIteratee;\n\n\n/***/ }),\n/* 69 */\n/*!**********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseMatches.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseIsMatch = __webpack_require__(/*! ./_baseIsMatch */ 70),\n\t    getMatchData = __webpack_require__(/*! ./_getMatchData */ 131),\n\t    matchesStrictComparable = __webpack_require__(/*! ./_matchesStrictComparable */ 133);\n\t\n\t/**\n\t * The base implementation of `_.matches` which doesn't clone `source`.\n\t *\n\t * @private\n\t * @param {Object} source The object of property values to match.\n\t * @returns {Function} Returns the new spec function.\n\t */\n\tfunction baseMatches(source) {\n\t  var matchData = getMatchData(source);\n\t  if (matchData.length == 1 && matchData[0][2]) {\n\t    return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n\t  }\n\t  return function(object) {\n\t    return object === source || baseIsMatch(object, source, matchData);\n\t  };\n\t}\n\t\n\tmodule.exports = baseMatches;\n\n\n/***/ }),\n/* 70 */\n/*!**********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseIsMatch.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar Stack = __webpack_require__(/*! ./_Stack */ 71),\n\t    baseIsEqual = __webpack_require__(/*! ./_baseIsEqual */ 107);\n\t\n\t/** Used to compose bitmasks for value comparisons. */\n\tvar COMPARE_PARTIAL_FLAG = 1,\n\t    COMPARE_UNORDERED_FLAG = 2;\n\t\n\t/**\n\t * The base implementation of `_.isMatch` without support for iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Object} object The object to inspect.\n\t * @param {Object} source The object of property values to match.\n\t * @param {Array} matchData The property names, values, and compare flags to match.\n\t * @param {Function} [customizer] The function to customize comparisons.\n\t * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n\t */\n\tfunction baseIsMatch(object, source, matchData, customizer) {\n\t  var index = matchData.length,\n\t      length = index,\n\t      noCustomizer = !customizer;\n\t\n\t  if (object == null) {\n\t    return !length;\n\t  }\n\t  object = Object(object);\n\t  while (index--) {\n\t    var data = matchData[index];\n\t    if ((noCustomizer && data[2])\n\t          ? data[1] !== object[data[0]]\n\t          : !(data[0] in object)\n\t        ) {\n\t      return false;\n\t    }\n\t  }\n\t  while (++index < length) {\n\t    data = matchData[index];\n\t    var key = data[0],\n\t        objValue = object[key],\n\t        srcValue = data[1];\n\t\n\t    if (noCustomizer && data[2]) {\n\t      if (objValue === undefined && !(key in object)) {\n\t        return false;\n\t      }\n\t    } else {\n\t      var stack = new Stack;\n\t      if (customizer) {\n\t        var result = customizer(objValue, srcValue, key, object, source, stack);\n\t      }\n\t      if (!(result === undefined\n\t            ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n\t            : result\n\t          )) {\n\t        return false;\n\t      }\n\t    }\n\t  }\n\t  return true;\n\t}\n\t\n\tmodule.exports = baseIsMatch;\n\n\n/***/ }),\n/* 71 */\n/*!****************************************!*\\\n  !*** ../~/reactcss/~/lodash/_Stack.js ***!\n  \\****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar ListCache = __webpack_require__(/*! ./_ListCache */ 72),\n\t    stackClear = __webpack_require__(/*! ./_stackClear */ 80),\n\t    stackDelete = __webpack_require__(/*! ./_stackDelete */ 81),\n\t    stackGet = __webpack_require__(/*! ./_stackGet */ 82),\n\t    stackHas = __webpack_require__(/*! ./_stackHas */ 83),\n\t    stackSet = __webpack_require__(/*! ./_stackSet */ 84);\n\t\n\t/**\n\t * Creates a stack cache object to store key-value pairs.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction Stack(entries) {\n\t  var data = this.__data__ = new ListCache(entries);\n\t  this.size = data.size;\n\t}\n\t\n\t// Add methods to `Stack`.\n\tStack.prototype.clear = stackClear;\n\tStack.prototype['delete'] = stackDelete;\n\tStack.prototype.get = stackGet;\n\tStack.prototype.has = stackHas;\n\tStack.prototype.set = stackSet;\n\t\n\tmodule.exports = Stack;\n\n\n/***/ }),\n/* 72 */\n/*!********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_ListCache.js ***!\n  \\********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar listCacheClear = __webpack_require__(/*! ./_listCacheClear */ 73),\n\t    listCacheDelete = __webpack_require__(/*! ./_listCacheDelete */ 74),\n\t    listCacheGet = __webpack_require__(/*! ./_listCacheGet */ 77),\n\t    listCacheHas = __webpack_require__(/*! ./_listCacheHas */ 78),\n\t    listCacheSet = __webpack_require__(/*! ./_listCacheSet */ 79);\n\t\n\t/**\n\t * Creates an list cache object.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction ListCache(entries) {\n\t  var index = -1,\n\t      length = entries == null ? 0 : entries.length;\n\t\n\t  this.clear();\n\t  while (++index < length) {\n\t    var entry = entries[index];\n\t    this.set(entry[0], entry[1]);\n\t  }\n\t}\n\t\n\t// Add methods to `ListCache`.\n\tListCache.prototype.clear = listCacheClear;\n\tListCache.prototype['delete'] = listCacheDelete;\n\tListCache.prototype.get = listCacheGet;\n\tListCache.prototype.has = listCacheHas;\n\tListCache.prototype.set = listCacheSet;\n\t\n\tmodule.exports = ListCache;\n\n\n/***/ }),\n/* 73 */\n/*!*************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_listCacheClear.js ***!\n  \\*************************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Removes all key-value entries from the list cache.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf ListCache\n\t */\n\tfunction listCacheClear() {\n\t  this.__data__ = [];\n\t  this.size = 0;\n\t}\n\t\n\tmodule.exports = listCacheClear;\n\n\n/***/ }),\n/* 74 */\n/*!**************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_listCacheDelete.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ 75);\n\t\n\t/** Used for built-in method references. */\n\tvar arrayProto = Array.prototype;\n\t\n\t/** Built-in value references. */\n\tvar splice = arrayProto.splice;\n\t\n\t/**\n\t * Removes `key` and its value from the list cache.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction listCacheDelete(key) {\n\t  var data = this.__data__,\n\t      index = assocIndexOf(data, key);\n\t\n\t  if (index < 0) {\n\t    return false;\n\t  }\n\t  var lastIndex = data.length - 1;\n\t  if (index == lastIndex) {\n\t    data.pop();\n\t  } else {\n\t    splice.call(data, index, 1);\n\t  }\n\t  --this.size;\n\t  return true;\n\t}\n\t\n\tmodule.exports = listCacheDelete;\n\n\n/***/ }),\n/* 75 */\n/*!***********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_assocIndexOf.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar eq = __webpack_require__(/*! ./eq */ 76);\n\t\n\t/**\n\t * Gets the index at which the `key` is found in `array` of key-value pairs.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {*} key The key to search for.\n\t * @returns {number} Returns the index of the matched value, else `-1`.\n\t */\n\tfunction assocIndexOf(array, key) {\n\t  var length = array.length;\n\t  while (length--) {\n\t    if (eq(array[length][0], key)) {\n\t      return length;\n\t    }\n\t  }\n\t  return -1;\n\t}\n\t\n\tmodule.exports = assocIndexOf;\n\n\n/***/ }),\n/* 76 */\n/*!************************************!*\\\n  !*** ../~/reactcss/~/lodash/eq.js ***!\n  \\************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Performs a\n\t * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n\t * comparison between two values to determine if they are equivalent.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'a': 1 };\n\t * var other = { 'a': 1 };\n\t *\n\t * _.eq(object, object);\n\t * // => true\n\t *\n\t * _.eq(object, other);\n\t * // => false\n\t *\n\t * _.eq('a', 'a');\n\t * // => true\n\t *\n\t * _.eq('a', Object('a'));\n\t * // => false\n\t *\n\t * _.eq(NaN, NaN);\n\t * // => true\n\t */\n\tfunction eq(value, other) {\n\t  return value === other || (value !== value && other !== other);\n\t}\n\t\n\tmodule.exports = eq;\n\n\n/***/ }),\n/* 77 */\n/*!***********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_listCacheGet.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ 75);\n\t\n\t/**\n\t * Gets the list cache value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction listCacheGet(key) {\n\t  var data = this.__data__,\n\t      index = assocIndexOf(data, key);\n\t\n\t  return index < 0 ? undefined : data[index][1];\n\t}\n\t\n\tmodule.exports = listCacheGet;\n\n\n/***/ }),\n/* 78 */\n/*!***********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_listCacheHas.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ 75);\n\t\n\t/**\n\t * Checks if a list cache value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf ListCache\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction listCacheHas(key) {\n\t  return assocIndexOf(this.__data__, key) > -1;\n\t}\n\t\n\tmodule.exports = listCacheHas;\n\n\n/***/ }),\n/* 79 */\n/*!***********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_listCacheSet.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ 75);\n\t\n\t/**\n\t * Sets the list cache `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the list cache instance.\n\t */\n\tfunction listCacheSet(key, value) {\n\t  var data = this.__data__,\n\t      index = assocIndexOf(data, key);\n\t\n\t  if (index < 0) {\n\t    ++this.size;\n\t    data.push([key, value]);\n\t  } else {\n\t    data[index][1] = value;\n\t  }\n\t  return this;\n\t}\n\t\n\tmodule.exports = listCacheSet;\n\n\n/***/ }),\n/* 80 */\n/*!*********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_stackClear.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar ListCache = __webpack_require__(/*! ./_ListCache */ 72);\n\t\n\t/**\n\t * Removes all key-value entries from the stack.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf Stack\n\t */\n\tfunction stackClear() {\n\t  this.__data__ = new ListCache;\n\t  this.size = 0;\n\t}\n\t\n\tmodule.exports = stackClear;\n\n\n/***/ }),\n/* 81 */\n/*!**********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_stackDelete.js ***!\n  \\**********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Removes `key` and its value from the stack.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf Stack\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction stackDelete(key) {\n\t  var data = this.__data__,\n\t      result = data['delete'](key);\n\t\n\t  this.size = data.size;\n\t  return result;\n\t}\n\t\n\tmodule.exports = stackDelete;\n\n\n/***/ }),\n/* 82 */\n/*!*******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_stackGet.js ***!\n  \\*******************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Gets the stack value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf Stack\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction stackGet(key) {\n\t  return this.__data__.get(key);\n\t}\n\t\n\tmodule.exports = stackGet;\n\n\n/***/ }),\n/* 83 */\n/*!*******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_stackHas.js ***!\n  \\*******************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Checks if a stack value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf Stack\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction stackHas(key) {\n\t  return this.__data__.has(key);\n\t}\n\t\n\tmodule.exports = stackHas;\n\n\n/***/ }),\n/* 84 */\n/*!*******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_stackSet.js ***!\n  \\*******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar ListCache = __webpack_require__(/*! ./_ListCache */ 72),\n\t    Map = __webpack_require__(/*! ./_Map */ 85),\n\t    MapCache = __webpack_require__(/*! ./_MapCache */ 92);\n\t\n\t/** Used as the size to enable large array optimizations. */\n\tvar LARGE_ARRAY_SIZE = 200;\n\t\n\t/**\n\t * Sets the stack `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf Stack\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the stack cache instance.\n\t */\n\tfunction stackSet(key, value) {\n\t  var data = this.__data__;\n\t  if (data instanceof ListCache) {\n\t    var pairs = data.__data__;\n\t    if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n\t      pairs.push([key, value]);\n\t      this.size = ++data.size;\n\t      return this;\n\t    }\n\t    data = this.__data__ = new MapCache(pairs);\n\t  }\n\t  data.set(key, value);\n\t  this.size = data.size;\n\t  return this;\n\t}\n\t\n\tmodule.exports = stackSet;\n\n\n/***/ }),\n/* 85 */\n/*!**************************************!*\\\n  !*** ../~/reactcss/~/lodash/_Map.js ***!\n  \\**************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(/*! ./_getNative */ 86),\n\t    root = __webpack_require__(/*! ./_root */ 32);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar Map = getNative(root, 'Map');\n\t\n\tmodule.exports = Map;\n\n\n/***/ }),\n/* 86 */\n/*!********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_getNative.js ***!\n  \\********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseIsNative = __webpack_require__(/*! ./_baseIsNative */ 87),\n\t    getValue = __webpack_require__(/*! ./_getValue */ 91);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t  var value = getValue(object, key);\n\t  return baseIsNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ }),\n/* 87 */\n/*!***********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseIsNative.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(/*! ./isFunction */ 60),\n\t    isMasked = __webpack_require__(/*! ./_isMasked */ 88),\n\t    isObject = __webpack_require__(/*! ./isObject */ 61),\n\t    toSource = __webpack_require__(/*! ./_toSource */ 90);\n\t\n\t/**\n\t * Used to match `RegExp`\n\t * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n\t */\n\tvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\t\n\t/** Used to detect host constructors (Safari). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for built-in method references. */\n\tvar funcProto = Function.prototype,\n\t    objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = funcProto.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t  funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n\t  .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * The base implementation of `_.isNative` without bad shim checks.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function,\n\t *  else `false`.\n\t */\n\tfunction baseIsNative(value) {\n\t  if (!isObject(value) || isMasked(value)) {\n\t    return false;\n\t  }\n\t  var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n\t  return pattern.test(toSource(value));\n\t}\n\t\n\tmodule.exports = baseIsNative;\n\n\n/***/ }),\n/* 88 */\n/*!*******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_isMasked.js ***!\n  \\*******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar coreJsData = __webpack_require__(/*! ./_coreJsData */ 89);\n\t\n\t/** Used to detect methods masquerading as native. */\n\tvar maskSrcKey = (function() {\n\t  var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n\t  return uid ? ('Symbol(src)_1.' + uid) : '';\n\t}());\n\t\n\t/**\n\t * Checks if `func` has its source masked.\n\t *\n\t * @private\n\t * @param {Function} func The function to check.\n\t * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n\t */\n\tfunction isMasked(func) {\n\t  return !!maskSrcKey && (maskSrcKey in func);\n\t}\n\t\n\tmodule.exports = isMasked;\n\n\n/***/ }),\n/* 89 */\n/*!*********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_coreJsData.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar root = __webpack_require__(/*! ./_root */ 32);\n\t\n\t/** Used to detect overreaching core-js shims. */\n\tvar coreJsData = root['__core-js_shared__'];\n\t\n\tmodule.exports = coreJsData;\n\n\n/***/ }),\n/* 90 */\n/*!*******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_toSource.js ***!\n  \\*******************************************/\n/***/ (function(module, exports) {\n\n\t/** Used for built-in method references. */\n\tvar funcProto = Function.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = funcProto.toString;\n\t\n\t/**\n\t * Converts `func` to its source code.\n\t *\n\t * @private\n\t * @param {Function} func The function to convert.\n\t * @returns {string} Returns the source code.\n\t */\n\tfunction toSource(func) {\n\t  if (func != null) {\n\t    try {\n\t      return funcToString.call(func);\n\t    } catch (e) {}\n\t    try {\n\t      return (func + '');\n\t    } catch (e) {}\n\t  }\n\t  return '';\n\t}\n\t\n\tmodule.exports = toSource;\n\n\n/***/ }),\n/* 91 */\n/*!*******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_getValue.js ***!\n  \\*******************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Gets the value at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} [object] The object to query.\n\t * @param {string} key The key of the property to get.\n\t * @returns {*} Returns the property value.\n\t */\n\tfunction getValue(object, key) {\n\t  return object == null ? undefined : object[key];\n\t}\n\t\n\tmodule.exports = getValue;\n\n\n/***/ }),\n/* 92 */\n/*!*******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_MapCache.js ***!\n  \\*******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar mapCacheClear = __webpack_require__(/*! ./_mapCacheClear */ 93),\n\t    mapCacheDelete = __webpack_require__(/*! ./_mapCacheDelete */ 101),\n\t    mapCacheGet = __webpack_require__(/*! ./_mapCacheGet */ 104),\n\t    mapCacheHas = __webpack_require__(/*! ./_mapCacheHas */ 105),\n\t    mapCacheSet = __webpack_require__(/*! ./_mapCacheSet */ 106);\n\t\n\t/**\n\t * Creates a map cache object to store key-value pairs.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction MapCache(entries) {\n\t  var index = -1,\n\t      length = entries == null ? 0 : entries.length;\n\t\n\t  this.clear();\n\t  while (++index < length) {\n\t    var entry = entries[index];\n\t    this.set(entry[0], entry[1]);\n\t  }\n\t}\n\t\n\t// Add methods to `MapCache`.\n\tMapCache.prototype.clear = mapCacheClear;\n\tMapCache.prototype['delete'] = mapCacheDelete;\n\tMapCache.prototype.get = mapCacheGet;\n\tMapCache.prototype.has = mapCacheHas;\n\tMapCache.prototype.set = mapCacheSet;\n\t\n\tmodule.exports = MapCache;\n\n\n/***/ }),\n/* 93 */\n/*!************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_mapCacheClear.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar Hash = __webpack_require__(/*! ./_Hash */ 94),\n\t    ListCache = __webpack_require__(/*! ./_ListCache */ 72),\n\t    Map = __webpack_require__(/*! ./_Map */ 85);\n\t\n\t/**\n\t * Removes all key-value entries from the map.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf MapCache\n\t */\n\tfunction mapCacheClear() {\n\t  this.size = 0;\n\t  this.__data__ = {\n\t    'hash': new Hash,\n\t    'map': new (Map || ListCache),\n\t    'string': new Hash\n\t  };\n\t}\n\t\n\tmodule.exports = mapCacheClear;\n\n\n/***/ }),\n/* 94 */\n/*!***************************************!*\\\n  !*** ../~/reactcss/~/lodash/_Hash.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar hashClear = __webpack_require__(/*! ./_hashClear */ 95),\n\t    hashDelete = __webpack_require__(/*! ./_hashDelete */ 97),\n\t    hashGet = __webpack_require__(/*! ./_hashGet */ 98),\n\t    hashHas = __webpack_require__(/*! ./_hashHas */ 99),\n\t    hashSet = __webpack_require__(/*! ./_hashSet */ 100);\n\t\n\t/**\n\t * Creates a hash object.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction Hash(entries) {\n\t  var index = -1,\n\t      length = entries == null ? 0 : entries.length;\n\t\n\t  this.clear();\n\t  while (++index < length) {\n\t    var entry = entries[index];\n\t    this.set(entry[0], entry[1]);\n\t  }\n\t}\n\t\n\t// Add methods to `Hash`.\n\tHash.prototype.clear = hashClear;\n\tHash.prototype['delete'] = hashDelete;\n\tHash.prototype.get = hashGet;\n\tHash.prototype.has = hashHas;\n\tHash.prototype.set = hashSet;\n\t\n\tmodule.exports = Hash;\n\n\n/***/ }),\n/* 95 */\n/*!********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_hashClear.js ***!\n  \\********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(/*! ./_nativeCreate */ 96);\n\t\n\t/**\n\t * Removes all key-value entries from the hash.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf Hash\n\t */\n\tfunction hashClear() {\n\t  this.__data__ = nativeCreate ? nativeCreate(null) : {};\n\t  this.size = 0;\n\t}\n\t\n\tmodule.exports = hashClear;\n\n\n/***/ }),\n/* 96 */\n/*!***********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_nativeCreate.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(/*! ./_getNative */ 86);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar nativeCreate = getNative(Object, 'create');\n\t\n\tmodule.exports = nativeCreate;\n\n\n/***/ }),\n/* 97 */\n/*!*********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_hashDelete.js ***!\n  \\*********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Removes `key` and its value from the hash.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf Hash\n\t * @param {Object} hash The hash to modify.\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction hashDelete(key) {\n\t  var result = this.has(key) && delete this.__data__[key];\n\t  this.size -= result ? 1 : 0;\n\t  return result;\n\t}\n\t\n\tmodule.exports = hashDelete;\n\n\n/***/ }),\n/* 98 */\n/*!******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_hashGet.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(/*! ./_nativeCreate */ 96);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Gets the hash value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf Hash\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction hashGet(key) {\n\t  var data = this.__data__;\n\t  if (nativeCreate) {\n\t    var result = data[key];\n\t    return result === HASH_UNDEFINED ? undefined : result;\n\t  }\n\t  return hasOwnProperty.call(data, key) ? data[key] : undefined;\n\t}\n\t\n\tmodule.exports = hashGet;\n\n\n/***/ }),\n/* 99 */\n/*!******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_hashHas.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(/*! ./_nativeCreate */ 96);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Checks if a hash value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf Hash\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction hashHas(key) {\n\t  var data = this.__data__;\n\t  return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n\t}\n\t\n\tmodule.exports = hashHas;\n\n\n/***/ }),\n/* 100 */\n/*!******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_hashSet.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(/*! ./_nativeCreate */ 96);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Sets the hash `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf Hash\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the hash instance.\n\t */\n\tfunction hashSet(key, value) {\n\t  var data = this.__data__;\n\t  this.size += this.has(key) ? 0 : 1;\n\t  data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n\t  return this;\n\t}\n\t\n\tmodule.exports = hashSet;\n\n\n/***/ }),\n/* 101 */\n/*!*************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_mapCacheDelete.js ***!\n  \\*************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getMapData = __webpack_require__(/*! ./_getMapData */ 102);\n\t\n\t/**\n\t * Removes `key` and its value from the map.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction mapCacheDelete(key) {\n\t  var result = getMapData(this, key)['delete'](key);\n\t  this.size -= result ? 1 : 0;\n\t  return result;\n\t}\n\t\n\tmodule.exports = mapCacheDelete;\n\n\n/***/ }),\n/* 102 */\n/*!*********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_getMapData.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isKeyable = __webpack_require__(/*! ./_isKeyable */ 103);\n\t\n\t/**\n\t * Gets the data for `map`.\n\t *\n\t * @private\n\t * @param {Object} map The map to query.\n\t * @param {string} key The reference key.\n\t * @returns {*} Returns the map data.\n\t */\n\tfunction getMapData(map, key) {\n\t  var data = map.__data__;\n\t  return isKeyable(key)\n\t    ? data[typeof key == 'string' ? 'string' : 'hash']\n\t    : data.map;\n\t}\n\t\n\tmodule.exports = getMapData;\n\n\n/***/ }),\n/* 103 */\n/*!********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_isKeyable.js ***!\n  \\********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Checks if `value` is suitable for use as unique object key.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n\t */\n\tfunction isKeyable(value) {\n\t  var type = typeof value;\n\t  return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n\t    ? (value !== '__proto__')\n\t    : (value === null);\n\t}\n\t\n\tmodule.exports = isKeyable;\n\n\n/***/ }),\n/* 104 */\n/*!**********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_mapCacheGet.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getMapData = __webpack_require__(/*! ./_getMapData */ 102);\n\t\n\t/**\n\t * Gets the map value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction mapCacheGet(key) {\n\t  return getMapData(this, key).get(key);\n\t}\n\t\n\tmodule.exports = mapCacheGet;\n\n\n/***/ }),\n/* 105 */\n/*!**********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_mapCacheHas.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getMapData = __webpack_require__(/*! ./_getMapData */ 102);\n\t\n\t/**\n\t * Checks if a map value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf MapCache\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction mapCacheHas(key) {\n\t  return getMapData(this, key).has(key);\n\t}\n\t\n\tmodule.exports = mapCacheHas;\n\n\n/***/ }),\n/* 106 */\n/*!**********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_mapCacheSet.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getMapData = __webpack_require__(/*! ./_getMapData */ 102);\n\t\n\t/**\n\t * Sets the map `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the map cache instance.\n\t */\n\tfunction mapCacheSet(key, value) {\n\t  var data = getMapData(this, key),\n\t      size = data.size;\n\t\n\t  data.set(key, value);\n\t  this.size += data.size == size ? 0 : 1;\n\t  return this;\n\t}\n\t\n\tmodule.exports = mapCacheSet;\n\n\n/***/ }),\n/* 107 */\n/*!**********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseIsEqual.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqualDeep = __webpack_require__(/*! ./_baseIsEqualDeep */ 108),\n\t    isObjectLike = __webpack_require__(/*! ./isObjectLike */ 37);\n\t\n\t/**\n\t * The base implementation of `_.isEqual` which supports partial comparisons\n\t * and tracks traversed objects.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {boolean} bitmask The bitmask flags.\n\t *  1 - Unordered comparison\n\t *  2 - Partial comparison\n\t * @param {Function} [customizer] The function to customize comparisons.\n\t * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n\t  if (value === other) {\n\t    return true;\n\t  }\n\t  if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n\t    return value !== value && other !== other;\n\t  }\n\t  return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ }),\n/* 108 */\n/*!**************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseIsEqualDeep.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar Stack = __webpack_require__(/*! ./_Stack */ 71),\n\t    equalArrays = __webpack_require__(/*! ./_equalArrays */ 109),\n\t    equalByTag = __webpack_require__(/*! ./_equalByTag */ 115),\n\t    equalObjects = __webpack_require__(/*! ./_equalObjects */ 119),\n\t    getTag = __webpack_require__(/*! ./_getTag */ 126),\n\t    isArray = __webpack_require__(/*! ./isArray */ 36),\n\t    isBuffer = __webpack_require__(/*! ./isBuffer */ 47),\n\t    isTypedArray = __webpack_require__(/*! ./isTypedArray */ 50);\n\t\n\t/** Used to compose bitmasks for value comparisons. */\n\tvar COMPARE_PARTIAL_FLAG = 1;\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t    arrayTag = '[object Array]',\n\t    objectTag = '[object Object]';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n\t * @param {Function} customizer The function to customize comparisons.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n\t  var objIsArr = isArray(object),\n\t      othIsArr = isArray(other),\n\t      objTag = objIsArr ? arrayTag : getTag(object),\n\t      othTag = othIsArr ? arrayTag : getTag(other);\n\t\n\t  objTag = objTag == argsTag ? objectTag : objTag;\n\t  othTag = othTag == argsTag ? objectTag : othTag;\n\t\n\t  var objIsObj = objTag == objectTag,\n\t      othIsObj = othTag == objectTag,\n\t      isSameTag = objTag == othTag;\n\t\n\t  if (isSameTag && isBuffer(object)) {\n\t    if (!isBuffer(other)) {\n\t      return false;\n\t    }\n\t    objIsArr = true;\n\t    objIsObj = false;\n\t  }\n\t  if (isSameTag && !objIsObj) {\n\t    stack || (stack = new Stack);\n\t    return (objIsArr || isTypedArray(object))\n\t      ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n\t      : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n\t  }\n\t  if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n\t    var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t        othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t    if (objIsWrapped || othIsWrapped) {\n\t      var objUnwrapped = objIsWrapped ? object.value() : object,\n\t          othUnwrapped = othIsWrapped ? other.value() : other;\n\t\n\t      stack || (stack = new Stack);\n\t      return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n\t    }\n\t  }\n\t  if (!isSameTag) {\n\t    return false;\n\t  }\n\t  stack || (stack = new Stack);\n\t  return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n\t}\n\t\n\tmodule.exports = baseIsEqualDeep;\n\n\n/***/ }),\n/* 109 */\n/*!**********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_equalArrays.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar SetCache = __webpack_require__(/*! ./_SetCache */ 110),\n\t    arraySome = __webpack_require__(/*! ./_arraySome */ 113),\n\t    cacheHas = __webpack_require__(/*! ./_cacheHas */ 114);\n\t\n\t/** Used to compose bitmasks for value comparisons. */\n\tvar COMPARE_PARTIAL_FLAG = 1,\n\t    COMPARE_UNORDERED_FLAG = 2;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n\t * @param {Function} customizer The function to customize comparisons.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Object} stack Tracks traversed `array` and `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n\t  var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n\t      arrLength = array.length,\n\t      othLength = other.length;\n\t\n\t  if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n\t    return false;\n\t  }\n\t  // Assume cyclic values are equal.\n\t  var stacked = stack.get(array);\n\t  if (stacked && stack.get(other)) {\n\t    return stacked == other;\n\t  }\n\t  var index = -1,\n\t      result = true,\n\t      seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\t\n\t  stack.set(array, other);\n\t  stack.set(other, array);\n\t\n\t  // Ignore non-index properties.\n\t  while (++index < arrLength) {\n\t    var arrValue = array[index],\n\t        othValue = other[index];\n\t\n\t    if (customizer) {\n\t      var compared = isPartial\n\t        ? customizer(othValue, arrValue, index, other, array, stack)\n\t        : customizer(arrValue, othValue, index, array, other, stack);\n\t    }\n\t    if (compared !== undefined) {\n\t      if (compared) {\n\t        continue;\n\t      }\n\t      result = false;\n\t      break;\n\t    }\n\t    // Recursively compare arrays (susceptible to call stack limits).\n\t    if (seen) {\n\t      if (!arraySome(other, function(othValue, othIndex) {\n\t            if (!cacheHas(seen, othIndex) &&\n\t                (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n\t              return seen.push(othIndex);\n\t            }\n\t          })) {\n\t        result = false;\n\t        break;\n\t      }\n\t    } else if (!(\n\t          arrValue === othValue ||\n\t            equalFunc(arrValue, othValue, bitmask, customizer, stack)\n\t        )) {\n\t      result = false;\n\t      break;\n\t    }\n\t  }\n\t  stack['delete'](array);\n\t  stack['delete'](other);\n\t  return result;\n\t}\n\t\n\tmodule.exports = equalArrays;\n\n\n/***/ }),\n/* 110 */\n/*!*******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_SetCache.js ***!\n  \\*******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar MapCache = __webpack_require__(/*! ./_MapCache */ 92),\n\t    setCacheAdd = __webpack_require__(/*! ./_setCacheAdd */ 111),\n\t    setCacheHas = __webpack_require__(/*! ./_setCacheHas */ 112);\n\t\n\t/**\n\t *\n\t * Creates an array cache object to store unique values.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [values] The values to cache.\n\t */\n\tfunction SetCache(values) {\n\t  var index = -1,\n\t      length = values == null ? 0 : values.length;\n\t\n\t  this.__data__ = new MapCache;\n\t  while (++index < length) {\n\t    this.add(values[index]);\n\t  }\n\t}\n\t\n\t// Add methods to `SetCache`.\n\tSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\n\tSetCache.prototype.has = setCacheHas;\n\t\n\tmodule.exports = SetCache;\n\n\n/***/ }),\n/* 111 */\n/*!**********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_setCacheAdd.js ***!\n  \\**********************************************/\n/***/ (function(module, exports) {\n\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Adds `value` to the array cache.\n\t *\n\t * @private\n\t * @name add\n\t * @memberOf SetCache\n\t * @alias push\n\t * @param {*} value The value to cache.\n\t * @returns {Object} Returns the cache instance.\n\t */\n\tfunction setCacheAdd(value) {\n\t  this.__data__.set(value, HASH_UNDEFINED);\n\t  return this;\n\t}\n\t\n\tmodule.exports = setCacheAdd;\n\n\n/***/ }),\n/* 112 */\n/*!**********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_setCacheHas.js ***!\n  \\**********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Checks if `value` is in the array cache.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf SetCache\n\t * @param {*} value The value to search for.\n\t * @returns {number} Returns `true` if `value` is found, else `false`.\n\t */\n\tfunction setCacheHas(value) {\n\t  return this.__data__.has(value);\n\t}\n\t\n\tmodule.exports = setCacheHas;\n\n\n/***/ }),\n/* 113 */\n/*!********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_arraySome.js ***!\n  \\********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.some` for arrays without support for iteratee\n\t * shorthands.\n\t *\n\t * @private\n\t * @param {Array} [array] The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t *  else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t  var index = -1,\n\t      length = array == null ? 0 : array.length;\n\t\n\t  while (++index < length) {\n\t    if (predicate(array[index], index, array)) {\n\t      return true;\n\t    }\n\t  }\n\t  return false;\n\t}\n\t\n\tmodule.exports = arraySome;\n\n\n/***/ }),\n/* 114 */\n/*!*******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_cacheHas.js ***!\n  \\*******************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Checks if a `cache` value for `key` exists.\n\t *\n\t * @private\n\t * @param {Object} cache The cache to query.\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction cacheHas(cache, key) {\n\t  return cache.has(key);\n\t}\n\t\n\tmodule.exports = cacheHas;\n\n\n/***/ }),\n/* 115 */\n/*!*********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_equalByTag.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar Symbol = __webpack_require__(/*! ./_Symbol */ 31),\n\t    Uint8Array = __webpack_require__(/*! ./_Uint8Array */ 116),\n\t    eq = __webpack_require__(/*! ./eq */ 76),\n\t    equalArrays = __webpack_require__(/*! ./_equalArrays */ 109),\n\t    mapToArray = __webpack_require__(/*! ./_mapToArray */ 117),\n\t    setToArray = __webpack_require__(/*! ./_setToArray */ 118);\n\t\n\t/** Used to compose bitmasks for value comparisons. */\n\tvar COMPARE_PARTIAL_FLAG = 1,\n\t    COMPARE_UNORDERED_FLAG = 2;\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t    dateTag = '[object Date]',\n\t    errorTag = '[object Error]',\n\t    mapTag = '[object Map]',\n\t    numberTag = '[object Number]',\n\t    regexpTag = '[object RegExp]',\n\t    setTag = '[object Set]',\n\t    stringTag = '[object String]',\n\t    symbolTag = '[object Symbol]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t    dataViewTag = '[object DataView]';\n\t\n\t/** Used to convert symbols to primitives and strings. */\n\tvar symbolProto = Symbol ? Symbol.prototype : undefined,\n\t    symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n\t * @param {Function} customizer The function to customize comparisons.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Object} stack Tracks traversed `object` and `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n\t  switch (tag) {\n\t    case dataViewTag:\n\t      if ((object.byteLength != other.byteLength) ||\n\t          (object.byteOffset != other.byteOffset)) {\n\t        return false;\n\t      }\n\t      object = object.buffer;\n\t      other = other.buffer;\n\t\n\t    case arrayBufferTag:\n\t      if ((object.byteLength != other.byteLength) ||\n\t          !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n\t        return false;\n\t      }\n\t      return true;\n\t\n\t    case boolTag:\n\t    case dateTag:\n\t    case numberTag:\n\t      // Coerce booleans to `1` or `0` and dates to milliseconds.\n\t      // Invalid dates are coerced to `NaN`.\n\t      return eq(+object, +other);\n\t\n\t    case errorTag:\n\t      return object.name == other.name && object.message == other.message;\n\t\n\t    case regexpTag:\n\t    case stringTag:\n\t      // Coerce regexes to strings and treat strings, primitives and objects,\n\t      // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n\t      // for more details.\n\t      return object == (other + '');\n\t\n\t    case mapTag:\n\t      var convert = mapToArray;\n\t\n\t    case setTag:\n\t      var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n\t      convert || (convert = setToArray);\n\t\n\t      if (object.size != other.size && !isPartial) {\n\t        return false;\n\t      }\n\t      // Assume cyclic values are equal.\n\t      var stacked = stack.get(object);\n\t      if (stacked) {\n\t        return stacked == other;\n\t      }\n\t      bitmask |= COMPARE_UNORDERED_FLAG;\n\t\n\t      // Recursively compare objects (susceptible to call stack limits).\n\t      stack.set(object, other);\n\t      var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n\t      stack['delete'](object);\n\t      return result;\n\t\n\t    case symbolTag:\n\t      if (symbolValueOf) {\n\t        return symbolValueOf.call(object) == symbolValueOf.call(other);\n\t      }\n\t  }\n\t  return false;\n\t}\n\t\n\tmodule.exports = equalByTag;\n\n\n/***/ }),\n/* 116 */\n/*!*********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_Uint8Array.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar root = __webpack_require__(/*! ./_root */ 32);\n\t\n\t/** Built-in value references. */\n\tvar Uint8Array = root.Uint8Array;\n\t\n\tmodule.exports = Uint8Array;\n\n\n/***/ }),\n/* 117 */\n/*!*********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_mapToArray.js ***!\n  \\*********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Converts `map` to its key-value pairs.\n\t *\n\t * @private\n\t * @param {Object} map The map to convert.\n\t * @returns {Array} Returns the key-value pairs.\n\t */\n\tfunction mapToArray(map) {\n\t  var index = -1,\n\t      result = Array(map.size);\n\t\n\t  map.forEach(function(value, key) {\n\t    result[++index] = [key, value];\n\t  });\n\t  return result;\n\t}\n\t\n\tmodule.exports = mapToArray;\n\n\n/***/ }),\n/* 118 */\n/*!*********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_setToArray.js ***!\n  \\*********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Converts `set` to an array of its values.\n\t *\n\t * @private\n\t * @param {Object} set The set to convert.\n\t * @returns {Array} Returns the values.\n\t */\n\tfunction setToArray(set) {\n\t  var index = -1,\n\t      result = Array(set.size);\n\t\n\t  set.forEach(function(value) {\n\t    result[++index] = value;\n\t  });\n\t  return result;\n\t}\n\t\n\tmodule.exports = setToArray;\n\n\n/***/ }),\n/* 119 */\n/*!***********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_equalObjects.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getAllKeys = __webpack_require__(/*! ./_getAllKeys */ 120);\n\t\n\t/** Used to compose bitmasks for value comparisons. */\n\tvar COMPARE_PARTIAL_FLAG = 1;\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n\t * @param {Function} customizer The function to customize comparisons.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Object} stack Tracks traversed `object` and `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n\t  var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n\t      objProps = getAllKeys(object),\n\t      objLength = objProps.length,\n\t      othProps = getAllKeys(other),\n\t      othLength = othProps.length;\n\t\n\t  if (objLength != othLength && !isPartial) {\n\t    return false;\n\t  }\n\t  var index = objLength;\n\t  while (index--) {\n\t    var key = objProps[index];\n\t    if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n\t      return false;\n\t    }\n\t  }\n\t  // Assume cyclic values are equal.\n\t  var stacked = stack.get(object);\n\t  if (stacked && stack.get(other)) {\n\t    return stacked == other;\n\t  }\n\t  var result = true;\n\t  stack.set(object, other);\n\t  stack.set(other, object);\n\t\n\t  var skipCtor = isPartial;\n\t  while (++index < objLength) {\n\t    key = objProps[index];\n\t    var objValue = object[key],\n\t        othValue = other[key];\n\t\n\t    if (customizer) {\n\t      var compared = isPartial\n\t        ? customizer(othValue, objValue, key, other, object, stack)\n\t        : customizer(objValue, othValue, key, object, other, stack);\n\t    }\n\t    // Recursively compare objects (susceptible to call stack limits).\n\t    if (!(compared === undefined\n\t          ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n\t          : compared\n\t        )) {\n\t      result = false;\n\t      break;\n\t    }\n\t    skipCtor || (skipCtor = key == 'constructor');\n\t  }\n\t  if (result && !skipCtor) {\n\t    var objCtor = object.constructor,\n\t        othCtor = other.constructor;\n\t\n\t    // Non `Object` object instances with different constructors are not equal.\n\t    if (objCtor != othCtor &&\n\t        ('constructor' in object && 'constructor' in other) &&\n\t        !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t          typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t      result = false;\n\t    }\n\t  }\n\t  stack['delete'](object);\n\t  stack['delete'](other);\n\t  return result;\n\t}\n\t\n\tmodule.exports = equalObjects;\n\n\n/***/ }),\n/* 120 */\n/*!*********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_getAllKeys.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseGetAllKeys = __webpack_require__(/*! ./_baseGetAllKeys */ 121),\n\t    getSymbols = __webpack_require__(/*! ./_getSymbols */ 123),\n\t    keys = __webpack_require__(/*! ./keys */ 42);\n\t\n\t/**\n\t * Creates an array of own enumerable property names and symbols of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names and symbols.\n\t */\n\tfunction getAllKeys(object) {\n\t  return baseGetAllKeys(object, keys, getSymbols);\n\t}\n\t\n\tmodule.exports = getAllKeys;\n\n\n/***/ }),\n/* 121 */\n/*!*************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseGetAllKeys.js ***!\n  \\*************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar arrayPush = __webpack_require__(/*! ./_arrayPush */ 122),\n\t    isArray = __webpack_require__(/*! ./isArray */ 36);\n\t\n\t/**\n\t * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n\t * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n\t * symbols of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @param {Function} symbolsFunc The function to get the symbols of `object`.\n\t * @returns {Array} Returns the array of property names and symbols.\n\t */\n\tfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n\t  var result = keysFunc(object);\n\t  return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n\t}\n\t\n\tmodule.exports = baseGetAllKeys;\n\n\n/***/ }),\n/* 122 */\n/*!********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_arrayPush.js ***!\n  \\********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Appends the elements of `values` to `array`.\n\t *\n\t * @private\n\t * @param {Array} array The array to modify.\n\t * @param {Array} values The values to append.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayPush(array, values) {\n\t  var index = -1,\n\t      length = values.length,\n\t      offset = array.length;\n\t\n\t  while (++index < length) {\n\t    array[offset + index] = values[index];\n\t  }\n\t  return array;\n\t}\n\t\n\tmodule.exports = arrayPush;\n\n\n/***/ }),\n/* 123 */\n/*!*********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_getSymbols.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar arrayFilter = __webpack_require__(/*! ./_arrayFilter */ 124),\n\t    stubArray = __webpack_require__(/*! ./stubArray */ 125);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Built-in value references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\t\n\t/**\n\t * Creates an array of the own enumerable symbols of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of symbols.\n\t */\n\tvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n\t  if (object == null) {\n\t    return [];\n\t  }\n\t  object = Object(object);\n\t  return arrayFilter(nativeGetSymbols(object), function(symbol) {\n\t    return propertyIsEnumerable.call(object, symbol);\n\t  });\n\t};\n\t\n\tmodule.exports = getSymbols;\n\n\n/***/ }),\n/* 124 */\n/*!**********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_arrayFilter.js ***!\n  \\**********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.filter` for arrays without support for\n\t * iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} [array] The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {Array} Returns the new filtered array.\n\t */\n\tfunction arrayFilter(array, predicate) {\n\t  var index = -1,\n\t      length = array == null ? 0 : array.length,\n\t      resIndex = 0,\n\t      result = [];\n\t\n\t  while (++index < length) {\n\t    var value = array[index];\n\t    if (predicate(value, index, array)) {\n\t      result[resIndex++] = value;\n\t    }\n\t  }\n\t  return result;\n\t}\n\t\n\tmodule.exports = arrayFilter;\n\n\n/***/ }),\n/* 125 */\n/*!*******************************************!*\\\n  !*** ../~/reactcss/~/lodash/stubArray.js ***!\n  \\*******************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * This method returns a new empty array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.13.0\n\t * @category Util\n\t * @returns {Array} Returns the new empty array.\n\t * @example\n\t *\n\t * var arrays = _.times(2, _.stubArray);\n\t *\n\t * console.log(arrays);\n\t * // => [[], []]\n\t *\n\t * console.log(arrays[0] === arrays[1]);\n\t * // => false\n\t */\n\tfunction stubArray() {\n\t  return [];\n\t}\n\t\n\tmodule.exports = stubArray;\n\n\n/***/ }),\n/* 126 */\n/*!*****************************************!*\\\n  !*** ../~/reactcss/~/lodash/_getTag.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar DataView = __webpack_require__(/*! ./_DataView */ 127),\n\t    Map = __webpack_require__(/*! ./_Map */ 85),\n\t    Promise = __webpack_require__(/*! ./_Promise */ 128),\n\t    Set = __webpack_require__(/*! ./_Set */ 129),\n\t    WeakMap = __webpack_require__(/*! ./_WeakMap */ 130),\n\t    baseGetTag = __webpack_require__(/*! ./_baseGetTag */ 30),\n\t    toSource = __webpack_require__(/*! ./_toSource */ 90);\n\t\n\t/** `Object#toString` result references. */\n\tvar mapTag = '[object Map]',\n\t    objectTag = '[object Object]',\n\t    promiseTag = '[object Promise]',\n\t    setTag = '[object Set]',\n\t    weakMapTag = '[object WeakMap]';\n\t\n\tvar dataViewTag = '[object DataView]';\n\t\n\t/** Used to detect maps, sets, and weakmaps. */\n\tvar dataViewCtorString = toSource(DataView),\n\t    mapCtorString = toSource(Map),\n\t    promiseCtorString = toSource(Promise),\n\t    setCtorString = toSource(Set),\n\t    weakMapCtorString = toSource(WeakMap);\n\t\n\t/**\n\t * Gets the `toStringTag` of `value`.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {string} Returns the `toStringTag`.\n\t */\n\tvar getTag = baseGetTag;\n\t\n\t// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\n\tif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n\t    (Map && getTag(new Map) != mapTag) ||\n\t    (Promise && getTag(Promise.resolve()) != promiseTag) ||\n\t    (Set && getTag(new Set) != setTag) ||\n\t    (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n\t  getTag = function(value) {\n\t    var result = baseGetTag(value),\n\t        Ctor = result == objectTag ? value.constructor : undefined,\n\t        ctorString = Ctor ? toSource(Ctor) : '';\n\t\n\t    if (ctorString) {\n\t      switch (ctorString) {\n\t        case dataViewCtorString: return dataViewTag;\n\t        case mapCtorString: return mapTag;\n\t        case promiseCtorString: return promiseTag;\n\t        case setCtorString: return setTag;\n\t        case weakMapCtorString: return weakMapTag;\n\t      }\n\t    }\n\t    return result;\n\t  };\n\t}\n\t\n\tmodule.exports = getTag;\n\n\n/***/ }),\n/* 127 */\n/*!*******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_DataView.js ***!\n  \\*******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(/*! ./_getNative */ 86),\n\t    root = __webpack_require__(/*! ./_root */ 32);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar DataView = getNative(root, 'DataView');\n\t\n\tmodule.exports = DataView;\n\n\n/***/ }),\n/* 128 */\n/*!******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_Promise.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(/*! ./_getNative */ 86),\n\t    root = __webpack_require__(/*! ./_root */ 32);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar Promise = getNative(root, 'Promise');\n\t\n\tmodule.exports = Promise;\n\n\n/***/ }),\n/* 129 */\n/*!**************************************!*\\\n  !*** ../~/reactcss/~/lodash/_Set.js ***!\n  \\**************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(/*! ./_getNative */ 86),\n\t    root = __webpack_require__(/*! ./_root */ 32);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar Set = getNative(root, 'Set');\n\t\n\tmodule.exports = Set;\n\n\n/***/ }),\n/* 130 */\n/*!******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_WeakMap.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(/*! ./_getNative */ 86),\n\t    root = __webpack_require__(/*! ./_root */ 32);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar WeakMap = getNative(root, 'WeakMap');\n\t\n\tmodule.exports = WeakMap;\n\n\n/***/ }),\n/* 131 */\n/*!***********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_getMatchData.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isStrictComparable = __webpack_require__(/*! ./_isStrictComparable */ 132),\n\t    keys = __webpack_require__(/*! ./keys */ 42);\n\t\n\t/**\n\t * Gets the property names, values, and compare flags of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the match data of `object`.\n\t */\n\tfunction getMatchData(object) {\n\t  var result = keys(object),\n\t      length = result.length;\n\t\n\t  while (length--) {\n\t    var key = result[length],\n\t        value = object[key];\n\t\n\t    result[length] = [key, value, isStrictComparable(value)];\n\t  }\n\t  return result;\n\t}\n\t\n\tmodule.exports = getMatchData;\n\n\n/***/ }),\n/* 132 */\n/*!*****************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_isStrictComparable.js ***!\n  \\*****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(/*! ./isObject */ 61);\n\t\n\t/**\n\t * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` if suitable for strict\n\t *  equality comparisons, else `false`.\n\t */\n\tfunction isStrictComparable(value) {\n\t  return value === value && !isObject(value);\n\t}\n\t\n\tmodule.exports = isStrictComparable;\n\n\n/***/ }),\n/* 133 */\n/*!**********************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_matchesStrictComparable.js ***!\n  \\**********************************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * A specialized version of `matchesProperty` for source values suitable\n\t * for strict equality comparisons, i.e. `===`.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @param {*} srcValue The value to match.\n\t * @returns {Function} Returns the new spec function.\n\t */\n\tfunction matchesStrictComparable(key, srcValue) {\n\t  return function(object) {\n\t    if (object == null) {\n\t      return false;\n\t    }\n\t    return object[key] === srcValue &&\n\t      (srcValue !== undefined || (key in Object(object)));\n\t  };\n\t}\n\t\n\tmodule.exports = matchesStrictComparable;\n\n\n/***/ }),\n/* 134 */\n/*!******************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseMatchesProperty.js ***!\n  \\******************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqual = __webpack_require__(/*! ./_baseIsEqual */ 107),\n\t    get = __webpack_require__(/*! ./get */ 135),\n\t    hasIn = __webpack_require__(/*! ./hasIn */ 146),\n\t    isKey = __webpack_require__(/*! ./_isKey */ 138),\n\t    isStrictComparable = __webpack_require__(/*! ./_isStrictComparable */ 132),\n\t    matchesStrictComparable = __webpack_require__(/*! ./_matchesStrictComparable */ 133),\n\t    toKey = __webpack_require__(/*! ./_toKey */ 145);\n\t\n\t/** Used to compose bitmasks for value comparisons. */\n\tvar COMPARE_PARTIAL_FLAG = 1,\n\t    COMPARE_UNORDERED_FLAG = 2;\n\t\n\t/**\n\t * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n\t *\n\t * @private\n\t * @param {string} path The path of the property to get.\n\t * @param {*} srcValue The value to match.\n\t * @returns {Function} Returns the new spec function.\n\t */\n\tfunction baseMatchesProperty(path, srcValue) {\n\t  if (isKey(path) && isStrictComparable(srcValue)) {\n\t    return matchesStrictComparable(toKey(path), srcValue);\n\t  }\n\t  return function(object) {\n\t    var objValue = get(object, path);\n\t    return (objValue === undefined && objValue === srcValue)\n\t      ? hasIn(object, path)\n\t      : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n\t  };\n\t}\n\t\n\tmodule.exports = baseMatchesProperty;\n\n\n/***/ }),\n/* 135 */\n/*!*************************************!*\\\n  !*** ../~/reactcss/~/lodash/get.js ***!\n  \\*************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseGet = __webpack_require__(/*! ./_baseGet */ 136);\n\t\n\t/**\n\t * Gets the value at `path` of `object`. If the resolved value is\n\t * `undefined`, the `defaultValue` is returned in its place.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 3.7.0\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @param {Array|string} path The path of the property to get.\n\t * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n\t * @returns {*} Returns the resolved value.\n\t * @example\n\t *\n\t * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n\t *\n\t * _.get(object, 'a[0].b.c');\n\t * // => 3\n\t *\n\t * _.get(object, ['a', '0', 'b', 'c']);\n\t * // => 3\n\t *\n\t * _.get(object, 'a.b.c', 'default');\n\t * // => 'default'\n\t */\n\tfunction get(object, path, defaultValue) {\n\t  var result = object == null ? undefined : baseGet(object, path);\n\t  return result === undefined ? defaultValue : result;\n\t}\n\t\n\tmodule.exports = get;\n\n\n/***/ }),\n/* 136 */\n/*!******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseGet.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar castPath = __webpack_require__(/*! ./_castPath */ 137),\n\t    toKey = __webpack_require__(/*! ./_toKey */ 145);\n\t\n\t/**\n\t * The base implementation of `_.get` without support for default values.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {Array|string} path The path of the property to get.\n\t * @returns {*} Returns the resolved value.\n\t */\n\tfunction baseGet(object, path) {\n\t  path = castPath(path, object);\n\t\n\t  var index = 0,\n\t      length = path.length;\n\t\n\t  while (object != null && index < length) {\n\t    object = object[toKey(path[index++])];\n\t  }\n\t  return (index && index == length) ? object : undefined;\n\t}\n\t\n\tmodule.exports = baseGet;\n\n\n/***/ }),\n/* 137 */\n/*!*******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_castPath.js ***!\n  \\*******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isArray = __webpack_require__(/*! ./isArray */ 36),\n\t    isKey = __webpack_require__(/*! ./_isKey */ 138),\n\t    stringToPath = __webpack_require__(/*! ./_stringToPath */ 140),\n\t    toString = __webpack_require__(/*! ./toString */ 143);\n\t\n\t/**\n\t * Casts `value` to a path array if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to inspect.\n\t * @param {Object} [object] The object to query keys on.\n\t * @returns {Array} Returns the cast property path array.\n\t */\n\tfunction castPath(value, object) {\n\t  if (isArray(value)) {\n\t    return value;\n\t  }\n\t  return isKey(value, object) ? [value] : stringToPath(toString(value));\n\t}\n\t\n\tmodule.exports = castPath;\n\n\n/***/ }),\n/* 138 */\n/*!****************************************!*\\\n  !*** ../~/reactcss/~/lodash/_isKey.js ***!\n  \\****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isArray = __webpack_require__(/*! ./isArray */ 36),\n\t    isSymbol = __webpack_require__(/*! ./isSymbol */ 139);\n\t\n\t/** Used to match property names within property paths. */\n\tvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n\t    reIsPlainProp = /^\\w*$/;\n\t\n\t/**\n\t * Checks if `value` is a property name and not a property path.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {Object} [object] The object to query keys on.\n\t * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n\t */\n\tfunction isKey(value, object) {\n\t  if (isArray(value)) {\n\t    return false;\n\t  }\n\t  var type = typeof value;\n\t  if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n\t      value == null || isSymbol(value)) {\n\t    return true;\n\t  }\n\t  return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n\t    (object != null && value in Object(object));\n\t}\n\t\n\tmodule.exports = isKey;\n\n\n/***/ }),\n/* 139 */\n/*!******************************************!*\\\n  !*** ../~/reactcss/~/lodash/isSymbol.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseGetTag = __webpack_require__(/*! ./_baseGetTag */ 30),\n\t    isObjectLike = __webpack_require__(/*! ./isObjectLike */ 37);\n\t\n\t/** `Object#toString` result references. */\n\tvar symbolTag = '[object Symbol]';\n\t\n\t/**\n\t * Checks if `value` is classified as a `Symbol` primitive or object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n\t * @example\n\t *\n\t * _.isSymbol(Symbol.iterator);\n\t * // => true\n\t *\n\t * _.isSymbol('abc');\n\t * // => false\n\t */\n\tfunction isSymbol(value) {\n\t  return typeof value == 'symbol' ||\n\t    (isObjectLike(value) && baseGetTag(value) == symbolTag);\n\t}\n\t\n\tmodule.exports = isSymbol;\n\n\n/***/ }),\n/* 140 */\n/*!***********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_stringToPath.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar memoizeCapped = __webpack_require__(/*! ./_memoizeCapped */ 141);\n\t\n\t/** Used to match property names within property paths. */\n\tvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\t\n\t/** Used to match backslashes in property paths. */\n\tvar reEscapeChar = /\\\\(\\\\)?/g;\n\t\n\t/**\n\t * Converts `string` to a property path array.\n\t *\n\t * @private\n\t * @param {string} string The string to convert.\n\t * @returns {Array} Returns the property path array.\n\t */\n\tvar stringToPath = memoizeCapped(function(string) {\n\t  var result = [];\n\t  if (string.charCodeAt(0) === 46 /* . */) {\n\t    result.push('');\n\t  }\n\t  string.replace(rePropName, function(match, number, quote, subString) {\n\t    result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n\t  });\n\t  return result;\n\t});\n\t\n\tmodule.exports = stringToPath;\n\n\n/***/ }),\n/* 141 */\n/*!************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_memoizeCapped.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar memoize = __webpack_require__(/*! ./memoize */ 142);\n\t\n\t/** Used as the maximum memoize cache size. */\n\tvar MAX_MEMOIZE_SIZE = 500;\n\t\n\t/**\n\t * A specialized version of `_.memoize` which clears the memoized function's\n\t * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n\t *\n\t * @private\n\t * @param {Function} func The function to have its output memoized.\n\t * @returns {Function} Returns the new memoized function.\n\t */\n\tfunction memoizeCapped(func) {\n\t  var result = memoize(func, function(key) {\n\t    if (cache.size === MAX_MEMOIZE_SIZE) {\n\t      cache.clear();\n\t    }\n\t    return key;\n\t  });\n\t\n\t  var cache = result.cache;\n\t  return result;\n\t}\n\t\n\tmodule.exports = memoizeCapped;\n\n\n/***/ }),\n/* 142 */\n/*!*****************************************!*\\\n  !*** ../~/reactcss/~/lodash/memoize.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar MapCache = __webpack_require__(/*! ./_MapCache */ 92);\n\t\n\t/** Error message constants. */\n\tvar FUNC_ERROR_TEXT = 'Expected a function';\n\t\n\t/**\n\t * Creates a function that memoizes the result of `func`. If `resolver` is\n\t * provided, it determines the cache key for storing the result based on the\n\t * arguments provided to the memoized function. By default, the first argument\n\t * provided to the memoized function is used as the map cache key. The `func`\n\t * is invoked with the `this` binding of the memoized function.\n\t *\n\t * **Note:** The cache is exposed as the `cache` property on the memoized\n\t * function. Its creation may be customized by replacing the `_.memoize.Cache`\n\t * constructor with one whose instances implement the\n\t * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n\t * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Function\n\t * @param {Function} func The function to have its output memoized.\n\t * @param {Function} [resolver] The function to resolve the cache key.\n\t * @returns {Function} Returns the new memoized function.\n\t * @example\n\t *\n\t * var object = { 'a': 1, 'b': 2 };\n\t * var other = { 'c': 3, 'd': 4 };\n\t *\n\t * var values = _.memoize(_.values);\n\t * values(object);\n\t * // => [1, 2]\n\t *\n\t * values(other);\n\t * // => [3, 4]\n\t *\n\t * object.a = 2;\n\t * values(object);\n\t * // => [1, 2]\n\t *\n\t * // Modify the result cache.\n\t * values.cache.set(object, ['a', 'b']);\n\t * values(object);\n\t * // => ['a', 'b']\n\t *\n\t * // Replace `_.memoize.Cache`.\n\t * _.memoize.Cache = WeakMap;\n\t */\n\tfunction memoize(func, resolver) {\n\t  if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n\t    throw new TypeError(FUNC_ERROR_TEXT);\n\t  }\n\t  var memoized = function() {\n\t    var args = arguments,\n\t        key = resolver ? resolver.apply(this, args) : args[0],\n\t        cache = memoized.cache;\n\t\n\t    if (cache.has(key)) {\n\t      return cache.get(key);\n\t    }\n\t    var result = func.apply(this, args);\n\t    memoized.cache = cache.set(key, result) || cache;\n\t    return result;\n\t  };\n\t  memoized.cache = new (memoize.Cache || MapCache);\n\t  return memoized;\n\t}\n\t\n\t// Expose `MapCache`.\n\tmemoize.Cache = MapCache;\n\t\n\tmodule.exports = memoize;\n\n\n/***/ }),\n/* 143 */\n/*!******************************************!*\\\n  !*** ../~/reactcss/~/lodash/toString.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseToString = __webpack_require__(/*! ./_baseToString */ 144);\n\t\n\t/**\n\t * Converts `value` to a string. An empty string is returned for `null`\n\t * and `undefined` values. The sign of `-0` is preserved.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to convert.\n\t * @returns {string} Returns the converted string.\n\t * @example\n\t *\n\t * _.toString(null);\n\t * // => ''\n\t *\n\t * _.toString(-0);\n\t * // => '-0'\n\t *\n\t * _.toString([1, 2, 3]);\n\t * // => '1,2,3'\n\t */\n\tfunction toString(value) {\n\t  return value == null ? '' : baseToString(value);\n\t}\n\t\n\tmodule.exports = toString;\n\n\n/***/ }),\n/* 144 */\n/*!***********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseToString.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar Symbol = __webpack_require__(/*! ./_Symbol */ 31),\n\t    arrayMap = __webpack_require__(/*! ./_arrayMap */ 67),\n\t    isArray = __webpack_require__(/*! ./isArray */ 36),\n\t    isSymbol = __webpack_require__(/*! ./isSymbol */ 139);\n\t\n\t/** Used as references for various `Number` constants. */\n\tvar INFINITY = 1 / 0;\n\t\n\t/** Used to convert symbols to primitives and strings. */\n\tvar symbolProto = Symbol ? Symbol.prototype : undefined,\n\t    symbolToString = symbolProto ? symbolProto.toString : undefined;\n\t\n\t/**\n\t * The base implementation of `_.toString` which doesn't convert nullish\n\t * values to empty strings.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {string} Returns the string.\n\t */\n\tfunction baseToString(value) {\n\t  // Exit early for strings to avoid a performance hit in some environments.\n\t  if (typeof value == 'string') {\n\t    return value;\n\t  }\n\t  if (isArray(value)) {\n\t    // Recursively convert values (susceptible to call stack limits).\n\t    return arrayMap(value, baseToString) + '';\n\t  }\n\t  if (isSymbol(value)) {\n\t    return symbolToString ? symbolToString.call(value) : '';\n\t  }\n\t  var result = (value + '');\n\t  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n\t}\n\t\n\tmodule.exports = baseToString;\n\n\n/***/ }),\n/* 145 */\n/*!****************************************!*\\\n  !*** ../~/reactcss/~/lodash/_toKey.js ***!\n  \\****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isSymbol = __webpack_require__(/*! ./isSymbol */ 139);\n\t\n\t/** Used as references for various `Number` constants. */\n\tvar INFINITY = 1 / 0;\n\t\n\t/**\n\t * Converts `value` to a string key if it's not a string or symbol.\n\t *\n\t * @private\n\t * @param {*} value The value to inspect.\n\t * @returns {string|symbol} Returns the key.\n\t */\n\tfunction toKey(value) {\n\t  if (typeof value == 'string' || isSymbol(value)) {\n\t    return value;\n\t  }\n\t  var result = (value + '');\n\t  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n\t}\n\t\n\tmodule.exports = toKey;\n\n\n/***/ }),\n/* 146 */\n/*!***************************************!*\\\n  !*** ../~/reactcss/~/lodash/hasIn.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseHasIn = __webpack_require__(/*! ./_baseHasIn */ 147),\n\t    hasPath = __webpack_require__(/*! ./_hasPath */ 148);\n\t\n\t/**\n\t * Checks if `path` is a direct or inherited property of `object`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @param {Array|string} path The path to check.\n\t * @returns {boolean} Returns `true` if `path` exists, else `false`.\n\t * @example\n\t *\n\t * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n\t *\n\t * _.hasIn(object, 'a');\n\t * // => true\n\t *\n\t * _.hasIn(object, 'a.b');\n\t * // => true\n\t *\n\t * _.hasIn(object, ['a', 'b']);\n\t * // => true\n\t *\n\t * _.hasIn(object, 'b');\n\t * // => false\n\t */\n\tfunction hasIn(object, path) {\n\t  return object != null && hasPath(object, path, baseHasIn);\n\t}\n\t\n\tmodule.exports = hasIn;\n\n\n/***/ }),\n/* 147 */\n/*!********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseHasIn.js ***!\n  \\********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.hasIn` without support for deep paths.\n\t *\n\t * @private\n\t * @param {Object} [object] The object to query.\n\t * @param {Array|string} key The key to check.\n\t * @returns {boolean} Returns `true` if `key` exists, else `false`.\n\t */\n\tfunction baseHasIn(object, key) {\n\t  return object != null && key in Object(object);\n\t}\n\t\n\tmodule.exports = baseHasIn;\n\n\n/***/ }),\n/* 148 */\n/*!******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_hasPath.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar castPath = __webpack_require__(/*! ./_castPath */ 137),\n\t    isArguments = __webpack_require__(/*! ./isArguments */ 45),\n\t    isArray = __webpack_require__(/*! ./isArray */ 36),\n\t    isIndex = __webpack_require__(/*! ./_isIndex */ 49),\n\t    isLength = __webpack_require__(/*! ./isLength */ 52),\n\t    toKey = __webpack_require__(/*! ./_toKey */ 145);\n\t\n\t/**\n\t * Checks if `path` exists on `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {Array|string} path The path to check.\n\t * @param {Function} hasFunc The function to check properties.\n\t * @returns {boolean} Returns `true` if `path` exists, else `false`.\n\t */\n\tfunction hasPath(object, path, hasFunc) {\n\t  path = castPath(path, object);\n\t\n\t  var index = -1,\n\t      length = path.length,\n\t      result = false;\n\t\n\t  while (++index < length) {\n\t    var key = toKey(path[index]);\n\t    if (!(result = object != null && hasFunc(object, key))) {\n\t      break;\n\t    }\n\t    object = object[key];\n\t  }\n\t  if (result || ++index != length) {\n\t    return result;\n\t  }\n\t  length = object == null ? 0 : object.length;\n\t  return !!length && isLength(length) && isIndex(key, length) &&\n\t    (isArray(object) || isArguments(object));\n\t}\n\t\n\tmodule.exports = hasPath;\n\n\n/***/ }),\n/* 149 */\n/*!******************************************!*\\\n  !*** ../~/reactcss/~/lodash/property.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(/*! ./_baseProperty */ 150),\n\t    basePropertyDeep = __webpack_require__(/*! ./_basePropertyDeep */ 151),\n\t    isKey = __webpack_require__(/*! ./_isKey */ 138),\n\t    toKey = __webpack_require__(/*! ./_toKey */ 145);\n\t\n\t/**\n\t * Creates a function that returns the value at `path` of a given object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 2.4.0\n\t * @category Util\n\t * @param {Array|string} path The path of the property to get.\n\t * @returns {Function} Returns the new accessor function.\n\t * @example\n\t *\n\t * var objects = [\n\t *   { 'a': { 'b': 2 } },\n\t *   { 'a': { 'b': 1 } }\n\t * ];\n\t *\n\t * _.map(objects, _.property('a.b'));\n\t * // => [2, 1]\n\t *\n\t * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n\t * // => [1, 2]\n\t */\n\tfunction property(path) {\n\t  return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n\t}\n\t\n\tmodule.exports = property;\n\n\n/***/ }),\n/* 150 */\n/*!***********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseProperty.js ***!\n  \\***********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new accessor function.\n\t */\n\tfunction baseProperty(key) {\n\t  return function(object) {\n\t    return object == null ? undefined : object[key];\n\t  };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ }),\n/* 151 */\n/*!***************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_basePropertyDeep.js ***!\n  \\***************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseGet = __webpack_require__(/*! ./_baseGet */ 136);\n\t\n\t/**\n\t * A specialized version of `baseProperty` which supports deep paths.\n\t *\n\t * @private\n\t * @param {Array|string} path The path of the property to get.\n\t * @returns {Function} Returns the new accessor function.\n\t */\n\tfunction basePropertyDeep(path) {\n\t  return function(object) {\n\t    return baseGet(object, path);\n\t  };\n\t}\n\t\n\tmodule.exports = basePropertyDeep;\n\n\n/***/ }),\n/* 152 */\n/*!******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseMap.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseEach = __webpack_require__(/*! ./_baseEach */ 153),\n\t    isArrayLike = __webpack_require__(/*! ./isArrayLike */ 59);\n\t\n\t/**\n\t * The base implementation of `_.map` without support for iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array|Object} collection The collection to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns the new mapped array.\n\t */\n\tfunction baseMap(collection, iteratee) {\n\t  var index = -1,\n\t      result = isArrayLike(collection) ? Array(collection.length) : [];\n\t\n\t  baseEach(collection, function(value, key, collection) {\n\t    result[++index] = iteratee(value, key, collection);\n\t  });\n\t  return result;\n\t}\n\t\n\tmodule.exports = baseMap;\n\n\n/***/ }),\n/* 153 */\n/*!*******************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseEach.js ***!\n  \\*******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseForOwn = __webpack_require__(/*! ./_baseForOwn */ 39),\n\t    createBaseEach = __webpack_require__(/*! ./_createBaseEach */ 154);\n\t\n\t/**\n\t * The base implementation of `_.forEach` without support for iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array|Object} collection The collection to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array|Object} Returns `collection`.\n\t */\n\tvar baseEach = createBaseEach(baseForOwn);\n\t\n\tmodule.exports = baseEach;\n\n\n/***/ }),\n/* 154 */\n/*!*************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_createBaseEach.js ***!\n  \\*************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(/*! ./isArrayLike */ 59);\n\t\n\t/**\n\t * Creates a `baseEach` or `baseEachRight` function.\n\t *\n\t * @private\n\t * @param {Function} eachFunc The function to iterate over a collection.\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseEach(eachFunc, fromRight) {\n\t  return function(collection, iteratee) {\n\t    if (collection == null) {\n\t      return collection;\n\t    }\n\t    if (!isArrayLike(collection)) {\n\t      return eachFunc(collection, iteratee);\n\t    }\n\t    var length = collection.length,\n\t        index = fromRight ? length : -1,\n\t        iterable = Object(collection);\n\t\n\t    while ((fromRight ? index-- : ++index < length)) {\n\t      if (iteratee(iterable[index], index, iterable) === false) {\n\t        break;\n\t      }\n\t    }\n\t    return collection;\n\t  };\n\t}\n\t\n\tmodule.exports = createBaseEach;\n\n\n/***/ }),\n/* 155 */\n/*!*****************************************!*\\\n  !*** ../~/reactcss/lib/mergeClasses.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.mergeClasses = undefined;\n\t\n\tvar _forOwn2 = __webpack_require__(/*! lodash/forOwn */ 38);\n\t\n\tvar _forOwn3 = _interopRequireDefault(_forOwn2);\n\t\n\tvar _cloneDeep2 = __webpack_require__(/*! lodash/cloneDeep */ 156);\n\t\n\tvar _cloneDeep3 = _interopRequireDefault(_cloneDeep2);\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar mergeClasses = exports.mergeClasses = function mergeClasses(classes) {\n\t  var activeNames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\t\n\t  var styles = classes.default && (0, _cloneDeep3.default)(classes.default) || {};\n\t  activeNames.map(function (name) {\n\t    var toMerge = classes[name];\n\t    if (toMerge) {\n\t      (0, _forOwn3.default)(toMerge, function (value, key) {\n\t        if (!styles[key]) {\n\t          styles[key] = {};\n\t        }\n\t\n\t        styles[key] = _extends({}, styles[key], toMerge[key]);\n\t      });\n\t    }\n\t\n\t    return name;\n\t  });\n\t  return styles;\n\t};\n\t\n\texports.default = mergeClasses;\n\n/***/ }),\n/* 156 */\n/*!*******************************************!*\\\n  !*** ../~/reactcss/~/lodash/cloneDeep.js ***!\n  \\*******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseClone = __webpack_require__(/*! ./_baseClone */ 157);\n\t\n\t/** Used to compose bitmasks for cloning. */\n\tvar CLONE_DEEP_FLAG = 1,\n\t    CLONE_SYMBOLS_FLAG = 4;\n\t\n\t/**\n\t * This method is like `_.clone` except that it recursively clones `value`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 1.0.0\n\t * @category Lang\n\t * @param {*} value The value to recursively clone.\n\t * @returns {*} Returns the deep cloned value.\n\t * @see _.clone\n\t * @example\n\t *\n\t * var objects = [{ 'a': 1 }, { 'b': 2 }];\n\t *\n\t * var deep = _.cloneDeep(objects);\n\t * console.log(deep[0] === objects[0]);\n\t * // => false\n\t */\n\tfunction cloneDeep(value) {\n\t  return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n\t}\n\t\n\tmodule.exports = cloneDeep;\n\n\n/***/ }),\n/* 157 */\n/*!********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseClone.js ***!\n  \\********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar Stack = __webpack_require__(/*! ./_Stack */ 71),\n\t    arrayEach = __webpack_require__(/*! ./_arrayEach */ 158),\n\t    assignValue = __webpack_require__(/*! ./_assignValue */ 159),\n\t    baseAssign = __webpack_require__(/*! ./_baseAssign */ 162),\n\t    baseAssignIn = __webpack_require__(/*! ./_baseAssignIn */ 164),\n\t    cloneBuffer = __webpack_require__(/*! ./_cloneBuffer */ 168),\n\t    copyArray = __webpack_require__(/*! ./_copyArray */ 169),\n\t    copySymbols = __webpack_require__(/*! ./_copySymbols */ 170),\n\t    copySymbolsIn = __webpack_require__(/*! ./_copySymbolsIn */ 171),\n\t    getAllKeys = __webpack_require__(/*! ./_getAllKeys */ 120),\n\t    getAllKeysIn = __webpack_require__(/*! ./_getAllKeysIn */ 173),\n\t    getTag = __webpack_require__(/*! ./_getTag */ 126),\n\t    initCloneArray = __webpack_require__(/*! ./_initCloneArray */ 174),\n\t    initCloneByTag = __webpack_require__(/*! ./_initCloneByTag */ 175),\n\t    initCloneObject = __webpack_require__(/*! ./_initCloneObject */ 181),\n\t    isArray = __webpack_require__(/*! ./isArray */ 36),\n\t    isBuffer = __webpack_require__(/*! ./isBuffer */ 47),\n\t    isMap = __webpack_require__(/*! ./isMap */ 183),\n\t    isObject = __webpack_require__(/*! ./isObject */ 61),\n\t    isSet = __webpack_require__(/*! ./isSet */ 185),\n\t    keys = __webpack_require__(/*! ./keys */ 42);\n\t\n\t/** Used to compose bitmasks for cloning. */\n\tvar CLONE_DEEP_FLAG = 1,\n\t    CLONE_FLAT_FLAG = 2,\n\t    CLONE_SYMBOLS_FLAG = 4;\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t    arrayTag = '[object Array]',\n\t    boolTag = '[object Boolean]',\n\t    dateTag = '[object Date]',\n\t    errorTag = '[object Error]',\n\t    funcTag = '[object Function]',\n\t    genTag = '[object GeneratorFunction]',\n\t    mapTag = '[object Map]',\n\t    numberTag = '[object Number]',\n\t    objectTag = '[object Object]',\n\t    regexpTag = '[object RegExp]',\n\t    setTag = '[object Set]',\n\t    stringTag = '[object String]',\n\t    symbolTag = '[object Symbol]',\n\t    weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t    dataViewTag = '[object DataView]',\n\t    float32Tag = '[object Float32Array]',\n\t    float64Tag = '[object Float64Array]',\n\t    int8Tag = '[object Int8Array]',\n\t    int16Tag = '[object Int16Array]',\n\t    int32Tag = '[object Int32Array]',\n\t    uint8Tag = '[object Uint8Array]',\n\t    uint8ClampedTag = '[object Uint8ClampedArray]',\n\t    uint16Tag = '[object Uint16Array]',\n\t    uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\n\tcloneableTags[boolTag] = cloneableTags[dateTag] =\n\tcloneableTags[float32Tag] = cloneableTags[float64Tag] =\n\tcloneableTags[int8Tag] = cloneableTags[int16Tag] =\n\tcloneableTags[int32Tag] = cloneableTags[mapTag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[setTag] =\n\tcloneableTags[stringTag] = cloneableTags[symbolTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[weakMapTag] = false;\n\t\n\t/**\n\t * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n\t * traversed objects.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} bitmask The bitmask flags.\n\t *  1 - Deep clone\n\t *  2 - Flatten inherited properties\n\t *  4 - Clone symbols\n\t * @param {Function} [customizer] The function to customize cloning.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The parent object of `value`.\n\t * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, bitmask, customizer, key, object, stack) {\n\t  var result,\n\t      isDeep = bitmask & CLONE_DEEP_FLAG,\n\t      isFlat = bitmask & CLONE_FLAT_FLAG,\n\t      isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\t\n\t  if (customizer) {\n\t    result = object ? customizer(value, key, object, stack) : customizer(value);\n\t  }\n\t  if (result !== undefined) {\n\t    return result;\n\t  }\n\t  if (!isObject(value)) {\n\t    return value;\n\t  }\n\t  var isArr = isArray(value);\n\t  if (isArr) {\n\t    result = initCloneArray(value);\n\t    if (!isDeep) {\n\t      return copyArray(value, result);\n\t    }\n\t  } else {\n\t    var tag = getTag(value),\n\t        isFunc = tag == funcTag || tag == genTag;\n\t\n\t    if (isBuffer(value)) {\n\t      return cloneBuffer(value, isDeep);\n\t    }\n\t    if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t      result = (isFlat || isFunc) ? {} : initCloneObject(value);\n\t      if (!isDeep) {\n\t        return isFlat\n\t          ? copySymbolsIn(value, baseAssignIn(result, value))\n\t          : copySymbols(value, baseAssign(result, value));\n\t      }\n\t    } else {\n\t      if (!cloneableTags[tag]) {\n\t        return object ? value : {};\n\t      }\n\t      result = initCloneByTag(value, tag, isDeep);\n\t    }\n\t  }\n\t  // Check for circular references and return its corresponding clone.\n\t  stack || (stack = new Stack);\n\t  var stacked = stack.get(value);\n\t  if (stacked) {\n\t    return stacked;\n\t  }\n\t  stack.set(value, result);\n\t\n\t  if (isSet(value)) {\n\t    value.forEach(function(subValue) {\n\t      result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n\t    });\n\t\n\t    return result;\n\t  }\n\t\n\t  if (isMap(value)) {\n\t    value.forEach(function(subValue, key) {\n\t      result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n\t    });\n\t\n\t    return result;\n\t  }\n\t\n\t  var keysFunc = isFull\n\t    ? (isFlat ? getAllKeysIn : getAllKeys)\n\t    : (isFlat ? keysIn : keys);\n\t\n\t  var props = isArr ? undefined : keysFunc(value);\n\t  arrayEach(props || value, function(subValue, key) {\n\t    if (props) {\n\t      key = subValue;\n\t      subValue = value[key];\n\t    }\n\t    // Recursively populate clone (susceptible to call stack limits).\n\t    assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n\t  });\n\t  return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ }),\n/* 158 */\n/*!********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_arrayEach.js ***!\n  \\********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for\n\t * iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} [array] The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t  var index = -1,\n\t      length = array == null ? 0 : array.length;\n\t\n\t  while (++index < length) {\n\t    if (iteratee(array[index], index, array) === false) {\n\t      break;\n\t    }\n\t  }\n\t  return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ }),\n/* 159 */\n/*!**********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_assignValue.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ 160),\n\t    eq = __webpack_require__(/*! ./eq */ 76);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Assigns `value` to `key` of `object` if the existing value is not equivalent\n\t * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n\t * for equality comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to modify.\n\t * @param {string} key The key of the property to assign.\n\t * @param {*} value The value to assign.\n\t */\n\tfunction assignValue(object, key, value) {\n\t  var objValue = object[key];\n\t  if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n\t      (value === undefined && !(key in object))) {\n\t    baseAssignValue(object, key, value);\n\t  }\n\t}\n\t\n\tmodule.exports = assignValue;\n\n\n/***/ }),\n/* 160 */\n/*!**************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseAssignValue.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar defineProperty = __webpack_require__(/*! ./_defineProperty */ 161);\n\t\n\t/**\n\t * The base implementation of `assignValue` and `assignMergeValue` without\n\t * value checks.\n\t *\n\t * @private\n\t * @param {Object} object The object to modify.\n\t * @param {string} key The key of the property to assign.\n\t * @param {*} value The value to assign.\n\t */\n\tfunction baseAssignValue(object, key, value) {\n\t  if (key == '__proto__' && defineProperty) {\n\t    defineProperty(object, key, {\n\t      'configurable': true,\n\t      'enumerable': true,\n\t      'value': value,\n\t      'writable': true\n\t    });\n\t  } else {\n\t    object[key] = value;\n\t  }\n\t}\n\t\n\tmodule.exports = baseAssignValue;\n\n\n/***/ }),\n/* 161 */\n/*!*************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_defineProperty.js ***!\n  \\*************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(/*! ./_getNative */ 86);\n\t\n\tvar defineProperty = (function() {\n\t  try {\n\t    var func = getNative(Object, 'defineProperty');\n\t    func({}, '', {});\n\t    return func;\n\t  } catch (e) {}\n\t}());\n\t\n\tmodule.exports = defineProperty;\n\n\n/***/ }),\n/* 162 */\n/*!*********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseAssign.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar copyObject = __webpack_require__(/*! ./_copyObject */ 163),\n\t    keys = __webpack_require__(/*! ./keys */ 42);\n\t\n\t/**\n\t * The base implementation of `_.assign` without support for multiple sources\n\t * or `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t  return object && copyObject(source, keys(source), object);\n\t}\n\t\n\tmodule.exports = baseAssign;\n\n\n/***/ }),\n/* 163 */\n/*!*********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_copyObject.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar assignValue = __webpack_require__(/*! ./_assignValue */ 159),\n\t    baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ 160);\n\t\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property identifiers to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @param {Function} [customizer] The function to customize copied values.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction copyObject(source, props, object, customizer) {\n\t  var isNew = !object;\n\t  object || (object = {});\n\t\n\t  var index = -1,\n\t      length = props.length;\n\t\n\t  while (++index < length) {\n\t    var key = props[index];\n\t\n\t    var newValue = customizer\n\t      ? customizer(object[key], source[key], key, object, source)\n\t      : undefined;\n\t\n\t    if (newValue === undefined) {\n\t      newValue = source[key];\n\t    }\n\t    if (isNew) {\n\t      baseAssignValue(object, key, newValue);\n\t    } else {\n\t      assignValue(object, key, newValue);\n\t    }\n\t  }\n\t  return object;\n\t}\n\t\n\tmodule.exports = copyObject;\n\n\n/***/ }),\n/* 164 */\n/*!***********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseAssignIn.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar copyObject = __webpack_require__(/*! ./_copyObject */ 163),\n\t    keysIn = __webpack_require__(/*! ./keysIn */ 165);\n\t\n\t/**\n\t * The base implementation of `_.assignIn` without support for multiple sources\n\t * or `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssignIn(object, source) {\n\t  return object && copyObject(source, keysIn(source), object);\n\t}\n\t\n\tmodule.exports = baseAssignIn;\n\n\n/***/ }),\n/* 165 */\n/*!****************************************!*\\\n  !*** ../~/reactcss/~/lodash/keysIn.js ***!\n  \\****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar arrayLikeKeys = __webpack_require__(/*! ./_arrayLikeKeys */ 43),\n\t    baseKeysIn = __webpack_require__(/*! ./_baseKeysIn */ 166),\n\t    isArrayLike = __webpack_require__(/*! ./isArrayLike */ 59);\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 3.0.0\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t *   this.a = 1;\n\t *   this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t  return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ }),\n/* 166 */\n/*!*********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseKeysIn.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(/*! ./isObject */ 61),\n\t    isPrototype = __webpack_require__(/*! ./_isPrototype */ 56),\n\t    nativeKeysIn = __webpack_require__(/*! ./_nativeKeysIn */ 167);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction baseKeysIn(object) {\n\t  if (!isObject(object)) {\n\t    return nativeKeysIn(object);\n\t  }\n\t  var isProto = isPrototype(object),\n\t      result = [];\n\t\n\t  for (var key in object) {\n\t    if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t      result.push(key);\n\t    }\n\t  }\n\t  return result;\n\t}\n\t\n\tmodule.exports = baseKeysIn;\n\n\n/***/ }),\n/* 167 */\n/*!***********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_nativeKeysIn.js ***!\n  \\***********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * This function is like\n\t * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n\t * except that it includes inherited enumerable properties.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction nativeKeysIn(object) {\n\t  var result = [];\n\t  if (object != null) {\n\t    for (var key in Object(object)) {\n\t      result.push(key);\n\t    }\n\t  }\n\t  return result;\n\t}\n\t\n\tmodule.exports = nativeKeysIn;\n\n\n/***/ }),\n/* 168 */\n/*!**********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_cloneBuffer.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(/*! ./_root */ 32);\n\t\n\t/** Detect free variable `exports`. */\n\tvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\t\n\t/** Detect free variable `module`. */\n\tvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\t\n\t/** Detect the popular CommonJS extension `module.exports`. */\n\tvar moduleExports = freeModule && freeModule.exports === freeExports;\n\t\n\t/** Built-in value references. */\n\tvar Buffer = moduleExports ? root.Buffer : undefined,\n\t    allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\t\n\t/**\n\t * Creates a clone of  `buffer`.\n\t *\n\t * @private\n\t * @param {Buffer} buffer The buffer to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Buffer} Returns the cloned buffer.\n\t */\n\tfunction cloneBuffer(buffer, isDeep) {\n\t  if (isDeep) {\n\t    return buffer.slice();\n\t  }\n\t  var length = buffer.length,\n\t      result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\t\n\t  buffer.copy(result);\n\t  return result;\n\t}\n\t\n\tmodule.exports = cloneBuffer;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(/*! ./../../../webpack/buildin/module.js */ 12)(module)))\n\n/***/ }),\n/* 169 */\n/*!********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_copyArray.js ***!\n  \\********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction copyArray(source, array) {\n\t  var index = -1,\n\t      length = source.length;\n\t\n\t  array || (array = Array(length));\n\t  while (++index < length) {\n\t    array[index] = source[index];\n\t  }\n\t  return array;\n\t}\n\t\n\tmodule.exports = copyArray;\n\n\n/***/ }),\n/* 170 */\n/*!**********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_copySymbols.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar copyObject = __webpack_require__(/*! ./_copyObject */ 163),\n\t    getSymbols = __webpack_require__(/*! ./_getSymbols */ 123);\n\t\n\t/**\n\t * Copies own symbols of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy symbols from.\n\t * @param {Object} [object={}] The object to copy symbols to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction copySymbols(source, object) {\n\t  return copyObject(source, getSymbols(source), object);\n\t}\n\t\n\tmodule.exports = copySymbols;\n\n\n/***/ }),\n/* 171 */\n/*!************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_copySymbolsIn.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar copyObject = __webpack_require__(/*! ./_copyObject */ 163),\n\t    getSymbolsIn = __webpack_require__(/*! ./_getSymbolsIn */ 172);\n\t\n\t/**\n\t * Copies own and inherited symbols of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy symbols from.\n\t * @param {Object} [object={}] The object to copy symbols to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction copySymbolsIn(source, object) {\n\t  return copyObject(source, getSymbolsIn(source), object);\n\t}\n\t\n\tmodule.exports = copySymbolsIn;\n\n\n/***/ }),\n/* 172 */\n/*!***********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_getSymbolsIn.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar arrayPush = __webpack_require__(/*! ./_arrayPush */ 122),\n\t    getPrototype = __webpack_require__(/*! ./_getPrototype */ 65),\n\t    getSymbols = __webpack_require__(/*! ./_getSymbols */ 123),\n\t    stubArray = __webpack_require__(/*! ./stubArray */ 125);\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable symbols of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of symbols.\n\t */\n\tvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n\t  var result = [];\n\t  while (object) {\n\t    arrayPush(result, getSymbols(object));\n\t    object = getPrototype(object);\n\t  }\n\t  return result;\n\t};\n\t\n\tmodule.exports = getSymbolsIn;\n\n\n/***/ }),\n/* 173 */\n/*!***********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_getAllKeysIn.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseGetAllKeys = __webpack_require__(/*! ./_baseGetAllKeys */ 121),\n\t    getSymbolsIn = __webpack_require__(/*! ./_getSymbolsIn */ 172),\n\t    keysIn = __webpack_require__(/*! ./keysIn */ 165);\n\t\n\t/**\n\t * Creates an array of own and inherited enumerable property names and\n\t * symbols of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names and symbols.\n\t */\n\tfunction getAllKeysIn(object) {\n\t  return baseGetAllKeys(object, keysIn, getSymbolsIn);\n\t}\n\t\n\tmodule.exports = getAllKeysIn;\n\n\n/***/ }),\n/* 174 */\n/*!*************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_initCloneArray.js ***!\n  \\*************************************************/\n/***/ (function(module, exports) {\n\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t  var length = array.length,\n\t      result = new array.constructor(length);\n\t\n\t  // Add properties assigned by `RegExp#exec`.\n\t  if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t    result.index = array.index;\n\t    result.input = array.input;\n\t  }\n\t  return result;\n\t}\n\t\n\tmodule.exports = initCloneArray;\n\n\n/***/ }),\n/* 175 */\n/*!*************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_initCloneByTag.js ***!\n  \\*************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar cloneArrayBuffer = __webpack_require__(/*! ./_cloneArrayBuffer */ 176),\n\t    cloneDataView = __webpack_require__(/*! ./_cloneDataView */ 177),\n\t    cloneRegExp = __webpack_require__(/*! ./_cloneRegExp */ 178),\n\t    cloneSymbol = __webpack_require__(/*! ./_cloneSymbol */ 179),\n\t    cloneTypedArray = __webpack_require__(/*! ./_cloneTypedArray */ 180);\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t    dateTag = '[object Date]',\n\t    mapTag = '[object Map]',\n\t    numberTag = '[object Number]',\n\t    regexpTag = '[object RegExp]',\n\t    setTag = '[object Set]',\n\t    stringTag = '[object String]',\n\t    symbolTag = '[object Symbol]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t    dataViewTag = '[object DataView]',\n\t    float32Tag = '[object Float32Array]',\n\t    float64Tag = '[object Float64Array]',\n\t    int8Tag = '[object Int8Array]',\n\t    int16Tag = '[object Int16Array]',\n\t    int32Tag = '[object Int32Array]',\n\t    uint8Tag = '[object Uint8Array]',\n\t    uint8ClampedTag = '[object Uint8ClampedArray]',\n\t    uint16Tag = '[object Uint16Array]',\n\t    uint32Tag = '[object Uint32Array]';\n\t\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, isDeep) {\n\t  var Ctor = object.constructor;\n\t  switch (tag) {\n\t    case arrayBufferTag:\n\t      return cloneArrayBuffer(object);\n\t\n\t    case boolTag:\n\t    case dateTag:\n\t      return new Ctor(+object);\n\t\n\t    case dataViewTag:\n\t      return cloneDataView(object, isDeep);\n\t\n\t    case float32Tag: case float64Tag:\n\t    case int8Tag: case int16Tag: case int32Tag:\n\t    case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t      return cloneTypedArray(object, isDeep);\n\t\n\t    case mapTag:\n\t      return new Ctor;\n\t\n\t    case numberTag:\n\t    case stringTag:\n\t      return new Ctor(object);\n\t\n\t    case regexpTag:\n\t      return cloneRegExp(object);\n\t\n\t    case setTag:\n\t      return new Ctor;\n\t\n\t    case symbolTag:\n\t      return cloneSymbol(object);\n\t  }\n\t}\n\t\n\tmodule.exports = initCloneByTag;\n\n\n/***/ }),\n/* 176 */\n/*!***************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_cloneArrayBuffer.js ***!\n  \\***************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar Uint8Array = __webpack_require__(/*! ./_Uint8Array */ 116);\n\t\n\t/**\n\t * Creates a clone of `arrayBuffer`.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction cloneArrayBuffer(arrayBuffer) {\n\t  var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n\t  new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n\t  return result;\n\t}\n\t\n\tmodule.exports = cloneArrayBuffer;\n\n\n/***/ }),\n/* 177 */\n/*!************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_cloneDataView.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar cloneArrayBuffer = __webpack_require__(/*! ./_cloneArrayBuffer */ 176);\n\t\n\t/**\n\t * Creates a clone of `dataView`.\n\t *\n\t * @private\n\t * @param {Object} dataView The data view to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the cloned data view.\n\t */\n\tfunction cloneDataView(dataView, isDeep) {\n\t  var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n\t  return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n\t}\n\t\n\tmodule.exports = cloneDataView;\n\n\n/***/ }),\n/* 178 */\n/*!**********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_cloneRegExp.js ***!\n  \\**********************************************/\n/***/ (function(module, exports) {\n\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\t\n\t/**\n\t * Creates a clone of `regexp`.\n\t *\n\t * @private\n\t * @param {Object} regexp The regexp to clone.\n\t * @returns {Object} Returns the cloned regexp.\n\t */\n\tfunction cloneRegExp(regexp) {\n\t  var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n\t  result.lastIndex = regexp.lastIndex;\n\t  return result;\n\t}\n\t\n\tmodule.exports = cloneRegExp;\n\n\n/***/ }),\n/* 179 */\n/*!**********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_cloneSymbol.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar Symbol = __webpack_require__(/*! ./_Symbol */ 31);\n\t\n\t/** Used to convert symbols to primitives and strings. */\n\tvar symbolProto = Symbol ? Symbol.prototype : undefined,\n\t    symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\t\n\t/**\n\t * Creates a clone of the `symbol` object.\n\t *\n\t * @private\n\t * @param {Object} symbol The symbol object to clone.\n\t * @returns {Object} Returns the cloned symbol object.\n\t */\n\tfunction cloneSymbol(symbol) {\n\t  return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n\t}\n\t\n\tmodule.exports = cloneSymbol;\n\n\n/***/ }),\n/* 180 */\n/*!**************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_cloneTypedArray.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar cloneArrayBuffer = __webpack_require__(/*! ./_cloneArrayBuffer */ 176);\n\t\n\t/**\n\t * Creates a clone of `typedArray`.\n\t *\n\t * @private\n\t * @param {Object} typedArray The typed array to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the cloned typed array.\n\t */\n\tfunction cloneTypedArray(typedArray, isDeep) {\n\t  var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n\t  return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n\t}\n\t\n\tmodule.exports = cloneTypedArray;\n\n\n/***/ }),\n/* 181 */\n/*!**************************************************!*\\\n  !*** ../~/reactcss/~/lodash/_initCloneObject.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseCreate = __webpack_require__(/*! ./_baseCreate */ 182),\n\t    getPrototype = __webpack_require__(/*! ./_getPrototype */ 65),\n\t    isPrototype = __webpack_require__(/*! ./_isPrototype */ 56);\n\t\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t  return (typeof object.constructor == 'function' && !isPrototype(object))\n\t    ? baseCreate(getPrototype(object))\n\t    : {};\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ }),\n/* 182 */\n/*!*********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseCreate.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(/*! ./isObject */ 61);\n\t\n\t/** Built-in value references. */\n\tvar objectCreate = Object.create;\n\t\n\t/**\n\t * The base implementation of `_.create` without support for assigning\n\t * properties to the created object.\n\t *\n\t * @private\n\t * @param {Object} proto The object to inherit from.\n\t * @returns {Object} Returns the new object.\n\t */\n\tvar baseCreate = (function() {\n\t  function object() {}\n\t  return function(proto) {\n\t    if (!isObject(proto)) {\n\t      return {};\n\t    }\n\t    if (objectCreate) {\n\t      return objectCreate(proto);\n\t    }\n\t    object.prototype = proto;\n\t    var result = new object;\n\t    object.prototype = undefined;\n\t    return result;\n\t  };\n\t}());\n\t\n\tmodule.exports = baseCreate;\n\n\n/***/ }),\n/* 183 */\n/*!***************************************!*\\\n  !*** ../~/reactcss/~/lodash/isMap.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseIsMap = __webpack_require__(/*! ./_baseIsMap */ 184),\n\t    baseUnary = __webpack_require__(/*! ./_baseUnary */ 53),\n\t    nodeUtil = __webpack_require__(/*! ./_nodeUtil */ 54);\n\t\n\t/* Node.js helper references. */\n\tvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Map` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.3.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n\t * @example\n\t *\n\t * _.isMap(new Map);\n\t * // => true\n\t *\n\t * _.isMap(new WeakMap);\n\t * // => false\n\t */\n\tvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\t\n\tmodule.exports = isMap;\n\n\n/***/ }),\n/* 184 */\n/*!********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseIsMap.js ***!\n  \\********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getTag = __webpack_require__(/*! ./_getTag */ 126),\n\t    isObjectLike = __webpack_require__(/*! ./isObjectLike */ 37);\n\t\n\t/** `Object#toString` result references. */\n\tvar mapTag = '[object Map]';\n\t\n\t/**\n\t * The base implementation of `_.isMap` without Node.js optimizations.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n\t */\n\tfunction baseIsMap(value) {\n\t  return isObjectLike(value) && getTag(value) == mapTag;\n\t}\n\t\n\tmodule.exports = baseIsMap;\n\n\n/***/ }),\n/* 185 */\n/*!***************************************!*\\\n  !*** ../~/reactcss/~/lodash/isSet.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseIsSet = __webpack_require__(/*! ./_baseIsSet */ 186),\n\t    baseUnary = __webpack_require__(/*! ./_baseUnary */ 53),\n\t    nodeUtil = __webpack_require__(/*! ./_nodeUtil */ 54);\n\t\n\t/* Node.js helper references. */\n\tvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Set` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.3.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n\t * @example\n\t *\n\t * _.isSet(new Set);\n\t * // => true\n\t *\n\t * _.isSet(new WeakSet);\n\t * // => false\n\t */\n\tvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\t\n\tmodule.exports = isSet;\n\n\n/***/ }),\n/* 186 */\n/*!********************************************!*\\\n  !*** ../~/reactcss/~/lodash/_baseIsSet.js ***!\n  \\********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getTag = __webpack_require__(/*! ./_getTag */ 126),\n\t    isObjectLike = __webpack_require__(/*! ./isObjectLike */ 37);\n\t\n\t/** `Object#toString` result references. */\n\tvar setTag = '[object Set]';\n\t\n\t/**\n\t * The base implementation of `_.isSet` without Node.js optimizations.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n\t */\n\tfunction baseIsSet(value) {\n\t  return isObjectLike(value) && getTag(value) == setTag;\n\t}\n\t\n\tmodule.exports = baseIsSet;\n\n\n/***/ }),\n/* 187 */\n/*!***************************************!*\\\n  !*** ../~/reactcss/lib/autoprefix.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.autoprefix = undefined;\n\t\n\tvar _forOwn2 = __webpack_require__(/*! lodash/forOwn */ 38);\n\t\n\tvar _forOwn3 = _interopRequireDefault(_forOwn2);\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar transforms = {\n\t  borderRadius: function borderRadius(value) {\n\t    return {\n\t      msBorderRadius: value,\n\t      MozBorderRadius: value,\n\t      OBorderRadius: value,\n\t      WebkitBorderRadius: value,\n\t      borderRadius: value\n\t    };\n\t  },\n\t  boxShadow: function boxShadow(value) {\n\t    return {\n\t      msBoxShadow: value,\n\t      MozBoxShadow: value,\n\t      OBoxShadow: value,\n\t      WebkitBoxShadow: value,\n\t      boxShadow: value\n\t    };\n\t  },\n\t  userSelect: function userSelect(value) {\n\t    return {\n\t      WebkitTouchCallout: value,\n\t      KhtmlUserSelect: value,\n\t      MozUserSelect: value,\n\t      msUserSelect: value,\n\t      WebkitUserSelect: value,\n\t      userSelect: value\n\t    };\n\t  },\n\t\n\t  flex: function flex(value) {\n\t    return {\n\t      WebkitBoxFlex: value,\n\t      MozBoxFlex: value,\n\t      WebkitFlex: value,\n\t      msFlex: value,\n\t      flex: value\n\t    };\n\t  },\n\t  flexBasis: function flexBasis(value) {\n\t    return {\n\t      WebkitFlexBasis: value,\n\t      flexBasis: value\n\t    };\n\t  },\n\t  justifyContent: function justifyContent(value) {\n\t    return {\n\t      WebkitJustifyContent: value,\n\t      justifyContent: value\n\t    };\n\t  },\n\t\n\t  transition: function transition(value) {\n\t    return {\n\t      msTransition: value,\n\t      MozTransition: value,\n\t      OTransition: value,\n\t      WebkitTransition: value,\n\t      transition: value\n\t    };\n\t  },\n\t\n\t  transform: function transform(value) {\n\t    return {\n\t      msTransform: value,\n\t      MozTransform: value,\n\t      OTransform: value,\n\t      WebkitTransform: value,\n\t      transform: value\n\t    };\n\t  },\n\t  absolute: function absolute(value) {\n\t    var direction = value && value.split(' ');\n\t    return {\n\t      position: 'absolute',\n\t      top: direction && direction[0],\n\t      right: direction && direction[1],\n\t      bottom: direction && direction[2],\n\t      left: direction && direction[3]\n\t    };\n\t  },\n\t  extend: function extend(name, otherElementStyles) {\n\t    var otherStyle = otherElementStyles[name];\n\t    if (otherStyle) {\n\t      return otherStyle;\n\t    }\n\t    return {\n\t      'extend': name\n\t    };\n\t  }\n\t};\n\t\n\tvar autoprefix = exports.autoprefix = function autoprefix(elements) {\n\t  var prefixed = {};\n\t  (0, _forOwn3.default)(elements, function (styles, element) {\n\t    var expanded = {};\n\t    (0, _forOwn3.default)(styles, function (value, key) {\n\t      var transform = transforms[key];\n\t      if (transform) {\n\t        expanded = _extends({}, expanded, transform(value));\n\t      } else {\n\t        expanded[key] = value;\n\t      }\n\t    });\n\t    prefixed[element] = expanded;\n\t  });\n\t  return prefixed;\n\t};\n\t\n\texports.default = autoprefix;\n\n/***/ }),\n/* 188 */\n/*!*********************************************!*\\\n  !*** ../~/reactcss/lib/components/hover.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.hover = undefined;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar hover = exports.hover = function hover(Component) {\n\t  var Span = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'span';\n\t\n\t  return function (_React$Component) {\n\t    _inherits(Hover, _React$Component);\n\t\n\t    function Hover() {\n\t      var _ref;\n\t\n\t      var _temp, _this, _ret;\n\t\n\t      _classCallCheck(this, Hover);\n\t\n\t      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t        args[_key] = arguments[_key];\n\t      }\n\t\n\t      return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Hover.__proto__ || Object.getPrototypeOf(Hover)).call.apply(_ref, [this].concat(args))), _this), _this.state = { hover: false }, _this.handleMouseOver = function () {\n\t        return _this.setState({ hover: true });\n\t      }, _this.handleMouseOut = function () {\n\t        return _this.setState({ hover: false });\n\t      }, _this.render = function () {\n\t        return _react2.default.createElement(\n\t          Span,\n\t          { onMouseOver: _this.handleMouseOver, onMouseOut: _this.handleMouseOut },\n\t          _react2.default.createElement(Component, _extends({}, _this.props, _this.state))\n\t        );\n\t      }, _temp), _possibleConstructorReturn(_this, _ret);\n\t    }\n\t\n\t    return Hover;\n\t  }(_react2.default.Component);\n\t};\n\t\n\texports.default = hover;\n\n/***/ }),\n/* 189 */\n/*!**********************************************!*\\\n  !*** ../~/reactcss/lib/components/active.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.active = undefined;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar active = exports.active = function active(Component) {\n\t  var Span = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'span';\n\t\n\t  return function (_React$Component) {\n\t    _inherits(Active, _React$Component);\n\t\n\t    function Active() {\n\t      var _ref;\n\t\n\t      var _temp, _this, _ret;\n\t\n\t      _classCallCheck(this, Active);\n\t\n\t      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t        args[_key] = arguments[_key];\n\t      }\n\t\n\t      return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Active.__proto__ || Object.getPrototypeOf(Active)).call.apply(_ref, [this].concat(args))), _this), _this.state = { active: false }, _this.handleMouseDown = function () {\n\t        return _this.setState({ active: true });\n\t      }, _this.handleMouseUp = function () {\n\t        return _this.setState({ active: false });\n\t      }, _this.render = function () {\n\t        return _react2.default.createElement(\n\t          Span,\n\t          { onMouseDown: _this.handleMouseDown, onMouseUp: _this.handleMouseUp },\n\t          _react2.default.createElement(Component, _extends({}, _this.props, _this.state))\n\t        );\n\t      }, _temp), _possibleConstructorReturn(_this, _ret);\n\t    }\n\t\n\t    return Active;\n\t  }(_react2.default.Component);\n\t};\n\t\n\texports.default = active;\n\n/***/ }),\n/* 190 */\n/*!*********************************!*\\\n  !*** ../~/reactcss/lib/loop.js ***!\n  \\*********************************/\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\tvar loopable = function loopable(i, length) {\n\t  var props = {};\n\t  var setProp = function setProp(name) {\n\t    var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\t\n\t    props[name] = value;\n\t  };\n\t\n\t  i === 0 && setProp('first-child');\n\t  i === length - 1 && setProp('last-child');\n\t  (i === 0 || i % 2 === 0) && setProp('even');\n\t  Math.abs(i % 2) === 1 && setProp('odd');\n\t  setProp('nth-child', i);\n\t\n\t  return props;\n\t};\n\t\n\texports.default = loopable;\n\n/***/ }),\n/* 191 */\n/*!*******************************************************!*\\\n  !*** ../~/react-color/lib/components/common/index.js ***!\n  \\*******************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _Alpha = __webpack_require__(/*! ./Alpha */ 192);\n\t\n\tObject.defineProperty(exports, 'Alpha', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Alpha).default;\n\t  }\n\t});\n\t\n\tvar _Checkboard = __webpack_require__(/*! ./Checkboard */ 194);\n\t\n\tObject.defineProperty(exports, 'Checkboard', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Checkboard).default;\n\t  }\n\t});\n\t\n\tvar _EditableInput = __webpack_require__(/*! ./EditableInput */ 196);\n\t\n\tObject.defineProperty(exports, 'EditableInput', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_EditableInput).default;\n\t  }\n\t});\n\t\n\tvar _Hue = __webpack_require__(/*! ./Hue */ 197);\n\t\n\tObject.defineProperty(exports, 'Hue', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Hue).default;\n\t  }\n\t});\n\t\n\tvar _Raised = __webpack_require__(/*! ./Raised */ 199);\n\t\n\tObject.defineProperty(exports, 'Raised', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Raised).default;\n\t  }\n\t});\n\t\n\tvar _Saturation = __webpack_require__(/*! ./Saturation */ 296);\n\t\n\tObject.defineProperty(exports, 'Saturation', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Saturation).default;\n\t  }\n\t});\n\t\n\tvar _ColorWrap = __webpack_require__(/*! ./ColorWrap */ 303);\n\t\n\tObject.defineProperty(exports, 'ColorWrap', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_ColorWrap).default;\n\t  }\n\t});\n\t\n\tvar _Swatch = __webpack_require__(/*! ./Swatch */ 316);\n\t\n\tObject.defineProperty(exports, 'Swatch', {\n\t  enumerable: true,\n\t  get: function get() {\n\t    return _interopRequireDefault(_Swatch).default;\n\t  }\n\t});\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/***/ }),\n/* 192 */\n/*!*******************************************************!*\\\n  !*** ../~/react-color/lib/components/common/Alpha.js ***!\n  \\*******************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.Alpha = undefined;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _alpha = __webpack_require__(/*! ../../helpers/alpha */ 193);\n\t\n\tvar alpha = _interopRequireWildcard(_alpha);\n\t\n\tvar _Checkboard = __webpack_require__(/*! ./Checkboard */ 194);\n\t\n\tvar _Checkboard2 = _interopRequireDefault(_Checkboard);\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Alpha = exports.Alpha = function (_ref) {\n\t  _inherits(Alpha, _ref);\n\t\n\t  function Alpha() {\n\t    var _ref2;\n\t\n\t    var _temp, _this, _ret;\n\t\n\t    _classCallCheck(this, Alpha);\n\t\n\t    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t      args[_key] = arguments[_key];\n\t    }\n\t\n\t    return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref2 = Alpha.__proto__ || Object.getPrototypeOf(Alpha)).call.apply(_ref2, [this].concat(args))), _this), _this.handleChange = function (e) {\n\t      var change = alpha.calculateChange(e, _this.props.hsl, _this.props.direction, _this.props.a, _this.container);\n\t      change && typeof _this.props.onChange === 'function' && _this.props.onChange(change, e);\n\t    }, _this.handleMouseDown = function (e) {\n\t      _this.handleChange(e);\n\t      window.addEventListener('mousemove', _this.handleChange);\n\t      window.addEventListener('mouseup', _this.handleMouseUp);\n\t    }, _this.handleMouseUp = function () {\n\t      _this.unbindEventListeners();\n\t    }, _this.unbindEventListeners = function () {\n\t      window.removeEventListener('mousemove', _this.handleChange);\n\t      window.removeEventListener('mouseup', _this.handleMouseUp);\n\t    }, _temp), _possibleConstructorReturn(_this, _ret);\n\t  }\n\t\n\t  _createClass(Alpha, [{\n\t    key: 'componentWillUnmount',\n\t    value: function componentWillUnmount() {\n\t      this.unbindEventListeners();\n\t    }\n\t  }, {\n\t    key: 'render',\n\t    value: function render() {\n\t      var _this2 = this;\n\t\n\t      var rgb = this.props.rgb;\n\t      var styles = (0, _reactcss2.default)({\n\t        'default': {\n\t          alpha: {\n\t            absolute: '0px 0px 0px 0px',\n\t            borderRadius: this.props.radius\n\t          },\n\t          checkboard: {\n\t            absolute: '0px 0px 0px 0px',\n\t            overflow: 'hidden',\n\t            borderRadius: this.props.radius\n\t          },\n\t          gradient: {\n\t            absolute: '0px 0px 0px 0px',\n\t            background: 'linear-gradient(to right, rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ', 0) 0%,\\n           rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ', 1) 100%)',\n\t            boxShadow: this.props.shadow,\n\t            borderRadius: this.props.radius\n\t          },\n\t          container: {\n\t            position: 'relative',\n\t            height: '100%',\n\t            margin: '0 3px'\n\t          },\n\t          pointer: {\n\t            position: 'absolute',\n\t            left: rgb.a * 100 + '%'\n\t          },\n\t          slider: {\n\t            width: '4px',\n\t            borderRadius: '1px',\n\t            height: '8px',\n\t            boxShadow: '0 0 2px rgba(0, 0, 0, .6)',\n\t            background: '#fff',\n\t            marginTop: '1px',\n\t            transform: 'translateX(-2px)'\n\t          }\n\t        },\n\t        'vertical': {\n\t          gradient: {\n\t            background: 'linear-gradient(to bottom, rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ', 0) 0%,\\n           rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ', 1) 100%)'\n\t          },\n\t          pointer: {\n\t            left: 0,\n\t            top: rgb.a * 100 + '%'\n\t          }\n\t        },\n\t        'overwrite': _extends({}, this.props.style)\n\t      }, {\n\t        vertical: this.props.direction === 'vertical',\n\t        overwrite: true\n\t      });\n\t\n\t      return _react2.default.createElement(\n\t        'div',\n\t        { style: styles.alpha },\n\t        _react2.default.createElement(\n\t          'div',\n\t          { style: styles.checkboard },\n\t          _react2.default.createElement(_Checkboard2.default, { renderers: this.props.renderers })\n\t        ),\n\t        _react2.default.createElement('div', { style: styles.gradient }),\n\t        _react2.default.createElement(\n\t          'div',\n\t          {\n\t            style: styles.container,\n\t            ref: function ref(container) {\n\t              return _this2.container = container;\n\t            },\n\t            onMouseDown: this.handleMouseDown,\n\t            onTouchMove: this.handleChange,\n\t            onTouchStart: this.handleChange\n\t          },\n\t          _react2.default.createElement(\n\t            'div',\n\t            { style: styles.pointer },\n\t            this.props.pointer ? _react2.default.createElement(this.props.pointer, this.props) : _react2.default.createElement('div', { style: styles.slider })\n\t          )\n\t        )\n\t      );\n\t    }\n\t  }]);\n\t\n\t  return Alpha;\n\t}(_react.PureComponent || _react.Component);\n\t\n\texports.default = Alpha;\n\n/***/ }),\n/* 193 */\n/*!*********************************************!*\\\n  !*** ../~/react-color/lib/helpers/alpha.js ***!\n  \\*********************************************/\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\tvar calculateChange = exports.calculateChange = function calculateChange(e, hsl, direction, initialA, container) {\n\t  e.preventDefault();\n\t  var containerWidth = container.clientWidth;\n\t  var containerHeight = container.clientHeight;\n\t  var x = typeof e.pageX === 'number' ? e.pageX : e.touches[0].pageX;\n\t  var y = typeof e.pageY === 'number' ? e.pageY : e.touches[0].pageY;\n\t  var left = x - (container.getBoundingClientRect().left + window.pageXOffset);\n\t  var top = y - (container.getBoundingClientRect().top + window.pageYOffset);\n\t\n\t  if (direction === 'vertical') {\n\t    var a = void 0;\n\t    if (top < 0) {\n\t      a = 0;\n\t    } else if (top > containerHeight) {\n\t      a = 1;\n\t    } else {\n\t      a = Math.round(top * 100 / containerHeight) / 100;\n\t    }\n\t\n\t    if (hsl.a !== a) {\n\t      return {\n\t        h: hsl.h,\n\t        s: hsl.s,\n\t        l: hsl.l,\n\t        a: a,\n\t        source: 'rgb'\n\t      };\n\t    }\n\t  } else {\n\t    var _a = void 0;\n\t    if (left < 0) {\n\t      _a = 0;\n\t    } else if (left > containerWidth) {\n\t      _a = 1;\n\t    } else {\n\t      _a = Math.round(left * 100 / containerWidth) / 100;\n\t    }\n\t\n\t    if (initialA !== _a) {\n\t      return {\n\t        h: hsl.h,\n\t        s: hsl.s,\n\t        l: hsl.l,\n\t        a: _a,\n\t        source: 'rgb'\n\t      };\n\t    }\n\t  }\n\t  return null;\n\t};\n\n/***/ }),\n/* 194 */\n/*!************************************************************!*\\\n  !*** ../~/react-color/lib/components/common/Checkboard.js ***!\n  \\************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.Checkboard = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _checkboard = __webpack_require__(/*! ../../helpers/checkboard */ 195);\n\t\n\tvar checkboard = _interopRequireWildcard(_checkboard);\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar Checkboard = exports.Checkboard = function Checkboard(_ref) {\n\t  var white = _ref.white,\n\t      grey = _ref.grey,\n\t      size = _ref.size,\n\t      renderers = _ref.renderers,\n\t      borderRadius = _ref.borderRadius,\n\t      boxShadow = _ref.boxShadow;\n\t\n\t  var styles = (0, _reactcss2.default)({\n\t    'default': {\n\t      grid: {\n\t        borderRadius: borderRadius,\n\t        boxShadow: boxShadow,\n\t        absolute: '0px 0px 0px 0px',\n\t        background: 'url(' + checkboard.get(white, grey, size, renderers.canvas) + ') center left'\n\t      }\n\t    }\n\t  });\n\t\n\t  return _react2.default.createElement('div', { style: styles.grid });\n\t};\n\t\n\tCheckboard.defaultProps = {\n\t  size: 8,\n\t  white: 'transparent',\n\t  grey: 'rgba(0,0,0,.08)',\n\t  renderers: {}\n\t};\n\t\n\texports.default = Checkboard;\n\n/***/ }),\n/* 195 */\n/*!**************************************************!*\\\n  !*** ../~/react-color/lib/helpers/checkboard.js ***!\n  \\**************************************************/\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\tvar checkboardCache = {};\n\t\n\tvar render = exports.render = function render(c1, c2, size, serverCanvas) {\n\t  if (typeof document === 'undefined' && !serverCanvas) {\n\t    return null;\n\t  }\n\t  var canvas = serverCanvas ? new serverCanvas() : document.createElement('canvas');\n\t  canvas.width = size * 2;\n\t  canvas.height = size * 2;\n\t  var ctx = canvas.getContext('2d');\n\t  if (!ctx) {\n\t    return null;\n\t  } // If no context can be found, return early.\n\t  ctx.fillStyle = c1;\n\t  ctx.fillRect(0, 0, canvas.width, canvas.height);\n\t  ctx.fillStyle = c2;\n\t  ctx.fillRect(0, 0, size, size);\n\t  ctx.translate(size, size);\n\t  ctx.fillRect(0, 0, size, size);\n\t  return canvas.toDataURL();\n\t};\n\t\n\tvar get = exports.get = function get(c1, c2, size, serverCanvas) {\n\t  var key = c1 + '-' + c2 + '-' + size + (serverCanvas ? '-server' : '');\n\t\n\t  if (checkboardCache[key]) {\n\t    return checkboardCache[key];\n\t  }\n\t\n\t  var checkboard = render(c1, c2, size, serverCanvas);\n\t  checkboardCache[key] = checkboard;\n\t  return checkboard;\n\t};\n\n/***/ }),\n/* 196 */\n/*!***************************************************************!*\\\n  !*** ../~/react-color/lib/components/common/EditableInput.js ***!\n  \\***************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.EditableInput = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar DEFAULT_ARROW_OFFSET = 1;\n\t\n\tvar UP_KEY_CODE = 38;\n\tvar DOWN_KEY_CODE = 40;\n\tvar VALID_KEY_CODES = [UP_KEY_CODE, DOWN_KEY_CODE];\n\tvar isValidKeyCode = function isValidKeyCode(keyCode) {\n\t  return VALID_KEY_CODES.indexOf(keyCode) > -1;\n\t};\n\t\n\tvar getFormattedPercentage = function getFormattedPercentage(number) {\n\t  return number + '%';\n\t};\n\tvar getNumberValue = function getNumberValue(value) {\n\t  return Number(String(value).replace(/%/g, ''));\n\t};\n\tvar getIsPercentage = function getIsPercentage(value) {\n\t  return String(value).indexOf('%') > -1;\n\t};\n\t\n\tvar EditableInput = exports.EditableInput = function (_ref) {\n\t  _inherits(EditableInput, _ref);\n\t\n\t  function EditableInput(props) {\n\t    _classCallCheck(this, EditableInput);\n\t\n\t    var _this = _possibleConstructorReturn(this, (EditableInput.__proto__ || Object.getPrototypeOf(EditableInput)).call(this));\n\t\n\t    _this.handleBlur = function () {\n\t      if (_this.state.blurValue) {\n\t        _this.setState({ value: _this.state.blurValue, blurValue: null });\n\t      }\n\t    };\n\t\n\t    _this.handleChange = function (e) {\n\t      _this.setUpdatedValue(e.target.value, e);\n\t    };\n\t\n\t    _this.handleKeyDown = function (e) {\n\t      // In case `e.target.value` is a percentage remove the `%` character\n\t      // and update accordingly with a percentage\n\t      // https://github.com/casesandberg/react-color/issues/383\n\t      var value = getNumberValue(e.target.value);\n\t      if (!isNaN(value) && isValidKeyCode(e.keyCode)) {\n\t        var offset = _this.getArrowOffset();\n\t        var updatedValue = e.keyCode === UP_KEY_CODE ? value + offset : value - offset;\n\t\n\t        _this.setUpdatedValue(updatedValue, e);\n\t      }\n\t    };\n\t\n\t    _this.handleDrag = function (e) {\n\t      if (_this.props.dragLabel) {\n\t        var newValue = Math.round(_this.props.value + e.movementX);\n\t        if (newValue >= 0 && newValue <= _this.props.dragMax) {\n\t          _this.props.onChange && _this.props.onChange(_this.getValueObjectWithLabel(newValue), e);\n\t        }\n\t      }\n\t    };\n\t\n\t    _this.handleMouseDown = function (e) {\n\t      if (_this.props.dragLabel) {\n\t        e.preventDefault();\n\t        _this.handleDrag(e);\n\t        window.addEventListener('mousemove', _this.handleDrag);\n\t        window.addEventListener('mouseup', _this.handleMouseUp);\n\t      }\n\t    };\n\t\n\t    _this.handleMouseUp = function () {\n\t      _this.unbindEventListeners();\n\t    };\n\t\n\t    _this.unbindEventListeners = function () {\n\t      window.removeEventListener('mousemove', _this.handleDrag);\n\t      window.removeEventListener('mouseup', _this.handleMouseUp);\n\t    };\n\t\n\t    _this.state = {\n\t      value: String(props.value).toUpperCase(),\n\t      blurValue: String(props.value).toUpperCase()\n\t    };\n\t    return _this;\n\t  }\n\t\n\t  _createClass(EditableInput, [{\n\t    key: 'componentWillReceiveProps',\n\t    value: function componentWillReceiveProps(nextProps) {\n\t      var input = this.input;\n\t      if (nextProps.value !== this.state.value) {\n\t        if (input === document.activeElement) {\n\t          this.setState({ blurValue: String(nextProps.value).toUpperCase() });\n\t        } else {\n\t          this.setState({ value: String(nextProps.value).toUpperCase(), blurValue: !this.state.blurValue && String(nextProps.value).toUpperCase() });\n\t        }\n\t      }\n\t    }\n\t  }, {\n\t    key: 'componentWillUnmount',\n\t    value: function componentWillUnmount() {\n\t      this.unbindEventListeners();\n\t    }\n\t  }, {\n\t    key: 'getValueObjectWithLabel',\n\t    value: function getValueObjectWithLabel(value) {\n\t      return _defineProperty({}, this.props.label, value);\n\t    }\n\t  }, {\n\t    key: 'getArrowOffset',\n\t    value: function getArrowOffset() {\n\t      return this.props.arrowOffset || DEFAULT_ARROW_OFFSET;\n\t    }\n\t  }, {\n\t    key: 'setUpdatedValue',\n\t    value: function setUpdatedValue(value, e) {\n\t      var onChangeValue = this.props.label !== null ? this.getValueObjectWithLabel(value) : value;\n\t      this.props.onChange && this.props.onChange(onChangeValue, e);\n\t\n\t      var isPercentage = getIsPercentage(e.target.value);\n\t      this.setState({\n\t        value: isPercentage ? getFormattedPercentage(value) : value\n\t      });\n\t    }\n\t  }, {\n\t    key: 'render',\n\t    value: function render() {\n\t      var _this2 = this;\n\t\n\t      var styles = (0, _reactcss2.default)({\n\t        'default': {\n\t          wrap: {\n\t            position: 'relative'\n\t          }\n\t        },\n\t        'user-override': {\n\t          wrap: this.props.style && this.props.style.wrap ? this.props.style.wrap : {},\n\t          input: this.props.style && this.props.style.input ? this.props.style.input : {},\n\t          label: this.props.style && this.props.style.label ? this.props.style.label : {}\n\t        },\n\t        'dragLabel-true': {\n\t          label: {\n\t            cursor: 'ew-resize'\n\t          }\n\t        }\n\t      }, {\n\t        'user-override': true\n\t      }, this.props);\n\t\n\t      return _react2.default.createElement(\n\t        'div',\n\t        { style: styles.wrap },\n\t        _react2.default.createElement('input', {\n\t          style: styles.input,\n\t          ref: function ref(input) {\n\t            return _this2.input = input;\n\t          },\n\t          value: this.state.value,\n\t          onKeyDown: this.handleKeyDown,\n\t          onChange: this.handleChange,\n\t          onBlur: this.handleBlur,\n\t          placeholder: this.props.placeholder,\n\t          spellCheck: 'false'\n\t        }),\n\t        this.props.label && !this.props.hideLabel ? _react2.default.createElement(\n\t          'span',\n\t          { style: styles.label, onMouseDown: this.handleMouseDown },\n\t          this.props.label\n\t        ) : null\n\t      );\n\t    }\n\t  }]);\n\t\n\t  return EditableInput;\n\t}(_react.PureComponent || _react.Component);\n\t\n\texports.default = EditableInput;\n\n/***/ }),\n/* 197 */\n/*!*****************************************************!*\\\n  !*** ../~/react-color/lib/components/common/Hue.js ***!\n  \\*****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.Hue = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _hue = __webpack_require__(/*! ../../helpers/hue */ 198);\n\t\n\tvar hue = _interopRequireWildcard(_hue);\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Hue = exports.Hue = function (_ref) {\n\t  _inherits(Hue, _ref);\n\t\n\t  function Hue() {\n\t    var _ref2;\n\t\n\t    var _temp, _this, _ret;\n\t\n\t    _classCallCheck(this, Hue);\n\t\n\t    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t      args[_key] = arguments[_key];\n\t    }\n\t\n\t    return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref2 = Hue.__proto__ || Object.getPrototypeOf(Hue)).call.apply(_ref2, [this].concat(args))), _this), _this.handleChange = function (e) {\n\t      var change = hue.calculateChange(e, _this.props.direction, _this.props.hsl, _this.container);\n\t      change && typeof _this.props.onChange === 'function' && _this.props.onChange(change, e);\n\t    }, _this.handleMouseDown = function (e) {\n\t      _this.handleChange(e);\n\t      window.addEventListener('mousemove', _this.handleChange);\n\t      window.addEventListener('mouseup', _this.handleMouseUp);\n\t    }, _this.handleMouseUp = function () {\n\t      _this.unbindEventListeners();\n\t    }, _temp), _possibleConstructorReturn(_this, _ret);\n\t  }\n\t\n\t  _createClass(Hue, [{\n\t    key: 'componentWillUnmount',\n\t    value: function componentWillUnmount() {\n\t      this.unbindEventListeners();\n\t    }\n\t  }, {\n\t    key: 'unbindEventListeners',\n\t    value: function unbindEventListeners() {\n\t      window.removeEventListener('mousemove', this.handleChange);\n\t      window.removeEventListener('mouseup', this.handleMouseUp);\n\t    }\n\t  }, {\n\t    key: 'render',\n\t    value: function render() {\n\t      var _this2 = this;\n\t\n\t      var _props$direction = this.props.direction,\n\t          direction = _props$direction === undefined ? 'horizontal' : _props$direction;\n\t\n\t\n\t      var styles = (0, _reactcss2.default)({\n\t        'default': {\n\t          hue: {\n\t            absolute: '0px 0px 0px 0px',\n\t            borderRadius: this.props.radius,\n\t            boxShadow: this.props.shadow\n\t          },\n\t          container: {\n\t            padding: '0 2px',\n\t            position: 'relative',\n\t            height: '100%',\n\t            borderRadius: this.props.radius\n\t          },\n\t          pointer: {\n\t            position: 'absolute',\n\t            left: this.props.hsl.h * 100 / 360 + '%'\n\t          },\n\t          slider: {\n\t            marginTop: '1px',\n\t            width: '4px',\n\t            borderRadius: '1px',\n\t            height: '8px',\n\t            boxShadow: '0 0 2px rgba(0, 0, 0, .6)',\n\t            background: '#fff',\n\t            transform: 'translateX(-2px)'\n\t          }\n\t        },\n\t        'vertical': {\n\t          pointer: {\n\t            left: '0px',\n\t            top: -(this.props.hsl.h * 100 / 360) + 100 + '%'\n\t          }\n\t        }\n\t      }, { vertical: direction === 'vertical' });\n\t\n\t      return _react2.default.createElement(\n\t        'div',\n\t        { style: styles.hue },\n\t        _react2.default.createElement(\n\t          'div',\n\t          {\n\t            className: 'hue-' + direction,\n\t            style: styles.container,\n\t            ref: function ref(container) {\n\t              return _this2.container = container;\n\t            },\n\t            onMouseDown: this.handleMouseDown,\n\t            onTouchMove: this.handleChange,\n\t            onTouchStart: this.handleChange\n\t          },\n\t          _react2.default.createElement(\n\t            'style',\n\t            null,\n\t            '\\n            .hue-horizontal {\\n              background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0\\n                33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n              background: -webkit-linear-gradient(to right, #f00 0%, #ff0\\n                17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n            }\\n\\n            .hue-vertical {\\n              background: linear-gradient(to top, #f00 0%, #ff0 17%, #0f0 33%,\\n                #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n              background: -webkit-linear-gradient(to top, #f00 0%, #ff0 17%,\\n                #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n            }\\n          '\n\t          ),\n\t          _react2.default.createElement(\n\t            'div',\n\t            { style: styles.pointer },\n\t            this.props.pointer ? _react2.default.createElement(this.props.pointer, this.props) : _react2.default.createElement('div', { style: styles.slider })\n\t          )\n\t        )\n\t      );\n\t    }\n\t  }]);\n\t\n\t  return Hue;\n\t}(_react.PureComponent || _react.Component);\n\t\n\texports.default = Hue;\n\n/***/ }),\n/* 198 */\n/*!*******************************************!*\\\n  !*** ../~/react-color/lib/helpers/hue.js ***!\n  \\*******************************************/\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\tvar calculateChange = exports.calculateChange = function calculateChange(e, direction, hsl, container) {\n\t  e.preventDefault();\n\t  var containerWidth = container.clientWidth;\n\t  var containerHeight = container.clientHeight;\n\t  var x = typeof e.pageX === 'number' ? e.pageX : e.touches[0].pageX;\n\t  var y = typeof e.pageY === 'number' ? e.pageY : e.touches[0].pageY;\n\t  var left = x - (container.getBoundingClientRect().left + window.pageXOffset);\n\t  var top = y - (container.getBoundingClientRect().top + window.pageYOffset);\n\t\n\t  if (direction === 'vertical') {\n\t    var h = void 0;\n\t    if (top < 0) {\n\t      h = 359;\n\t    } else if (top > containerHeight) {\n\t      h = 0;\n\t    } else {\n\t      var percent = -(top * 100 / containerHeight) + 100;\n\t      h = 360 * percent / 100;\n\t    }\n\t\n\t    if (hsl.h !== h) {\n\t      return {\n\t        h: h,\n\t        s: hsl.s,\n\t        l: hsl.l,\n\t        a: hsl.a,\n\t        source: 'rgb'\n\t      };\n\t    }\n\t  } else {\n\t    var _h = void 0;\n\t    if (left < 0) {\n\t      _h = 0;\n\t    } else if (left > containerWidth) {\n\t      _h = 359;\n\t    } else {\n\t      var _percent = left * 100 / containerWidth;\n\t      _h = 360 * _percent / 100;\n\t    }\n\t\n\t    if (hsl.h !== _h) {\n\t      return {\n\t        h: _h,\n\t        s: hsl.s,\n\t        l: hsl.l,\n\t        a: hsl.a,\n\t        source: 'rgb'\n\t      };\n\t    }\n\t  }\n\t  return null;\n\t};\n\n/***/ }),\n/* 199 */\n/*!********************************************************!*\\\n  !*** ../~/react-color/lib/components/common/Raised.js ***!\n  \\********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.Raised = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _merge = __webpack_require__(/*! lodash/merge */ 200);\n\t\n\tvar _merge2 = _interopRequireDefault(_merge);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar Raised = exports.Raised = function Raised(_ref) {\n\t  var zDepth = _ref.zDepth,\n\t      radius = _ref.radius,\n\t      background = _ref.background,\n\t      children = _ref.children,\n\t      _ref$styles = _ref.styles,\n\t      passedStyles = _ref$styles === undefined ? {} : _ref$styles;\n\t\n\t  var styles = (0, _reactcss2.default)((0, _merge2.default)({\n\t    'default': {\n\t      wrap: {\n\t        position: 'relative',\n\t        display: 'inline-block'\n\t      },\n\t      content: {\n\t        position: 'relative'\n\t      },\n\t      bg: {\n\t        absolute: '0px 0px 0px 0px',\n\t        boxShadow: '0 ' + zDepth + 'px ' + zDepth * 4 + 'px rgba(0,0,0,.24)',\n\t        borderRadius: radius,\n\t        background: background\n\t      }\n\t    },\n\t    'zDepth-0': {\n\t      bg: {\n\t        boxShadow: 'none'\n\t      }\n\t    },\n\t\n\t    'zDepth-1': {\n\t      bg: {\n\t        boxShadow: '0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16)'\n\t      }\n\t    },\n\t    'zDepth-2': {\n\t      bg: {\n\t        boxShadow: '0 6px 20px rgba(0,0,0,.19), 0 8px 17px rgba(0,0,0,.2)'\n\t      }\n\t    },\n\t    'zDepth-3': {\n\t      bg: {\n\t        boxShadow: '0 17px 50px rgba(0,0,0,.19), 0 12px 15px rgba(0,0,0,.24)'\n\t      }\n\t    },\n\t    'zDepth-4': {\n\t      bg: {\n\t        boxShadow: '0 25px 55px rgba(0,0,0,.21), 0 16px 28px rgba(0,0,0,.22)'\n\t      }\n\t    },\n\t    'zDepth-5': {\n\t      bg: {\n\t        boxShadow: '0 40px 77px rgba(0,0,0,.22), 0 27px 24px rgba(0,0,0,.2)'\n\t      }\n\t    },\n\t    'square': {\n\t      bg: {\n\t        borderRadius: '0'\n\t      }\n\t    },\n\t    'circle': {\n\t      bg: {\n\t        borderRadius: '50%'\n\t      }\n\t    }\n\t  }, passedStyles), { 'zDepth-1': zDepth === 1 });\n\t\n\t  return _react2.default.createElement(\n\t    'div',\n\t    { style: styles.wrap },\n\t    _react2.default.createElement('div', { style: styles.bg }),\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.content },\n\t      children\n\t    )\n\t  );\n\t};\n\t\n\tRaised.propTypes = {\n\t  background: _propTypes2.default.string,\n\t  zDepth: _propTypes2.default.oneOf([0, 1, 2, 3, 4, 5]),\n\t  radius: _propTypes2.default.number,\n\t  styles: _propTypes2.default.object\n\t};\n\t\n\tRaised.defaultProps = {\n\t  background: '#fff',\n\t  zDepth: 1,\n\t  radius: 2,\n\t  styles: {}\n\t};\n\t\n\texports.default = Raised;\n\n/***/ }),\n/* 200 */\n/*!******************************************!*\\\n  !*** ../~/react-color/~/lodash/merge.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseMerge = __webpack_require__(/*! ./_baseMerge */ 201),\n\t    createAssigner = __webpack_require__(/*! ./_createAssigner */ 286);\n\t\n\t/**\n\t * This method is like `_.assign` except that it recursively merges own and\n\t * inherited enumerable string keyed properties of source objects into the\n\t * destination object. Source properties that resolve to `undefined` are\n\t * skipped if a destination value exists. Array and plain object properties\n\t * are merged recursively. Other objects and value types are overridden by\n\t * assignment. Source objects are applied from left to right. Subsequent\n\t * sources overwrite property assignments of previous sources.\n\t *\n\t * **Note:** This method mutates `object`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.5.0\n\t * @category Object\n\t * @param {Object} object The destination object.\n\t * @param {...Object} [sources] The source objects.\n\t * @returns {Object} Returns `object`.\n\t * @example\n\t *\n\t * var object = {\n\t *   'a': [{ 'b': 2 }, { 'd': 4 }]\n\t * };\n\t *\n\t * var other = {\n\t *   'a': [{ 'c': 3 }, { 'e': 5 }]\n\t * };\n\t *\n\t * _.merge(object, other);\n\t * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n\t */\n\tvar merge = createAssigner(function(object, source, srcIndex) {\n\t  baseMerge(object, source, srcIndex);\n\t});\n\t\n\tmodule.exports = merge;\n\n\n/***/ }),\n/* 201 */\n/*!***********************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseMerge.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar Stack = __webpack_require__(/*! ./_Stack */ 202),\n\t    assignMergeValue = __webpack_require__(/*! ./_assignMergeValue */ 246),\n\t    baseFor = __webpack_require__(/*! ./_baseFor */ 249),\n\t    baseMergeDeep = __webpack_require__(/*! ./_baseMergeDeep */ 251),\n\t    isObject = __webpack_require__(/*! ./isObject */ 226),\n\t    keysIn = __webpack_require__(/*! ./keysIn */ 280),\n\t    safeGet = __webpack_require__(/*! ./_safeGet */ 276);\n\t\n\t/**\n\t * The base implementation of `_.merge` without support for multiple sources.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @param {number} srcIndex The index of `source`.\n\t * @param {Function} [customizer] The function to customize merged values.\n\t * @param {Object} [stack] Tracks traversed source values and their merged\n\t *  counterparts.\n\t */\n\tfunction baseMerge(object, source, srcIndex, customizer, stack) {\n\t  if (object === source) {\n\t    return;\n\t  }\n\t  baseFor(source, function(srcValue, key) {\n\t    if (isObject(srcValue)) {\n\t      stack || (stack = new Stack);\n\t      baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n\t    }\n\t    else {\n\t      var newValue = customizer\n\t        ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n\t        : undefined;\n\t\n\t      if (newValue === undefined) {\n\t        newValue = srcValue;\n\t      }\n\t      assignMergeValue(object, key, newValue);\n\t    }\n\t  }, keysIn);\n\t}\n\t\n\tmodule.exports = baseMerge;\n\n\n/***/ }),\n/* 202 */\n/*!*******************************************!*\\\n  !*** ../~/react-color/~/lodash/_Stack.js ***!\n  \\*******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar ListCache = __webpack_require__(/*! ./_ListCache */ 203),\n\t    stackClear = __webpack_require__(/*! ./_stackClear */ 211),\n\t    stackDelete = __webpack_require__(/*! ./_stackDelete */ 212),\n\t    stackGet = __webpack_require__(/*! ./_stackGet */ 213),\n\t    stackHas = __webpack_require__(/*! ./_stackHas */ 214),\n\t    stackSet = __webpack_require__(/*! ./_stackSet */ 215);\n\t\n\t/**\n\t * Creates a stack cache object to store key-value pairs.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction Stack(entries) {\n\t  var data = this.__data__ = new ListCache(entries);\n\t  this.size = data.size;\n\t}\n\t\n\t// Add methods to `Stack`.\n\tStack.prototype.clear = stackClear;\n\tStack.prototype['delete'] = stackDelete;\n\tStack.prototype.get = stackGet;\n\tStack.prototype.has = stackHas;\n\tStack.prototype.set = stackSet;\n\t\n\tmodule.exports = Stack;\n\n\n/***/ }),\n/* 203 */\n/*!***********************************************!*\\\n  !*** ../~/react-color/~/lodash/_ListCache.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar listCacheClear = __webpack_require__(/*! ./_listCacheClear */ 204),\n\t    listCacheDelete = __webpack_require__(/*! ./_listCacheDelete */ 205),\n\t    listCacheGet = __webpack_require__(/*! ./_listCacheGet */ 208),\n\t    listCacheHas = __webpack_require__(/*! ./_listCacheHas */ 209),\n\t    listCacheSet = __webpack_require__(/*! ./_listCacheSet */ 210);\n\t\n\t/**\n\t * Creates an list cache object.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction ListCache(entries) {\n\t  var index = -1,\n\t      length = entries == null ? 0 : entries.length;\n\t\n\t  this.clear();\n\t  while (++index < length) {\n\t    var entry = entries[index];\n\t    this.set(entry[0], entry[1]);\n\t  }\n\t}\n\t\n\t// Add methods to `ListCache`.\n\tListCache.prototype.clear = listCacheClear;\n\tListCache.prototype['delete'] = listCacheDelete;\n\tListCache.prototype.get = listCacheGet;\n\tListCache.prototype.has = listCacheHas;\n\tListCache.prototype.set = listCacheSet;\n\t\n\tmodule.exports = ListCache;\n\n\n/***/ }),\n/* 204 */\n/*!****************************************************!*\\\n  !*** ../~/react-color/~/lodash/_listCacheClear.js ***!\n  \\****************************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Removes all key-value entries from the list cache.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf ListCache\n\t */\n\tfunction listCacheClear() {\n\t  this.__data__ = [];\n\t  this.size = 0;\n\t}\n\t\n\tmodule.exports = listCacheClear;\n\n\n/***/ }),\n/* 205 */\n/*!*****************************************************!*\\\n  !*** ../~/react-color/~/lodash/_listCacheDelete.js ***!\n  \\*****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ 206);\n\t\n\t/** Used for built-in method references. */\n\tvar arrayProto = Array.prototype;\n\t\n\t/** Built-in value references. */\n\tvar splice = arrayProto.splice;\n\t\n\t/**\n\t * Removes `key` and its value from the list cache.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction listCacheDelete(key) {\n\t  var data = this.__data__,\n\t      index = assocIndexOf(data, key);\n\t\n\t  if (index < 0) {\n\t    return false;\n\t  }\n\t  var lastIndex = data.length - 1;\n\t  if (index == lastIndex) {\n\t    data.pop();\n\t  } else {\n\t    splice.call(data, index, 1);\n\t  }\n\t  --this.size;\n\t  return true;\n\t}\n\t\n\tmodule.exports = listCacheDelete;\n\n\n/***/ }),\n/* 206 */\n/*!**************************************************!*\\\n  !*** ../~/react-color/~/lodash/_assocIndexOf.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar eq = __webpack_require__(/*! ./eq */ 207);\n\t\n\t/**\n\t * Gets the index at which the `key` is found in `array` of key-value pairs.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {*} key The key to search for.\n\t * @returns {number} Returns the index of the matched value, else `-1`.\n\t */\n\tfunction assocIndexOf(array, key) {\n\t  var length = array.length;\n\t  while (length--) {\n\t    if (eq(array[length][0], key)) {\n\t      return length;\n\t    }\n\t  }\n\t  return -1;\n\t}\n\t\n\tmodule.exports = assocIndexOf;\n\n\n/***/ }),\n/* 207 */\n/*!***************************************!*\\\n  !*** ../~/react-color/~/lodash/eq.js ***!\n  \\***************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Performs a\n\t * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n\t * comparison between two values to determine if they are equivalent.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'a': 1 };\n\t * var other = { 'a': 1 };\n\t *\n\t * _.eq(object, object);\n\t * // => true\n\t *\n\t * _.eq(object, other);\n\t * // => false\n\t *\n\t * _.eq('a', 'a');\n\t * // => true\n\t *\n\t * _.eq('a', Object('a'));\n\t * // => false\n\t *\n\t * _.eq(NaN, NaN);\n\t * // => true\n\t */\n\tfunction eq(value, other) {\n\t  return value === other || (value !== value && other !== other);\n\t}\n\t\n\tmodule.exports = eq;\n\n\n/***/ }),\n/* 208 */\n/*!**************************************************!*\\\n  !*** ../~/react-color/~/lodash/_listCacheGet.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ 206);\n\t\n\t/**\n\t * Gets the list cache value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction listCacheGet(key) {\n\t  var data = this.__data__,\n\t      index = assocIndexOf(data, key);\n\t\n\t  return index < 0 ? undefined : data[index][1];\n\t}\n\t\n\tmodule.exports = listCacheGet;\n\n\n/***/ }),\n/* 209 */\n/*!**************************************************!*\\\n  !*** ../~/react-color/~/lodash/_listCacheHas.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ 206);\n\t\n\t/**\n\t * Checks if a list cache value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf ListCache\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction listCacheHas(key) {\n\t  return assocIndexOf(this.__data__, key) > -1;\n\t}\n\t\n\tmodule.exports = listCacheHas;\n\n\n/***/ }),\n/* 210 */\n/*!**************************************************!*\\\n  !*** ../~/react-color/~/lodash/_listCacheSet.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ 206);\n\t\n\t/**\n\t * Sets the list cache `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the list cache instance.\n\t */\n\tfunction listCacheSet(key, value) {\n\t  var data = this.__data__,\n\t      index = assocIndexOf(data, key);\n\t\n\t  if (index < 0) {\n\t    ++this.size;\n\t    data.push([key, value]);\n\t  } else {\n\t    data[index][1] = value;\n\t  }\n\t  return this;\n\t}\n\t\n\tmodule.exports = listCacheSet;\n\n\n/***/ }),\n/* 211 */\n/*!************************************************!*\\\n  !*** ../~/react-color/~/lodash/_stackClear.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar ListCache = __webpack_require__(/*! ./_ListCache */ 203);\n\t\n\t/**\n\t * Removes all key-value entries from the stack.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf Stack\n\t */\n\tfunction stackClear() {\n\t  this.__data__ = new ListCache;\n\t  this.size = 0;\n\t}\n\t\n\tmodule.exports = stackClear;\n\n\n/***/ }),\n/* 212 */\n/*!*************************************************!*\\\n  !*** ../~/react-color/~/lodash/_stackDelete.js ***!\n  \\*************************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Removes `key` and its value from the stack.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf Stack\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction stackDelete(key) {\n\t  var data = this.__data__,\n\t      result = data['delete'](key);\n\t\n\t  this.size = data.size;\n\t  return result;\n\t}\n\t\n\tmodule.exports = stackDelete;\n\n\n/***/ }),\n/* 213 */\n/*!**********************************************!*\\\n  !*** ../~/react-color/~/lodash/_stackGet.js ***!\n  \\**********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Gets the stack value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf Stack\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction stackGet(key) {\n\t  return this.__data__.get(key);\n\t}\n\t\n\tmodule.exports = stackGet;\n\n\n/***/ }),\n/* 214 */\n/*!**********************************************!*\\\n  !*** ../~/react-color/~/lodash/_stackHas.js ***!\n  \\**********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Checks if a stack value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf Stack\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction stackHas(key) {\n\t  return this.__data__.has(key);\n\t}\n\t\n\tmodule.exports = stackHas;\n\n\n/***/ }),\n/* 215 */\n/*!**********************************************!*\\\n  !*** ../~/react-color/~/lodash/_stackSet.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar ListCache = __webpack_require__(/*! ./_ListCache */ 203),\n\t    Map = __webpack_require__(/*! ./_Map */ 216),\n\t    MapCache = __webpack_require__(/*! ./_MapCache */ 231);\n\t\n\t/** Used as the size to enable large array optimizations. */\n\tvar LARGE_ARRAY_SIZE = 200;\n\t\n\t/**\n\t * Sets the stack `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf Stack\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the stack cache instance.\n\t */\n\tfunction stackSet(key, value) {\n\t  var data = this.__data__;\n\t  if (data instanceof ListCache) {\n\t    var pairs = data.__data__;\n\t    if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n\t      pairs.push([key, value]);\n\t      this.size = ++data.size;\n\t      return this;\n\t    }\n\t    data = this.__data__ = new MapCache(pairs);\n\t  }\n\t  data.set(key, value);\n\t  this.size = data.size;\n\t  return this;\n\t}\n\t\n\tmodule.exports = stackSet;\n\n\n/***/ }),\n/* 216 */\n/*!*****************************************!*\\\n  !*** ../~/react-color/~/lodash/_Map.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(/*! ./_getNative */ 217),\n\t    root = __webpack_require__(/*! ./_root */ 222);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar Map = getNative(root, 'Map');\n\t\n\tmodule.exports = Map;\n\n\n/***/ }),\n/* 217 */\n/*!***********************************************!*\\\n  !*** ../~/react-color/~/lodash/_getNative.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseIsNative = __webpack_require__(/*! ./_baseIsNative */ 218),\n\t    getValue = __webpack_require__(/*! ./_getValue */ 230);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t  var value = getValue(object, key);\n\t  return baseIsNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ }),\n/* 218 */\n/*!**************************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseIsNative.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(/*! ./isFunction */ 219),\n\t    isMasked = __webpack_require__(/*! ./_isMasked */ 227),\n\t    isObject = __webpack_require__(/*! ./isObject */ 226),\n\t    toSource = __webpack_require__(/*! ./_toSource */ 229);\n\t\n\t/**\n\t * Used to match `RegExp`\n\t * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n\t */\n\tvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\t\n\t/** Used to detect host constructors (Safari). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for built-in method references. */\n\tvar funcProto = Function.prototype,\n\t    objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = funcProto.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t  funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n\t  .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * The base implementation of `_.isNative` without bad shim checks.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function,\n\t *  else `false`.\n\t */\n\tfunction baseIsNative(value) {\n\t  if (!isObject(value) || isMasked(value)) {\n\t    return false;\n\t  }\n\t  var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n\t  return pattern.test(toSource(value));\n\t}\n\t\n\tmodule.exports = baseIsNative;\n\n\n/***/ }),\n/* 219 */\n/*!***********************************************!*\\\n  !*** ../~/react-color/~/lodash/isFunction.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseGetTag = __webpack_require__(/*! ./_baseGetTag */ 220),\n\t    isObject = __webpack_require__(/*! ./isObject */ 226);\n\t\n\t/** `Object#toString` result references. */\n\tvar asyncTag = '[object AsyncFunction]',\n\t    funcTag = '[object Function]',\n\t    genTag = '[object GeneratorFunction]',\n\t    proxyTag = '[object Proxy]';\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t  if (!isObject(value)) {\n\t    return false;\n\t  }\n\t  // The use of `Object#toString` avoids issues with the `typeof` operator\n\t  // in Safari 9 which returns 'object' for typed arrays and other constructors.\n\t  var tag = baseGetTag(value);\n\t  return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ }),\n/* 220 */\n/*!************************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseGetTag.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar Symbol = __webpack_require__(/*! ./_Symbol */ 221),\n\t    getRawTag = __webpack_require__(/*! ./_getRawTag */ 224),\n\t    objectToString = __webpack_require__(/*! ./_objectToString */ 225);\n\t\n\t/** `Object#toString` result references. */\n\tvar nullTag = '[object Null]',\n\t    undefinedTag = '[object Undefined]';\n\t\n\t/** Built-in value references. */\n\tvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\t\n\t/**\n\t * The base implementation of `getTag` without fallbacks for buggy environments.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {string} Returns the `toStringTag`.\n\t */\n\tfunction baseGetTag(value) {\n\t  if (value == null) {\n\t    return value === undefined ? undefinedTag : nullTag;\n\t  }\n\t  return (symToStringTag && symToStringTag in Object(value))\n\t    ? getRawTag(value)\n\t    : objectToString(value);\n\t}\n\t\n\tmodule.exports = baseGetTag;\n\n\n/***/ }),\n/* 221 */\n/*!********************************************!*\\\n  !*** ../~/react-color/~/lodash/_Symbol.js ***!\n  \\********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar root = __webpack_require__(/*! ./_root */ 222);\n\t\n\t/** Built-in value references. */\n\tvar Symbol = root.Symbol;\n\t\n\tmodule.exports = Symbol;\n\n\n/***/ }),\n/* 222 */\n/*!******************************************!*\\\n  !*** ../~/react-color/~/lodash/_root.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar freeGlobal = __webpack_require__(/*! ./_freeGlobal */ 223);\n\t\n\t/** Detect free variable `self`. */\n\tvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\t\n\t/** Used as a reference to the global object. */\n\tvar root = freeGlobal || freeSelf || Function('return this')();\n\t\n\tmodule.exports = root;\n\n\n/***/ }),\n/* 223 */\n/*!************************************************!*\\\n  !*** ../~/react-color/~/lodash/_freeGlobal.js ***!\n  \\************************************************/\n/***/ (function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */\n\tvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\t\n\tmodule.exports = freeGlobal;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ }),\n/* 224 */\n/*!***********************************************!*\\\n  !*** ../~/react-color/~/lodash/_getRawTag.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar Symbol = __webpack_require__(/*! ./_Symbol */ 221);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar nativeObjectToString = objectProto.toString;\n\t\n\t/** Built-in value references. */\n\tvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\t\n\t/**\n\t * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {string} Returns the raw `toStringTag`.\n\t */\n\tfunction getRawTag(value) {\n\t  var isOwn = hasOwnProperty.call(value, symToStringTag),\n\t      tag = value[symToStringTag];\n\t\n\t  try {\n\t    value[symToStringTag] = undefined;\n\t    var unmasked = true;\n\t  } catch (e) {}\n\t\n\t  var result = nativeObjectToString.call(value);\n\t  if (unmasked) {\n\t    if (isOwn) {\n\t      value[symToStringTag] = tag;\n\t    } else {\n\t      delete value[symToStringTag];\n\t    }\n\t  }\n\t  return result;\n\t}\n\t\n\tmodule.exports = getRawTag;\n\n\n/***/ }),\n/* 225 */\n/*!****************************************************!*\\\n  !*** ../~/react-color/~/lodash/_objectToString.js ***!\n  \\****************************************************/\n/***/ (function(module, exports) {\n\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar nativeObjectToString = objectProto.toString;\n\t\n\t/**\n\t * Converts `value` to a string using `Object.prototype.toString`.\n\t *\n\t * @private\n\t * @param {*} value The value to convert.\n\t * @returns {string} Returns the converted string.\n\t */\n\tfunction objectToString(value) {\n\t  return nativeObjectToString.call(value);\n\t}\n\t\n\tmodule.exports = objectToString;\n\n\n/***/ }),\n/* 226 */\n/*!*********************************************!*\\\n  !*** ../~/react-color/~/lodash/isObject.js ***!\n  \\*********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the\n\t * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n\t * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(_.noop);\n\t * // => true\n\t *\n\t * _.isObject(null);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t  var type = typeof value;\n\t  return value != null && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ }),\n/* 227 */\n/*!**********************************************!*\\\n  !*** ../~/react-color/~/lodash/_isMasked.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar coreJsData = __webpack_require__(/*! ./_coreJsData */ 228);\n\t\n\t/** Used to detect methods masquerading as native. */\n\tvar maskSrcKey = (function() {\n\t  var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n\t  return uid ? ('Symbol(src)_1.' + uid) : '';\n\t}());\n\t\n\t/**\n\t * Checks if `func` has its source masked.\n\t *\n\t * @private\n\t * @param {Function} func The function to check.\n\t * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n\t */\n\tfunction isMasked(func) {\n\t  return !!maskSrcKey && (maskSrcKey in func);\n\t}\n\t\n\tmodule.exports = isMasked;\n\n\n/***/ }),\n/* 228 */\n/*!************************************************!*\\\n  !*** ../~/react-color/~/lodash/_coreJsData.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar root = __webpack_require__(/*! ./_root */ 222);\n\t\n\t/** Used to detect overreaching core-js shims. */\n\tvar coreJsData = root['__core-js_shared__'];\n\t\n\tmodule.exports = coreJsData;\n\n\n/***/ }),\n/* 229 */\n/*!**********************************************!*\\\n  !*** ../~/react-color/~/lodash/_toSource.js ***!\n  \\**********************************************/\n/***/ (function(module, exports) {\n\n\t/** Used for built-in method references. */\n\tvar funcProto = Function.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = funcProto.toString;\n\t\n\t/**\n\t * Converts `func` to its source code.\n\t *\n\t * @private\n\t * @param {Function} func The function to convert.\n\t * @returns {string} Returns the source code.\n\t */\n\tfunction toSource(func) {\n\t  if (func != null) {\n\t    try {\n\t      return funcToString.call(func);\n\t    } catch (e) {}\n\t    try {\n\t      return (func + '');\n\t    } catch (e) {}\n\t  }\n\t  return '';\n\t}\n\t\n\tmodule.exports = toSource;\n\n\n/***/ }),\n/* 230 */\n/*!**********************************************!*\\\n  !*** ../~/react-color/~/lodash/_getValue.js ***!\n  \\**********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Gets the value at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} [object] The object to query.\n\t * @param {string} key The key of the property to get.\n\t * @returns {*} Returns the property value.\n\t */\n\tfunction getValue(object, key) {\n\t  return object == null ? undefined : object[key];\n\t}\n\t\n\tmodule.exports = getValue;\n\n\n/***/ }),\n/* 231 */\n/*!**********************************************!*\\\n  !*** ../~/react-color/~/lodash/_MapCache.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar mapCacheClear = __webpack_require__(/*! ./_mapCacheClear */ 232),\n\t    mapCacheDelete = __webpack_require__(/*! ./_mapCacheDelete */ 240),\n\t    mapCacheGet = __webpack_require__(/*! ./_mapCacheGet */ 243),\n\t    mapCacheHas = __webpack_require__(/*! ./_mapCacheHas */ 244),\n\t    mapCacheSet = __webpack_require__(/*! ./_mapCacheSet */ 245);\n\t\n\t/**\n\t * Creates a map cache object to store key-value pairs.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction MapCache(entries) {\n\t  var index = -1,\n\t      length = entries == null ? 0 : entries.length;\n\t\n\t  this.clear();\n\t  while (++index < length) {\n\t    var entry = entries[index];\n\t    this.set(entry[0], entry[1]);\n\t  }\n\t}\n\t\n\t// Add methods to `MapCache`.\n\tMapCache.prototype.clear = mapCacheClear;\n\tMapCache.prototype['delete'] = mapCacheDelete;\n\tMapCache.prototype.get = mapCacheGet;\n\tMapCache.prototype.has = mapCacheHas;\n\tMapCache.prototype.set = mapCacheSet;\n\t\n\tmodule.exports = MapCache;\n\n\n/***/ }),\n/* 232 */\n/*!***************************************************!*\\\n  !*** ../~/react-color/~/lodash/_mapCacheClear.js ***!\n  \\***************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar Hash = __webpack_require__(/*! ./_Hash */ 233),\n\t    ListCache = __webpack_require__(/*! ./_ListCache */ 203),\n\t    Map = __webpack_require__(/*! ./_Map */ 216);\n\t\n\t/**\n\t * Removes all key-value entries from the map.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf MapCache\n\t */\n\tfunction mapCacheClear() {\n\t  this.size = 0;\n\t  this.__data__ = {\n\t    'hash': new Hash,\n\t    'map': new (Map || ListCache),\n\t    'string': new Hash\n\t  };\n\t}\n\t\n\tmodule.exports = mapCacheClear;\n\n\n/***/ }),\n/* 233 */\n/*!******************************************!*\\\n  !*** ../~/react-color/~/lodash/_Hash.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar hashClear = __webpack_require__(/*! ./_hashClear */ 234),\n\t    hashDelete = __webpack_require__(/*! ./_hashDelete */ 236),\n\t    hashGet = __webpack_require__(/*! ./_hashGet */ 237),\n\t    hashHas = __webpack_require__(/*! ./_hashHas */ 238),\n\t    hashSet = __webpack_require__(/*! ./_hashSet */ 239);\n\t\n\t/**\n\t * Creates a hash object.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction Hash(entries) {\n\t  var index = -1,\n\t      length = entries == null ? 0 : entries.length;\n\t\n\t  this.clear();\n\t  while (++index < length) {\n\t    var entry = entries[index];\n\t    this.set(entry[0], entry[1]);\n\t  }\n\t}\n\t\n\t// Add methods to `Hash`.\n\tHash.prototype.clear = hashClear;\n\tHash.prototype['delete'] = hashDelete;\n\tHash.prototype.get = hashGet;\n\tHash.prototype.has = hashHas;\n\tHash.prototype.set = hashSet;\n\t\n\tmodule.exports = Hash;\n\n\n/***/ }),\n/* 234 */\n/*!***********************************************!*\\\n  !*** ../~/react-color/~/lodash/_hashClear.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(/*! ./_nativeCreate */ 235);\n\t\n\t/**\n\t * Removes all key-value entries from the hash.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf Hash\n\t */\n\tfunction hashClear() {\n\t  this.__data__ = nativeCreate ? nativeCreate(null) : {};\n\t  this.size = 0;\n\t}\n\t\n\tmodule.exports = hashClear;\n\n\n/***/ }),\n/* 235 */\n/*!**************************************************!*\\\n  !*** ../~/react-color/~/lodash/_nativeCreate.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(/*! ./_getNative */ 217);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar nativeCreate = getNative(Object, 'create');\n\t\n\tmodule.exports = nativeCreate;\n\n\n/***/ }),\n/* 236 */\n/*!************************************************!*\\\n  !*** ../~/react-color/~/lodash/_hashDelete.js ***!\n  \\************************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Removes `key` and its value from the hash.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf Hash\n\t * @param {Object} hash The hash to modify.\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction hashDelete(key) {\n\t  var result = this.has(key) && delete this.__data__[key];\n\t  this.size -= result ? 1 : 0;\n\t  return result;\n\t}\n\t\n\tmodule.exports = hashDelete;\n\n\n/***/ }),\n/* 237 */\n/*!*********************************************!*\\\n  !*** ../~/react-color/~/lodash/_hashGet.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(/*! ./_nativeCreate */ 235);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Gets the hash value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf Hash\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction hashGet(key) {\n\t  var data = this.__data__;\n\t  if (nativeCreate) {\n\t    var result = data[key];\n\t    return result === HASH_UNDEFINED ? undefined : result;\n\t  }\n\t  return hasOwnProperty.call(data, key) ? data[key] : undefined;\n\t}\n\t\n\tmodule.exports = hashGet;\n\n\n/***/ }),\n/* 238 */\n/*!*********************************************!*\\\n  !*** ../~/react-color/~/lodash/_hashHas.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(/*! ./_nativeCreate */ 235);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Checks if a hash value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf Hash\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction hashHas(key) {\n\t  var data = this.__data__;\n\t  return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n\t}\n\t\n\tmodule.exports = hashHas;\n\n\n/***/ }),\n/* 239 */\n/*!*********************************************!*\\\n  !*** ../~/react-color/~/lodash/_hashSet.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(/*! ./_nativeCreate */ 235);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Sets the hash `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf Hash\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the hash instance.\n\t */\n\tfunction hashSet(key, value) {\n\t  var data = this.__data__;\n\t  this.size += this.has(key) ? 0 : 1;\n\t  data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n\t  return this;\n\t}\n\t\n\tmodule.exports = hashSet;\n\n\n/***/ }),\n/* 240 */\n/*!****************************************************!*\\\n  !*** ../~/react-color/~/lodash/_mapCacheDelete.js ***!\n  \\****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getMapData = __webpack_require__(/*! ./_getMapData */ 241);\n\t\n\t/**\n\t * Removes `key` and its value from the map.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction mapCacheDelete(key) {\n\t  var result = getMapData(this, key)['delete'](key);\n\t  this.size -= result ? 1 : 0;\n\t  return result;\n\t}\n\t\n\tmodule.exports = mapCacheDelete;\n\n\n/***/ }),\n/* 241 */\n/*!************************************************!*\\\n  !*** ../~/react-color/~/lodash/_getMapData.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isKeyable = __webpack_require__(/*! ./_isKeyable */ 242);\n\t\n\t/**\n\t * Gets the data for `map`.\n\t *\n\t * @private\n\t * @param {Object} map The map to query.\n\t * @param {string} key The reference key.\n\t * @returns {*} Returns the map data.\n\t */\n\tfunction getMapData(map, key) {\n\t  var data = map.__data__;\n\t  return isKeyable(key)\n\t    ? data[typeof key == 'string' ? 'string' : 'hash']\n\t    : data.map;\n\t}\n\t\n\tmodule.exports = getMapData;\n\n\n/***/ }),\n/* 242 */\n/*!***********************************************!*\\\n  !*** ../~/react-color/~/lodash/_isKeyable.js ***!\n  \\***********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Checks if `value` is suitable for use as unique object key.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n\t */\n\tfunction isKeyable(value) {\n\t  var type = typeof value;\n\t  return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n\t    ? (value !== '__proto__')\n\t    : (value === null);\n\t}\n\t\n\tmodule.exports = isKeyable;\n\n\n/***/ }),\n/* 243 */\n/*!*************************************************!*\\\n  !*** ../~/react-color/~/lodash/_mapCacheGet.js ***!\n  \\*************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getMapData = __webpack_require__(/*! ./_getMapData */ 241);\n\t\n\t/**\n\t * Gets the map value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction mapCacheGet(key) {\n\t  return getMapData(this, key).get(key);\n\t}\n\t\n\tmodule.exports = mapCacheGet;\n\n\n/***/ }),\n/* 244 */\n/*!*************************************************!*\\\n  !*** ../~/react-color/~/lodash/_mapCacheHas.js ***!\n  \\*************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getMapData = __webpack_require__(/*! ./_getMapData */ 241);\n\t\n\t/**\n\t * Checks if a map value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf MapCache\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction mapCacheHas(key) {\n\t  return getMapData(this, key).has(key);\n\t}\n\t\n\tmodule.exports = mapCacheHas;\n\n\n/***/ }),\n/* 245 */\n/*!*************************************************!*\\\n  !*** ../~/react-color/~/lodash/_mapCacheSet.js ***!\n  \\*************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getMapData = __webpack_require__(/*! ./_getMapData */ 241);\n\t\n\t/**\n\t * Sets the map `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the map cache instance.\n\t */\n\tfunction mapCacheSet(key, value) {\n\t  var data = getMapData(this, key),\n\t      size = data.size;\n\t\n\t  data.set(key, value);\n\t  this.size += data.size == size ? 0 : 1;\n\t  return this;\n\t}\n\t\n\tmodule.exports = mapCacheSet;\n\n\n/***/ }),\n/* 246 */\n/*!******************************************************!*\\\n  !*** ../~/react-color/~/lodash/_assignMergeValue.js ***!\n  \\******************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ 247),\n\t    eq = __webpack_require__(/*! ./eq */ 207);\n\t\n\t/**\n\t * This function is like `assignValue` except that it doesn't assign\n\t * `undefined` values.\n\t *\n\t * @private\n\t * @param {Object} object The object to modify.\n\t * @param {string} key The key of the property to assign.\n\t * @param {*} value The value to assign.\n\t */\n\tfunction assignMergeValue(object, key, value) {\n\t  if ((value !== undefined && !eq(object[key], value)) ||\n\t      (value === undefined && !(key in object))) {\n\t    baseAssignValue(object, key, value);\n\t  }\n\t}\n\t\n\tmodule.exports = assignMergeValue;\n\n\n/***/ }),\n/* 247 */\n/*!*****************************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseAssignValue.js ***!\n  \\*****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar defineProperty = __webpack_require__(/*! ./_defineProperty */ 248);\n\t\n\t/**\n\t * The base implementation of `assignValue` and `assignMergeValue` without\n\t * value checks.\n\t *\n\t * @private\n\t * @param {Object} object The object to modify.\n\t * @param {string} key The key of the property to assign.\n\t * @param {*} value The value to assign.\n\t */\n\tfunction baseAssignValue(object, key, value) {\n\t  if (key == '__proto__' && defineProperty) {\n\t    defineProperty(object, key, {\n\t      'configurable': true,\n\t      'enumerable': true,\n\t      'value': value,\n\t      'writable': true\n\t    });\n\t  } else {\n\t    object[key] = value;\n\t  }\n\t}\n\t\n\tmodule.exports = baseAssignValue;\n\n\n/***/ }),\n/* 248 */\n/*!****************************************************!*\\\n  !*** ../~/react-color/~/lodash/_defineProperty.js ***!\n  \\****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(/*! ./_getNative */ 217);\n\t\n\tvar defineProperty = (function() {\n\t  try {\n\t    var func = getNative(Object, 'defineProperty');\n\t    func({}, '', {});\n\t    return func;\n\t  } catch (e) {}\n\t}());\n\t\n\tmodule.exports = defineProperty;\n\n\n/***/ }),\n/* 249 */\n/*!*********************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseFor.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar createBaseFor = __webpack_require__(/*! ./_createBaseFor */ 250);\n\t\n\t/**\n\t * The base implementation of `baseForOwn` which iterates over `object`\n\t * properties returned by `keysFunc` and invokes `iteratee` for each property.\n\t * Iteratee functions may exit iteration early by explicitly returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n\n/***/ }),\n/* 250 */\n/*!***************************************************!*\\\n  !*** ../~/react-color/~/lodash/_createBaseFor.js ***!\n  \\***************************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t  return function(object, iteratee, keysFunc) {\n\t    var index = -1,\n\t        iterable = Object(object),\n\t        props = keysFunc(object),\n\t        length = props.length;\n\t\n\t    while (length--) {\n\t      var key = props[fromRight ? length : ++index];\n\t      if (iteratee(iterable[key], key, iterable) === false) {\n\t        break;\n\t      }\n\t    }\n\t    return object;\n\t  };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n\n/***/ }),\n/* 251 */\n/*!***************************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseMergeDeep.js ***!\n  \\***************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar assignMergeValue = __webpack_require__(/*! ./_assignMergeValue */ 246),\n\t    cloneBuffer = __webpack_require__(/*! ./_cloneBuffer */ 252),\n\t    cloneTypedArray = __webpack_require__(/*! ./_cloneTypedArray */ 253),\n\t    copyArray = __webpack_require__(/*! ./_copyArray */ 256),\n\t    initCloneObject = __webpack_require__(/*! ./_initCloneObject */ 257),\n\t    isArguments = __webpack_require__(/*! ./isArguments */ 262),\n\t    isArray = __webpack_require__(/*! ./isArray */ 265),\n\t    isArrayLikeObject = __webpack_require__(/*! ./isArrayLikeObject */ 266),\n\t    isBuffer = __webpack_require__(/*! ./isBuffer */ 269),\n\t    isFunction = __webpack_require__(/*! ./isFunction */ 219),\n\t    isObject = __webpack_require__(/*! ./isObject */ 226),\n\t    isPlainObject = __webpack_require__(/*! ./isPlainObject */ 271),\n\t    isTypedArray = __webpack_require__(/*! ./isTypedArray */ 272),\n\t    safeGet = __webpack_require__(/*! ./_safeGet */ 276),\n\t    toPlainObject = __webpack_require__(/*! ./toPlainObject */ 277);\n\t\n\t/**\n\t * A specialized version of `baseMerge` for arrays and objects which performs\n\t * deep merges and tracks traversed objects enabling objects with circular\n\t * references to be merged.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @param {string} key The key of the value to merge.\n\t * @param {number} srcIndex The index of `source`.\n\t * @param {Function} mergeFunc The function to merge values.\n\t * @param {Function} [customizer] The function to customize assigned values.\n\t * @param {Object} [stack] Tracks traversed source values and their merged\n\t *  counterparts.\n\t */\n\tfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n\t  var objValue = safeGet(object, key),\n\t      srcValue = safeGet(source, key),\n\t      stacked = stack.get(srcValue);\n\t\n\t  if (stacked) {\n\t    assignMergeValue(object, key, stacked);\n\t    return;\n\t  }\n\t  var newValue = customizer\n\t    ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n\t    : undefined;\n\t\n\t  var isCommon = newValue === undefined;\n\t\n\t  if (isCommon) {\n\t    var isArr = isArray(srcValue),\n\t        isBuff = !isArr && isBuffer(srcValue),\n\t        isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\t\n\t    newValue = srcValue;\n\t    if (isArr || isBuff || isTyped) {\n\t      if (isArray(objValue)) {\n\t        newValue = objValue;\n\t      }\n\t      else if (isArrayLikeObject(objValue)) {\n\t        newValue = copyArray(objValue);\n\t      }\n\t      else if (isBuff) {\n\t        isCommon = false;\n\t        newValue = cloneBuffer(srcValue, true);\n\t      }\n\t      else if (isTyped) {\n\t        isCommon = false;\n\t        newValue = cloneTypedArray(srcValue, true);\n\t      }\n\t      else {\n\t        newValue = [];\n\t      }\n\t    }\n\t    else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n\t      newValue = objValue;\n\t      if (isArguments(objValue)) {\n\t        newValue = toPlainObject(objValue);\n\t      }\n\t      else if (!isObject(objValue) || isFunction(objValue)) {\n\t        newValue = initCloneObject(srcValue);\n\t      }\n\t    }\n\t    else {\n\t      isCommon = false;\n\t    }\n\t  }\n\t  if (isCommon) {\n\t    // Recursively merge objects and arrays (susceptible to call stack limits).\n\t    stack.set(srcValue, newValue);\n\t    mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n\t    stack['delete'](srcValue);\n\t  }\n\t  assignMergeValue(object, key, newValue);\n\t}\n\t\n\tmodule.exports = baseMergeDeep;\n\n\n/***/ }),\n/* 252 */\n/*!*************************************************!*\\\n  !*** ../~/react-color/~/lodash/_cloneBuffer.js ***!\n  \\*************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(/*! ./_root */ 222);\n\t\n\t/** Detect free variable `exports`. */\n\tvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\t\n\t/** Detect free variable `module`. */\n\tvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\t\n\t/** Detect the popular CommonJS extension `module.exports`. */\n\tvar moduleExports = freeModule && freeModule.exports === freeExports;\n\t\n\t/** Built-in value references. */\n\tvar Buffer = moduleExports ? root.Buffer : undefined,\n\t    allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\t\n\t/**\n\t * Creates a clone of  `buffer`.\n\t *\n\t * @private\n\t * @param {Buffer} buffer The buffer to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Buffer} Returns the cloned buffer.\n\t */\n\tfunction cloneBuffer(buffer, isDeep) {\n\t  if (isDeep) {\n\t    return buffer.slice();\n\t  }\n\t  var length = buffer.length,\n\t      result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\t\n\t  buffer.copy(result);\n\t  return result;\n\t}\n\t\n\tmodule.exports = cloneBuffer;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(/*! ./../../../webpack/buildin/module.js */ 12)(module)))\n\n/***/ }),\n/* 253 */\n/*!*****************************************************!*\\\n  !*** ../~/react-color/~/lodash/_cloneTypedArray.js ***!\n  \\*****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar cloneArrayBuffer = __webpack_require__(/*! ./_cloneArrayBuffer */ 254);\n\t\n\t/**\n\t * Creates a clone of `typedArray`.\n\t *\n\t * @private\n\t * @param {Object} typedArray The typed array to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the cloned typed array.\n\t */\n\tfunction cloneTypedArray(typedArray, isDeep) {\n\t  var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n\t  return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n\t}\n\t\n\tmodule.exports = cloneTypedArray;\n\n\n/***/ }),\n/* 254 */\n/*!******************************************************!*\\\n  !*** ../~/react-color/~/lodash/_cloneArrayBuffer.js ***!\n  \\******************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar Uint8Array = __webpack_require__(/*! ./_Uint8Array */ 255);\n\t\n\t/**\n\t * Creates a clone of `arrayBuffer`.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction cloneArrayBuffer(arrayBuffer) {\n\t  var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n\t  new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n\t  return result;\n\t}\n\t\n\tmodule.exports = cloneArrayBuffer;\n\n\n/***/ }),\n/* 255 */\n/*!************************************************!*\\\n  !*** ../~/react-color/~/lodash/_Uint8Array.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar root = __webpack_require__(/*! ./_root */ 222);\n\t\n\t/** Built-in value references. */\n\tvar Uint8Array = root.Uint8Array;\n\t\n\tmodule.exports = Uint8Array;\n\n\n/***/ }),\n/* 256 */\n/*!***********************************************!*\\\n  !*** ../~/react-color/~/lodash/_copyArray.js ***!\n  \\***********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction copyArray(source, array) {\n\t  var index = -1,\n\t      length = source.length;\n\t\n\t  array || (array = Array(length));\n\t  while (++index < length) {\n\t    array[index] = source[index];\n\t  }\n\t  return array;\n\t}\n\t\n\tmodule.exports = copyArray;\n\n\n/***/ }),\n/* 257 */\n/*!*****************************************************!*\\\n  !*** ../~/react-color/~/lodash/_initCloneObject.js ***!\n  \\*****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseCreate = __webpack_require__(/*! ./_baseCreate */ 258),\n\t    getPrototype = __webpack_require__(/*! ./_getPrototype */ 259),\n\t    isPrototype = __webpack_require__(/*! ./_isPrototype */ 261);\n\t\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t  return (typeof object.constructor == 'function' && !isPrototype(object))\n\t    ? baseCreate(getPrototype(object))\n\t    : {};\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ }),\n/* 258 */\n/*!************************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseCreate.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(/*! ./isObject */ 226);\n\t\n\t/** Built-in value references. */\n\tvar objectCreate = Object.create;\n\t\n\t/**\n\t * The base implementation of `_.create` without support for assigning\n\t * properties to the created object.\n\t *\n\t * @private\n\t * @param {Object} proto The object to inherit from.\n\t * @returns {Object} Returns the new object.\n\t */\n\tvar baseCreate = (function() {\n\t  function object() {}\n\t  return function(proto) {\n\t    if (!isObject(proto)) {\n\t      return {};\n\t    }\n\t    if (objectCreate) {\n\t      return objectCreate(proto);\n\t    }\n\t    object.prototype = proto;\n\t    var result = new object;\n\t    object.prototype = undefined;\n\t    return result;\n\t  };\n\t}());\n\t\n\tmodule.exports = baseCreate;\n\n\n/***/ }),\n/* 259 */\n/*!**************************************************!*\\\n  !*** ../~/react-color/~/lodash/_getPrototype.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar overArg = __webpack_require__(/*! ./_overArg */ 260);\n\t\n\t/** Built-in value references. */\n\tvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\t\n\tmodule.exports = getPrototype;\n\n\n/***/ }),\n/* 260 */\n/*!*********************************************!*\\\n  !*** ../~/react-color/~/lodash/_overArg.js ***!\n  \\*********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Creates a unary function that invokes `func` with its argument transformed.\n\t *\n\t * @private\n\t * @param {Function} func The function to wrap.\n\t * @param {Function} transform The argument transform.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction overArg(func, transform) {\n\t  return function(arg) {\n\t    return func(transform(arg));\n\t  };\n\t}\n\t\n\tmodule.exports = overArg;\n\n\n/***/ }),\n/* 261 */\n/*!*************************************************!*\\\n  !*** ../~/react-color/~/lodash/_isPrototype.js ***!\n  \\*************************************************/\n/***/ (function(module, exports) {\n\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Checks if `value` is likely a prototype object.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n\t */\n\tfunction isPrototype(value) {\n\t  var Ctor = value && value.constructor,\n\t      proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\t\n\t  return value === proto;\n\t}\n\t\n\tmodule.exports = isPrototype;\n\n\n/***/ }),\n/* 262 */\n/*!************************************************!*\\\n  !*** ../~/react-color/~/lodash/isArguments.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseIsArguments = __webpack_require__(/*! ./_baseIsArguments */ 263),\n\t    isObjectLike = __webpack_require__(/*! ./isObjectLike */ 264);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Built-in value references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is likely an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n\t *  else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n\t  return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n\t    !propertyIsEnumerable.call(value, 'callee');\n\t};\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ }),\n/* 263 */\n/*!*****************************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseIsArguments.js ***!\n  \\*****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseGetTag = __webpack_require__(/*! ./_baseGetTag */ 220),\n\t    isObjectLike = __webpack_require__(/*! ./isObjectLike */ 264);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]';\n\t\n\t/**\n\t * The base implementation of `_.isArguments`.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n\t */\n\tfunction baseIsArguments(value) {\n\t  return isObjectLike(value) && baseGetTag(value) == argsTag;\n\t}\n\t\n\tmodule.exports = baseIsArguments;\n\n\n/***/ }),\n/* 264 */\n/*!*************************************************!*\\\n  !*** ../~/react-color/~/lodash/isObjectLike.js ***!\n  \\*************************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like. A value is object-like if it's not `null`\n\t * and has a `typeof` result of \"object\".\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t * @example\n\t *\n\t * _.isObjectLike({});\n\t * // => true\n\t *\n\t * _.isObjectLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObjectLike(_.noop);\n\t * // => false\n\t *\n\t * _.isObjectLike(null);\n\t * // => false\n\t */\n\tfunction isObjectLike(value) {\n\t  return value != null && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ }),\n/* 265 */\n/*!********************************************!*\\\n  !*** ../~/react-color/~/lodash/isArray.js ***!\n  \\********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(document.body.children);\n\t * // => false\n\t *\n\t * _.isArray('abc');\n\t * // => false\n\t *\n\t * _.isArray(_.noop);\n\t * // => false\n\t */\n\tvar isArray = Array.isArray;\n\t\n\tmodule.exports = isArray;\n\n\n/***/ }),\n/* 266 */\n/*!******************************************************!*\\\n  !*** ../~/react-color/~/lodash/isArrayLikeObject.js ***!\n  \\******************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(/*! ./isArrayLike */ 267),\n\t    isObjectLike = __webpack_require__(/*! ./isObjectLike */ 264);\n\t\n\t/**\n\t * This method is like `_.isArrayLike` except that it also checks if `value`\n\t * is an object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an array-like object,\n\t *  else `false`.\n\t * @example\n\t *\n\t * _.isArrayLikeObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArrayLikeObject(document.body.children);\n\t * // => true\n\t *\n\t * _.isArrayLikeObject('abc');\n\t * // => false\n\t *\n\t * _.isArrayLikeObject(_.noop);\n\t * // => false\n\t */\n\tfunction isArrayLikeObject(value) {\n\t  return isObjectLike(value) && isArrayLike(value);\n\t}\n\t\n\tmodule.exports = isArrayLikeObject;\n\n\n/***/ }),\n/* 267 */\n/*!************************************************!*\\\n  !*** ../~/react-color/~/lodash/isArrayLike.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(/*! ./isFunction */ 219),\n\t    isLength = __webpack_require__(/*! ./isLength */ 268);\n\t\n\t/**\n\t * Checks if `value` is array-like. A value is considered array-like if it's\n\t * not a function and has a `value.length` that's an integer greater than or\n\t * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t * @example\n\t *\n\t * _.isArrayLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArrayLike(document.body.children);\n\t * // => true\n\t *\n\t * _.isArrayLike('abc');\n\t * // => true\n\t *\n\t * _.isArrayLike(_.noop);\n\t * // => false\n\t */\n\tfunction isArrayLike(value) {\n\t  return value != null && isLength(value.length) && !isFunction(value);\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ }),\n/* 268 */\n/*!*********************************************!*\\\n  !*** ../~/react-color/~/lodash/isLength.js ***!\n  \\*********************************************/\n/***/ (function(module, exports) {\n\n\t/** Used as references for various `Number` constants. */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This method is loosely based on\n\t * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t * @example\n\t *\n\t * _.isLength(3);\n\t * // => true\n\t *\n\t * _.isLength(Number.MIN_VALUE);\n\t * // => false\n\t *\n\t * _.isLength(Infinity);\n\t * // => false\n\t *\n\t * _.isLength('3');\n\t * // => false\n\t */\n\tfunction isLength(value) {\n\t  return typeof value == 'number' &&\n\t    value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ }),\n/* 269 */\n/*!*********************************************!*\\\n  !*** ../~/react-color/~/lodash/isBuffer.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(/*! ./_root */ 222),\n\t    stubFalse = __webpack_require__(/*! ./stubFalse */ 270);\n\t\n\t/** Detect free variable `exports`. */\n\tvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\t\n\t/** Detect free variable `module`. */\n\tvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\t\n\t/** Detect the popular CommonJS extension `module.exports`. */\n\tvar moduleExports = freeModule && freeModule.exports === freeExports;\n\t\n\t/** Built-in value references. */\n\tvar Buffer = moduleExports ? root.Buffer : undefined;\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\t\n\t/**\n\t * Checks if `value` is a buffer.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.3.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n\t * @example\n\t *\n\t * _.isBuffer(new Buffer(2));\n\t * // => true\n\t *\n\t * _.isBuffer(new Uint8Array(2));\n\t * // => false\n\t */\n\tvar isBuffer = nativeIsBuffer || stubFalse;\n\t\n\tmodule.exports = isBuffer;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(/*! ./../../../webpack/buildin/module.js */ 12)(module)))\n\n/***/ }),\n/* 270 */\n/*!**********************************************!*\\\n  !*** ../~/react-color/~/lodash/stubFalse.js ***!\n  \\**********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * This method returns `false`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.13.0\n\t * @category Util\n\t * @returns {boolean} Returns `false`.\n\t * @example\n\t *\n\t * _.times(2, _.stubFalse);\n\t * // => [false, false]\n\t */\n\tfunction stubFalse() {\n\t  return false;\n\t}\n\t\n\tmodule.exports = stubFalse;\n\n\n/***/ }),\n/* 271 */\n/*!**************************************************!*\\\n  !*** ../~/react-color/~/lodash/isPlainObject.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseGetTag = __webpack_require__(/*! ./_baseGetTag */ 220),\n\t    getPrototype = __webpack_require__(/*! ./_getPrototype */ 259),\n\t    isObjectLike = __webpack_require__(/*! ./isObjectLike */ 264);\n\t\n\t/** `Object#toString` result references. */\n\tvar objectTag = '[object Object]';\n\t\n\t/** Used for built-in method references. */\n\tvar funcProto = Function.prototype,\n\t    objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = funcProto.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to infer the `Object` constructor. */\n\tvar objectCtorString = funcToString.call(Object);\n\t\n\t/**\n\t * Checks if `value` is a plain object, that is, an object created by the\n\t * `Object` constructor or one with a `[[Prototype]]` of `null`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.8.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n\t * @example\n\t *\n\t * function Foo() {\n\t *   this.a = 1;\n\t * }\n\t *\n\t * _.isPlainObject(new Foo);\n\t * // => false\n\t *\n\t * _.isPlainObject([1, 2, 3]);\n\t * // => false\n\t *\n\t * _.isPlainObject({ 'x': 0, 'y': 0 });\n\t * // => true\n\t *\n\t * _.isPlainObject(Object.create(null));\n\t * // => true\n\t */\n\tfunction isPlainObject(value) {\n\t  if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n\t    return false;\n\t  }\n\t  var proto = getPrototype(value);\n\t  if (proto === null) {\n\t    return true;\n\t  }\n\t  var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n\t  return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n\t    funcToString.call(Ctor) == objectCtorString;\n\t}\n\t\n\tmodule.exports = isPlainObject;\n\n\n/***/ }),\n/* 272 */\n/*!*************************************************!*\\\n  !*** ../~/react-color/~/lodash/isTypedArray.js ***!\n  \\*************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseIsTypedArray = __webpack_require__(/*! ./_baseIsTypedArray */ 273),\n\t    baseUnary = __webpack_require__(/*! ./_baseUnary */ 274),\n\t    nodeUtil = __webpack_require__(/*! ./_nodeUtil */ 275);\n\t\n\t/* Node.js helper references. */\n\tvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 3.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ }),\n/* 273 */\n/*!******************************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseIsTypedArray.js ***!\n  \\******************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseGetTag = __webpack_require__(/*! ./_baseGetTag */ 220),\n\t    isLength = __webpack_require__(/*! ./isLength */ 268),\n\t    isObjectLike = __webpack_require__(/*! ./isObjectLike */ 264);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t    arrayTag = '[object Array]',\n\t    boolTag = '[object Boolean]',\n\t    dateTag = '[object Date]',\n\t    errorTag = '[object Error]',\n\t    funcTag = '[object Function]',\n\t    mapTag = '[object Map]',\n\t    numberTag = '[object Number]',\n\t    objectTag = '[object Object]',\n\t    regexpTag = '[object RegExp]',\n\t    setTag = '[object Set]',\n\t    stringTag = '[object String]',\n\t    weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t    dataViewTag = '[object DataView]',\n\t    float32Tag = '[object Float32Array]',\n\t    float64Tag = '[object Float64Array]',\n\t    int8Tag = '[object Int8Array]',\n\t    int16Tag = '[object Int16Array]',\n\t    int32Tag = '[object Int32Array]',\n\t    uint8Tag = '[object Uint8Array]',\n\t    uint8ClampedTag = '[object Uint8ClampedArray]',\n\t    uint16Tag = '[object Uint16Array]',\n\t    uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\n\ttypedArrayTags[errorTag] = typedArrayTags[funcTag] =\n\ttypedArrayTags[mapTag] = typedArrayTags[numberTag] =\n\ttypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\n\ttypedArrayTags[setTag] = typedArrayTags[stringTag] =\n\ttypedArrayTags[weakMapTag] = false;\n\t\n\t/**\n\t * The base implementation of `_.isTypedArray` without Node.js optimizations.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n\t */\n\tfunction baseIsTypedArray(value) {\n\t  return isObjectLike(value) &&\n\t    isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n\t}\n\t\n\tmodule.exports = baseIsTypedArray;\n\n\n/***/ }),\n/* 274 */\n/*!***********************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseUnary.js ***!\n  \\***********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.unary` without support for storing metadata.\n\t *\n\t * @private\n\t * @param {Function} func The function to cap arguments for.\n\t * @returns {Function} Returns the new capped function.\n\t */\n\tfunction baseUnary(func) {\n\t  return function(value) {\n\t    return func(value);\n\t  };\n\t}\n\t\n\tmodule.exports = baseUnary;\n\n\n/***/ }),\n/* 275 */\n/*!**********************************************!*\\\n  !*** ../~/react-color/~/lodash/_nodeUtil.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(/*! ./_freeGlobal */ 223);\n\t\n\t/** Detect free variable `exports`. */\n\tvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\t\n\t/** Detect free variable `module`. */\n\tvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\t\n\t/** Detect the popular CommonJS extension `module.exports`. */\n\tvar moduleExports = freeModule && freeModule.exports === freeExports;\n\t\n\t/** Detect free variable `process` from Node.js. */\n\tvar freeProcess = moduleExports && freeGlobal.process;\n\t\n\t/** Used to access faster Node.js helpers. */\n\tvar nodeUtil = (function() {\n\t  try {\n\t    // Use `util.types` for Node.js 10+.\n\t    var types = freeModule && freeModule.require && freeModule.require('util').types;\n\t\n\t    if (types) {\n\t      return types;\n\t    }\n\t\n\t    // Legacy `process.binding('util')` for Node.js < 10.\n\t    return freeProcess && freeProcess.binding && freeProcess.binding('util');\n\t  } catch (e) {}\n\t}());\n\t\n\tmodule.exports = nodeUtil;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(/*! ./../../../webpack/buildin/module.js */ 12)(module)))\n\n/***/ }),\n/* 276 */\n/*!*********************************************!*\\\n  !*** ../~/react-color/~/lodash/_safeGet.js ***!\n  \\*********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Gets the value at `key`, unless `key` is \"__proto__\".\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the property to get.\n\t * @returns {*} Returns the property value.\n\t */\n\tfunction safeGet(object, key) {\n\t  if (key == '__proto__') {\n\t    return;\n\t  }\n\t\n\t  return object[key];\n\t}\n\t\n\tmodule.exports = safeGet;\n\n\n/***/ }),\n/* 277 */\n/*!**************************************************!*\\\n  !*** ../~/react-color/~/lodash/toPlainObject.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar copyObject = __webpack_require__(/*! ./_copyObject */ 278),\n\t    keysIn = __webpack_require__(/*! ./keysIn */ 280);\n\t\n\t/**\n\t * Converts `value` to a plain object flattening inherited enumerable string\n\t * keyed properties of `value` to own properties of the plain object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 3.0.0\n\t * @category Lang\n\t * @param {*} value The value to convert.\n\t * @returns {Object} Returns the converted plain object.\n\t * @example\n\t *\n\t * function Foo() {\n\t *   this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.assign({ 'a': 1 }, new Foo);\n\t * // => { 'a': 1, 'b': 2 }\n\t *\n\t * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n\t * // => { 'a': 1, 'b': 2, 'c': 3 }\n\t */\n\tfunction toPlainObject(value) {\n\t  return copyObject(value, keysIn(value));\n\t}\n\t\n\tmodule.exports = toPlainObject;\n\n\n/***/ }),\n/* 278 */\n/*!************************************************!*\\\n  !*** ../~/react-color/~/lodash/_copyObject.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar assignValue = __webpack_require__(/*! ./_assignValue */ 279),\n\t    baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ 247);\n\t\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property identifiers to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @param {Function} [customizer] The function to customize copied values.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction copyObject(source, props, object, customizer) {\n\t  var isNew = !object;\n\t  object || (object = {});\n\t\n\t  var index = -1,\n\t      length = props.length;\n\t\n\t  while (++index < length) {\n\t    var key = props[index];\n\t\n\t    var newValue = customizer\n\t      ? customizer(object[key], source[key], key, object, source)\n\t      : undefined;\n\t\n\t    if (newValue === undefined) {\n\t      newValue = source[key];\n\t    }\n\t    if (isNew) {\n\t      baseAssignValue(object, key, newValue);\n\t    } else {\n\t      assignValue(object, key, newValue);\n\t    }\n\t  }\n\t  return object;\n\t}\n\t\n\tmodule.exports = copyObject;\n\n\n/***/ }),\n/* 279 */\n/*!*************************************************!*\\\n  !*** ../~/react-color/~/lodash/_assignValue.js ***!\n  \\*************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ 247),\n\t    eq = __webpack_require__(/*! ./eq */ 207);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Assigns `value` to `key` of `object` if the existing value is not equivalent\n\t * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n\t * for equality comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to modify.\n\t * @param {string} key The key of the property to assign.\n\t * @param {*} value The value to assign.\n\t */\n\tfunction assignValue(object, key, value) {\n\t  var objValue = object[key];\n\t  if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n\t      (value === undefined && !(key in object))) {\n\t    baseAssignValue(object, key, value);\n\t  }\n\t}\n\t\n\tmodule.exports = assignValue;\n\n\n/***/ }),\n/* 280 */\n/*!*******************************************!*\\\n  !*** ../~/react-color/~/lodash/keysIn.js ***!\n  \\*******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar arrayLikeKeys = __webpack_require__(/*! ./_arrayLikeKeys */ 281),\n\t    baseKeysIn = __webpack_require__(/*! ./_baseKeysIn */ 284),\n\t    isArrayLike = __webpack_require__(/*! ./isArrayLike */ 267);\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 3.0.0\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t *   this.a = 1;\n\t *   this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t  return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ }),\n/* 281 */\n/*!***************************************************!*\\\n  !*** ../~/react-color/~/lodash/_arrayLikeKeys.js ***!\n  \\***************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseTimes = __webpack_require__(/*! ./_baseTimes */ 282),\n\t    isArguments = __webpack_require__(/*! ./isArguments */ 262),\n\t    isArray = __webpack_require__(/*! ./isArray */ 265),\n\t    isBuffer = __webpack_require__(/*! ./isBuffer */ 269),\n\t    isIndex = __webpack_require__(/*! ./_isIndex */ 283),\n\t    isTypedArray = __webpack_require__(/*! ./isTypedArray */ 272);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the enumerable property names of the array-like `value`.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @param {boolean} inherited Specify returning inherited property names.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction arrayLikeKeys(value, inherited) {\n\t  var isArr = isArray(value),\n\t      isArg = !isArr && isArguments(value),\n\t      isBuff = !isArr && !isArg && isBuffer(value),\n\t      isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n\t      skipIndexes = isArr || isArg || isBuff || isType,\n\t      result = skipIndexes ? baseTimes(value.length, String) : [],\n\t      length = result.length;\n\t\n\t  for (var key in value) {\n\t    if ((inherited || hasOwnProperty.call(value, key)) &&\n\t        !(skipIndexes && (\n\t           // Safari 9 has enumerable `arguments.length` in strict mode.\n\t           key == 'length' ||\n\t           // Node.js 0.10 has enumerable non-index properties on buffers.\n\t           (isBuff && (key == 'offset' || key == 'parent')) ||\n\t           // PhantomJS 2 has enumerable non-index properties on typed arrays.\n\t           (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n\t           // Skip index properties.\n\t           isIndex(key, length)\n\t        ))) {\n\t      result.push(key);\n\t    }\n\t  }\n\t  return result;\n\t}\n\t\n\tmodule.exports = arrayLikeKeys;\n\n\n/***/ }),\n/* 282 */\n/*!***********************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseTimes.js ***!\n  \\***********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.times` without support for iteratee shorthands\n\t * or max array length checks.\n\t *\n\t * @private\n\t * @param {number} n The number of times to invoke `iteratee`.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns the array of results.\n\t */\n\tfunction baseTimes(n, iteratee) {\n\t  var index = -1,\n\t      result = Array(n);\n\t\n\t  while (++index < n) {\n\t    result[index] = iteratee(index);\n\t  }\n\t  return result;\n\t}\n\t\n\tmodule.exports = baseTimes;\n\n\n/***/ }),\n/* 283 */\n/*!*********************************************!*\\\n  !*** ../~/react-color/~/lodash/_isIndex.js ***!\n  \\*********************************************/\n/***/ (function(module, exports) {\n\n\t/** Used as references for various `Number` constants. */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t  var type = typeof value;\n\t  length = length == null ? MAX_SAFE_INTEGER : length;\n\t\n\t  return !!length &&\n\t    (type == 'number' ||\n\t      (type != 'symbol' && reIsUint.test(value))) &&\n\t        (value > -1 && value % 1 == 0 && value < length);\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ }),\n/* 284 */\n/*!************************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseKeysIn.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(/*! ./isObject */ 226),\n\t    isPrototype = __webpack_require__(/*! ./_isPrototype */ 261),\n\t    nativeKeysIn = __webpack_require__(/*! ./_nativeKeysIn */ 285);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction baseKeysIn(object) {\n\t  if (!isObject(object)) {\n\t    return nativeKeysIn(object);\n\t  }\n\t  var isProto = isPrototype(object),\n\t      result = [];\n\t\n\t  for (var key in object) {\n\t    if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t      result.push(key);\n\t    }\n\t  }\n\t  return result;\n\t}\n\t\n\tmodule.exports = baseKeysIn;\n\n\n/***/ }),\n/* 285 */\n/*!**************************************************!*\\\n  !*** ../~/react-color/~/lodash/_nativeKeysIn.js ***!\n  \\**************************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * This function is like\n\t * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n\t * except that it includes inherited enumerable properties.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction nativeKeysIn(object) {\n\t  var result = [];\n\t  if (object != null) {\n\t    for (var key in Object(object)) {\n\t      result.push(key);\n\t    }\n\t  }\n\t  return result;\n\t}\n\t\n\tmodule.exports = nativeKeysIn;\n\n\n/***/ }),\n/* 286 */\n/*!****************************************************!*\\\n  !*** ../~/react-color/~/lodash/_createAssigner.js ***!\n  \\****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseRest = __webpack_require__(/*! ./_baseRest */ 287),\n\t    isIterateeCall = __webpack_require__(/*! ./_isIterateeCall */ 295);\n\t\n\t/**\n\t * Creates a function like `_.assign`.\n\t *\n\t * @private\n\t * @param {Function} assigner The function to assign values.\n\t * @returns {Function} Returns the new assigner function.\n\t */\n\tfunction createAssigner(assigner) {\n\t  return baseRest(function(object, sources) {\n\t    var index = -1,\n\t        length = sources.length,\n\t        customizer = length > 1 ? sources[length - 1] : undefined,\n\t        guard = length > 2 ? sources[2] : undefined;\n\t\n\t    customizer = (assigner.length > 3 && typeof customizer == 'function')\n\t      ? (length--, customizer)\n\t      : undefined;\n\t\n\t    if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n\t      customizer = length < 3 ? undefined : customizer;\n\t      length = 1;\n\t    }\n\t    object = Object(object);\n\t    while (++index < length) {\n\t      var source = sources[index];\n\t      if (source) {\n\t        assigner(object, source, index, customizer);\n\t      }\n\t    }\n\t    return object;\n\t  });\n\t}\n\t\n\tmodule.exports = createAssigner;\n\n\n/***/ }),\n/* 287 */\n/*!**********************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseRest.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(/*! ./identity */ 288),\n\t    overRest = __webpack_require__(/*! ./_overRest */ 289),\n\t    setToString = __webpack_require__(/*! ./_setToString */ 291);\n\t\n\t/**\n\t * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n\t *\n\t * @private\n\t * @param {Function} func The function to apply a rest parameter to.\n\t * @param {number} [start=func.length-1] The start position of the rest parameter.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseRest(func, start) {\n\t  return setToString(overRest(func, start, identity), func + '');\n\t}\n\t\n\tmodule.exports = baseRest;\n\n\n/***/ }),\n/* 288 */\n/*!*********************************************!*\\\n  !*** ../~/react-color/~/lodash/identity.js ***!\n  \\*********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * This method returns the first argument it receives.\n\t *\n\t * @static\n\t * @since 0.1.0\n\t * @memberOf _\n\t * @category Util\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'a': 1 };\n\t *\n\t * console.log(_.identity(object) === object);\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t  return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ }),\n/* 289 */\n/*!**********************************************!*\\\n  !*** ../~/react-color/~/lodash/_overRest.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar apply = __webpack_require__(/*! ./_apply */ 290);\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeMax = Math.max;\n\t\n\t/**\n\t * A specialized version of `baseRest` which transforms the rest array.\n\t *\n\t * @private\n\t * @param {Function} func The function to apply a rest parameter to.\n\t * @param {number} [start=func.length-1] The start position of the rest parameter.\n\t * @param {Function} transform The rest array transform.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction overRest(func, start, transform) {\n\t  start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n\t  return function() {\n\t    var args = arguments,\n\t        index = -1,\n\t        length = nativeMax(args.length - start, 0),\n\t        array = Array(length);\n\t\n\t    while (++index < length) {\n\t      array[index] = args[start + index];\n\t    }\n\t    index = -1;\n\t    var otherArgs = Array(start + 1);\n\t    while (++index < start) {\n\t      otherArgs[index] = args[index];\n\t    }\n\t    otherArgs[start] = transform(array);\n\t    return apply(func, this, otherArgs);\n\t  };\n\t}\n\t\n\tmodule.exports = overRest;\n\n\n/***/ }),\n/* 290 */\n/*!*******************************************!*\\\n  !*** ../~/react-color/~/lodash/_apply.js ***!\n  \\*******************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * A faster alternative to `Function#apply`, this function invokes `func`\n\t * with the `this` binding of `thisArg` and the arguments of `args`.\n\t *\n\t * @private\n\t * @param {Function} func The function to invoke.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {Array} args The arguments to invoke `func` with.\n\t * @returns {*} Returns the result of `func`.\n\t */\n\tfunction apply(func, thisArg, args) {\n\t  switch (args.length) {\n\t    case 0: return func.call(thisArg);\n\t    case 1: return func.call(thisArg, args[0]);\n\t    case 2: return func.call(thisArg, args[0], args[1]);\n\t    case 3: return func.call(thisArg, args[0], args[1], args[2]);\n\t  }\n\t  return func.apply(thisArg, args);\n\t}\n\t\n\tmodule.exports = apply;\n\n\n/***/ }),\n/* 291 */\n/*!*************************************************!*\\\n  !*** ../~/react-color/~/lodash/_setToString.js ***!\n  \\*************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseSetToString = __webpack_require__(/*! ./_baseSetToString */ 292),\n\t    shortOut = __webpack_require__(/*! ./_shortOut */ 294);\n\t\n\t/**\n\t * Sets the `toString` method of `func` to return `string`.\n\t *\n\t * @private\n\t * @param {Function} func The function to modify.\n\t * @param {Function} string The `toString` result.\n\t * @returns {Function} Returns `func`.\n\t */\n\tvar setToString = shortOut(baseSetToString);\n\t\n\tmodule.exports = setToString;\n\n\n/***/ }),\n/* 292 */\n/*!*****************************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseSetToString.js ***!\n  \\*****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar constant = __webpack_require__(/*! ./constant */ 293),\n\t    defineProperty = __webpack_require__(/*! ./_defineProperty */ 248),\n\t    identity = __webpack_require__(/*! ./identity */ 288);\n\t\n\t/**\n\t * The base implementation of `setToString` without support for hot loop shorting.\n\t *\n\t * @private\n\t * @param {Function} func The function to modify.\n\t * @param {Function} string The `toString` result.\n\t * @returns {Function} Returns `func`.\n\t */\n\tvar baseSetToString = !defineProperty ? identity : function(func, string) {\n\t  return defineProperty(func, 'toString', {\n\t    'configurable': true,\n\t    'enumerable': false,\n\t    'value': constant(string),\n\t    'writable': true\n\t  });\n\t};\n\t\n\tmodule.exports = baseSetToString;\n\n\n/***/ }),\n/* 293 */\n/*!*********************************************!*\\\n  !*** ../~/react-color/~/lodash/constant.js ***!\n  \\*********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Creates a function that returns `value`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 2.4.0\n\t * @category Util\n\t * @param {*} value The value to return from the new function.\n\t * @returns {Function} Returns the new constant function.\n\t * @example\n\t *\n\t * var objects = _.times(2, _.constant({ 'a': 1 }));\n\t *\n\t * console.log(objects);\n\t * // => [{ 'a': 1 }, { 'a': 1 }]\n\t *\n\t * console.log(objects[0] === objects[1]);\n\t * // => true\n\t */\n\tfunction constant(value) {\n\t  return function() {\n\t    return value;\n\t  };\n\t}\n\t\n\tmodule.exports = constant;\n\n\n/***/ }),\n/* 294 */\n/*!**********************************************!*\\\n  !*** ../~/react-color/~/lodash/_shortOut.js ***!\n  \\**********************************************/\n/***/ (function(module, exports) {\n\n\t/** Used to detect hot functions by number of calls within a span of milliseconds. */\n\tvar HOT_COUNT = 800,\n\t    HOT_SPAN = 16;\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeNow = Date.now;\n\t\n\t/**\n\t * Creates a function that'll short out and invoke `identity` instead\n\t * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n\t * milliseconds.\n\t *\n\t * @private\n\t * @param {Function} func The function to restrict.\n\t * @returns {Function} Returns the new shortable function.\n\t */\n\tfunction shortOut(func) {\n\t  var count = 0,\n\t      lastCalled = 0;\n\t\n\t  return function() {\n\t    var stamp = nativeNow(),\n\t        remaining = HOT_SPAN - (stamp - lastCalled);\n\t\n\t    lastCalled = stamp;\n\t    if (remaining > 0) {\n\t      if (++count >= HOT_COUNT) {\n\t        return arguments[0];\n\t      }\n\t    } else {\n\t      count = 0;\n\t    }\n\t    return func.apply(undefined, arguments);\n\t  };\n\t}\n\t\n\tmodule.exports = shortOut;\n\n\n/***/ }),\n/* 295 */\n/*!****************************************************!*\\\n  !*** ../~/react-color/~/lodash/_isIterateeCall.js ***!\n  \\****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar eq = __webpack_require__(/*! ./eq */ 207),\n\t    isArrayLike = __webpack_require__(/*! ./isArrayLike */ 267),\n\t    isIndex = __webpack_require__(/*! ./_isIndex */ 283),\n\t    isObject = __webpack_require__(/*! ./isObject */ 226);\n\t\n\t/**\n\t * Checks if the given arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n\t *  else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t  if (!isObject(object)) {\n\t    return false;\n\t  }\n\t  var type = typeof index;\n\t  if (type == 'number'\n\t        ? (isArrayLike(object) && isIndex(index, object.length))\n\t        : (type == 'string' && index in object)\n\t      ) {\n\t    return eq(object[index], value);\n\t  }\n\t  return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ }),\n/* 296 */\n/*!************************************************************!*\\\n  !*** ../~/react-color/lib/components/common/Saturation.js ***!\n  \\************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.Saturation = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _throttle = __webpack_require__(/*! lodash/throttle */ 297);\n\t\n\tvar _throttle2 = _interopRequireDefault(_throttle);\n\t\n\tvar _saturation = __webpack_require__(/*! ../../helpers/saturation */ 302);\n\t\n\tvar saturation = _interopRequireWildcard(_saturation);\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Saturation = exports.Saturation = function (_ref) {\n\t  _inherits(Saturation, _ref);\n\t\n\t  function Saturation(props) {\n\t    _classCallCheck(this, Saturation);\n\t\n\t    var _this = _possibleConstructorReturn(this, (Saturation.__proto__ || Object.getPrototypeOf(Saturation)).call(this, props));\n\t\n\t    _this.handleChange = function (e) {\n\t      typeof _this.props.onChange === 'function' && _this.throttle(_this.props.onChange, saturation.calculateChange(e, _this.props.hsl, _this.container), e);\n\t    };\n\t\n\t    _this.handleMouseDown = function (e) {\n\t      _this.handleChange(e);\n\t      window.addEventListener('mousemove', _this.handleChange);\n\t      window.addEventListener('mouseup', _this.handleMouseUp);\n\t    };\n\t\n\t    _this.handleMouseUp = function () {\n\t      _this.unbindEventListeners();\n\t    };\n\t\n\t    _this.throttle = (0, _throttle2.default)(function (fn, data, e) {\n\t      fn(data, e);\n\t    }, 50);\n\t    return _this;\n\t  }\n\t\n\t  _createClass(Saturation, [{\n\t    key: 'componentWillUnmount',\n\t    value: function componentWillUnmount() {\n\t      this.throttle.cancel();\n\t      this.unbindEventListeners();\n\t    }\n\t  }, {\n\t    key: 'unbindEventListeners',\n\t    value: function unbindEventListeners() {\n\t      window.removeEventListener('mousemove', this.handleChange);\n\t      window.removeEventListener('mouseup', this.handleMouseUp);\n\t    }\n\t  }, {\n\t    key: 'render',\n\t    value: function render() {\n\t      var _this2 = this;\n\t\n\t      var _ref2 = this.props.style || {},\n\t          color = _ref2.color,\n\t          white = _ref2.white,\n\t          black = _ref2.black,\n\t          pointer = _ref2.pointer,\n\t          circle = _ref2.circle;\n\t\n\t      var styles = (0, _reactcss2.default)({\n\t        'default': {\n\t          color: {\n\t            absolute: '0px 0px 0px 0px',\n\t            background: 'hsl(' + this.props.hsl.h + ',100%, 50%)',\n\t            borderRadius: this.props.radius\n\t          },\n\t          white: {\n\t            absolute: '0px 0px 0px 0px',\n\t            borderRadius: this.props.radius\n\t          },\n\t          black: {\n\t            absolute: '0px 0px 0px 0px',\n\t            boxShadow: this.props.shadow,\n\t            borderRadius: this.props.radius\n\t          },\n\t          pointer: {\n\t            position: 'absolute',\n\t            top: -(this.props.hsv.v * 100) + 100 + '%',\n\t            left: this.props.hsv.s * 100 + '%',\n\t            cursor: 'default'\n\t          },\n\t          circle: {\n\t            width: '4px',\n\t            height: '4px',\n\t            boxShadow: '0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0,0,0,.3),\\n            0 0 1px 2px rgba(0,0,0,.4)',\n\t            borderRadius: '50%',\n\t            cursor: 'hand',\n\t            transform: 'translate(-2px, -2px)'\n\t          }\n\t        },\n\t        'custom': {\n\t          color: color,\n\t          white: white,\n\t          black: black,\n\t          pointer: pointer,\n\t          circle: circle\n\t        }\n\t      }, { 'custom': !!this.props.style });\n\t\n\t      return _react2.default.createElement(\n\t        'div',\n\t        {\n\t          style: styles.color,\n\t          ref: function ref(container) {\n\t            return _this2.container = container;\n\t          },\n\t          onMouseDown: this.handleMouseDown,\n\t          onTouchMove: this.handleChange,\n\t          onTouchStart: this.handleChange\n\t        },\n\t        _react2.default.createElement(\n\t          'style',\n\t          null,\n\t          '\\n          .saturation-white {\\n            background: -webkit-linear-gradient(to right, #fff, rgba(255,255,255,0));\\n            background: linear-gradient(to right, #fff, rgba(255,255,255,0));\\n          }\\n          .saturation-black {\\n            background: -webkit-linear-gradient(to top, #000, rgba(0,0,0,0));\\n            background: linear-gradient(to top, #000, rgba(0,0,0,0));\\n          }\\n        '\n\t        ),\n\t        _react2.default.createElement(\n\t          'div',\n\t          { style: styles.white, className: 'saturation-white' },\n\t          _react2.default.createElement('div', { style: styles.black, className: 'saturation-black' }),\n\t          _react2.default.createElement(\n\t            'div',\n\t            { style: styles.pointer },\n\t            this.props.pointer ? _react2.default.createElement(this.props.pointer, this.props) : _react2.default.createElement('div', { style: styles.circle })\n\t          )\n\t        )\n\t      );\n\t    }\n\t  }]);\n\t\n\t  return Saturation;\n\t}(_react.PureComponent || _react.Component);\n\t\n\texports.default = Saturation;\n\n/***/ }),\n/* 297 */\n/*!*********************************************!*\\\n  !*** ../~/react-color/~/lodash/throttle.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar debounce = __webpack_require__(/*! ./debounce */ 298),\n\t    isObject = __webpack_require__(/*! ./isObject */ 226);\n\t\n\t/** Error message constants. */\n\tvar FUNC_ERROR_TEXT = 'Expected a function';\n\t\n\t/**\n\t * Creates a throttled function that only invokes `func` at most once per\n\t * every `wait` milliseconds. The throttled function comes with a `cancel`\n\t * method to cancel delayed `func` invocations and a `flush` method to\n\t * immediately invoke them. Provide `options` to indicate whether `func`\n\t * should be invoked on the leading and/or trailing edge of the `wait`\n\t * timeout. The `func` is invoked with the last arguments provided to the\n\t * throttled function. Subsequent calls to the throttled function return the\n\t * result of the last `func` invocation.\n\t *\n\t * **Note:** If `leading` and `trailing` options are `true`, `func` is\n\t * invoked on the trailing edge of the timeout only if the throttled function\n\t * is invoked more than once during the `wait` timeout.\n\t *\n\t * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n\t * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n\t *\n\t * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n\t * for details over the differences between `_.throttle` and `_.debounce`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Function\n\t * @param {Function} func The function to throttle.\n\t * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n\t * @param {Object} [options={}] The options object.\n\t * @param {boolean} [options.leading=true]\n\t *  Specify invoking on the leading edge of the timeout.\n\t * @param {boolean} [options.trailing=true]\n\t *  Specify invoking on the trailing edge of the timeout.\n\t * @returns {Function} Returns the new throttled function.\n\t * @example\n\t *\n\t * // Avoid excessively updating the position while scrolling.\n\t * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n\t *\n\t * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n\t * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n\t * jQuery(element).on('click', throttled);\n\t *\n\t * // Cancel the trailing throttled invocation.\n\t * jQuery(window).on('popstate', throttled.cancel);\n\t */\n\tfunction throttle(func, wait, options) {\n\t  var leading = true,\n\t      trailing = true;\n\t\n\t  if (typeof func != 'function') {\n\t    throw new TypeError(FUNC_ERROR_TEXT);\n\t  }\n\t  if (isObject(options)) {\n\t    leading = 'leading' in options ? !!options.leading : leading;\n\t    trailing = 'trailing' in options ? !!options.trailing : trailing;\n\t  }\n\t  return debounce(func, wait, {\n\t    'leading': leading,\n\t    'maxWait': wait,\n\t    'trailing': trailing\n\t  });\n\t}\n\t\n\tmodule.exports = throttle;\n\n\n/***/ }),\n/* 298 */\n/*!*********************************************!*\\\n  !*** ../~/react-color/~/lodash/debounce.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(/*! ./isObject */ 226),\n\t    now = __webpack_require__(/*! ./now */ 299),\n\t    toNumber = __webpack_require__(/*! ./toNumber */ 300);\n\t\n\t/** Error message constants. */\n\tvar FUNC_ERROR_TEXT = 'Expected a function';\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeMax = Math.max,\n\t    nativeMin = Math.min;\n\t\n\t/**\n\t * Creates a debounced function that delays invoking `func` until after `wait`\n\t * milliseconds have elapsed since the last time the debounced function was\n\t * invoked. The debounced function comes with a `cancel` method to cancel\n\t * delayed `func` invocations and a `flush` method to immediately invoke them.\n\t * Provide `options` to indicate whether `func` should be invoked on the\n\t * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n\t * with the last arguments provided to the debounced function. Subsequent\n\t * calls to the debounced function return the result of the last `func`\n\t * invocation.\n\t *\n\t * **Note:** If `leading` and `trailing` options are `true`, `func` is\n\t * invoked on the trailing edge of the timeout only if the debounced function\n\t * is invoked more than once during the `wait` timeout.\n\t *\n\t * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n\t * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n\t *\n\t * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n\t * for details over the differences between `_.debounce` and `_.throttle`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Function\n\t * @param {Function} func The function to debounce.\n\t * @param {number} [wait=0] The number of milliseconds to delay.\n\t * @param {Object} [options={}] The options object.\n\t * @param {boolean} [options.leading=false]\n\t *  Specify invoking on the leading edge of the timeout.\n\t * @param {number} [options.maxWait]\n\t *  The maximum time `func` is allowed to be delayed before it's invoked.\n\t * @param {boolean} [options.trailing=true]\n\t *  Specify invoking on the trailing edge of the timeout.\n\t * @returns {Function} Returns the new debounced function.\n\t * @example\n\t *\n\t * // Avoid costly calculations while the window size is in flux.\n\t * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n\t *\n\t * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n\t * jQuery(element).on('click', _.debounce(sendMail, 300, {\n\t *   'leading': true,\n\t *   'trailing': false\n\t * }));\n\t *\n\t * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n\t * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n\t * var source = new EventSource('/stream');\n\t * jQuery(source).on('message', debounced);\n\t *\n\t * // Cancel the trailing debounced invocation.\n\t * jQuery(window).on('popstate', debounced.cancel);\n\t */\n\tfunction debounce(func, wait, options) {\n\t  var lastArgs,\n\t      lastThis,\n\t      maxWait,\n\t      result,\n\t      timerId,\n\t      lastCallTime,\n\t      lastInvokeTime = 0,\n\t      leading = false,\n\t      maxing = false,\n\t      trailing = true;\n\t\n\t  if (typeof func != 'function') {\n\t    throw new TypeError(FUNC_ERROR_TEXT);\n\t  }\n\t  wait = toNumber(wait) || 0;\n\t  if (isObject(options)) {\n\t    leading = !!options.leading;\n\t    maxing = 'maxWait' in options;\n\t    maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n\t    trailing = 'trailing' in options ? !!options.trailing : trailing;\n\t  }\n\t\n\t  function invokeFunc(time) {\n\t    var args = lastArgs,\n\t        thisArg = lastThis;\n\t\n\t    lastArgs = lastThis = undefined;\n\t    lastInvokeTime = time;\n\t    result = func.apply(thisArg, args);\n\t    return result;\n\t  }\n\t\n\t  function leadingEdge(time) {\n\t    // Reset any `maxWait` timer.\n\t    lastInvokeTime = time;\n\t    // Start the timer for the trailing edge.\n\t    timerId = setTimeout(timerExpired, wait);\n\t    // Invoke the leading edge.\n\t    return leading ? invokeFunc(time) : result;\n\t  }\n\t\n\t  function remainingWait(time) {\n\t    var timeSinceLastCall = time - lastCallTime,\n\t        timeSinceLastInvoke = time - lastInvokeTime,\n\t        timeWaiting = wait - timeSinceLastCall;\n\t\n\t    return maxing\n\t      ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n\t      : timeWaiting;\n\t  }\n\t\n\t  function shouldInvoke(time) {\n\t    var timeSinceLastCall = time - lastCallTime,\n\t        timeSinceLastInvoke = time - lastInvokeTime;\n\t\n\t    // Either this is the first call, activity has stopped and we're at the\n\t    // trailing edge, the system time has gone backwards and we're treating\n\t    // it as the trailing edge, or we've hit the `maxWait` limit.\n\t    return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n\t      (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n\t  }\n\t\n\t  function timerExpired() {\n\t    var time = now();\n\t    if (shouldInvoke(time)) {\n\t      return trailingEdge(time);\n\t    }\n\t    // Restart the timer.\n\t    timerId = setTimeout(timerExpired, remainingWait(time));\n\t  }\n\t\n\t  function trailingEdge(time) {\n\t    timerId = undefined;\n\t\n\t    // Only invoke if we have `lastArgs` which means `func` has been\n\t    // debounced at least once.\n\t    if (trailing && lastArgs) {\n\t      return invokeFunc(time);\n\t    }\n\t    lastArgs = lastThis = undefined;\n\t    return result;\n\t  }\n\t\n\t  function cancel() {\n\t    if (timerId !== undefined) {\n\t      clearTimeout(timerId);\n\t    }\n\t    lastInvokeTime = 0;\n\t    lastArgs = lastCallTime = lastThis = timerId = undefined;\n\t  }\n\t\n\t  function flush() {\n\t    return timerId === undefined ? result : trailingEdge(now());\n\t  }\n\t\n\t  function debounced() {\n\t    var time = now(),\n\t        isInvoking = shouldInvoke(time);\n\t\n\t    lastArgs = arguments;\n\t    lastThis = this;\n\t    lastCallTime = time;\n\t\n\t    if (isInvoking) {\n\t      if (timerId === undefined) {\n\t        return leadingEdge(lastCallTime);\n\t      }\n\t      if (maxing) {\n\t        // Handle invocations in a tight loop.\n\t        timerId = setTimeout(timerExpired, wait);\n\t        return invokeFunc(lastCallTime);\n\t      }\n\t    }\n\t    if (timerId === undefined) {\n\t      timerId = setTimeout(timerExpired, wait);\n\t    }\n\t    return result;\n\t  }\n\t  debounced.cancel = cancel;\n\t  debounced.flush = flush;\n\t  return debounced;\n\t}\n\t\n\tmodule.exports = debounce;\n\n\n/***/ }),\n/* 299 */\n/*!****************************************!*\\\n  !*** ../~/react-color/~/lodash/now.js ***!\n  \\****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar root = __webpack_require__(/*! ./_root */ 222);\n\t\n\t/**\n\t * Gets the timestamp of the number of milliseconds that have elapsed since\n\t * the Unix epoch (1 January 1970 00:00:00 UTC).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 2.4.0\n\t * @category Date\n\t * @returns {number} Returns the timestamp.\n\t * @example\n\t *\n\t * _.defer(function(stamp) {\n\t *   console.log(_.now() - stamp);\n\t * }, _.now());\n\t * // => Logs the number of milliseconds it took for the deferred invocation.\n\t */\n\tvar now = function() {\n\t  return root.Date.now();\n\t};\n\t\n\tmodule.exports = now;\n\n\n/***/ }),\n/* 300 */\n/*!*********************************************!*\\\n  !*** ../~/react-color/~/lodash/toNumber.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(/*! ./isObject */ 226),\n\t    isSymbol = __webpack_require__(/*! ./isSymbol */ 301);\n\t\n\t/** Used as references for various `Number` constants. */\n\tvar NAN = 0 / 0;\n\t\n\t/** Used to match leading and trailing whitespace. */\n\tvar reTrim = /^\\s+|\\s+$/g;\n\t\n\t/** Used to detect bad signed hexadecimal string values. */\n\tvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\t\n\t/** Used to detect binary string values. */\n\tvar reIsBinary = /^0b[01]+$/i;\n\t\n\t/** Used to detect octal string values. */\n\tvar reIsOctal = /^0o[0-7]+$/i;\n\t\n\t/** Built-in method references without a dependency on `root`. */\n\tvar freeParseInt = parseInt;\n\t\n\t/**\n\t * Converts `value` to a number.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to process.\n\t * @returns {number} Returns the number.\n\t * @example\n\t *\n\t * _.toNumber(3.2);\n\t * // => 3.2\n\t *\n\t * _.toNumber(Number.MIN_VALUE);\n\t * // => 5e-324\n\t *\n\t * _.toNumber(Infinity);\n\t * // => Infinity\n\t *\n\t * _.toNumber('3.2');\n\t * // => 3.2\n\t */\n\tfunction toNumber(value) {\n\t  if (typeof value == 'number') {\n\t    return value;\n\t  }\n\t  if (isSymbol(value)) {\n\t    return NAN;\n\t  }\n\t  if (isObject(value)) {\n\t    var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n\t    value = isObject(other) ? (other + '') : other;\n\t  }\n\t  if (typeof value != 'string') {\n\t    return value === 0 ? value : +value;\n\t  }\n\t  value = value.replace(reTrim, '');\n\t  var isBinary = reIsBinary.test(value);\n\t  return (isBinary || reIsOctal.test(value))\n\t    ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n\t    : (reIsBadHex.test(value) ? NAN : +value);\n\t}\n\t\n\tmodule.exports = toNumber;\n\n\n/***/ }),\n/* 301 */\n/*!*********************************************!*\\\n  !*** ../~/react-color/~/lodash/isSymbol.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseGetTag = __webpack_require__(/*! ./_baseGetTag */ 220),\n\t    isObjectLike = __webpack_require__(/*! ./isObjectLike */ 264);\n\t\n\t/** `Object#toString` result references. */\n\tvar symbolTag = '[object Symbol]';\n\t\n\t/**\n\t * Checks if `value` is classified as a `Symbol` primitive or object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n\t * @example\n\t *\n\t * _.isSymbol(Symbol.iterator);\n\t * // => true\n\t *\n\t * _.isSymbol('abc');\n\t * // => false\n\t */\n\tfunction isSymbol(value) {\n\t  return typeof value == 'symbol' ||\n\t    (isObjectLike(value) && baseGetTag(value) == symbolTag);\n\t}\n\t\n\tmodule.exports = isSymbol;\n\n\n/***/ }),\n/* 302 */\n/*!**************************************************!*\\\n  !*** ../~/react-color/lib/helpers/saturation.js ***!\n  \\**************************************************/\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\tvar calculateChange = exports.calculateChange = function calculateChange(e, hsl, container) {\n\t  e.preventDefault();\n\t\n\t  var _container$getBoundin = container.getBoundingClientRect(),\n\t      containerWidth = _container$getBoundin.width,\n\t      containerHeight = _container$getBoundin.height;\n\t\n\t  var x = typeof e.pageX === 'number' ? e.pageX : e.touches[0].pageX;\n\t  var y = typeof e.pageY === 'number' ? e.pageY : e.touches[0].pageY;\n\t  var left = x - (container.getBoundingClientRect().left + window.pageXOffset);\n\t  var top = y - (container.getBoundingClientRect().top + window.pageYOffset);\n\t\n\t  if (left < 0) {\n\t    left = 0;\n\t  } else if (left > containerWidth) {\n\t    left = containerWidth;\n\t  } else if (top < 0) {\n\t    top = 0;\n\t  } else if (top > containerHeight) {\n\t    top = containerHeight;\n\t  }\n\t\n\t  var saturation = left * 100 / containerWidth;\n\t  var bright = -(top * 100 / containerHeight) + 100;\n\t\n\t  return {\n\t    h: hsl.h,\n\t    s: saturation,\n\t    v: bright,\n\t    a: hsl.a,\n\t    source: 'rgb'\n\t  };\n\t};\n\n/***/ }),\n/* 303 */\n/*!***********************************************************!*\\\n  !*** ../~/react-color/lib/components/common/ColorWrap.js ***!\n  \\***********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.ColorWrap = undefined;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _debounce = __webpack_require__(/*! lodash/debounce */ 298);\n\t\n\tvar _debounce2 = _interopRequireDefault(_debounce);\n\t\n\tvar _color = __webpack_require__(/*! ../../helpers/color */ 304);\n\t\n\tvar _color2 = _interopRequireDefault(_color);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar ColorWrap = exports.ColorWrap = function ColorWrap(Picker) {\n\t  var ColorPicker = function (_ref) {\n\t    _inherits(ColorPicker, _ref);\n\t\n\t    function ColorPicker(props) {\n\t      _classCallCheck(this, ColorPicker);\n\t\n\t      var _this = _possibleConstructorReturn(this, (ColorPicker.__proto__ || Object.getPrototypeOf(ColorPicker)).call(this));\n\t\n\t      _this.handleChange = function (data, event) {\n\t        var isValidColor = _color2.default.simpleCheckForValidColor(data);\n\t        if (isValidColor) {\n\t          var colors = _color2.default.toState(data, data.h || _this.state.oldHue);\n\t          _this.setState(colors);\n\t          _this.props.onChangeComplete && _this.debounce(_this.props.onChangeComplete, colors, event);\n\t          _this.props.onChange && _this.props.onChange(colors, event);\n\t        }\n\t      };\n\t\n\t      _this.handleSwatchHover = function (data, event) {\n\t        var isValidColor = _color2.default.simpleCheckForValidColor(data);\n\t        if (isValidColor) {\n\t          var colors = _color2.default.toState(data, data.h || _this.state.oldHue);\n\t          _this.setState(colors);\n\t          _this.props.onSwatchHover && _this.props.onSwatchHover(colors, event);\n\t        }\n\t      };\n\t\n\t      _this.state = _extends({}, _color2.default.toState(props.color, 0));\n\t\n\t      _this.debounce = (0, _debounce2.default)(function (fn, data, event) {\n\t        fn(data, event);\n\t      }, 100);\n\t      return _this;\n\t    }\n\t\n\t    _createClass(ColorPicker, [{\n\t      key: 'componentWillReceiveProps',\n\t      value: function componentWillReceiveProps(nextProps) {\n\t        this.setState(_extends({}, _color2.default.toState(nextProps.color, this.state.oldHue)));\n\t      }\n\t    }, {\n\t      key: 'render',\n\t      value: function render() {\n\t        var optionalEvents = {};\n\t        if (this.props.onSwatchHover) {\n\t          optionalEvents.onSwatchHover = this.handleSwatchHover;\n\t        }\n\t\n\t        return _react2.default.createElement(Picker, _extends({}, this.props, this.state, {\n\t          onChange: this.handleChange\n\t        }, optionalEvents));\n\t      }\n\t    }]);\n\t\n\t    return ColorPicker;\n\t  }(_react.PureComponent || _react.Component);\n\t\n\t  ColorPicker.propTypes = _extends({}, Picker.propTypes);\n\t\n\t  ColorPicker.defaultProps = _extends({}, Picker.defaultProps, {\n\t    color: {\n\t      h: 250,\n\t      s: 0.50,\n\t      l: 0.20,\n\t      a: 1\n\t    }\n\t  });\n\t\n\t  return ColorPicker;\n\t};\n\t\n\texports.default = ColorWrap;\n\n/***/ }),\n/* 304 */\n/*!*********************************************!*\\\n  !*** ../~/react-color/lib/helpers/color.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.red = undefined;\n\t\n\tvar _each = __webpack_require__(/*! lodash/each */ 305);\n\t\n\tvar _each2 = _interopRequireDefault(_each);\n\t\n\tvar _tinycolor = __webpack_require__(/*! tinycolor2 */ 315);\n\t\n\tvar _tinycolor2 = _interopRequireDefault(_tinycolor);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = {\n\t  simpleCheckForValidColor: function simpleCheckForValidColor(data) {\n\t    var keysToCheck = ['r', 'g', 'b', 'a', 'h', 's', 'l', 'v'];\n\t    var checked = 0;\n\t    var passed = 0;\n\t    (0, _each2.default)(keysToCheck, function (letter) {\n\t      if (data[letter]) {\n\t        checked += 1;\n\t        if (!isNaN(data[letter])) {\n\t          passed += 1;\n\t        }\n\t        if (letter === 's' || letter === 'l') {\n\t          var percentPatt = /^\\d+%$/;\n\t          if (percentPatt.test(data[letter])) {\n\t            passed += 1;\n\t          }\n\t        }\n\t      }\n\t    });\n\t    return checked === passed ? data : false;\n\t  },\n\t  toState: function toState(data, oldHue) {\n\t    var color = data.hex ? (0, _tinycolor2.default)(data.hex) : (0, _tinycolor2.default)(data);\n\t    var hsl = color.toHsl();\n\t    var hsv = color.toHsv();\n\t    var rgb = color.toRgb();\n\t    var hex = color.toHex();\n\t    if (hsl.s === 0) {\n\t      hsl.h = oldHue || 0;\n\t      hsv.h = oldHue || 0;\n\t    }\n\t    var transparent = hex === '000000' && rgb.a === 0;\n\t\n\t    return {\n\t      hsl: hsl,\n\t      hex: transparent ? 'transparent' : '#' + hex,\n\t      rgb: rgb,\n\t      hsv: hsv,\n\t      oldHue: data.h || oldHue || hsl.h,\n\t      source: data.source\n\t    };\n\t  },\n\t  isValidHex: function isValidHex(hex) {\n\t    // disable hex4 and hex8\n\t    var lh = String(hex).charAt(0) === '#' ? 1 : 0;\n\t    return hex.length !== 4 + lh && hex.length < 7 + lh && (0, _tinycolor2.default)(hex).isValid();\n\t  },\n\t  getContrastingColor: function getContrastingColor(data) {\n\t    if (!data) {\n\t      return '#fff';\n\t    }\n\t    var col = this.toState(data);\n\t    if (col.hex === 'transparent') {\n\t      return 'rgba(0,0,0,0.4)';\n\t    }\n\t    var yiq = (col.rgb.r * 299 + col.rgb.g * 587 + col.rgb.b * 114) / 1000;\n\t    return yiq >= 128 ? '#000' : '#fff';\n\t  }\n\t};\n\tvar red = exports.red = {\n\t  hsl: { a: 1, h: 0, l: 0.5, s: 1 },\n\t  hex: '#ff0000',\n\t  rgb: { r: 255, g: 0, b: 0, a: 1 },\n\t  hsv: { h: 0, s: 1, v: 1, a: 1 }\n\t};\n\n/***/ }),\n/* 305 */\n/*!*****************************************!*\\\n  !*** ../~/react-color/~/lodash/each.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(/*! ./forEach */ 306);\n\n\n/***/ }),\n/* 306 */\n/*!********************************************!*\\\n  !*** ../~/react-color/~/lodash/forEach.js ***!\n  \\********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar arrayEach = __webpack_require__(/*! ./_arrayEach */ 307),\n\t    baseEach = __webpack_require__(/*! ./_baseEach */ 308),\n\t    castFunction = __webpack_require__(/*! ./_castFunction */ 314),\n\t    isArray = __webpack_require__(/*! ./isArray */ 265);\n\t\n\t/**\n\t * Iterates over elements of `collection` and invokes `iteratee` for each element.\n\t * The iteratee is invoked with three arguments: (value, index|key, collection).\n\t * Iteratee functions may exit iteration early by explicitly returning `false`.\n\t *\n\t * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n\t * property are iterated like arrays. To avoid this behavior use `_.forIn`\n\t * or `_.forOwn` for object iteration.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @alias each\n\t * @category Collection\n\t * @param {Array|Object} collection The collection to iterate over.\n\t * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n\t * @returns {Array|Object} Returns `collection`.\n\t * @see _.forEachRight\n\t * @example\n\t *\n\t * _.forEach([1, 2], function(value) {\n\t *   console.log(value);\n\t * });\n\t * // => Logs `1` then `2`.\n\t *\n\t * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n\t *   console.log(key);\n\t * });\n\t * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n\t */\n\tfunction forEach(collection, iteratee) {\n\t  var func = isArray(collection) ? arrayEach : baseEach;\n\t  return func(collection, castFunction(iteratee));\n\t}\n\t\n\tmodule.exports = forEach;\n\n\n/***/ }),\n/* 307 */\n/*!***********************************************!*\\\n  !*** ../~/react-color/~/lodash/_arrayEach.js ***!\n  \\***********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for\n\t * iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} [array] The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t  var index = -1,\n\t      length = array == null ? 0 : array.length;\n\t\n\t  while (++index < length) {\n\t    if (iteratee(array[index], index, array) === false) {\n\t      break;\n\t    }\n\t  }\n\t  return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ }),\n/* 308 */\n/*!**********************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseEach.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseForOwn = __webpack_require__(/*! ./_baseForOwn */ 309),\n\t    createBaseEach = __webpack_require__(/*! ./_createBaseEach */ 313);\n\t\n\t/**\n\t * The base implementation of `_.forEach` without support for iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array|Object} collection The collection to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array|Object} Returns `collection`.\n\t */\n\tvar baseEach = createBaseEach(baseForOwn);\n\t\n\tmodule.exports = baseEach;\n\n\n/***/ }),\n/* 309 */\n/*!************************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseForOwn.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseFor = __webpack_require__(/*! ./_baseFor */ 249),\n\t    keys = __webpack_require__(/*! ./keys */ 310);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t  return object && baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n\n/***/ }),\n/* 310 */\n/*!*****************************************!*\\\n  !*** ../~/react-color/~/lodash/keys.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar arrayLikeKeys = __webpack_require__(/*! ./_arrayLikeKeys */ 281),\n\t    baseKeys = __webpack_require__(/*! ./_baseKeys */ 311),\n\t    isArrayLike = __webpack_require__(/*! ./isArrayLike */ 267);\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @since 0.1.0\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t *   this.a = 1;\n\t *   this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tfunction keys(object) {\n\t  return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n\t}\n\t\n\tmodule.exports = keys;\n\n\n/***/ }),\n/* 311 */\n/*!**********************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseKeys.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isPrototype = __webpack_require__(/*! ./_isPrototype */ 261),\n\t    nativeKeys = __webpack_require__(/*! ./_nativeKeys */ 312);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction baseKeys(object) {\n\t  if (!isPrototype(object)) {\n\t    return nativeKeys(object);\n\t  }\n\t  var result = [];\n\t  for (var key in Object(object)) {\n\t    if (hasOwnProperty.call(object, key) && key != 'constructor') {\n\t      result.push(key);\n\t    }\n\t  }\n\t  return result;\n\t}\n\t\n\tmodule.exports = baseKeys;\n\n\n/***/ }),\n/* 312 */\n/*!************************************************!*\\\n  !*** ../~/react-color/~/lodash/_nativeKeys.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar overArg = __webpack_require__(/*! ./_overArg */ 260);\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = overArg(Object.keys, Object);\n\t\n\tmodule.exports = nativeKeys;\n\n\n/***/ }),\n/* 313 */\n/*!****************************************************!*\\\n  !*** ../~/react-color/~/lodash/_createBaseEach.js ***!\n  \\****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(/*! ./isArrayLike */ 267);\n\t\n\t/**\n\t * Creates a `baseEach` or `baseEachRight` function.\n\t *\n\t * @private\n\t * @param {Function} eachFunc The function to iterate over a collection.\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseEach(eachFunc, fromRight) {\n\t  return function(collection, iteratee) {\n\t    if (collection == null) {\n\t      return collection;\n\t    }\n\t    if (!isArrayLike(collection)) {\n\t      return eachFunc(collection, iteratee);\n\t    }\n\t    var length = collection.length,\n\t        index = fromRight ? length : -1,\n\t        iterable = Object(collection);\n\t\n\t    while ((fromRight ? index-- : ++index < length)) {\n\t      if (iteratee(iterable[index], index, iterable) === false) {\n\t        break;\n\t      }\n\t    }\n\t    return collection;\n\t  };\n\t}\n\t\n\tmodule.exports = createBaseEach;\n\n\n/***/ }),\n/* 314 */\n/*!**************************************************!*\\\n  !*** ../~/react-color/~/lodash/_castFunction.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(/*! ./identity */ 288);\n\t\n\t/**\n\t * Casts `value` to `identity` if it's not a function.\n\t *\n\t * @private\n\t * @param {*} value The value to inspect.\n\t * @returns {Function} Returns cast function.\n\t */\n\tfunction castFunction(value) {\n\t  return typeof value == 'function' ? value : identity;\n\t}\n\t\n\tmodule.exports = castFunction;\n\n\n/***/ }),\n/* 315 */\n/*!************************************!*\\\n  !*** ../~/tinycolor2/tinycolor.js ***!\n  \\************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_RESULT__;// TinyColor v1.4.1\n\t// https://github.com/bgrins/TinyColor\n\t// Brian Grinstead, MIT License\n\t\n\t(function(Math) {\n\t\n\tvar trimLeft = /^\\s+/,\n\t    trimRight = /\\s+$/,\n\t    tinyCounter = 0,\n\t    mathRound = Math.round,\n\t    mathMin = Math.min,\n\t    mathMax = Math.max,\n\t    mathRandom = Math.random;\n\t\n\tfunction tinycolor (color, opts) {\n\t\n\t    color = (color) ? color : '';\n\t    opts = opts || { };\n\t\n\t    // If input is already a tinycolor, return itself\n\t    if (color instanceof tinycolor) {\n\t       return color;\n\t    }\n\t    // If we are called as a function, call using new instead\n\t    if (!(this instanceof tinycolor)) {\n\t        return new tinycolor(color, opts);\n\t    }\n\t\n\t    var rgb = inputToRGB(color);\n\t    this._originalInput = color,\n\t    this._r = rgb.r,\n\t    this._g = rgb.g,\n\t    this._b = rgb.b,\n\t    this._a = rgb.a,\n\t    this._roundA = mathRound(100*this._a) / 100,\n\t    this._format = opts.format || rgb.format;\n\t    this._gradientType = opts.gradientType;\n\t\n\t    // Don't let the range of [0,255] come back in [0,1].\n\t    // Potentially lose a little bit of precision here, but will fix issues where\n\t    // .5 gets interpreted as half of the total, instead of half of 1\n\t    // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n\t    if (this._r < 1) { this._r = mathRound(this._r); }\n\t    if (this._g < 1) { this._g = mathRound(this._g); }\n\t    if (this._b < 1) { this._b = mathRound(this._b); }\n\t\n\t    this._ok = rgb.ok;\n\t    this._tc_id = tinyCounter++;\n\t}\n\t\n\ttinycolor.prototype = {\n\t    isDark: function() {\n\t        return this.getBrightness() < 128;\n\t    },\n\t    isLight: function() {\n\t        return !this.isDark();\n\t    },\n\t    isValid: function() {\n\t        return this._ok;\n\t    },\n\t    getOriginalInput: function() {\n\t      return this._originalInput;\n\t    },\n\t    getFormat: function() {\n\t        return this._format;\n\t    },\n\t    getAlpha: function() {\n\t        return this._a;\n\t    },\n\t    getBrightness: function() {\n\t        //http://www.w3.org/TR/AERT#color-contrast\n\t        var rgb = this.toRgb();\n\t        return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n\t    },\n\t    getLuminance: function() {\n\t        //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n\t        var rgb = this.toRgb();\n\t        var RsRGB, GsRGB, BsRGB, R, G, B;\n\t        RsRGB = rgb.r/255;\n\t        GsRGB = rgb.g/255;\n\t        BsRGB = rgb.b/255;\n\t\n\t        if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n\t        if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n\t        if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n\t        return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n\t    },\n\t    setAlpha: function(value) {\n\t        this._a = boundAlpha(value);\n\t        this._roundA = mathRound(100*this._a) / 100;\n\t        return this;\n\t    },\n\t    toHsv: function() {\n\t        var hsv = rgbToHsv(this._r, this._g, this._b);\n\t        return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\n\t    },\n\t    toHsvString: function() {\n\t        var hsv = rgbToHsv(this._r, this._g, this._b);\n\t        var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n\t        return (this._a == 1) ?\n\t          \"hsv(\"  + h + \", \" + s + \"%, \" + v + \"%)\" :\n\t          \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n\t    },\n\t    toHsl: function() {\n\t        var hsl = rgbToHsl(this._r, this._g, this._b);\n\t        return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\n\t    },\n\t    toHslString: function() {\n\t        var hsl = rgbToHsl(this._r, this._g, this._b);\n\t        var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n\t        return (this._a == 1) ?\n\t          \"hsl(\"  + h + \", \" + s + \"%, \" + l + \"%)\" :\n\t          \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n\t    },\n\t    toHex: function(allow3Char) {\n\t        return rgbToHex(this._r, this._g, this._b, allow3Char);\n\t    },\n\t    toHexString: function(allow3Char) {\n\t        return '#' + this.toHex(allow3Char);\n\t    },\n\t    toHex8: function(allow4Char) {\n\t        return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n\t    },\n\t    toHex8String: function(allow4Char) {\n\t        return '#' + this.toHex8(allow4Char);\n\t    },\n\t    toRgb: function() {\n\t        return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n\t    },\n\t    toRgbString: function() {\n\t        return (this._a == 1) ?\n\t          \"rgb(\"  + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n\t          \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n\t    },\n\t    toPercentageRgb: function() {\n\t        return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n\t    },\n\t    toPercentageRgbString: function() {\n\t        return (this._a == 1) ?\n\t          \"rgb(\"  + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n\t          \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n\t    },\n\t    toName: function() {\n\t        if (this._a === 0) {\n\t            return \"transparent\";\n\t        }\n\t\n\t        if (this._a < 1) {\n\t            return false;\n\t        }\n\t\n\t        return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n\t    },\n\t    toFilter: function(secondColor) {\n\t        var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n\t        var secondHex8String = hex8String;\n\t        var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\t\n\t        if (secondColor) {\n\t            var s = tinycolor(secondColor);\n\t            secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n\t        }\n\t\n\t        return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n\t    },\n\t    toString: function(format) {\n\t        var formatSet = !!format;\n\t        format = format || this._format;\n\t\n\t        var formattedString = false;\n\t        var hasAlpha = this._a < 1 && this._a >= 0;\n\t        var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\t\n\t        if (needsAlphaFormat) {\n\t            // Special case for \"transparent\", all other non-alpha formats\n\t            // will return rgba when there is transparency.\n\t            if (format === \"name\" && this._a === 0) {\n\t                return this.toName();\n\t            }\n\t            return this.toRgbString();\n\t        }\n\t        if (format === \"rgb\") {\n\t            formattedString = this.toRgbString();\n\t        }\n\t        if (format === \"prgb\") {\n\t            formattedString = this.toPercentageRgbString();\n\t        }\n\t        if (format === \"hex\" || format === \"hex6\") {\n\t            formattedString = this.toHexString();\n\t        }\n\t        if (format === \"hex3\") {\n\t            formattedString = this.toHexString(true);\n\t        }\n\t        if (format === \"hex4\") {\n\t            formattedString = this.toHex8String(true);\n\t        }\n\t        if (format === \"hex8\") {\n\t            formattedString = this.toHex8String();\n\t        }\n\t        if (format === \"name\") {\n\t            formattedString = this.toName();\n\t        }\n\t        if (format === \"hsl\") {\n\t            formattedString = this.toHslString();\n\t        }\n\t        if (format === \"hsv\") {\n\t            formattedString = this.toHsvString();\n\t        }\n\t\n\t        return formattedString || this.toHexString();\n\t    },\n\t    clone: function() {\n\t        return tinycolor(this.toString());\n\t    },\n\t\n\t    _applyModification: function(fn, args) {\n\t        var color = fn.apply(null, [this].concat([].slice.call(args)));\n\t        this._r = color._r;\n\t        this._g = color._g;\n\t        this._b = color._b;\n\t        this.setAlpha(color._a);\n\t        return this;\n\t    },\n\t    lighten: function() {\n\t        return this._applyModification(lighten, arguments);\n\t    },\n\t    brighten: function() {\n\t        return this._applyModification(brighten, arguments);\n\t    },\n\t    darken: function() {\n\t        return this._applyModification(darken, arguments);\n\t    },\n\t    desaturate: function() {\n\t        return this._applyModification(desaturate, arguments);\n\t    },\n\t    saturate: function() {\n\t        return this._applyModification(saturate, arguments);\n\t    },\n\t    greyscale: function() {\n\t        return this._applyModification(greyscale, arguments);\n\t    },\n\t    spin: function() {\n\t        return this._applyModification(spin, arguments);\n\t    },\n\t\n\t    _applyCombination: function(fn, args) {\n\t        return fn.apply(null, [this].concat([].slice.call(args)));\n\t    },\n\t    analogous: function() {\n\t        return this._applyCombination(analogous, arguments);\n\t    },\n\t    complement: function() {\n\t        return this._applyCombination(complement, arguments);\n\t    },\n\t    monochromatic: function() {\n\t        return this._applyCombination(monochromatic, arguments);\n\t    },\n\t    splitcomplement: function() {\n\t        return this._applyCombination(splitcomplement, arguments);\n\t    },\n\t    triad: function() {\n\t        return this._applyCombination(triad, arguments);\n\t    },\n\t    tetrad: function() {\n\t        return this._applyCombination(tetrad, arguments);\n\t    }\n\t};\n\t\n\t// If input is an object, force 1 into \"1.0\" to handle ratios properly\n\t// String input requires \"1.0\" as input, so 1 will be treated as 1\n\ttinycolor.fromRatio = function(color, opts) {\n\t    if (typeof color == \"object\") {\n\t        var newColor = {};\n\t        for (var i in color) {\n\t            if (color.hasOwnProperty(i)) {\n\t                if (i === \"a\") {\n\t                    newColor[i] = color[i];\n\t                }\n\t                else {\n\t                    newColor[i] = convertToPercentage(color[i]);\n\t                }\n\t            }\n\t        }\n\t        color = newColor;\n\t    }\n\t\n\t    return tinycolor(color, opts);\n\t};\n\t\n\t// Given a string or object, convert that input to RGB\n\t// Possible string inputs:\n\t//\n\t//     \"red\"\n\t//     \"#f00\" or \"f00\"\n\t//     \"#ff0000\" or \"ff0000\"\n\t//     \"#ff000000\" or \"ff000000\"\n\t//     \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n\t//     \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n\t//     \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n\t//     \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n\t//     \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n\t//     \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n\t//     \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n\t//\n\tfunction inputToRGB(color) {\n\t\n\t    var rgb = { r: 0, g: 0, b: 0 };\n\t    var a = 1;\n\t    var s = null;\n\t    var v = null;\n\t    var l = null;\n\t    var ok = false;\n\t    var format = false;\n\t\n\t    if (typeof color == \"string\") {\n\t        color = stringInputToObject(color);\n\t    }\n\t\n\t    if (typeof color == \"object\") {\n\t        if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n\t            rgb = rgbToRgb(color.r, color.g, color.b);\n\t            ok = true;\n\t            format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n\t        }\n\t        else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n\t            s = convertToPercentage(color.s);\n\t            v = convertToPercentage(color.v);\n\t            rgb = hsvToRgb(color.h, s, v);\n\t            ok = true;\n\t            format = \"hsv\";\n\t        }\n\t        else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n\t            s = convertToPercentage(color.s);\n\t            l = convertToPercentage(color.l);\n\t            rgb = hslToRgb(color.h, s, l);\n\t            ok = true;\n\t            format = \"hsl\";\n\t        }\n\t\n\t        if (color.hasOwnProperty(\"a\")) {\n\t            a = color.a;\n\t        }\n\t    }\n\t\n\t    a = boundAlpha(a);\n\t\n\t    return {\n\t        ok: ok,\n\t        format: color.format || format,\n\t        r: mathMin(255, mathMax(rgb.r, 0)),\n\t        g: mathMin(255, mathMax(rgb.g, 0)),\n\t        b: mathMin(255, mathMax(rgb.b, 0)),\n\t        a: a\n\t    };\n\t}\n\t\n\t\n\t// Conversion Functions\n\t// --------------------\n\t\n\t// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n\t// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n\t\n\t// `rgbToRgb`\n\t// Handle bounds / percentage checking to conform to CSS color spec\n\t// <http://www.w3.org/TR/css3-color/>\n\t// *Assumes:* r, g, b in [0, 255] or [0, 1]\n\t// *Returns:* { r, g, b } in [0, 255]\n\tfunction rgbToRgb(r, g, b){\n\t    return {\n\t        r: bound01(r, 255) * 255,\n\t        g: bound01(g, 255) * 255,\n\t        b: bound01(b, 255) * 255\n\t    };\n\t}\n\t\n\t// `rgbToHsl`\n\t// Converts an RGB color value to HSL.\n\t// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n\t// *Returns:* { h, s, l } in [0,1]\n\tfunction rgbToHsl(r, g, b) {\n\t\n\t    r = bound01(r, 255);\n\t    g = bound01(g, 255);\n\t    b = bound01(b, 255);\n\t\n\t    var max = mathMax(r, g, b), min = mathMin(r, g, b);\n\t    var h, s, l = (max + min) / 2;\n\t\n\t    if(max == min) {\n\t        h = s = 0; // achromatic\n\t    }\n\t    else {\n\t        var d = max - min;\n\t        s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\t        switch(max) {\n\t            case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n\t            case g: h = (b - r) / d + 2; break;\n\t            case b: h = (r - g) / d + 4; break;\n\t        }\n\t\n\t        h /= 6;\n\t    }\n\t\n\t    return { h: h, s: s, l: l };\n\t}\n\t\n\t// `hslToRgb`\n\t// Converts an HSL color value to RGB.\n\t// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n\t// *Returns:* { r, g, b } in the set [0, 255]\n\tfunction hslToRgb(h, s, l) {\n\t    var r, g, b;\n\t\n\t    h = bound01(h, 360);\n\t    s = bound01(s, 100);\n\t    l = bound01(l, 100);\n\t\n\t    function hue2rgb(p, q, t) {\n\t        if(t < 0) t += 1;\n\t        if(t > 1) t -= 1;\n\t        if(t < 1/6) return p + (q - p) * 6 * t;\n\t        if(t < 1/2) return q;\n\t        if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n\t        return p;\n\t    }\n\t\n\t    if(s === 0) {\n\t        r = g = b = l; // achromatic\n\t    }\n\t    else {\n\t        var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n\t        var p = 2 * l - q;\n\t        r = hue2rgb(p, q, h + 1/3);\n\t        g = hue2rgb(p, q, h);\n\t        b = hue2rgb(p, q, h - 1/3);\n\t    }\n\t\n\t    return { r: r * 255, g: g * 255, b: b * 255 };\n\t}\n\t\n\t// `rgbToHsv`\n\t// Converts an RGB color value to HSV\n\t// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n\t// *Returns:* { h, s, v } in [0,1]\n\tfunction rgbToHsv(r, g, b) {\n\t\n\t    r = bound01(r, 255);\n\t    g = bound01(g, 255);\n\t    b = bound01(b, 255);\n\t\n\t    var max = mathMax(r, g, b), min = mathMin(r, g, b);\n\t    var h, s, v = max;\n\t\n\t    var d = max - min;\n\t    s = max === 0 ? 0 : d / max;\n\t\n\t    if(max == min) {\n\t        h = 0; // achromatic\n\t    }\n\t    else {\n\t        switch(max) {\n\t            case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n\t            case g: h = (b - r) / d + 2; break;\n\t            case b: h = (r - g) / d + 4; break;\n\t        }\n\t        h /= 6;\n\t    }\n\t    return { h: h, s: s, v: v };\n\t}\n\t\n\t// `hsvToRgb`\n\t// Converts an HSV color value to RGB.\n\t// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n\t// *Returns:* { r, g, b } in the set [0, 255]\n\t function hsvToRgb(h, s, v) {\n\t\n\t    h = bound01(h, 360) * 6;\n\t    s = bound01(s, 100);\n\t    v = bound01(v, 100);\n\t\n\t    var i = Math.floor(h),\n\t        f = h - i,\n\t        p = v * (1 - s),\n\t        q = v * (1 - f * s),\n\t        t = v * (1 - (1 - f) * s),\n\t        mod = i % 6,\n\t        r = [v, q, p, p, t, v][mod],\n\t        g = [t, v, v, q, p, p][mod],\n\t        b = [p, p, t, v, v, q][mod];\n\t\n\t    return { r: r * 255, g: g * 255, b: b * 255 };\n\t}\n\t\n\t// `rgbToHex`\n\t// Converts an RGB color to hex\n\t// Assumes r, g, and b are contained in the set [0, 255]\n\t// Returns a 3 or 6 character hex\n\tfunction rgbToHex(r, g, b, allow3Char) {\n\t\n\t    var hex = [\n\t        pad2(mathRound(r).toString(16)),\n\t        pad2(mathRound(g).toString(16)),\n\t        pad2(mathRound(b).toString(16))\n\t    ];\n\t\n\t    // Return a 3 character hex if possible\n\t    if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n\t        return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n\t    }\n\t\n\t    return hex.join(\"\");\n\t}\n\t\n\t// `rgbaToHex`\n\t// Converts an RGBA color plus alpha transparency to hex\n\t// Assumes r, g, b are contained in the set [0, 255] and\n\t// a in [0, 1]. Returns a 4 or 8 character rgba hex\n\tfunction rgbaToHex(r, g, b, a, allow4Char) {\n\t\n\t    var hex = [\n\t        pad2(mathRound(r).toString(16)),\n\t        pad2(mathRound(g).toString(16)),\n\t        pad2(mathRound(b).toString(16)),\n\t        pad2(convertDecimalToHex(a))\n\t    ];\n\t\n\t    // Return a 4 character hex if possible\n\t    if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n\t        return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n\t    }\n\t\n\t    return hex.join(\"\");\n\t}\n\t\n\t// `rgbaToArgbHex`\n\t// Converts an RGBA color to an ARGB Hex8 string\n\t// Rarely used, but required for \"toFilter()\"\n\tfunction rgbaToArgbHex(r, g, b, a) {\n\t\n\t    var hex = [\n\t        pad2(convertDecimalToHex(a)),\n\t        pad2(mathRound(r).toString(16)),\n\t        pad2(mathRound(g).toString(16)),\n\t        pad2(mathRound(b).toString(16))\n\t    ];\n\t\n\t    return hex.join(\"\");\n\t}\n\t\n\t// `equals`\n\t// Can be called with any tinycolor input\n\ttinycolor.equals = function (color1, color2) {\n\t    if (!color1 || !color2) { return false; }\n\t    return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n\t};\n\t\n\ttinycolor.random = function() {\n\t    return tinycolor.fromRatio({\n\t        r: mathRandom(),\n\t        g: mathRandom(),\n\t        b: mathRandom()\n\t    });\n\t};\n\t\n\t\n\t// Modification Functions\n\t// ----------------------\n\t// Thanks to less.js for some of the basics here\n\t// <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js>\n\t\n\tfunction desaturate(color, amount) {\n\t    amount = (amount === 0) ? 0 : (amount || 10);\n\t    var hsl = tinycolor(color).toHsl();\n\t    hsl.s -= amount / 100;\n\t    hsl.s = clamp01(hsl.s);\n\t    return tinycolor(hsl);\n\t}\n\t\n\tfunction saturate(color, amount) {\n\t    amount = (amount === 0) ? 0 : (amount || 10);\n\t    var hsl = tinycolor(color).toHsl();\n\t    hsl.s += amount / 100;\n\t    hsl.s = clamp01(hsl.s);\n\t    return tinycolor(hsl);\n\t}\n\t\n\tfunction greyscale(color) {\n\t    return tinycolor(color).desaturate(100);\n\t}\n\t\n\tfunction lighten (color, amount) {\n\t    amount = (amount === 0) ? 0 : (amount || 10);\n\t    var hsl = tinycolor(color).toHsl();\n\t    hsl.l += amount / 100;\n\t    hsl.l = clamp01(hsl.l);\n\t    return tinycolor(hsl);\n\t}\n\t\n\tfunction brighten(color, amount) {\n\t    amount = (amount === 0) ? 0 : (amount || 10);\n\t    var rgb = tinycolor(color).toRgb();\n\t    rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n\t    rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n\t    rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n\t    return tinycolor(rgb);\n\t}\n\t\n\tfunction darken (color, amount) {\n\t    amount = (amount === 0) ? 0 : (amount || 10);\n\t    var hsl = tinycolor(color).toHsl();\n\t    hsl.l -= amount / 100;\n\t    hsl.l = clamp01(hsl.l);\n\t    return tinycolor(hsl);\n\t}\n\t\n\t// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n\t// Values outside of this range will be wrapped into this range.\n\tfunction spin(color, amount) {\n\t    var hsl = tinycolor(color).toHsl();\n\t    var hue = (hsl.h + amount) % 360;\n\t    hsl.h = hue < 0 ? 360 + hue : hue;\n\t    return tinycolor(hsl);\n\t}\n\t\n\t// Combination Functions\n\t// ---------------------\n\t// Thanks to jQuery xColor for some of the ideas behind these\n\t// <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js>\n\t\n\tfunction complement(color) {\n\t    var hsl = tinycolor(color).toHsl();\n\t    hsl.h = (hsl.h + 180) % 360;\n\t    return tinycolor(hsl);\n\t}\n\t\n\tfunction triad(color) {\n\t    var hsl = tinycolor(color).toHsl();\n\t    var h = hsl.h;\n\t    return [\n\t        tinycolor(color),\n\t        tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n\t        tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n\t    ];\n\t}\n\t\n\tfunction tetrad(color) {\n\t    var hsl = tinycolor(color).toHsl();\n\t    var h = hsl.h;\n\t    return [\n\t        tinycolor(color),\n\t        tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n\t        tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n\t        tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n\t    ];\n\t}\n\t\n\tfunction splitcomplement(color) {\n\t    var hsl = tinycolor(color).toHsl();\n\t    var h = hsl.h;\n\t    return [\n\t        tinycolor(color),\n\t        tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n\t        tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n\t    ];\n\t}\n\t\n\tfunction analogous(color, results, slices) {\n\t    results = results || 6;\n\t    slices = slices || 30;\n\t\n\t    var hsl = tinycolor(color).toHsl();\n\t    var part = 360 / slices;\n\t    var ret = [tinycolor(color)];\n\t\n\t    for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n\t        hsl.h = (hsl.h + part) % 360;\n\t        ret.push(tinycolor(hsl));\n\t    }\n\t    return ret;\n\t}\n\t\n\tfunction monochromatic(color, results) {\n\t    results = results || 6;\n\t    var hsv = tinycolor(color).toHsv();\n\t    var h = hsv.h, s = hsv.s, v = hsv.v;\n\t    var ret = [];\n\t    var modification = 1 / results;\n\t\n\t    while (results--) {\n\t        ret.push(tinycolor({ h: h, s: s, v: v}));\n\t        v = (v + modification) % 1;\n\t    }\n\t\n\t    return ret;\n\t}\n\t\n\t// Utility Functions\n\t// ---------------------\n\t\n\ttinycolor.mix = function(color1, color2, amount) {\n\t    amount = (amount === 0) ? 0 : (amount || 50);\n\t\n\t    var rgb1 = tinycolor(color1).toRgb();\n\t    var rgb2 = tinycolor(color2).toRgb();\n\t\n\t    var p = amount / 100;\n\t\n\t    var rgba = {\n\t        r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n\t        g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n\t        b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n\t        a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n\t    };\n\t\n\t    return tinycolor(rgba);\n\t};\n\t\n\t\n\t// Readability Functions\n\t// ---------------------\n\t// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)\n\t\n\t// `contrast`\n\t// Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)\n\ttinycolor.readability = function(color1, color2) {\n\t    var c1 = tinycolor(color1);\n\t    var c2 = tinycolor(color2);\n\t    return (Math.max(c1.getLuminance(),c2.getLuminance())+0.05) / (Math.min(c1.getLuminance(),c2.getLuminance())+0.05);\n\t};\n\t\n\t// `isReadable`\n\t// Ensure that foreground and background color combinations meet WCAG2 guidelines.\n\t// The third argument is an optional Object.\n\t//      the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA';\n\t//      the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'.\n\t// If the entire object is absent, isReadable defaults to {level:\"AA\",size:\"small\"}.\n\t\n\t// *Example*\n\t//    tinycolor.isReadable(\"#000\", \"#111\") => false\n\t//    tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\n\ttinycolor.isReadable = function(color1, color2, wcag2) {\n\t    var readability = tinycolor.readability(color1, color2);\n\t    var wcag2Parms, out;\n\t\n\t    out = false;\n\t\n\t    wcag2Parms = validateWCAG2Parms(wcag2);\n\t    switch (wcag2Parms.level + wcag2Parms.size) {\n\t        case \"AAsmall\":\n\t        case \"AAAlarge\":\n\t            out = readability >= 4.5;\n\t            break;\n\t        case \"AAlarge\":\n\t            out = readability >= 3;\n\t            break;\n\t        case \"AAAsmall\":\n\t            out = readability >= 7;\n\t            break;\n\t    }\n\t    return out;\n\t\n\t};\n\t\n\t// `mostReadable`\n\t// Given a base color and a list of possible foreground or background\n\t// colors for that base, returns the most readable color.\n\t// Optionally returns Black or White if the most readable color is unreadable.\n\t// *Example*\n\t//    tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n\t//    tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString();  // \"#ffffff\"\n\t//    tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n\t//    tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\n\ttinycolor.mostReadable = function(baseColor, colorList, args) {\n\t    var bestColor = null;\n\t    var bestScore = 0;\n\t    var readability;\n\t    var includeFallbackColors, level, size ;\n\t    args = args || {};\n\t    includeFallbackColors = args.includeFallbackColors ;\n\t    level = args.level;\n\t    size = args.size;\n\t\n\t    for (var i= 0; i < colorList.length ; i++) {\n\t        readability = tinycolor.readability(baseColor, colorList[i]);\n\t        if (readability > bestScore) {\n\t            bestScore = readability;\n\t            bestColor = tinycolor(colorList[i]);\n\t        }\n\t    }\n\t\n\t    if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n\t        return bestColor;\n\t    }\n\t    else {\n\t        args.includeFallbackColors=false;\n\t        return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n\t    }\n\t};\n\t\n\t\n\t// Big List of Colors\n\t// ------------------\n\t// <http://www.w3.org/TR/css3-color/#svg-color>\n\tvar names = tinycolor.names = {\n\t    aliceblue: \"f0f8ff\",\n\t    antiquewhite: \"faebd7\",\n\t    aqua: \"0ff\",\n\t    aquamarine: \"7fffd4\",\n\t    azure: \"f0ffff\",\n\t    beige: \"f5f5dc\",\n\t    bisque: \"ffe4c4\",\n\t    black: \"000\",\n\t    blanchedalmond: \"ffebcd\",\n\t    blue: \"00f\",\n\t    blueviolet: \"8a2be2\",\n\t    brown: \"a52a2a\",\n\t    burlywood: \"deb887\",\n\t    burntsienna: \"ea7e5d\",\n\t    cadetblue: \"5f9ea0\",\n\t    chartreuse: \"7fff00\",\n\t    chocolate: \"d2691e\",\n\t    coral: \"ff7f50\",\n\t    cornflowerblue: \"6495ed\",\n\t    cornsilk: \"fff8dc\",\n\t    crimson: \"dc143c\",\n\t    cyan: \"0ff\",\n\t    darkblue: \"00008b\",\n\t    darkcyan: \"008b8b\",\n\t    darkgoldenrod: \"b8860b\",\n\t    darkgray: \"a9a9a9\",\n\t    darkgreen: \"006400\",\n\t    darkgrey: \"a9a9a9\",\n\t    darkkhaki: \"bdb76b\",\n\t    darkmagenta: \"8b008b\",\n\t    darkolivegreen: \"556b2f\",\n\t    darkorange: \"ff8c00\",\n\t    darkorchid: \"9932cc\",\n\t    darkred: \"8b0000\",\n\t    darksalmon: \"e9967a\",\n\t    darkseagreen: \"8fbc8f\",\n\t    darkslateblue: \"483d8b\",\n\t    darkslategray: \"2f4f4f\",\n\t    darkslategrey: \"2f4f4f\",\n\t    darkturquoise: \"00ced1\",\n\t    darkviolet: \"9400d3\",\n\t    deeppink: \"ff1493\",\n\t    deepskyblue: \"00bfff\",\n\t    dimgray: \"696969\",\n\t    dimgrey: \"696969\",\n\t    dodgerblue: \"1e90ff\",\n\t    firebrick: \"b22222\",\n\t    floralwhite: \"fffaf0\",\n\t    forestgreen: \"228b22\",\n\t    fuchsia: \"f0f\",\n\t    gainsboro: \"dcdcdc\",\n\t    ghostwhite: \"f8f8ff\",\n\t    gold: \"ffd700\",\n\t    goldenrod: \"daa520\",\n\t    gray: \"808080\",\n\t    green: \"008000\",\n\t    greenyellow: \"adff2f\",\n\t    grey: \"808080\",\n\t    honeydew: \"f0fff0\",\n\t    hotpink: \"ff69b4\",\n\t    indianred: \"cd5c5c\",\n\t    indigo: \"4b0082\",\n\t    ivory: \"fffff0\",\n\t    khaki: \"f0e68c\",\n\t    lavender: \"e6e6fa\",\n\t    lavenderblush: \"fff0f5\",\n\t    lawngreen: \"7cfc00\",\n\t    lemonchiffon: \"fffacd\",\n\t    lightblue: \"add8e6\",\n\t    lightcoral: \"f08080\",\n\t    lightcyan: \"e0ffff\",\n\t    lightgoldenrodyellow: \"fafad2\",\n\t    lightgray: \"d3d3d3\",\n\t    lightgreen: \"90ee90\",\n\t    lightgrey: \"d3d3d3\",\n\t    lightpink: \"ffb6c1\",\n\t    lightsalmon: \"ffa07a\",\n\t    lightseagreen: \"20b2aa\",\n\t    lightskyblue: \"87cefa\",\n\t    lightslategray: \"789\",\n\t    lightslategrey: \"789\",\n\t    lightsteelblue: \"b0c4de\",\n\t    lightyellow: \"ffffe0\",\n\t    lime: \"0f0\",\n\t    limegreen: \"32cd32\",\n\t    linen: \"faf0e6\",\n\t    magenta: \"f0f\",\n\t    maroon: \"800000\",\n\t    mediumaquamarine: \"66cdaa\",\n\t    mediumblue: \"0000cd\",\n\t    mediumorchid: \"ba55d3\",\n\t    mediumpurple: \"9370db\",\n\t    mediumseagreen: \"3cb371\",\n\t    mediumslateblue: \"7b68ee\",\n\t    mediumspringgreen: \"00fa9a\",\n\t    mediumturquoise: \"48d1cc\",\n\t    mediumvioletred: \"c71585\",\n\t    midnightblue: \"191970\",\n\t    mintcream: \"f5fffa\",\n\t    mistyrose: \"ffe4e1\",\n\t    moccasin: \"ffe4b5\",\n\t    navajowhite: \"ffdead\",\n\t    navy: \"000080\",\n\t    oldlace: \"fdf5e6\",\n\t    olive: \"808000\",\n\t    olivedrab: \"6b8e23\",\n\t    orange: \"ffa500\",\n\t    orangered: \"ff4500\",\n\t    orchid: \"da70d6\",\n\t    palegoldenrod: \"eee8aa\",\n\t    palegreen: \"98fb98\",\n\t    paleturquoise: \"afeeee\",\n\t    palevioletred: \"db7093\",\n\t    papayawhip: \"ffefd5\",\n\t    peachpuff: \"ffdab9\",\n\t    peru: \"cd853f\",\n\t    pink: \"ffc0cb\",\n\t    plum: \"dda0dd\",\n\t    powderblue: \"b0e0e6\",\n\t    purple: \"800080\",\n\t    rebeccapurple: \"663399\",\n\t    red: \"f00\",\n\t    rosybrown: \"bc8f8f\",\n\t    royalblue: \"4169e1\",\n\t    saddlebrown: \"8b4513\",\n\t    salmon: \"fa8072\",\n\t    sandybrown: \"f4a460\",\n\t    seagreen: \"2e8b57\",\n\t    seashell: \"fff5ee\",\n\t    sienna: \"a0522d\",\n\t    silver: \"c0c0c0\",\n\t    skyblue: \"87ceeb\",\n\t    slateblue: \"6a5acd\",\n\t    slategray: \"708090\",\n\t    slategrey: \"708090\",\n\t    snow: \"fffafa\",\n\t    springgreen: \"00ff7f\",\n\t    steelblue: \"4682b4\",\n\t    tan: \"d2b48c\",\n\t    teal: \"008080\",\n\t    thistle: \"d8bfd8\",\n\t    tomato: \"ff6347\",\n\t    turquoise: \"40e0d0\",\n\t    violet: \"ee82ee\",\n\t    wheat: \"f5deb3\",\n\t    white: \"fff\",\n\t    whitesmoke: \"f5f5f5\",\n\t    yellow: \"ff0\",\n\t    yellowgreen: \"9acd32\"\n\t};\n\t\n\t// Make it easy to access colors via `hexNames[hex]`\n\tvar hexNames = tinycolor.hexNames = flip(names);\n\t\n\t\n\t// Utilities\n\t// ---------\n\t\n\t// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\n\tfunction flip(o) {\n\t    var flipped = { };\n\t    for (var i in o) {\n\t        if (o.hasOwnProperty(i)) {\n\t            flipped[o[i]] = i;\n\t        }\n\t    }\n\t    return flipped;\n\t}\n\t\n\t// Return a valid alpha value [0,1] with all invalid values being set to 1\n\tfunction boundAlpha(a) {\n\t    a = parseFloat(a);\n\t\n\t    if (isNaN(a) || a < 0 || a > 1) {\n\t        a = 1;\n\t    }\n\t\n\t    return a;\n\t}\n\t\n\t// Take input from [0, n] and return it as [0, 1]\n\tfunction bound01(n, max) {\n\t    if (isOnePointZero(n)) { n = \"100%\"; }\n\t\n\t    var processPercent = isPercentage(n);\n\t    n = mathMin(max, mathMax(0, parseFloat(n)));\n\t\n\t    // Automatically convert percentage into number\n\t    if (processPercent) {\n\t        n = parseInt(n * max, 10) / 100;\n\t    }\n\t\n\t    // Handle floating point rounding errors\n\t    if ((Math.abs(n - max) < 0.000001)) {\n\t        return 1;\n\t    }\n\t\n\t    // Convert into [0, 1] range if it isn't already\n\t    return (n % max) / parseFloat(max);\n\t}\n\t\n\t// Force a number between 0 and 1\n\tfunction clamp01(val) {\n\t    return mathMin(1, mathMax(0, val));\n\t}\n\t\n\t// Parse a base-16 hex value into a base-10 integer\n\tfunction parseIntFromHex(val) {\n\t    return parseInt(val, 16);\n\t}\n\t\n\t// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n\t// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\n\tfunction isOnePointZero(n) {\n\t    return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n\t}\n\t\n\t// Check to see if string passed in is a percentage\n\tfunction isPercentage(n) {\n\t    return typeof n === \"string\" && n.indexOf('%') != -1;\n\t}\n\t\n\t// Force a hex value to have 2 characters\n\tfunction pad2(c) {\n\t    return c.length == 1 ? '0' + c : '' + c;\n\t}\n\t\n\t// Replace a decimal with it's percentage value\n\tfunction convertToPercentage(n) {\n\t    if (n <= 1) {\n\t        n = (n * 100) + \"%\";\n\t    }\n\t\n\t    return n;\n\t}\n\t\n\t// Converts a decimal to a hex value\n\tfunction convertDecimalToHex(d) {\n\t    return Math.round(parseFloat(d) * 255).toString(16);\n\t}\n\t// Converts a hex value to a decimal\n\tfunction convertHexToDecimal(h) {\n\t    return (parseIntFromHex(h) / 255);\n\t}\n\t\n\tvar matchers = (function() {\n\t\n\t    // <http://www.w3.org/TR/css3-values/#integers>\n\t    var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\t\n\t    // <http://www.w3.org/TR/css3-values/#number-value>\n\t    var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\t\n\t    // Allow positive/negative integer/number.  Don't capture the either/or, just the entire outcome.\n\t    var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\t\n\t    // Actual matching.\n\t    // Parentheses and commas are optional, but not required.\n\t    // Whitespace can take the place of commas or opening paren\n\t    var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\t    var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\t\n\t    return {\n\t        CSS_UNIT: new RegExp(CSS_UNIT),\n\t        rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n\t        rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n\t        hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n\t        hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n\t        hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n\t        hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n\t        hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n\t        hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n\t        hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n\t        hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n\t    };\n\t})();\n\t\n\t// `isValidCSSUnit`\n\t// Take in a single string / number and check to see if it looks like a CSS unit\n\t// (see `matchers` above for definition).\n\tfunction isValidCSSUnit(color) {\n\t    return !!matchers.CSS_UNIT.exec(color);\n\t}\n\t\n\t// `stringInputToObject`\n\t// Permissive string parsing.  Take in a number of formats, and output an object\n\t// based on detected format.  Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\n\tfunction stringInputToObject(color) {\n\t\n\t    color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n\t    var named = false;\n\t    if (names[color]) {\n\t        color = names[color];\n\t        named = true;\n\t    }\n\t    else if (color == 'transparent') {\n\t        return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n\t    }\n\t\n\t    // Try to match string input using regular expressions.\n\t    // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n\t    // Just return an object and let the conversion functions handle that.\n\t    // This way the result will be the same whether the tinycolor is initialized with string or object.\n\t    var match;\n\t    if ((match = matchers.rgb.exec(color))) {\n\t        return { r: match[1], g: match[2], b: match[3] };\n\t    }\n\t    if ((match = matchers.rgba.exec(color))) {\n\t        return { r: match[1], g: match[2], b: match[3], a: match[4] };\n\t    }\n\t    if ((match = matchers.hsl.exec(color))) {\n\t        return { h: match[1], s: match[2], l: match[3] };\n\t    }\n\t    if ((match = matchers.hsla.exec(color))) {\n\t        return { h: match[1], s: match[2], l: match[3], a: match[4] };\n\t    }\n\t    if ((match = matchers.hsv.exec(color))) {\n\t        return { h: match[1], s: match[2], v: match[3] };\n\t    }\n\t    if ((match = matchers.hsva.exec(color))) {\n\t        return { h: match[1], s: match[2], v: match[3], a: match[4] };\n\t    }\n\t    if ((match = matchers.hex8.exec(color))) {\n\t        return {\n\t            r: parseIntFromHex(match[1]),\n\t            g: parseIntFromHex(match[2]),\n\t            b: parseIntFromHex(match[3]),\n\t            a: convertHexToDecimal(match[4]),\n\t            format: named ? \"name\" : \"hex8\"\n\t        };\n\t    }\n\t    if ((match = matchers.hex6.exec(color))) {\n\t        return {\n\t            r: parseIntFromHex(match[1]),\n\t            g: parseIntFromHex(match[2]),\n\t            b: parseIntFromHex(match[3]),\n\t            format: named ? \"name\" : \"hex\"\n\t        };\n\t    }\n\t    if ((match = matchers.hex4.exec(color))) {\n\t        return {\n\t            r: parseIntFromHex(match[1] + '' + match[1]),\n\t            g: parseIntFromHex(match[2] + '' + match[2]),\n\t            b: parseIntFromHex(match[3] + '' + match[3]),\n\t            a: convertHexToDecimal(match[4] + '' + match[4]),\n\t            format: named ? \"name\" : \"hex8\"\n\t        };\n\t    }\n\t    if ((match = matchers.hex3.exec(color))) {\n\t        return {\n\t            r: parseIntFromHex(match[1] + '' + match[1]),\n\t            g: parseIntFromHex(match[2] + '' + match[2]),\n\t            b: parseIntFromHex(match[3] + '' + match[3]),\n\t            format: named ? \"name\" : \"hex\"\n\t        };\n\t    }\n\t\n\t    return false;\n\t}\n\t\n\tfunction validateWCAG2Parms(parms) {\n\t    // return valid WCAG2 parms for isReadable.\n\t    // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n\t    var level, size;\n\t    parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n\t    level = (parms.level || \"AA\").toUpperCase();\n\t    size = (parms.size || \"small\").toLowerCase();\n\t    if (level !== \"AA\" && level !== \"AAA\") {\n\t        level = \"AA\";\n\t    }\n\t    if (size !== \"small\" && size !== \"large\") {\n\t        size = \"small\";\n\t    }\n\t    return {\"level\":level, \"size\":size};\n\t}\n\t\n\t// Node: Export function\n\tif (typeof module !== \"undefined\" && module.exports) {\n\t    module.exports = tinycolor;\n\t}\n\t// AMD/requirejs: Define the module\n\telse if (true) {\n\t    !(__WEBPACK_AMD_DEFINE_RESULT__ = function () {return tinycolor;}.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t}\n\t// Browser: Expose to window\n\telse {\n\t    window.tinycolor = tinycolor;\n\t}\n\t\n\t})(Math);\n\n\n/***/ }),\n/* 316 */\n/*!********************************************************!*\\\n  !*** ../~/react-color/lib/components/common/Swatch.js ***!\n  \\********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.Swatch = undefined;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _interaction = __webpack_require__(/*! ../../helpers/interaction */ 317);\n\t\n\tvar _Checkboard = __webpack_require__(/*! ./Checkboard */ 194);\n\t\n\tvar _Checkboard2 = _interopRequireDefault(_Checkboard);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar ENTER = 13;\n\t\n\tvar Swatch = exports.Swatch = function Swatch(_ref) {\n\t  var color = _ref.color,\n\t      style = _ref.style,\n\t      _ref$onClick = _ref.onClick,\n\t      onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,\n\t      onHover = _ref.onHover,\n\t      _ref$title = _ref.title,\n\t      title = _ref$title === undefined ? color : _ref$title,\n\t      children = _ref.children,\n\t      focus = _ref.focus,\n\t      _ref$focusStyle = _ref.focusStyle,\n\t      focusStyle = _ref$focusStyle === undefined ? {} : _ref$focusStyle;\n\t\n\t  var transparent = color === 'transparent';\n\t  var styles = (0, _reactcss2.default)({\n\t    default: {\n\t      swatch: _extends({\n\t        background: color,\n\t        height: '100%',\n\t        width: '100%',\n\t        cursor: 'pointer',\n\t        position: 'relative',\n\t        outline: 'none'\n\t      }, style, focus ? focusStyle : {})\n\t    }\n\t  });\n\t\n\t  var handleClick = function handleClick(e) {\n\t    return onClick(color, e);\n\t  };\n\t  var handleKeyDown = function handleKeyDown(e) {\n\t    return e.keyCode === ENTER && onClick(color, e);\n\t  };\n\t  var handleHover = function handleHover(e) {\n\t    return onHover(color, e);\n\t  };\n\t\n\t  var optionalEvents = {};\n\t  if (onHover) {\n\t    optionalEvents.onMouseOver = handleHover;\n\t  }\n\t\n\t  return _react2.default.createElement(\n\t    'div',\n\t    _extends({\n\t      style: styles.swatch,\n\t      onClick: handleClick,\n\t      title: title,\n\t      tabIndex: 0,\n\t      onKeyDown: handleKeyDown\n\t    }, optionalEvents),\n\t    children,\n\t    transparent && _react2.default.createElement(_Checkboard2.default, {\n\t      borderRadius: styles.swatch.borderRadius,\n\t      boxShadow: 'inset 0 0 0 1px rgba(0,0,0,0.1)'\n\t    })\n\t  );\n\t};\n\t\n\texports.default = (0, _interaction.handleFocus)(Swatch);\n\n/***/ }),\n/* 317 */\n/*!***************************************************!*\\\n  !*** ../~/react-color/lib/helpers/interaction.js ***!\n  \\***************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.handleFocus = undefined;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* eslint-disable no-invalid-this */\n\t\n\t\n\tvar handleFocus = exports.handleFocus = function handleFocus(Component) {\n\t  var Span = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'span';\n\t  return function (_React$Component) {\n\t    _inherits(Focus, _React$Component);\n\t\n\t    function Focus() {\n\t      var _ref;\n\t\n\t      var _temp, _this, _ret;\n\t\n\t      _classCallCheck(this, Focus);\n\t\n\t      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t        args[_key] = arguments[_key];\n\t      }\n\t\n\t      return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Focus.__proto__ || Object.getPrototypeOf(Focus)).call.apply(_ref, [this].concat(args))), _this), _this.state = { focus: false }, _this.handleFocus = function () {\n\t        return _this.setState({ focus: true });\n\t      }, _this.handleBlur = function () {\n\t        return _this.setState({ focus: false });\n\t      }, _temp), _possibleConstructorReturn(_this, _ret);\n\t    }\n\t\n\t    _createClass(Focus, [{\n\t      key: 'render',\n\t      value: function render() {\n\t        return _react2.default.createElement(\n\t          Span,\n\t          { onFocus: this.handleFocus, onBlur: this.handleBlur },\n\t          _react2.default.createElement(Component, _extends({}, this.props, this.state))\n\t        );\n\t      }\n\t    }]);\n\t\n\t    return Focus;\n\t  }(_react2.default.Component);\n\t};\n\n/***/ }),\n/* 318 */\n/*!*************************************************************!*\\\n  !*** ../~/react-color/lib/components/alpha/AlphaPointer.js ***!\n  \\*************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.AlphaPointer = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar AlphaPointer = exports.AlphaPointer = function AlphaPointer(_ref) {\n\t  var direction = _ref.direction;\n\t\n\t  var styles = (0, _reactcss2.default)({\n\t    'default': {\n\t      picker: {\n\t        width: '18px',\n\t        height: '18px',\n\t        borderRadius: '50%',\n\t        transform: 'translate(-9px, -1px)',\n\t        backgroundColor: 'rgb(248, 248, 248)',\n\t        boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)'\n\t      }\n\t    },\n\t    'vertical': {\n\t      picker: {\n\t        transform: 'translate(-3px, -9px)'\n\t      }\n\t    }\n\t  }, { vertical: direction === 'vertical' });\n\t\n\t  return _react2.default.createElement('div', { style: styles.picker });\n\t};\n\t\n\texports.default = AlphaPointer;\n\n/***/ }),\n/* 319 */\n/*!******************************************************!*\\\n  !*** ../~/react-color/lib/components/block/Block.js ***!\n  \\******************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.Block = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _merge = __webpack_require__(/*! lodash/merge */ 200);\n\t\n\tvar _merge2 = _interopRequireDefault(_merge);\n\t\n\tvar _color = __webpack_require__(/*! ../../helpers/color */ 304);\n\t\n\tvar _color2 = _interopRequireDefault(_color);\n\t\n\tvar _common = __webpack_require__(/*! ../common */ 191);\n\t\n\tvar _BlockSwatches = __webpack_require__(/*! ./BlockSwatches */ 320);\n\t\n\tvar _BlockSwatches2 = _interopRequireDefault(_BlockSwatches);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar Block = exports.Block = function Block(_ref) {\n\t  var onChange = _ref.onChange,\n\t      onSwatchHover = _ref.onSwatchHover,\n\t      hex = _ref.hex,\n\t      colors = _ref.colors,\n\t      width = _ref.width,\n\t      triangle = _ref.triangle,\n\t      _ref$styles = _ref.styles,\n\t      passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n\t      _ref$className = _ref.className,\n\t      className = _ref$className === undefined ? '' : _ref$className;\n\t\n\t  var transparent = hex === 'transparent';\n\t  var handleChange = function handleChange(hexCode, e) {\n\t    _color2.default.isValidHex(hexCode) && onChange({\n\t      hex: hexCode,\n\t      source: 'hex'\n\t    }, e);\n\t  };\n\t\n\t  var styles = (0, _reactcss2.default)((0, _merge2.default)({\n\t    'default': {\n\t      card: {\n\t        width: width,\n\t        background: '#fff',\n\t        boxShadow: '0 1px rgba(0,0,0,.1)',\n\t        borderRadius: '6px',\n\t        position: 'relative'\n\t      },\n\t      head: {\n\t        height: '110px',\n\t        background: hex,\n\t        borderRadius: '6px 6px 0 0',\n\t        display: 'flex',\n\t        alignItems: 'center',\n\t        justifyContent: 'center',\n\t        position: 'relative'\n\t      },\n\t      body: {\n\t        padding: '10px'\n\t      },\n\t      label: {\n\t        fontSize: '18px',\n\t        color: _color2.default.getContrastingColor(hex),\n\t        position: 'relative'\n\t      },\n\t      triangle: {\n\t        width: '0px',\n\t        height: '0px',\n\t        borderStyle: 'solid',\n\t        borderWidth: '0 10px 10px 10px',\n\t        borderColor: 'transparent transparent ' + hex + ' transparent',\n\t        position: 'absolute',\n\t        top: '-10px',\n\t        left: '50%',\n\t        marginLeft: '-10px'\n\t      },\n\t      input: {\n\t        width: '100%',\n\t        fontSize: '12px',\n\t        color: '#666',\n\t        border: '0px',\n\t        outline: 'none',\n\t        height: '22px',\n\t        boxShadow: 'inset 0 0 0 1px #ddd',\n\t        borderRadius: '4px',\n\t        padding: '0 7px',\n\t        boxSizing: 'border-box'\n\t      }\n\t    },\n\t    'hide-triangle': {\n\t      triangle: {\n\t        display: 'none'\n\t      }\n\t    }\n\t  }, passedStyles), { 'hide-triangle': triangle === 'hide' });\n\t\n\t  return _react2.default.createElement(\n\t    'div',\n\t    { style: styles.card, className: 'block-picker ' + className },\n\t    _react2.default.createElement('div', { style: styles.triangle }),\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.head },\n\t      transparent && _react2.default.createElement(_common.Checkboard, { borderRadius: '6px 6px 0 0' }),\n\t      _react2.default.createElement(\n\t        'div',\n\t        { style: styles.label },\n\t        hex\n\t      )\n\t    ),\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.body },\n\t      _react2.default.createElement(_BlockSwatches2.default, { colors: colors, onClick: handleChange, onSwatchHover: onSwatchHover }),\n\t      _react2.default.createElement(_common.EditableInput, {\n\t        style: { input: styles.input },\n\t        value: hex,\n\t        onChange: handleChange\n\t      })\n\t    )\n\t  );\n\t};\n\t\n\tBlock.propTypes = {\n\t  width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n\t  colors: _propTypes2.default.arrayOf(_propTypes2.default.string),\n\t  triangle: _propTypes2.default.oneOf(['top', 'hide']),\n\t  styles: _propTypes2.default.object\n\t};\n\t\n\tBlock.defaultProps = {\n\t  width: 170,\n\t  colors: ['#D9E3F0', '#F47373', '#697689', '#37D67A', '#2CCCE4', '#555555', '#dce775', '#ff8a65', '#ba68c8'],\n\t  triangle: 'top',\n\t  styles: {}\n\t};\n\t\n\texports.default = (0, _common.ColorWrap)(Block);\n\n/***/ }),\n/* 320 */\n/*!**************************************************************!*\\\n  !*** ../~/react-color/lib/components/block/BlockSwatches.js ***!\n  \\**************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.BlockSwatches = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _map = __webpack_require__(/*! lodash/map */ 321);\n\t\n\tvar _map2 = _interopRequireDefault(_map);\n\t\n\tvar _common = __webpack_require__(/*! ../common */ 191);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar BlockSwatches = exports.BlockSwatches = function BlockSwatches(_ref) {\n\t  var colors = _ref.colors,\n\t      onClick = _ref.onClick,\n\t      onSwatchHover = _ref.onSwatchHover;\n\t\n\t  var styles = (0, _reactcss2.default)({\n\t    'default': {\n\t      swatches: {\n\t        marginRight: '-10px'\n\t      },\n\t      swatch: {\n\t        width: '22px',\n\t        height: '22px',\n\t        float: 'left',\n\t        marginRight: '10px',\n\t        marginBottom: '10px',\n\t        borderRadius: '4px'\n\t      },\n\t      clear: {\n\t        clear: 'both'\n\t      }\n\t    }\n\t  });\n\t\n\t  return _react2.default.createElement(\n\t    'div',\n\t    { style: styles.swatches },\n\t    (0, _map2.default)(colors, function (c) {\n\t      return _react2.default.createElement(_common.Swatch, {\n\t        key: c,\n\t        color: c,\n\t        style: styles.swatch,\n\t        onClick: onClick,\n\t        onHover: onSwatchHover,\n\t        focusStyle: {\n\t          boxShadow: '0 0 4px ' + c\n\t        }\n\t      });\n\t    }),\n\t    _react2.default.createElement('div', { style: styles.clear })\n\t  );\n\t};\n\t\n\texports.default = BlockSwatches;\n\n/***/ }),\n/* 321 */\n/*!****************************************!*\\\n  !*** ../~/react-color/~/lodash/map.js ***!\n  \\****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar arrayMap = __webpack_require__(/*! ./_arrayMap */ 322),\n\t    baseIteratee = __webpack_require__(/*! ./_baseIteratee */ 323),\n\t    baseMap = __webpack_require__(/*! ./_baseMap */ 369),\n\t    isArray = __webpack_require__(/*! ./isArray */ 265);\n\t\n\t/**\n\t * Creates an array of values by running each element in `collection` thru\n\t * `iteratee`. The iteratee is invoked with three arguments:\n\t * (value, index|key, collection).\n\t *\n\t * Many lodash methods are guarded to work as iteratees for methods like\n\t * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n\t *\n\t * The guarded methods are:\n\t * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n\t * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n\t * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n\t * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Collection\n\t * @param {Array|Object} collection The collection to iterate over.\n\t * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n\t * @returns {Array} Returns the new mapped array.\n\t * @example\n\t *\n\t * function square(n) {\n\t *   return n * n;\n\t * }\n\t *\n\t * _.map([4, 8], square);\n\t * // => [16, 64]\n\t *\n\t * _.map({ 'a': 4, 'b': 8 }, square);\n\t * // => [16, 64] (iteration order is not guaranteed)\n\t *\n\t * var users = [\n\t *   { 'user': 'barney' },\n\t *   { 'user': 'fred' }\n\t * ];\n\t *\n\t * // The `_.property` iteratee shorthand.\n\t * _.map(users, 'user');\n\t * // => ['barney', 'fred']\n\t */\n\tfunction map(collection, iteratee) {\n\t  var func = isArray(collection) ? arrayMap : baseMap;\n\t  return func(collection, baseIteratee(iteratee, 3));\n\t}\n\t\n\tmodule.exports = map;\n\n\n/***/ }),\n/* 322 */\n/*!**********************************************!*\\\n  !*** ../~/react-color/~/lodash/_arrayMap.js ***!\n  \\**********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.map` for arrays without support for iteratee\n\t * shorthands.\n\t *\n\t * @private\n\t * @param {Array} [array] The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns the new mapped array.\n\t */\n\tfunction arrayMap(array, iteratee) {\n\t  var index = -1,\n\t      length = array == null ? 0 : array.length,\n\t      result = Array(length);\n\t\n\t  while (++index < length) {\n\t    result[index] = iteratee(array[index], index, array);\n\t  }\n\t  return result;\n\t}\n\t\n\tmodule.exports = arrayMap;\n\n\n/***/ }),\n/* 323 */\n/*!**************************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseIteratee.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseMatches = __webpack_require__(/*! ./_baseMatches */ 324),\n\t    baseMatchesProperty = __webpack_require__(/*! ./_baseMatchesProperty */ 352),\n\t    identity = __webpack_require__(/*! ./identity */ 288),\n\t    isArray = __webpack_require__(/*! ./isArray */ 265),\n\t    property = __webpack_require__(/*! ./property */ 366);\n\t\n\t/**\n\t * The base implementation of `_.iteratee`.\n\t *\n\t * @private\n\t * @param {*} [value=_.identity] The value to convert to an iteratee.\n\t * @returns {Function} Returns the iteratee.\n\t */\n\tfunction baseIteratee(value) {\n\t  // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n\t  // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n\t  if (typeof value == 'function') {\n\t    return value;\n\t  }\n\t  if (value == null) {\n\t    return identity;\n\t  }\n\t  if (typeof value == 'object') {\n\t    return isArray(value)\n\t      ? baseMatchesProperty(value[0], value[1])\n\t      : baseMatches(value);\n\t  }\n\t  return property(value);\n\t}\n\t\n\tmodule.exports = baseIteratee;\n\n\n/***/ }),\n/* 324 */\n/*!*************************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseMatches.js ***!\n  \\*************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseIsMatch = __webpack_require__(/*! ./_baseIsMatch */ 325),\n\t    getMatchData = __webpack_require__(/*! ./_getMatchData */ 349),\n\t    matchesStrictComparable = __webpack_require__(/*! ./_matchesStrictComparable */ 351);\n\t\n\t/**\n\t * The base implementation of `_.matches` which doesn't clone `source`.\n\t *\n\t * @private\n\t * @param {Object} source The object of property values to match.\n\t * @returns {Function} Returns the new spec function.\n\t */\n\tfunction baseMatches(source) {\n\t  var matchData = getMatchData(source);\n\t  if (matchData.length == 1 && matchData[0][2]) {\n\t    return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n\t  }\n\t  return function(object) {\n\t    return object === source || baseIsMatch(object, source, matchData);\n\t  };\n\t}\n\t\n\tmodule.exports = baseMatches;\n\n\n/***/ }),\n/* 325 */\n/*!*************************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseIsMatch.js ***!\n  \\*************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar Stack = __webpack_require__(/*! ./_Stack */ 202),\n\t    baseIsEqual = __webpack_require__(/*! ./_baseIsEqual */ 326);\n\t\n\t/** Used to compose bitmasks for value comparisons. */\n\tvar COMPARE_PARTIAL_FLAG = 1,\n\t    COMPARE_UNORDERED_FLAG = 2;\n\t\n\t/**\n\t * The base implementation of `_.isMatch` without support for iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Object} object The object to inspect.\n\t * @param {Object} source The object of property values to match.\n\t * @param {Array} matchData The property names, values, and compare flags to match.\n\t * @param {Function} [customizer] The function to customize comparisons.\n\t * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n\t */\n\tfunction baseIsMatch(object, source, matchData, customizer) {\n\t  var index = matchData.length,\n\t      length = index,\n\t      noCustomizer = !customizer;\n\t\n\t  if (object == null) {\n\t    return !length;\n\t  }\n\t  object = Object(object);\n\t  while (index--) {\n\t    var data = matchData[index];\n\t    if ((noCustomizer && data[2])\n\t          ? data[1] !== object[data[0]]\n\t          : !(data[0] in object)\n\t        ) {\n\t      return false;\n\t    }\n\t  }\n\t  while (++index < length) {\n\t    data = matchData[index];\n\t    var key = data[0],\n\t        objValue = object[key],\n\t        srcValue = data[1];\n\t\n\t    if (noCustomizer && data[2]) {\n\t      if (objValue === undefined && !(key in object)) {\n\t        return false;\n\t      }\n\t    } else {\n\t      var stack = new Stack;\n\t      if (customizer) {\n\t        var result = customizer(objValue, srcValue, key, object, source, stack);\n\t      }\n\t      if (!(result === undefined\n\t            ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n\t            : result\n\t          )) {\n\t        return false;\n\t      }\n\t    }\n\t  }\n\t  return true;\n\t}\n\t\n\tmodule.exports = baseIsMatch;\n\n\n/***/ }),\n/* 326 */\n/*!*************************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseIsEqual.js ***!\n  \\*************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqualDeep = __webpack_require__(/*! ./_baseIsEqualDeep */ 327),\n\t    isObjectLike = __webpack_require__(/*! ./isObjectLike */ 264);\n\t\n\t/**\n\t * The base implementation of `_.isEqual` which supports partial comparisons\n\t * and tracks traversed objects.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {boolean} bitmask The bitmask flags.\n\t *  1 - Unordered comparison\n\t *  2 - Partial comparison\n\t * @param {Function} [customizer] The function to customize comparisons.\n\t * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n\t  if (value === other) {\n\t    return true;\n\t  }\n\t  if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n\t    return value !== value && other !== other;\n\t  }\n\t  return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n\t}\n\t\n\tmodule.exports = baseIsEqual;\n\n\n/***/ }),\n/* 327 */\n/*!*****************************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseIsEqualDeep.js ***!\n  \\*****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar Stack = __webpack_require__(/*! ./_Stack */ 202),\n\t    equalArrays = __webpack_require__(/*! ./_equalArrays */ 328),\n\t    equalByTag = __webpack_require__(/*! ./_equalByTag */ 334),\n\t    equalObjects = __webpack_require__(/*! ./_equalObjects */ 337),\n\t    getTag = __webpack_require__(/*! ./_getTag */ 344),\n\t    isArray = __webpack_require__(/*! ./isArray */ 265),\n\t    isBuffer = __webpack_require__(/*! ./isBuffer */ 269),\n\t    isTypedArray = __webpack_require__(/*! ./isTypedArray */ 272);\n\t\n\t/** Used to compose bitmasks for value comparisons. */\n\tvar COMPARE_PARTIAL_FLAG = 1;\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t    arrayTag = '[object Array]',\n\t    objectTag = '[object Object]';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n\t * @param {Function} customizer The function to customize comparisons.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n\t  var objIsArr = isArray(object),\n\t      othIsArr = isArray(other),\n\t      objTag = objIsArr ? arrayTag : getTag(object),\n\t      othTag = othIsArr ? arrayTag : getTag(other);\n\t\n\t  objTag = objTag == argsTag ? objectTag : objTag;\n\t  othTag = othTag == argsTag ? objectTag : othTag;\n\t\n\t  var objIsObj = objTag == objectTag,\n\t      othIsObj = othTag == objectTag,\n\t      isSameTag = objTag == othTag;\n\t\n\t  if (isSameTag && isBuffer(object)) {\n\t    if (!isBuffer(other)) {\n\t      return false;\n\t    }\n\t    objIsArr = true;\n\t    objIsObj = false;\n\t  }\n\t  if (isSameTag && !objIsObj) {\n\t    stack || (stack = new Stack);\n\t    return (objIsArr || isTypedArray(object))\n\t      ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n\t      : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n\t  }\n\t  if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n\t    var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t        othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t    if (objIsWrapped || othIsWrapped) {\n\t      var objUnwrapped = objIsWrapped ? object.value() : object,\n\t          othUnwrapped = othIsWrapped ? other.value() : other;\n\t\n\t      stack || (stack = new Stack);\n\t      return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n\t    }\n\t  }\n\t  if (!isSameTag) {\n\t    return false;\n\t  }\n\t  stack || (stack = new Stack);\n\t  return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n\t}\n\t\n\tmodule.exports = baseIsEqualDeep;\n\n\n/***/ }),\n/* 328 */\n/*!*************************************************!*\\\n  !*** ../~/react-color/~/lodash/_equalArrays.js ***!\n  \\*************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar SetCache = __webpack_require__(/*! ./_SetCache */ 329),\n\t    arraySome = __webpack_require__(/*! ./_arraySome */ 332),\n\t    cacheHas = __webpack_require__(/*! ./_cacheHas */ 333);\n\t\n\t/** Used to compose bitmasks for value comparisons. */\n\tvar COMPARE_PARTIAL_FLAG = 1,\n\t    COMPARE_UNORDERED_FLAG = 2;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n\t * @param {Function} customizer The function to customize comparisons.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Object} stack Tracks traversed `array` and `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n\t  var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n\t      arrLength = array.length,\n\t      othLength = other.length;\n\t\n\t  if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n\t    return false;\n\t  }\n\t  // Assume cyclic values are equal.\n\t  var stacked = stack.get(array);\n\t  if (stacked && stack.get(other)) {\n\t    return stacked == other;\n\t  }\n\t  var index = -1,\n\t      result = true,\n\t      seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\t\n\t  stack.set(array, other);\n\t  stack.set(other, array);\n\t\n\t  // Ignore non-index properties.\n\t  while (++index < arrLength) {\n\t    var arrValue = array[index],\n\t        othValue = other[index];\n\t\n\t    if (customizer) {\n\t      var compared = isPartial\n\t        ? customizer(othValue, arrValue, index, other, array, stack)\n\t        : customizer(arrValue, othValue, index, array, other, stack);\n\t    }\n\t    if (compared !== undefined) {\n\t      if (compared) {\n\t        continue;\n\t      }\n\t      result = false;\n\t      break;\n\t    }\n\t    // Recursively compare arrays (susceptible to call stack limits).\n\t    if (seen) {\n\t      if (!arraySome(other, function(othValue, othIndex) {\n\t            if (!cacheHas(seen, othIndex) &&\n\t                (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n\t              return seen.push(othIndex);\n\t            }\n\t          })) {\n\t        result = false;\n\t        break;\n\t      }\n\t    } else if (!(\n\t          arrValue === othValue ||\n\t            equalFunc(arrValue, othValue, bitmask, customizer, stack)\n\t        )) {\n\t      result = false;\n\t      break;\n\t    }\n\t  }\n\t  stack['delete'](array);\n\t  stack['delete'](other);\n\t  return result;\n\t}\n\t\n\tmodule.exports = equalArrays;\n\n\n/***/ }),\n/* 329 */\n/*!**********************************************!*\\\n  !*** ../~/react-color/~/lodash/_SetCache.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar MapCache = __webpack_require__(/*! ./_MapCache */ 231),\n\t    setCacheAdd = __webpack_require__(/*! ./_setCacheAdd */ 330),\n\t    setCacheHas = __webpack_require__(/*! ./_setCacheHas */ 331);\n\t\n\t/**\n\t *\n\t * Creates an array cache object to store unique values.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [values] The values to cache.\n\t */\n\tfunction SetCache(values) {\n\t  var index = -1,\n\t      length = values == null ? 0 : values.length;\n\t\n\t  this.__data__ = new MapCache;\n\t  while (++index < length) {\n\t    this.add(values[index]);\n\t  }\n\t}\n\t\n\t// Add methods to `SetCache`.\n\tSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\n\tSetCache.prototype.has = setCacheHas;\n\t\n\tmodule.exports = SetCache;\n\n\n/***/ }),\n/* 330 */\n/*!*************************************************!*\\\n  !*** ../~/react-color/~/lodash/_setCacheAdd.js ***!\n  \\*************************************************/\n/***/ (function(module, exports) {\n\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Adds `value` to the array cache.\n\t *\n\t * @private\n\t * @name add\n\t * @memberOf SetCache\n\t * @alias push\n\t * @param {*} value The value to cache.\n\t * @returns {Object} Returns the cache instance.\n\t */\n\tfunction setCacheAdd(value) {\n\t  this.__data__.set(value, HASH_UNDEFINED);\n\t  return this;\n\t}\n\t\n\tmodule.exports = setCacheAdd;\n\n\n/***/ }),\n/* 331 */\n/*!*************************************************!*\\\n  !*** ../~/react-color/~/lodash/_setCacheHas.js ***!\n  \\*************************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Checks if `value` is in the array cache.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf SetCache\n\t * @param {*} value The value to search for.\n\t * @returns {number} Returns `true` if `value` is found, else `false`.\n\t */\n\tfunction setCacheHas(value) {\n\t  return this.__data__.has(value);\n\t}\n\t\n\tmodule.exports = setCacheHas;\n\n\n/***/ }),\n/* 332 */\n/*!***********************************************!*\\\n  !*** ../~/react-color/~/lodash/_arraySome.js ***!\n  \\***********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.some` for arrays without support for iteratee\n\t * shorthands.\n\t *\n\t * @private\n\t * @param {Array} [array] The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t *  else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t  var index = -1,\n\t      length = array == null ? 0 : array.length;\n\t\n\t  while (++index < length) {\n\t    if (predicate(array[index], index, array)) {\n\t      return true;\n\t    }\n\t  }\n\t  return false;\n\t}\n\t\n\tmodule.exports = arraySome;\n\n\n/***/ }),\n/* 333 */\n/*!**********************************************!*\\\n  !*** ../~/react-color/~/lodash/_cacheHas.js ***!\n  \\**********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Checks if a `cache` value for `key` exists.\n\t *\n\t * @private\n\t * @param {Object} cache The cache to query.\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction cacheHas(cache, key) {\n\t  return cache.has(key);\n\t}\n\t\n\tmodule.exports = cacheHas;\n\n\n/***/ }),\n/* 334 */\n/*!************************************************!*\\\n  !*** ../~/react-color/~/lodash/_equalByTag.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar Symbol = __webpack_require__(/*! ./_Symbol */ 221),\n\t    Uint8Array = __webpack_require__(/*! ./_Uint8Array */ 255),\n\t    eq = __webpack_require__(/*! ./eq */ 207),\n\t    equalArrays = __webpack_require__(/*! ./_equalArrays */ 328),\n\t    mapToArray = __webpack_require__(/*! ./_mapToArray */ 335),\n\t    setToArray = __webpack_require__(/*! ./_setToArray */ 336);\n\t\n\t/** Used to compose bitmasks for value comparisons. */\n\tvar COMPARE_PARTIAL_FLAG = 1,\n\t    COMPARE_UNORDERED_FLAG = 2;\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t    dateTag = '[object Date]',\n\t    errorTag = '[object Error]',\n\t    mapTag = '[object Map]',\n\t    numberTag = '[object Number]',\n\t    regexpTag = '[object RegExp]',\n\t    setTag = '[object Set]',\n\t    stringTag = '[object String]',\n\t    symbolTag = '[object Symbol]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t    dataViewTag = '[object DataView]';\n\t\n\t/** Used to convert symbols to primitives and strings. */\n\tvar symbolProto = Symbol ? Symbol.prototype : undefined,\n\t    symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n\t * @param {Function} customizer The function to customize comparisons.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Object} stack Tracks traversed `object` and `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n\t  switch (tag) {\n\t    case dataViewTag:\n\t      if ((object.byteLength != other.byteLength) ||\n\t          (object.byteOffset != other.byteOffset)) {\n\t        return false;\n\t      }\n\t      object = object.buffer;\n\t      other = other.buffer;\n\t\n\t    case arrayBufferTag:\n\t      if ((object.byteLength != other.byteLength) ||\n\t          !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n\t        return false;\n\t      }\n\t      return true;\n\t\n\t    case boolTag:\n\t    case dateTag:\n\t    case numberTag:\n\t      // Coerce booleans to `1` or `0` and dates to milliseconds.\n\t      // Invalid dates are coerced to `NaN`.\n\t      return eq(+object, +other);\n\t\n\t    case errorTag:\n\t      return object.name == other.name && object.message == other.message;\n\t\n\t    case regexpTag:\n\t    case stringTag:\n\t      // Coerce regexes to strings and treat strings, primitives and objects,\n\t      // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n\t      // for more details.\n\t      return object == (other + '');\n\t\n\t    case mapTag:\n\t      var convert = mapToArray;\n\t\n\t    case setTag:\n\t      var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n\t      convert || (convert = setToArray);\n\t\n\t      if (object.size != other.size && !isPartial) {\n\t        return false;\n\t      }\n\t      // Assume cyclic values are equal.\n\t      var stacked = stack.get(object);\n\t      if (stacked) {\n\t        return stacked == other;\n\t      }\n\t      bitmask |= COMPARE_UNORDERED_FLAG;\n\t\n\t      // Recursively compare objects (susceptible to call stack limits).\n\t      stack.set(object, other);\n\t      var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n\t      stack['delete'](object);\n\t      return result;\n\t\n\t    case symbolTag:\n\t      if (symbolValueOf) {\n\t        return symbolValueOf.call(object) == symbolValueOf.call(other);\n\t      }\n\t  }\n\t  return false;\n\t}\n\t\n\tmodule.exports = equalByTag;\n\n\n/***/ }),\n/* 335 */\n/*!************************************************!*\\\n  !*** ../~/react-color/~/lodash/_mapToArray.js ***!\n  \\************************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Converts `map` to its key-value pairs.\n\t *\n\t * @private\n\t * @param {Object} map The map to convert.\n\t * @returns {Array} Returns the key-value pairs.\n\t */\n\tfunction mapToArray(map) {\n\t  var index = -1,\n\t      result = Array(map.size);\n\t\n\t  map.forEach(function(value, key) {\n\t    result[++index] = [key, value];\n\t  });\n\t  return result;\n\t}\n\t\n\tmodule.exports = mapToArray;\n\n\n/***/ }),\n/* 336 */\n/*!************************************************!*\\\n  !*** ../~/react-color/~/lodash/_setToArray.js ***!\n  \\************************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Converts `set` to an array of its values.\n\t *\n\t * @private\n\t * @param {Object} set The set to convert.\n\t * @returns {Array} Returns the values.\n\t */\n\tfunction setToArray(set) {\n\t  var index = -1,\n\t      result = Array(set.size);\n\t\n\t  set.forEach(function(value) {\n\t    result[++index] = value;\n\t  });\n\t  return result;\n\t}\n\t\n\tmodule.exports = setToArray;\n\n\n/***/ }),\n/* 337 */\n/*!**************************************************!*\\\n  !*** ../~/react-color/~/lodash/_equalObjects.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getAllKeys = __webpack_require__(/*! ./_getAllKeys */ 338);\n\t\n\t/** Used to compose bitmasks for value comparisons. */\n\tvar COMPARE_PARTIAL_FLAG = 1;\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n\t * @param {Function} customizer The function to customize comparisons.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Object} stack Tracks traversed `object` and `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n\t  var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n\t      objProps = getAllKeys(object),\n\t      objLength = objProps.length,\n\t      othProps = getAllKeys(other),\n\t      othLength = othProps.length;\n\t\n\t  if (objLength != othLength && !isPartial) {\n\t    return false;\n\t  }\n\t  var index = objLength;\n\t  while (index--) {\n\t    var key = objProps[index];\n\t    if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n\t      return false;\n\t    }\n\t  }\n\t  // Assume cyclic values are equal.\n\t  var stacked = stack.get(object);\n\t  if (stacked && stack.get(other)) {\n\t    return stacked == other;\n\t  }\n\t  var result = true;\n\t  stack.set(object, other);\n\t  stack.set(other, object);\n\t\n\t  var skipCtor = isPartial;\n\t  while (++index < objLength) {\n\t    key = objProps[index];\n\t    var objValue = object[key],\n\t        othValue = other[key];\n\t\n\t    if (customizer) {\n\t      var compared = isPartial\n\t        ? customizer(othValue, objValue, key, other, object, stack)\n\t        : customizer(objValue, othValue, key, object, other, stack);\n\t    }\n\t    // Recursively compare objects (susceptible to call stack limits).\n\t    if (!(compared === undefined\n\t          ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n\t          : compared\n\t        )) {\n\t      result = false;\n\t      break;\n\t    }\n\t    skipCtor || (skipCtor = key == 'constructor');\n\t  }\n\t  if (result && !skipCtor) {\n\t    var objCtor = object.constructor,\n\t        othCtor = other.constructor;\n\t\n\t    // Non `Object` object instances with different constructors are not equal.\n\t    if (objCtor != othCtor &&\n\t        ('constructor' in object && 'constructor' in other) &&\n\t        !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t          typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t      result = false;\n\t    }\n\t  }\n\t  stack['delete'](object);\n\t  stack['delete'](other);\n\t  return result;\n\t}\n\t\n\tmodule.exports = equalObjects;\n\n\n/***/ }),\n/* 338 */\n/*!************************************************!*\\\n  !*** ../~/react-color/~/lodash/_getAllKeys.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseGetAllKeys = __webpack_require__(/*! ./_baseGetAllKeys */ 339),\n\t    getSymbols = __webpack_require__(/*! ./_getSymbols */ 341),\n\t    keys = __webpack_require__(/*! ./keys */ 310);\n\t\n\t/**\n\t * Creates an array of own enumerable property names and symbols of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names and symbols.\n\t */\n\tfunction getAllKeys(object) {\n\t  return baseGetAllKeys(object, keys, getSymbols);\n\t}\n\t\n\tmodule.exports = getAllKeys;\n\n\n/***/ }),\n/* 339 */\n/*!****************************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseGetAllKeys.js ***!\n  \\****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar arrayPush = __webpack_require__(/*! ./_arrayPush */ 340),\n\t    isArray = __webpack_require__(/*! ./isArray */ 265);\n\t\n\t/**\n\t * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n\t * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n\t * symbols of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @param {Function} symbolsFunc The function to get the symbols of `object`.\n\t * @returns {Array} Returns the array of property names and symbols.\n\t */\n\tfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n\t  var result = keysFunc(object);\n\t  return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n\t}\n\t\n\tmodule.exports = baseGetAllKeys;\n\n\n/***/ }),\n/* 340 */\n/*!***********************************************!*\\\n  !*** ../~/react-color/~/lodash/_arrayPush.js ***!\n  \\***********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Appends the elements of `values` to `array`.\n\t *\n\t * @private\n\t * @param {Array} array The array to modify.\n\t * @param {Array} values The values to append.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayPush(array, values) {\n\t  var index = -1,\n\t      length = values.length,\n\t      offset = array.length;\n\t\n\t  while (++index < length) {\n\t    array[offset + index] = values[index];\n\t  }\n\t  return array;\n\t}\n\t\n\tmodule.exports = arrayPush;\n\n\n/***/ }),\n/* 341 */\n/*!************************************************!*\\\n  !*** ../~/react-color/~/lodash/_getSymbols.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar arrayFilter = __webpack_require__(/*! ./_arrayFilter */ 342),\n\t    stubArray = __webpack_require__(/*! ./stubArray */ 343);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Built-in value references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\t\n\t/**\n\t * Creates an array of the own enumerable symbols of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of symbols.\n\t */\n\tvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n\t  if (object == null) {\n\t    return [];\n\t  }\n\t  object = Object(object);\n\t  return arrayFilter(nativeGetSymbols(object), function(symbol) {\n\t    return propertyIsEnumerable.call(object, symbol);\n\t  });\n\t};\n\t\n\tmodule.exports = getSymbols;\n\n\n/***/ }),\n/* 342 */\n/*!*************************************************!*\\\n  !*** ../~/react-color/~/lodash/_arrayFilter.js ***!\n  \\*************************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.filter` for arrays without support for\n\t * iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} [array] The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {Array} Returns the new filtered array.\n\t */\n\tfunction arrayFilter(array, predicate) {\n\t  var index = -1,\n\t      length = array == null ? 0 : array.length,\n\t      resIndex = 0,\n\t      result = [];\n\t\n\t  while (++index < length) {\n\t    var value = array[index];\n\t    if (predicate(value, index, array)) {\n\t      result[resIndex++] = value;\n\t    }\n\t  }\n\t  return result;\n\t}\n\t\n\tmodule.exports = arrayFilter;\n\n\n/***/ }),\n/* 343 */\n/*!**********************************************!*\\\n  !*** ../~/react-color/~/lodash/stubArray.js ***!\n  \\**********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * This method returns a new empty array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.13.0\n\t * @category Util\n\t * @returns {Array} Returns the new empty array.\n\t * @example\n\t *\n\t * var arrays = _.times(2, _.stubArray);\n\t *\n\t * console.log(arrays);\n\t * // => [[], []]\n\t *\n\t * console.log(arrays[0] === arrays[1]);\n\t * // => false\n\t */\n\tfunction stubArray() {\n\t  return [];\n\t}\n\t\n\tmodule.exports = stubArray;\n\n\n/***/ }),\n/* 344 */\n/*!********************************************!*\\\n  !*** ../~/react-color/~/lodash/_getTag.js ***!\n  \\********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar DataView = __webpack_require__(/*! ./_DataView */ 345),\n\t    Map = __webpack_require__(/*! ./_Map */ 216),\n\t    Promise = __webpack_require__(/*! ./_Promise */ 346),\n\t    Set = __webpack_require__(/*! ./_Set */ 347),\n\t    WeakMap = __webpack_require__(/*! ./_WeakMap */ 348),\n\t    baseGetTag = __webpack_require__(/*! ./_baseGetTag */ 220),\n\t    toSource = __webpack_require__(/*! ./_toSource */ 229);\n\t\n\t/** `Object#toString` result references. */\n\tvar mapTag = '[object Map]',\n\t    objectTag = '[object Object]',\n\t    promiseTag = '[object Promise]',\n\t    setTag = '[object Set]',\n\t    weakMapTag = '[object WeakMap]';\n\t\n\tvar dataViewTag = '[object DataView]';\n\t\n\t/** Used to detect maps, sets, and weakmaps. */\n\tvar dataViewCtorString = toSource(DataView),\n\t    mapCtorString = toSource(Map),\n\t    promiseCtorString = toSource(Promise),\n\t    setCtorString = toSource(Set),\n\t    weakMapCtorString = toSource(WeakMap);\n\t\n\t/**\n\t * Gets the `toStringTag` of `value`.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {string} Returns the `toStringTag`.\n\t */\n\tvar getTag = baseGetTag;\n\t\n\t// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\n\tif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n\t    (Map && getTag(new Map) != mapTag) ||\n\t    (Promise && getTag(Promise.resolve()) != promiseTag) ||\n\t    (Set && getTag(new Set) != setTag) ||\n\t    (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n\t  getTag = function(value) {\n\t    var result = baseGetTag(value),\n\t        Ctor = result == objectTag ? value.constructor : undefined,\n\t        ctorString = Ctor ? toSource(Ctor) : '';\n\t\n\t    if (ctorString) {\n\t      switch (ctorString) {\n\t        case dataViewCtorString: return dataViewTag;\n\t        case mapCtorString: return mapTag;\n\t        case promiseCtorString: return promiseTag;\n\t        case setCtorString: return setTag;\n\t        case weakMapCtorString: return weakMapTag;\n\t      }\n\t    }\n\t    return result;\n\t  };\n\t}\n\t\n\tmodule.exports = getTag;\n\n\n/***/ }),\n/* 345 */\n/*!**********************************************!*\\\n  !*** ../~/react-color/~/lodash/_DataView.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(/*! ./_getNative */ 217),\n\t    root = __webpack_require__(/*! ./_root */ 222);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar DataView = getNative(root, 'DataView');\n\t\n\tmodule.exports = DataView;\n\n\n/***/ }),\n/* 346 */\n/*!*********************************************!*\\\n  !*** ../~/react-color/~/lodash/_Promise.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(/*! ./_getNative */ 217),\n\t    root = __webpack_require__(/*! ./_root */ 222);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar Promise = getNative(root, 'Promise');\n\t\n\tmodule.exports = Promise;\n\n\n/***/ }),\n/* 347 */\n/*!*****************************************!*\\\n  !*** ../~/react-color/~/lodash/_Set.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(/*! ./_getNative */ 217),\n\t    root = __webpack_require__(/*! ./_root */ 222);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar Set = getNative(root, 'Set');\n\t\n\tmodule.exports = Set;\n\n\n/***/ }),\n/* 348 */\n/*!*********************************************!*\\\n  !*** ../~/react-color/~/lodash/_WeakMap.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(/*! ./_getNative */ 217),\n\t    root = __webpack_require__(/*! ./_root */ 222);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar WeakMap = getNative(root, 'WeakMap');\n\t\n\tmodule.exports = WeakMap;\n\n\n/***/ }),\n/* 349 */\n/*!**************************************************!*\\\n  !*** ../~/react-color/~/lodash/_getMatchData.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isStrictComparable = __webpack_require__(/*! ./_isStrictComparable */ 350),\n\t    keys = __webpack_require__(/*! ./keys */ 310);\n\t\n\t/**\n\t * Gets the property names, values, and compare flags of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the match data of `object`.\n\t */\n\tfunction getMatchData(object) {\n\t  var result = keys(object),\n\t      length = result.length;\n\t\n\t  while (length--) {\n\t    var key = result[length],\n\t        value = object[key];\n\t\n\t    result[length] = [key, value, isStrictComparable(value)];\n\t  }\n\t  return result;\n\t}\n\t\n\tmodule.exports = getMatchData;\n\n\n/***/ }),\n/* 350 */\n/*!********************************************************!*\\\n  !*** ../~/react-color/~/lodash/_isStrictComparable.js ***!\n  \\********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(/*! ./isObject */ 226);\n\t\n\t/**\n\t * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` if suitable for strict\n\t *  equality comparisons, else `false`.\n\t */\n\tfunction isStrictComparable(value) {\n\t  return value === value && !isObject(value);\n\t}\n\t\n\tmodule.exports = isStrictComparable;\n\n\n/***/ }),\n/* 351 */\n/*!*************************************************************!*\\\n  !*** ../~/react-color/~/lodash/_matchesStrictComparable.js ***!\n  \\*************************************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * A specialized version of `matchesProperty` for source values suitable\n\t * for strict equality comparisons, i.e. `===`.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @param {*} srcValue The value to match.\n\t * @returns {Function} Returns the new spec function.\n\t */\n\tfunction matchesStrictComparable(key, srcValue) {\n\t  return function(object) {\n\t    if (object == null) {\n\t      return false;\n\t    }\n\t    return object[key] === srcValue &&\n\t      (srcValue !== undefined || (key in Object(object)));\n\t  };\n\t}\n\t\n\tmodule.exports = matchesStrictComparable;\n\n\n/***/ }),\n/* 352 */\n/*!*********************************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseMatchesProperty.js ***!\n  \\*********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseIsEqual = __webpack_require__(/*! ./_baseIsEqual */ 326),\n\t    get = __webpack_require__(/*! ./get */ 353),\n\t    hasIn = __webpack_require__(/*! ./hasIn */ 363),\n\t    isKey = __webpack_require__(/*! ./_isKey */ 356),\n\t    isStrictComparable = __webpack_require__(/*! ./_isStrictComparable */ 350),\n\t    matchesStrictComparable = __webpack_require__(/*! ./_matchesStrictComparable */ 351),\n\t    toKey = __webpack_require__(/*! ./_toKey */ 362);\n\t\n\t/** Used to compose bitmasks for value comparisons. */\n\tvar COMPARE_PARTIAL_FLAG = 1,\n\t    COMPARE_UNORDERED_FLAG = 2;\n\t\n\t/**\n\t * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n\t *\n\t * @private\n\t * @param {string} path The path of the property to get.\n\t * @param {*} srcValue The value to match.\n\t * @returns {Function} Returns the new spec function.\n\t */\n\tfunction baseMatchesProperty(path, srcValue) {\n\t  if (isKey(path) && isStrictComparable(srcValue)) {\n\t    return matchesStrictComparable(toKey(path), srcValue);\n\t  }\n\t  return function(object) {\n\t    var objValue = get(object, path);\n\t    return (objValue === undefined && objValue === srcValue)\n\t      ? hasIn(object, path)\n\t      : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n\t  };\n\t}\n\t\n\tmodule.exports = baseMatchesProperty;\n\n\n/***/ }),\n/* 353 */\n/*!****************************************!*\\\n  !*** ../~/react-color/~/lodash/get.js ***!\n  \\****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseGet = __webpack_require__(/*! ./_baseGet */ 354);\n\t\n\t/**\n\t * Gets the value at `path` of `object`. If the resolved value is\n\t * `undefined`, the `defaultValue` is returned in its place.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 3.7.0\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @param {Array|string} path The path of the property to get.\n\t * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n\t * @returns {*} Returns the resolved value.\n\t * @example\n\t *\n\t * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n\t *\n\t * _.get(object, 'a[0].b.c');\n\t * // => 3\n\t *\n\t * _.get(object, ['a', '0', 'b', 'c']);\n\t * // => 3\n\t *\n\t * _.get(object, 'a.b.c', 'default');\n\t * // => 'default'\n\t */\n\tfunction get(object, path, defaultValue) {\n\t  var result = object == null ? undefined : baseGet(object, path);\n\t  return result === undefined ? defaultValue : result;\n\t}\n\t\n\tmodule.exports = get;\n\n\n/***/ }),\n/* 354 */\n/*!*********************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseGet.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar castPath = __webpack_require__(/*! ./_castPath */ 355),\n\t    toKey = __webpack_require__(/*! ./_toKey */ 362);\n\t\n\t/**\n\t * The base implementation of `_.get` without support for default values.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {Array|string} path The path of the property to get.\n\t * @returns {*} Returns the resolved value.\n\t */\n\tfunction baseGet(object, path) {\n\t  path = castPath(path, object);\n\t\n\t  var index = 0,\n\t      length = path.length;\n\t\n\t  while (object != null && index < length) {\n\t    object = object[toKey(path[index++])];\n\t  }\n\t  return (index && index == length) ? object : undefined;\n\t}\n\t\n\tmodule.exports = baseGet;\n\n\n/***/ }),\n/* 355 */\n/*!**********************************************!*\\\n  !*** ../~/react-color/~/lodash/_castPath.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isArray = __webpack_require__(/*! ./isArray */ 265),\n\t    isKey = __webpack_require__(/*! ./_isKey */ 356),\n\t    stringToPath = __webpack_require__(/*! ./_stringToPath */ 357),\n\t    toString = __webpack_require__(/*! ./toString */ 360);\n\t\n\t/**\n\t * Casts `value` to a path array if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to inspect.\n\t * @param {Object} [object] The object to query keys on.\n\t * @returns {Array} Returns the cast property path array.\n\t */\n\tfunction castPath(value, object) {\n\t  if (isArray(value)) {\n\t    return value;\n\t  }\n\t  return isKey(value, object) ? [value] : stringToPath(toString(value));\n\t}\n\t\n\tmodule.exports = castPath;\n\n\n/***/ }),\n/* 356 */\n/*!*******************************************!*\\\n  !*** ../~/react-color/~/lodash/_isKey.js ***!\n  \\*******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isArray = __webpack_require__(/*! ./isArray */ 265),\n\t    isSymbol = __webpack_require__(/*! ./isSymbol */ 301);\n\t\n\t/** Used to match property names within property paths. */\n\tvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n\t    reIsPlainProp = /^\\w*$/;\n\t\n\t/**\n\t * Checks if `value` is a property name and not a property path.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {Object} [object] The object to query keys on.\n\t * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n\t */\n\tfunction isKey(value, object) {\n\t  if (isArray(value)) {\n\t    return false;\n\t  }\n\t  var type = typeof value;\n\t  if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n\t      value == null || isSymbol(value)) {\n\t    return true;\n\t  }\n\t  return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n\t    (object != null && value in Object(object));\n\t}\n\t\n\tmodule.exports = isKey;\n\n\n/***/ }),\n/* 357 */\n/*!**************************************************!*\\\n  !*** ../~/react-color/~/lodash/_stringToPath.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar memoizeCapped = __webpack_require__(/*! ./_memoizeCapped */ 358);\n\t\n\t/** Used to match property names within property paths. */\n\tvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\t\n\t/** Used to match backslashes in property paths. */\n\tvar reEscapeChar = /\\\\(\\\\)?/g;\n\t\n\t/**\n\t * Converts `string` to a property path array.\n\t *\n\t * @private\n\t * @param {string} string The string to convert.\n\t * @returns {Array} Returns the property path array.\n\t */\n\tvar stringToPath = memoizeCapped(function(string) {\n\t  var result = [];\n\t  if (string.charCodeAt(0) === 46 /* . */) {\n\t    result.push('');\n\t  }\n\t  string.replace(rePropName, function(match, number, quote, subString) {\n\t    result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n\t  });\n\t  return result;\n\t});\n\t\n\tmodule.exports = stringToPath;\n\n\n/***/ }),\n/* 358 */\n/*!***************************************************!*\\\n  !*** ../~/react-color/~/lodash/_memoizeCapped.js ***!\n  \\***************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar memoize = __webpack_require__(/*! ./memoize */ 359);\n\t\n\t/** Used as the maximum memoize cache size. */\n\tvar MAX_MEMOIZE_SIZE = 500;\n\t\n\t/**\n\t * A specialized version of `_.memoize` which clears the memoized function's\n\t * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n\t *\n\t * @private\n\t * @param {Function} func The function to have its output memoized.\n\t * @returns {Function} Returns the new memoized function.\n\t */\n\tfunction memoizeCapped(func) {\n\t  var result = memoize(func, function(key) {\n\t    if (cache.size === MAX_MEMOIZE_SIZE) {\n\t      cache.clear();\n\t    }\n\t    return key;\n\t  });\n\t\n\t  var cache = result.cache;\n\t  return result;\n\t}\n\t\n\tmodule.exports = memoizeCapped;\n\n\n/***/ }),\n/* 359 */\n/*!********************************************!*\\\n  !*** ../~/react-color/~/lodash/memoize.js ***!\n  \\********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar MapCache = __webpack_require__(/*! ./_MapCache */ 231);\n\t\n\t/** Error message constants. */\n\tvar FUNC_ERROR_TEXT = 'Expected a function';\n\t\n\t/**\n\t * Creates a function that memoizes the result of `func`. If `resolver` is\n\t * provided, it determines the cache key for storing the result based on the\n\t * arguments provided to the memoized function. By default, the first argument\n\t * provided to the memoized function is used as the map cache key. The `func`\n\t * is invoked with the `this` binding of the memoized function.\n\t *\n\t * **Note:** The cache is exposed as the `cache` property on the memoized\n\t * function. Its creation may be customized by replacing the `_.memoize.Cache`\n\t * constructor with one whose instances implement the\n\t * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n\t * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Function\n\t * @param {Function} func The function to have its output memoized.\n\t * @param {Function} [resolver] The function to resolve the cache key.\n\t * @returns {Function} Returns the new memoized function.\n\t * @example\n\t *\n\t * var object = { 'a': 1, 'b': 2 };\n\t * var other = { 'c': 3, 'd': 4 };\n\t *\n\t * var values = _.memoize(_.values);\n\t * values(object);\n\t * // => [1, 2]\n\t *\n\t * values(other);\n\t * // => [3, 4]\n\t *\n\t * object.a = 2;\n\t * values(object);\n\t * // => [1, 2]\n\t *\n\t * // Modify the result cache.\n\t * values.cache.set(object, ['a', 'b']);\n\t * values(object);\n\t * // => ['a', 'b']\n\t *\n\t * // Replace `_.memoize.Cache`.\n\t * _.memoize.Cache = WeakMap;\n\t */\n\tfunction memoize(func, resolver) {\n\t  if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n\t    throw new TypeError(FUNC_ERROR_TEXT);\n\t  }\n\t  var memoized = function() {\n\t    var args = arguments,\n\t        key = resolver ? resolver.apply(this, args) : args[0],\n\t        cache = memoized.cache;\n\t\n\t    if (cache.has(key)) {\n\t      return cache.get(key);\n\t    }\n\t    var result = func.apply(this, args);\n\t    memoized.cache = cache.set(key, result) || cache;\n\t    return result;\n\t  };\n\t  memoized.cache = new (memoize.Cache || MapCache);\n\t  return memoized;\n\t}\n\t\n\t// Expose `MapCache`.\n\tmemoize.Cache = MapCache;\n\t\n\tmodule.exports = memoize;\n\n\n/***/ }),\n/* 360 */\n/*!*********************************************!*\\\n  !*** ../~/react-color/~/lodash/toString.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseToString = __webpack_require__(/*! ./_baseToString */ 361);\n\t\n\t/**\n\t * Converts `value` to a string. An empty string is returned for `null`\n\t * and `undefined` values. The sign of `-0` is preserved.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to convert.\n\t * @returns {string} Returns the converted string.\n\t * @example\n\t *\n\t * _.toString(null);\n\t * // => ''\n\t *\n\t * _.toString(-0);\n\t * // => '-0'\n\t *\n\t * _.toString([1, 2, 3]);\n\t * // => '1,2,3'\n\t */\n\tfunction toString(value) {\n\t  return value == null ? '' : baseToString(value);\n\t}\n\t\n\tmodule.exports = toString;\n\n\n/***/ }),\n/* 361 */\n/*!**************************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseToString.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar Symbol = __webpack_require__(/*! ./_Symbol */ 221),\n\t    arrayMap = __webpack_require__(/*! ./_arrayMap */ 322),\n\t    isArray = __webpack_require__(/*! ./isArray */ 265),\n\t    isSymbol = __webpack_require__(/*! ./isSymbol */ 301);\n\t\n\t/** Used as references for various `Number` constants. */\n\tvar INFINITY = 1 / 0;\n\t\n\t/** Used to convert symbols to primitives and strings. */\n\tvar symbolProto = Symbol ? Symbol.prototype : undefined,\n\t    symbolToString = symbolProto ? symbolProto.toString : undefined;\n\t\n\t/**\n\t * The base implementation of `_.toString` which doesn't convert nullish\n\t * values to empty strings.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {string} Returns the string.\n\t */\n\tfunction baseToString(value) {\n\t  // Exit early for strings to avoid a performance hit in some environments.\n\t  if (typeof value == 'string') {\n\t    return value;\n\t  }\n\t  if (isArray(value)) {\n\t    // Recursively convert values (susceptible to call stack limits).\n\t    return arrayMap(value, baseToString) + '';\n\t  }\n\t  if (isSymbol(value)) {\n\t    return symbolToString ? symbolToString.call(value) : '';\n\t  }\n\t  var result = (value + '');\n\t  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n\t}\n\t\n\tmodule.exports = baseToString;\n\n\n/***/ }),\n/* 362 */\n/*!*******************************************!*\\\n  !*** ../~/react-color/~/lodash/_toKey.js ***!\n  \\*******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isSymbol = __webpack_require__(/*! ./isSymbol */ 301);\n\t\n\t/** Used as references for various `Number` constants. */\n\tvar INFINITY = 1 / 0;\n\t\n\t/**\n\t * Converts `value` to a string key if it's not a string or symbol.\n\t *\n\t * @private\n\t * @param {*} value The value to inspect.\n\t * @returns {string|symbol} Returns the key.\n\t */\n\tfunction toKey(value) {\n\t  if (typeof value == 'string' || isSymbol(value)) {\n\t    return value;\n\t  }\n\t  var result = (value + '');\n\t  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n\t}\n\t\n\tmodule.exports = toKey;\n\n\n/***/ }),\n/* 363 */\n/*!******************************************!*\\\n  !*** ../~/react-color/~/lodash/hasIn.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseHasIn = __webpack_require__(/*! ./_baseHasIn */ 364),\n\t    hasPath = __webpack_require__(/*! ./_hasPath */ 365);\n\t\n\t/**\n\t * Checks if `path` is a direct or inherited property of `object`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @param {Array|string} path The path to check.\n\t * @returns {boolean} Returns `true` if `path` exists, else `false`.\n\t * @example\n\t *\n\t * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n\t *\n\t * _.hasIn(object, 'a');\n\t * // => true\n\t *\n\t * _.hasIn(object, 'a.b');\n\t * // => true\n\t *\n\t * _.hasIn(object, ['a', 'b']);\n\t * // => true\n\t *\n\t * _.hasIn(object, 'b');\n\t * // => false\n\t */\n\tfunction hasIn(object, path) {\n\t  return object != null && hasPath(object, path, baseHasIn);\n\t}\n\t\n\tmodule.exports = hasIn;\n\n\n/***/ }),\n/* 364 */\n/*!***********************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseHasIn.js ***!\n  \\***********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.hasIn` without support for deep paths.\n\t *\n\t * @private\n\t * @param {Object} [object] The object to query.\n\t * @param {Array|string} key The key to check.\n\t * @returns {boolean} Returns `true` if `key` exists, else `false`.\n\t */\n\tfunction baseHasIn(object, key) {\n\t  return object != null && key in Object(object);\n\t}\n\t\n\tmodule.exports = baseHasIn;\n\n\n/***/ }),\n/* 365 */\n/*!*********************************************!*\\\n  !*** ../~/react-color/~/lodash/_hasPath.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar castPath = __webpack_require__(/*! ./_castPath */ 355),\n\t    isArguments = __webpack_require__(/*! ./isArguments */ 262),\n\t    isArray = __webpack_require__(/*! ./isArray */ 265),\n\t    isIndex = __webpack_require__(/*! ./_isIndex */ 283),\n\t    isLength = __webpack_require__(/*! ./isLength */ 268),\n\t    toKey = __webpack_require__(/*! ./_toKey */ 362);\n\t\n\t/**\n\t * Checks if `path` exists on `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {Array|string} path The path to check.\n\t * @param {Function} hasFunc The function to check properties.\n\t * @returns {boolean} Returns `true` if `path` exists, else `false`.\n\t */\n\tfunction hasPath(object, path, hasFunc) {\n\t  path = castPath(path, object);\n\t\n\t  var index = -1,\n\t      length = path.length,\n\t      result = false;\n\t\n\t  while (++index < length) {\n\t    var key = toKey(path[index]);\n\t    if (!(result = object != null && hasFunc(object, key))) {\n\t      break;\n\t    }\n\t    object = object[key];\n\t  }\n\t  if (result || ++index != length) {\n\t    return result;\n\t  }\n\t  length = object == null ? 0 : object.length;\n\t  return !!length && isLength(length) && isIndex(key, length) &&\n\t    (isArray(object) || isArguments(object));\n\t}\n\t\n\tmodule.exports = hasPath;\n\n\n/***/ }),\n/* 366 */\n/*!*********************************************!*\\\n  !*** ../~/react-color/~/lodash/property.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(/*! ./_baseProperty */ 367),\n\t    basePropertyDeep = __webpack_require__(/*! ./_basePropertyDeep */ 368),\n\t    isKey = __webpack_require__(/*! ./_isKey */ 356),\n\t    toKey = __webpack_require__(/*! ./_toKey */ 362);\n\t\n\t/**\n\t * Creates a function that returns the value at `path` of a given object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 2.4.0\n\t * @category Util\n\t * @param {Array|string} path The path of the property to get.\n\t * @returns {Function} Returns the new accessor function.\n\t * @example\n\t *\n\t * var objects = [\n\t *   { 'a': { 'b': 2 } },\n\t *   { 'a': { 'b': 1 } }\n\t * ];\n\t *\n\t * _.map(objects, _.property('a.b'));\n\t * // => [2, 1]\n\t *\n\t * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n\t * // => [1, 2]\n\t */\n\tfunction property(path) {\n\t  return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n\t}\n\t\n\tmodule.exports = property;\n\n\n/***/ }),\n/* 367 */\n/*!**************************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseProperty.js ***!\n  \\**************************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new accessor function.\n\t */\n\tfunction baseProperty(key) {\n\t  return function(object) {\n\t    return object == null ? undefined : object[key];\n\t  };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ }),\n/* 368 */\n/*!******************************************************!*\\\n  !*** ../~/react-color/~/lodash/_basePropertyDeep.js ***!\n  \\******************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseGet = __webpack_require__(/*! ./_baseGet */ 354);\n\t\n\t/**\n\t * A specialized version of `baseProperty` which supports deep paths.\n\t *\n\t * @private\n\t * @param {Array|string} path The path of the property to get.\n\t * @returns {Function} Returns the new accessor function.\n\t */\n\tfunction basePropertyDeep(path) {\n\t  return function(object) {\n\t    return baseGet(object, path);\n\t  };\n\t}\n\t\n\tmodule.exports = basePropertyDeep;\n\n\n/***/ }),\n/* 369 */\n/*!*********************************************!*\\\n  !*** ../~/react-color/~/lodash/_baseMap.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar baseEach = __webpack_require__(/*! ./_baseEach */ 308),\n\t    isArrayLike = __webpack_require__(/*! ./isArrayLike */ 267);\n\t\n\t/**\n\t * The base implementation of `_.map` without support for iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array|Object} collection The collection to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns the new mapped array.\n\t */\n\tfunction baseMap(collection, iteratee) {\n\t  var index = -1,\n\t      result = isArrayLike(collection) ? Array(collection.length) : [];\n\t\n\t  baseEach(collection, function(value, key, collection) {\n\t    result[++index] = iteratee(value, key, collection);\n\t  });\n\t  return result;\n\t}\n\t\n\tmodule.exports = baseMap;\n\n\n/***/ }),\n/* 370 */\n/*!********************************************************!*\\\n  !*** ../~/react-color/lib/components/circle/Circle.js ***!\n  \\********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.Circle = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _map = __webpack_require__(/*! lodash/map */ 321);\n\t\n\tvar _map2 = _interopRequireDefault(_map);\n\t\n\tvar _merge = __webpack_require__(/*! lodash/merge */ 200);\n\t\n\tvar _merge2 = _interopRequireDefault(_merge);\n\t\n\tvar _materialColors = __webpack_require__(/*! material-colors */ 371);\n\t\n\tvar material = _interopRequireWildcard(_materialColors);\n\t\n\tvar _common = __webpack_require__(/*! ../common */ 191);\n\t\n\tvar _CircleSwatch = __webpack_require__(/*! ./CircleSwatch */ 372);\n\t\n\tvar _CircleSwatch2 = _interopRequireDefault(_CircleSwatch);\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar Circle = exports.Circle = function Circle(_ref) {\n\t  var width = _ref.width,\n\t      onChange = _ref.onChange,\n\t      onSwatchHover = _ref.onSwatchHover,\n\t      colors = _ref.colors,\n\t      hex = _ref.hex,\n\t      circleSize = _ref.circleSize,\n\t      _ref$styles = _ref.styles,\n\t      passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n\t      circleSpacing = _ref.circleSpacing,\n\t      _ref$className = _ref.className,\n\t      className = _ref$className === undefined ? '' : _ref$className;\n\t\n\t  var styles = (0, _reactcss2.default)((0, _merge2.default)({\n\t    'default': {\n\t      card: {\n\t        width: width,\n\t        display: 'flex',\n\t        flexWrap: 'wrap',\n\t        marginRight: -circleSpacing,\n\t        marginBottom: -circleSpacing\n\t      }\n\t    }\n\t  }, passedStyles));\n\t\n\t  var handleChange = function handleChange(hexCode, e) {\n\t    return onChange({ hex: hexCode, source: 'hex' }, e);\n\t  };\n\t\n\t  return _react2.default.createElement(\n\t    'div',\n\t    { style: styles.card, className: 'circle-picker ' + className },\n\t    (0, _map2.default)(colors, function (c) {\n\t      return _react2.default.createElement(_CircleSwatch2.default, {\n\t        key: c,\n\t        color: c,\n\t        onClick: handleChange,\n\t        onSwatchHover: onSwatchHover,\n\t        active: hex === c.toLowerCase(),\n\t        circleSize: circleSize,\n\t        circleSpacing: circleSpacing\n\t      });\n\t    })\n\t  );\n\t};\n\t\n\tCircle.propTypes = {\n\t  width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n\t  circleSize: _propTypes2.default.number,\n\t  circleSpacing: _propTypes2.default.number,\n\t  styles: _propTypes2.default.object\n\t};\n\t\n\tCircle.defaultProps = {\n\t  width: 252,\n\t  circleSize: 28,\n\t  circleSpacing: 14,\n\t  colors: [material.red['500'], material.pink['500'], material.purple['500'], material.deepPurple['500'], material.indigo['500'], material.blue['500'], material.lightBlue['500'], material.cyan['500'], material.teal['500'], material.green['500'], material.lightGreen['500'], material.lime['500'], material.yellow['500'], material.amber['500'], material.orange['500'], material.deepOrange['500'], material.brown['500'], material.blueGrey['500']],\n\t  styles: {}\n\t};\n\t\n\texports.default = (0, _common.ColorWrap)(Circle);\n\n/***/ }),\n/* 371 */\n/*!*******************************************!*\\\n  !*** ../~/material-colors/dist/colors.js ***!\n  \\*******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(root, factory) {\n\t  if (true) {\n\t    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t  } else if (typeof exports === 'object') {\n\t    module.exports = factory();\n\t  } else {\n\t    root.materialColors = factory();\n\t  }\n\t})(this, function() {\n\t  return {\"red\":{\"50\":\"#ffebee\",\"100\":\"#ffcdd2\",\"200\":\"#ef9a9a\",\"300\":\"#e57373\",\"400\":\"#ef5350\",\"500\":\"#f44336\",\"600\":\"#e53935\",\"700\":\"#d32f2f\",\"800\":\"#c62828\",\"900\":\"#b71c1c\",\"a100\":\"#ff8a80\",\"a200\":\"#ff5252\",\"a400\":\"#ff1744\",\"a700\":\"#d50000\"},\"pink\":{\"50\":\"#fce4ec\",\"100\":\"#f8bbd0\",\"200\":\"#f48fb1\",\"300\":\"#f06292\",\"400\":\"#ec407a\",\"500\":\"#e91e63\",\"600\":\"#d81b60\",\"700\":\"#c2185b\",\"800\":\"#ad1457\",\"900\":\"#880e4f\",\"a100\":\"#ff80ab\",\"a200\":\"#ff4081\",\"a400\":\"#f50057\",\"a700\":\"#c51162\"},\"purple\":{\"50\":\"#f3e5f5\",\"100\":\"#e1bee7\",\"200\":\"#ce93d8\",\"300\":\"#ba68c8\",\"400\":\"#ab47bc\",\"500\":\"#9c27b0\",\"600\":\"#8e24aa\",\"700\":\"#7b1fa2\",\"800\":\"#6a1b9a\",\"900\":\"#4a148c\",\"a100\":\"#ea80fc\",\"a200\":\"#e040fb\",\"a400\":\"#d500f9\",\"a700\":\"#aa00ff\"},\"deepPurple\":{\"50\":\"#ede7f6\",\"100\":\"#d1c4e9\",\"200\":\"#b39ddb\",\"300\":\"#9575cd\",\"400\":\"#7e57c2\",\"500\":\"#673ab7\",\"600\":\"#5e35b1\",\"700\":\"#512da8\",\"800\":\"#4527a0\",\"900\":\"#311b92\",\"a100\":\"#b388ff\",\"a200\":\"#7c4dff\",\"a400\":\"#651fff\",\"a700\":\"#6200ea\"},\"indigo\":{\"50\":\"#e8eaf6\",\"100\":\"#c5cae9\",\"200\":\"#9fa8da\",\"300\":\"#7986cb\",\"400\":\"#5c6bc0\",\"500\":\"#3f51b5\",\"600\":\"#3949ab\",\"700\":\"#303f9f\",\"800\":\"#283593\",\"900\":\"#1a237e\",\"a100\":\"#8c9eff\",\"a200\":\"#536dfe\",\"a400\":\"#3d5afe\",\"a700\":\"#304ffe\"},\"blue\":{\"50\":\"#e3f2fd\",\"100\":\"#bbdefb\",\"200\":\"#90caf9\",\"300\":\"#64b5f6\",\"400\":\"#42a5f5\",\"500\":\"#2196f3\",\"600\":\"#1e88e5\",\"700\":\"#1976d2\",\"800\":\"#1565c0\",\"900\":\"#0d47a1\",\"a100\":\"#82b1ff\",\"a200\":\"#448aff\",\"a400\":\"#2979ff\",\"a700\":\"#2962ff\"},\"lightBlue\":{\"50\":\"#e1f5fe\",\"100\":\"#b3e5fc\",\"200\":\"#81d4fa\",\"300\":\"#4fc3f7\",\"400\":\"#29b6f6\",\"500\":\"#03a9f4\",\"600\":\"#039be5\",\"700\":\"#0288d1\",\"800\":\"#0277bd\",\"900\":\"#01579b\",\"a100\":\"#80d8ff\",\"a200\":\"#40c4ff\",\"a400\":\"#00b0ff\",\"a700\":\"#0091ea\"},\"cyan\":{\"50\":\"#e0f7fa\",\"100\":\"#b2ebf2\",\"200\":\"#80deea\",\"300\":\"#4dd0e1\",\"400\":\"#26c6da\",\"500\":\"#00bcd4\",\"600\":\"#00acc1\",\"700\":\"#0097a7\",\"800\":\"#00838f\",\"900\":\"#006064\",\"a100\":\"#84ffff\",\"a200\":\"#18ffff\",\"a400\":\"#00e5ff\",\"a700\":\"#00b8d4\"},\"teal\":{\"50\":\"#e0f2f1\",\"100\":\"#b2dfdb\",\"200\":\"#80cbc4\",\"300\":\"#4db6ac\",\"400\":\"#26a69a\",\"500\":\"#009688\",\"600\":\"#00897b\",\"700\":\"#00796b\",\"800\":\"#00695c\",\"900\":\"#004d40\",\"a100\":\"#a7ffeb\",\"a200\":\"#64ffda\",\"a400\":\"#1de9b6\",\"a700\":\"#00bfa5\"},\"green\":{\"50\":\"#e8f5e9\",\"100\":\"#c8e6c9\",\"200\":\"#a5d6a7\",\"300\":\"#81c784\",\"400\":\"#66bb6a\",\"500\":\"#4caf50\",\"600\":\"#43a047\",\"700\":\"#388e3c\",\"800\":\"#2e7d32\",\"900\":\"#1b5e20\",\"a100\":\"#b9f6ca\",\"a200\":\"#69f0ae\",\"a400\":\"#00e676\",\"a700\":\"#00c853\"},\"lightGreen\":{\"50\":\"#f1f8e9\",\"100\":\"#dcedc8\",\"200\":\"#c5e1a5\",\"300\":\"#aed581\",\"400\":\"#9ccc65\",\"500\":\"#8bc34a\",\"600\":\"#7cb342\",\"700\":\"#689f38\",\"800\":\"#558b2f\",\"900\":\"#33691e\",\"a100\":\"#ccff90\",\"a200\":\"#b2ff59\",\"a400\":\"#76ff03\",\"a700\":\"#64dd17\"},\"lime\":{\"50\":\"#f9fbe7\",\"100\":\"#f0f4c3\",\"200\":\"#e6ee9c\",\"300\":\"#dce775\",\"400\":\"#d4e157\",\"500\":\"#cddc39\",\"600\":\"#c0ca33\",\"700\":\"#afb42b\",\"800\":\"#9e9d24\",\"900\":\"#827717\",\"a100\":\"#f4ff81\",\"a200\":\"#eeff41\",\"a400\":\"#c6ff00\",\"a700\":\"#aeea00\"},\"yellow\":{\"50\":\"#fffde7\",\"100\":\"#fff9c4\",\"200\":\"#fff59d\",\"300\":\"#fff176\",\"400\":\"#ffee58\",\"500\":\"#ffeb3b\",\"600\":\"#fdd835\",\"700\":\"#fbc02d\",\"800\":\"#f9a825\",\"900\":\"#f57f17\",\"a100\":\"#ffff8d\",\"a200\":\"#ffff00\",\"a400\":\"#ffea00\",\"a700\":\"#ffd600\"},\"amber\":{\"50\":\"#fff8e1\",\"100\":\"#ffecb3\",\"200\":\"#ffe082\",\"300\":\"#ffd54f\",\"400\":\"#ffca28\",\"500\":\"#ffc107\",\"600\":\"#ffb300\",\"700\":\"#ffa000\",\"800\":\"#ff8f00\",\"900\":\"#ff6f00\",\"a100\":\"#ffe57f\",\"a200\":\"#ffd740\",\"a400\":\"#ffc400\",\"a700\":\"#ffab00\"},\"orange\":{\"50\":\"#fff3e0\",\"100\":\"#ffe0b2\",\"200\":\"#ffcc80\",\"300\":\"#ffb74d\",\"400\":\"#ffa726\",\"500\":\"#ff9800\",\"600\":\"#fb8c00\",\"700\":\"#f57c00\",\"800\":\"#ef6c00\",\"900\":\"#e65100\",\"a100\":\"#ffd180\",\"a200\":\"#ffab40\",\"a400\":\"#ff9100\",\"a700\":\"#ff6d00\"},\"deepOrange\":{\"50\":\"#fbe9e7\",\"100\":\"#ffccbc\",\"200\":\"#ffab91\",\"300\":\"#ff8a65\",\"400\":\"#ff7043\",\"500\":\"#ff5722\",\"600\":\"#f4511e\",\"700\":\"#e64a19\",\"800\":\"#d84315\",\"900\":\"#bf360c\",\"a100\":\"#ff9e80\",\"a200\":\"#ff6e40\",\"a400\":\"#ff3d00\",\"a700\":\"#dd2c00\"},\"brown\":{\"50\":\"#efebe9\",\"100\":\"#d7ccc8\",\"200\":\"#bcaaa4\",\"300\":\"#a1887f\",\"400\":\"#8d6e63\",\"500\":\"#795548\",\"600\":\"#6d4c41\",\"700\":\"#5d4037\",\"800\":\"#4e342e\",\"900\":\"#3e2723\"},\"grey\":{\"50\":\"#fafafa\",\"100\":\"#f5f5f5\",\"200\":\"#eeeeee\",\"300\":\"#e0e0e0\",\"400\":\"#bdbdbd\",\"500\":\"#9e9e9e\",\"600\":\"#757575\",\"700\":\"#616161\",\"800\":\"#424242\",\"900\":\"#212121\"},\"blueGrey\":{\"50\":\"#eceff1\",\"100\":\"#cfd8dc\",\"200\":\"#b0bec5\",\"300\":\"#90a4ae\",\"400\":\"#78909c\",\"500\":\"#607d8b\",\"600\":\"#546e7a\",\"700\":\"#455a64\",\"800\":\"#37474f\",\"900\":\"#263238\"},\"darkText\":{\"primary\":\"rgba(0, 0, 0, 0.87)\",\"secondary\":\"rgba(0, 0, 0, 0.54)\",\"disabled\":\"rgba(0, 0, 0, 0.38)\",\"dividers\":\"rgba(0, 0, 0, 0.12)\"},\"lightText\":{\"primary\":\"rgba(255, 255, 255, 1)\",\"secondary\":\"rgba(255, 255, 255, 0.7)\",\"disabled\":\"rgba(255, 255, 255, 0.5)\",\"dividers\":\"rgba(255, 255, 255, 0.12)\"},\"darkIcons\":{\"active\":\"rgba(0, 0, 0, 0.54)\",\"inactive\":\"rgba(0, 0, 0, 0.38)\"},\"lightIcons\":{\"active\":\"rgba(255, 255, 255, 1)\",\"inactive\":\"rgba(255, 255, 255, 0.5)\"},\"white\":\"#ffffff\",\"black\":\"#000000\"};\n\t});\n\n\n/***/ }),\n/* 372 */\n/*!**************************************************************!*\\\n  !*** ../~/react-color/lib/components/circle/CircleSwatch.js ***!\n  \\**************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.CircleSwatch = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _common = __webpack_require__(/*! ../common */ 191);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar CircleSwatch = exports.CircleSwatch = function CircleSwatch(_ref) {\n\t  var color = _ref.color,\n\t      onClick = _ref.onClick,\n\t      onSwatchHover = _ref.onSwatchHover,\n\t      hover = _ref.hover,\n\t      active = _ref.active,\n\t      circleSize = _ref.circleSize,\n\t      circleSpacing = _ref.circleSpacing;\n\t\n\t  var styles = (0, _reactcss2.default)({\n\t    'default': {\n\t      swatch: {\n\t        width: circleSize,\n\t        height: circleSize,\n\t        marginRight: circleSpacing,\n\t        marginBottom: circleSpacing,\n\t        transform: 'scale(1)',\n\t        transition: '100ms transform ease'\n\t      },\n\t      Swatch: {\n\t        borderRadius: '50%',\n\t        background: 'transparent',\n\t        boxShadow: 'inset 0 0 0 ' + circleSize / 2 + 'px ' + color,\n\t        transition: '100ms box-shadow ease'\n\t      }\n\t    },\n\t    'hover': {\n\t      swatch: {\n\t        transform: 'scale(1.2)'\n\t      }\n\t    },\n\t    'active': {\n\t      Swatch: {\n\t        boxShadow: 'inset 0 0 0 3px ' + color\n\t      }\n\t    }\n\t  }, { hover: hover, active: active });\n\t\n\t  return _react2.default.createElement(\n\t    'div',\n\t    { style: styles.swatch },\n\t    _react2.default.createElement(_common.Swatch, {\n\t      style: styles.Swatch,\n\t      color: color,\n\t      onClick: onClick,\n\t      onHover: onSwatchHover,\n\t      focusStyle: { boxShadow: styles.Swatch.boxShadow + ', 0 0 5px ' + color }\n\t    })\n\t  );\n\t};\n\t\n\tCircleSwatch.defaultProps = {\n\t  circleSize: 28,\n\t  circleSpacing: 14\n\t};\n\t\n\texports.default = (0, _reactcss.handleHover)(CircleSwatch);\n\n/***/ }),\n/* 373 */\n/*!********************************************************!*\\\n  !*** ../~/react-color/lib/components/chrome/Chrome.js ***!\n  \\********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.Chrome = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _merge = __webpack_require__(/*! lodash/merge */ 200);\n\t\n\tvar _merge2 = _interopRequireDefault(_merge);\n\t\n\tvar _common = __webpack_require__(/*! ../common */ 191);\n\t\n\tvar _ChromeFields = __webpack_require__(/*! ./ChromeFields */ 374);\n\t\n\tvar _ChromeFields2 = _interopRequireDefault(_ChromeFields);\n\t\n\tvar _ChromePointer = __webpack_require__(/*! ./ChromePointer */ 376);\n\t\n\tvar _ChromePointer2 = _interopRequireDefault(_ChromePointer);\n\t\n\tvar _ChromePointerCircle = __webpack_require__(/*! ./ChromePointerCircle */ 377);\n\t\n\tvar _ChromePointerCircle2 = _interopRequireDefault(_ChromePointerCircle);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar Chrome = exports.Chrome = function Chrome(_ref) {\n\t  var width = _ref.width,\n\t      onChange = _ref.onChange,\n\t      disableAlpha = _ref.disableAlpha,\n\t      rgb = _ref.rgb,\n\t      hsl = _ref.hsl,\n\t      hsv = _ref.hsv,\n\t      hex = _ref.hex,\n\t      renderers = _ref.renderers,\n\t      _ref$styles = _ref.styles,\n\t      passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n\t      _ref$className = _ref.className,\n\t      className = _ref$className === undefined ? '' : _ref$className;\n\t\n\t  var styles = (0, _reactcss2.default)((0, _merge2.default)({\n\t    'default': {\n\t      picker: {\n\t        width: width,\n\t        background: '#fff',\n\t        borderRadius: '2px',\n\t        boxShadow: '0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3)',\n\t        boxSizing: 'initial',\n\t        fontFamily: 'Menlo'\n\t      },\n\t      saturation: {\n\t        width: '100%',\n\t        paddingBottom: '55%',\n\t        position: 'relative',\n\t        borderRadius: '2px 2px 0 0',\n\t        overflow: 'hidden'\n\t      },\n\t      Saturation: {\n\t        radius: '2px 2px 0 0'\n\t      },\n\t      body: {\n\t        padding: '16px 16px 12px'\n\t      },\n\t      controls: {\n\t        display: 'flex'\n\t      },\n\t      color: {\n\t        width: '32px'\n\t      },\n\t      swatch: {\n\t        marginTop: '6px',\n\t        width: '16px',\n\t        height: '16px',\n\t        borderRadius: '8px',\n\t        position: 'relative',\n\t        overflow: 'hidden'\n\t      },\n\t      active: {\n\t        absolute: '0px 0px 0px 0px',\n\t        borderRadius: '8px',\n\t        boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.1)',\n\t        background: 'rgba(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ', ' + rgb.a + ')',\n\t        zIndex: '2'\n\t      },\n\t      toggles: {\n\t        flex: '1'\n\t      },\n\t      hue: {\n\t        height: '10px',\n\t        position: 'relative',\n\t        marginBottom: '8px'\n\t      },\n\t      Hue: {\n\t        radius: '2px'\n\t      },\n\t      alpha: {\n\t        height: '10px',\n\t        position: 'relative'\n\t      },\n\t      Alpha: {\n\t        radius: '2px'\n\t      }\n\t    },\n\t    'disableAlpha': {\n\t      color: {\n\t        width: '22px'\n\t      },\n\t      alpha: {\n\t        display: 'none'\n\t      },\n\t      hue: {\n\t        marginBottom: '0px'\n\t      },\n\t      swatch: {\n\t        width: '10px',\n\t        height: '10px',\n\t        marginTop: '0px'\n\t      }\n\t    }\n\t  }, passedStyles), { disableAlpha: disableAlpha });\n\t\n\t  return _react2.default.createElement(\n\t    'div',\n\t    { style: styles.picker, className: 'chrome-picker ' + className },\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.saturation },\n\t      _react2.default.createElement(_common.Saturation, {\n\t        style: styles.Saturation,\n\t        hsl: hsl,\n\t        hsv: hsv,\n\t        pointer: _ChromePointerCircle2.default,\n\t        onChange: onChange\n\t      })\n\t    ),\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.body },\n\t      _react2.default.createElement(\n\t        'div',\n\t        { style: styles.controls, className: 'flexbox-fix' },\n\t        _react2.default.createElement(\n\t          'div',\n\t          { style: styles.color },\n\t          _react2.default.createElement(\n\t            'div',\n\t            { style: styles.swatch },\n\t            _react2.default.createElement('div', { style: styles.active }),\n\t            _react2.default.createElement(_common.Checkboard, { renderers: renderers })\n\t          )\n\t        ),\n\t        _react2.default.createElement(\n\t          'div',\n\t          { style: styles.toggles },\n\t          _react2.default.createElement(\n\t            'div',\n\t            { style: styles.hue },\n\t            _react2.default.createElement(_common.Hue, {\n\t              style: styles.Hue,\n\t              hsl: hsl,\n\t              pointer: _ChromePointer2.default,\n\t              onChange: onChange\n\t            })\n\t          ),\n\t          _react2.default.createElement(\n\t            'div',\n\t            { style: styles.alpha },\n\t            _react2.default.createElement(_common.Alpha, {\n\t              style: styles.Alpha,\n\t              rgb: rgb,\n\t              hsl: hsl,\n\t              pointer: _ChromePointer2.default,\n\t              renderers: renderers,\n\t              onChange: onChange\n\t            })\n\t          )\n\t        )\n\t      ),\n\t      _react2.default.createElement(_ChromeFields2.default, {\n\t        rgb: rgb,\n\t        hsl: hsl,\n\t        hex: hex,\n\t        onChange: onChange,\n\t        disableAlpha: disableAlpha\n\t      })\n\t    )\n\t  );\n\t};\n\t\n\tChrome.propTypes = {\n\t  width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n\t  disableAlpha: _propTypes2.default.bool,\n\t  styles: _propTypes2.default.object\n\t};\n\t\n\tChrome.defaultProps = {\n\t  width: 225,\n\t  disableAlpha: false,\n\t  styles: {}\n\t};\n\t\n\texports.default = (0, _common.ColorWrap)(Chrome);\n\n/***/ }),\n/* 374 */\n/*!**************************************************************!*\\\n  !*** ../~/react-color/lib/components/chrome/ChromeFields.js ***!\n  \\**************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.ChromeFields = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _color = __webpack_require__(/*! ../../helpers/color */ 304);\n\t\n\tvar _color2 = _interopRequireDefault(_color);\n\t\n\tvar _common = __webpack_require__(/*! ../common */ 191);\n\t\n\tvar _UnfoldMoreHorizontalIcon = __webpack_require__(/*! @icons/material/UnfoldMoreHorizontalIcon */ 375);\n\t\n\tvar _UnfoldMoreHorizontalIcon2 = _interopRequireDefault(_UnfoldMoreHorizontalIcon);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* eslint-disable react/no-did-mount-set-state, no-param-reassign */\n\t\n\tvar ChromeFields = exports.ChromeFields = function (_React$Component) {\n\t  _inherits(ChromeFields, _React$Component);\n\t\n\t  function ChromeFields() {\n\t    var _ref;\n\t\n\t    var _temp, _this, _ret;\n\t\n\t    _classCallCheck(this, ChromeFields);\n\t\n\t    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t      args[_key] = arguments[_key];\n\t    }\n\t\n\t    return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ChromeFields.__proto__ || Object.getPrototypeOf(ChromeFields)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n\t      view: ''\n\t    }, _this.toggleViews = function () {\n\t      if (_this.state.view === 'hex') {\n\t        _this.setState({ view: 'rgb' });\n\t      } else if (_this.state.view === 'rgb') {\n\t        _this.setState({ view: 'hsl' });\n\t      } else if (_this.state.view === 'hsl') {\n\t        if (_this.props.hsl.a === 1) {\n\t          _this.setState({ view: 'hex' });\n\t        } else {\n\t          _this.setState({ view: 'rgb' });\n\t        }\n\t      }\n\t    }, _this.handleChange = function (data, e) {\n\t      if (data.hex) {\n\t        _color2.default.isValidHex(data.hex) && _this.props.onChange({\n\t          hex: data.hex,\n\t          source: 'hex'\n\t        }, e);\n\t      } else if (data.r || data.g || data.b) {\n\t        _this.props.onChange({\n\t          r: data.r || _this.props.rgb.r,\n\t          g: data.g || _this.props.rgb.g,\n\t          b: data.b || _this.props.rgb.b,\n\t          source: 'rgb'\n\t        }, e);\n\t      } else if (data.a) {\n\t        if (data.a < 0) {\n\t          data.a = 0;\n\t        } else if (data.a > 1) {\n\t          data.a = 1;\n\t        }\n\t\n\t        _this.props.onChange({\n\t          h: _this.props.hsl.h,\n\t          s: _this.props.hsl.s,\n\t          l: _this.props.hsl.l,\n\t          a: Math.round(data.a * 100) / 100,\n\t          source: 'rgb'\n\t        }, e);\n\t      } else if (data.h || data.s || data.l) {\n\t        // Remove any occurances of '%'.\n\t        if (typeof data.s === 'string' && data.s.includes('%')) {\n\t          data.s = data.s.replace('%', '');\n\t        }\n\t        if (typeof data.l === 'string' && data.l.includes('%')) {\n\t          data.l = data.l.replace('%', '');\n\t        }\n\t\n\t        _this.props.onChange({\n\t          h: data.h || _this.props.hsl.h,\n\t          s: Number(data.s && data.s || _this.props.hsl.s),\n\t          l: Number(data.l && data.l || _this.props.hsl.l),\n\t          source: 'hsl'\n\t        }, e);\n\t      }\n\t    }, _this.showHighlight = function (e) {\n\t      e.currentTarget.style.background = '#eee';\n\t    }, _this.hideHighlight = function (e) {\n\t      e.currentTarget.style.background = 'transparent';\n\t    }, _temp), _possibleConstructorReturn(_this, _ret);\n\t  }\n\t\n\t  _createClass(ChromeFields, [{\n\t    key: 'componentDidMount',\n\t    value: function componentDidMount() {\n\t      if (this.props.hsl.a === 1 && this.state.view !== 'hex') {\n\t        this.setState({ view: 'hex' });\n\t      } else if (this.state.view !== 'rgb' && this.state.view !== 'hsl') {\n\t        this.setState({ view: 'rgb' });\n\t      }\n\t    }\n\t  }, {\n\t    key: 'componentWillReceiveProps',\n\t    value: function componentWillReceiveProps(nextProps) {\n\t      if (nextProps.hsl.a !== 1 && this.state.view === 'hex') {\n\t        this.setState({ view: 'rgb' });\n\t      }\n\t    }\n\t  }, {\n\t    key: 'render',\n\t    value: function render() {\n\t      var _this2 = this;\n\t\n\t      var styles = (0, _reactcss2.default)({\n\t        'default': {\n\t          wrap: {\n\t            paddingTop: '16px',\n\t            display: 'flex'\n\t          },\n\t          fields: {\n\t            flex: '1',\n\t            display: 'flex',\n\t            marginLeft: '-6px'\n\t          },\n\t          field: {\n\t            paddingLeft: '6px',\n\t            width: '100%'\n\t          },\n\t          alpha: {\n\t            paddingLeft: '6px',\n\t            width: '100%'\n\t          },\n\t          toggle: {\n\t            width: '32px',\n\t            textAlign: 'right',\n\t            position: 'relative'\n\t          },\n\t          icon: {\n\t            marginRight: '-4px',\n\t            marginTop: '12px',\n\t            cursor: 'pointer',\n\t            position: 'relative'\n\t          },\n\t          iconHighlight: {\n\t            position: 'absolute',\n\t            width: '24px',\n\t            height: '28px',\n\t            background: '#eee',\n\t            borderRadius: '4px',\n\t            top: '10px',\n\t            left: '12px',\n\t            display: 'none'\n\t          },\n\t          input: {\n\t            fontSize: '11px',\n\t            color: '#333',\n\t            width: '100%',\n\t            borderRadius: '2px',\n\t            border: 'none',\n\t            boxShadow: 'inset 0 0 0 1px #dadada',\n\t            height: '21px',\n\t            textAlign: 'center'\n\t          },\n\t          label: {\n\t            textTransform: 'uppercase',\n\t            fontSize: '11px',\n\t            lineHeight: '11px',\n\t            color: '#969696',\n\t            textAlign: 'center',\n\t            display: 'block',\n\t            marginTop: '12px'\n\t          },\n\t          svg: {\n\t            fill: '#333',\n\t            width: '24px',\n\t            height: '24px',\n\t            border: '1px transparent solid',\n\t            borderRadius: '5px'\n\t          }\n\t        },\n\t        'disableAlpha': {\n\t          alpha: {\n\t            display: 'none'\n\t          }\n\t        }\n\t      }, this.props, this.state);\n\t\n\t      var fields = void 0;\n\t      if (this.state.view === 'hex') {\n\t        fields = _react2.default.createElement(\n\t          'div',\n\t          { style: styles.fields, className: 'flexbox-fix' },\n\t          _react2.default.createElement(\n\t            'div',\n\t            { style: styles.field },\n\t            _react2.default.createElement(_common.EditableInput, {\n\t              style: { input: styles.input, label: styles.label },\n\t              label: 'hex', value: this.props.hex,\n\t              onChange: this.handleChange\n\t            })\n\t          )\n\t        );\n\t      } else if (this.state.view === 'rgb') {\n\t        fields = _react2.default.createElement(\n\t          'div',\n\t          { style: styles.fields, className: 'flexbox-fix' },\n\t          _react2.default.createElement(\n\t            'div',\n\t            { style: styles.field },\n\t            _react2.default.createElement(_common.EditableInput, {\n\t              style: { input: styles.input, label: styles.label },\n\t              label: 'r',\n\t              value: this.props.rgb.r,\n\t              onChange: this.handleChange\n\t            })\n\t          ),\n\t          _react2.default.createElement(\n\t            'div',\n\t            { style: styles.field },\n\t            _react2.default.createElement(_common.EditableInput, {\n\t              style: { input: styles.input, label: styles.label },\n\t              label: 'g',\n\t              value: this.props.rgb.g,\n\t              onChange: this.handleChange\n\t            })\n\t          ),\n\t          _react2.default.createElement(\n\t            'div',\n\t            { style: styles.field },\n\t            _react2.default.createElement(_common.EditableInput, {\n\t              style: { input: styles.input, label: styles.label },\n\t              label: 'b',\n\t              value: this.props.rgb.b,\n\t              onChange: this.handleChange\n\t            })\n\t          ),\n\t          _react2.default.createElement(\n\t            'div',\n\t            { style: styles.alpha },\n\t            _react2.default.createElement(_common.EditableInput, {\n\t              style: { input: styles.input, label: styles.label },\n\t              label: 'a',\n\t              value: this.props.rgb.a,\n\t              arrowOffset: 0.01,\n\t              onChange: this.handleChange\n\t            })\n\t          )\n\t        );\n\t      } else if (this.state.view === 'hsl') {\n\t        fields = _react2.default.createElement(\n\t          'div',\n\t          { style: styles.fields, className: 'flexbox-fix' },\n\t          _react2.default.createElement(\n\t            'div',\n\t            { style: styles.field },\n\t            _react2.default.createElement(_common.EditableInput, {\n\t              style: { input: styles.input, label: styles.label },\n\t              label: 'h',\n\t              value: Math.round(this.props.hsl.h),\n\t              onChange: this.handleChange\n\t            })\n\t          ),\n\t          _react2.default.createElement(\n\t            'div',\n\t            { style: styles.field },\n\t            _react2.default.createElement(_common.EditableInput, {\n\t              style: { input: styles.input, label: styles.label },\n\t              label: 's',\n\t              value: Math.round(this.props.hsl.s * 100) + '%',\n\t              onChange: this.handleChange\n\t            })\n\t          ),\n\t          _react2.default.createElement(\n\t            'div',\n\t            { style: styles.field },\n\t            _react2.default.createElement(_common.EditableInput, {\n\t              style: { input: styles.input, label: styles.label },\n\t              label: 'l',\n\t              value: Math.round(this.props.hsl.l * 100) + '%',\n\t              onChange: this.handleChange\n\t            })\n\t          ),\n\t          _react2.default.createElement(\n\t            'div',\n\t            { style: styles.alpha },\n\t            _react2.default.createElement(_common.EditableInput, {\n\t              style: { input: styles.input, label: styles.label },\n\t              label: 'a',\n\t              value: this.props.hsl.a,\n\t              arrowOffset: 0.01,\n\t              onChange: this.handleChange\n\t            })\n\t          )\n\t        );\n\t      }\n\t\n\t      return _react2.default.createElement(\n\t        'div',\n\t        { style: styles.wrap, className: 'flexbox-fix' },\n\t        fields,\n\t        _react2.default.createElement(\n\t          'div',\n\t          { style: styles.toggle },\n\t          _react2.default.createElement(\n\t            'div',\n\t            { style: styles.icon, onClick: this.toggleViews, ref: function ref(icon) {\n\t                return _this2.icon = icon;\n\t              } },\n\t            _react2.default.createElement(_UnfoldMoreHorizontalIcon2.default, {\n\t              style: styles.svg,\n\t              onMouseOver: this.showHighlight,\n\t              onMouseEnter: this.showHighlight,\n\t              onMouseOut: this.hideHighlight\n\t            })\n\t          )\n\t        )\n\t      );\n\t    }\n\t  }]);\n\t\n\t  return ChromeFields;\n\t}(_react2.default.Component);\n\t\n\texports.default = ChromeFields;\n\n/***/ }),\n/* 375 */\n/*!********************************************************!*\\\n  !*** ../~/@icons/material/UnfoldMoreHorizontalIcon.js ***!\n  \\********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\t\n\tvar DEFAULT_SIZE = 24;\n\t\n\texports.default = function (_ref) {\n\t  var _ref$fill = _ref.fill,\n\t      fill = _ref$fill === undefined ? 'currentColor' : _ref$fill,\n\t      _ref$width = _ref.width,\n\t      width = _ref$width === undefined ? DEFAULT_SIZE : _ref$width,\n\t      _ref$height = _ref.height,\n\t      height = _ref$height === undefined ? DEFAULT_SIZE : _ref$height,\n\t      _ref$style = _ref.style,\n\t      style = _ref$style === undefined ? {} : _ref$style,\n\t      props = _objectWithoutProperties(_ref, ['fill', 'width', 'height', 'style']);\n\t\n\t  return _react2.default.createElement(\n\t    'svg',\n\t    _extends({\n\t      viewBox: '0 0 ' + DEFAULT_SIZE + ' ' + DEFAULT_SIZE,\n\t      style: _extends({ fill: fill, width: width, height: height }, style)\n\t    }, props),\n\t    _react2.default.createElement('path', { d: 'M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z' })\n\t  );\n\t};\n\n/***/ }),\n/* 376 */\n/*!***************************************************************!*\\\n  !*** ../~/react-color/lib/components/chrome/ChromePointer.js ***!\n  \\***************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.ChromePointer = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar ChromePointer = exports.ChromePointer = function ChromePointer() {\n\t  var styles = (0, _reactcss2.default)({\n\t    'default': {\n\t      picker: {\n\t        width: '12px',\n\t        height: '12px',\n\t        borderRadius: '6px',\n\t        transform: 'translate(-6px, -1px)',\n\t        backgroundColor: 'rgb(248, 248, 248)',\n\t        boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)'\n\t      }\n\t    }\n\t  });\n\t\n\t  return _react2.default.createElement('div', { style: styles.picker });\n\t};\n\t\n\texports.default = ChromePointer;\n\n/***/ }),\n/* 377 */\n/*!*********************************************************************!*\\\n  !*** ../~/react-color/lib/components/chrome/ChromePointerCircle.js ***!\n  \\*********************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.ChromePointerCircle = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar ChromePointerCircle = exports.ChromePointerCircle = function ChromePointerCircle() {\n\t  var styles = (0, _reactcss2.default)({\n\t    'default': {\n\t      picker: {\n\t        width: '12px',\n\t        height: '12px',\n\t        borderRadius: '6px',\n\t        boxShadow: 'inset 0 0 0 1px #fff',\n\t        transform: 'translate(-6px, -6px)'\n\t      }\n\t    }\n\t  });\n\t\n\t  return _react2.default.createElement('div', { style: styles.picker });\n\t};\n\t\n\texports.default = ChromePointerCircle;\n\n/***/ }),\n/* 378 */\n/*!**********************************************************!*\\\n  !*** ../~/react-color/lib/components/compact/Compact.js ***!\n  \\**********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.Compact = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _map = __webpack_require__(/*! lodash/map */ 321);\n\t\n\tvar _map2 = _interopRequireDefault(_map);\n\t\n\tvar _merge = __webpack_require__(/*! lodash/merge */ 200);\n\t\n\tvar _merge2 = _interopRequireDefault(_merge);\n\t\n\tvar _color = __webpack_require__(/*! ../../helpers/color */ 304);\n\t\n\tvar _color2 = _interopRequireDefault(_color);\n\t\n\tvar _common = __webpack_require__(/*! ../common */ 191);\n\t\n\tvar _CompactColor = __webpack_require__(/*! ./CompactColor */ 379);\n\t\n\tvar _CompactColor2 = _interopRequireDefault(_CompactColor);\n\t\n\tvar _CompactFields = __webpack_require__(/*! ./CompactFields */ 380);\n\t\n\tvar _CompactFields2 = _interopRequireDefault(_CompactFields);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar Compact = exports.Compact = function Compact(_ref) {\n\t  var onChange = _ref.onChange,\n\t      onSwatchHover = _ref.onSwatchHover,\n\t      colors = _ref.colors,\n\t      hex = _ref.hex,\n\t      rgb = _ref.rgb,\n\t      _ref$styles = _ref.styles,\n\t      passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n\t      _ref$className = _ref.className,\n\t      className = _ref$className === undefined ? '' : _ref$className;\n\t\n\t  var styles = (0, _reactcss2.default)((0, _merge2.default)({\n\t    'default': {\n\t      Compact: {\n\t        background: '#f6f6f6',\n\t        radius: '4px'\n\t      },\n\t      compact: {\n\t        paddingTop: '5px',\n\t        paddingLeft: '5px',\n\t        boxSizing: 'initial',\n\t        width: '240px'\n\t      },\n\t      clear: {\n\t        clear: 'both'\n\t      }\n\t    }\n\t  }, passedStyles));\n\t\n\t  var handleChange = function handleChange(data, e) {\n\t    if (data.hex) {\n\t      _color2.default.isValidHex(data.hex) && onChange({\n\t        hex: data.hex,\n\t        source: 'hex'\n\t      }, e);\n\t    } else {\n\t      onChange(data, e);\n\t    }\n\t  };\n\t\n\t  return _react2.default.createElement(\n\t    _common.Raised,\n\t    { style: styles.Compact, styles: passedStyles },\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.compact, className: 'compact-picker ' + className },\n\t      _react2.default.createElement(\n\t        'div',\n\t        null,\n\t        (0, _map2.default)(colors, function (c) {\n\t          return _react2.default.createElement(_CompactColor2.default, {\n\t            key: c,\n\t            color: c,\n\t            active: c.toLowerCase() === hex,\n\t            onClick: handleChange,\n\t            onSwatchHover: onSwatchHover\n\t          });\n\t        }),\n\t        _react2.default.createElement('div', { style: styles.clear })\n\t      ),\n\t      _react2.default.createElement(_CompactFields2.default, { hex: hex, rgb: rgb, onChange: handleChange })\n\t    )\n\t  );\n\t};\n\t\n\tCompact.propTypes = {\n\t  colors: _propTypes2.default.arrayOf(_propTypes2.default.string),\n\t  styles: _propTypes2.default.object\n\t};\n\t\n\tCompact.defaultProps = {\n\t  colors: ['#4D4D4D', '#999999', '#FFFFFF', '#F44E3B', '#FE9200', '#FCDC00', '#DBDF00', '#A4DD00', '#68CCCA', '#73D8FF', '#AEA1FF', '#FDA1FF', '#333333', '#808080', '#cccccc', '#D33115', '#E27300', '#FCC400', '#B0BC00', '#68BC00', '#16A5A5', '#009CE0', '#7B64FF', '#FA28FF', '#000000', '#666666', '#B3B3B3', '#9F0500', '#C45100', '#FB9E00', '#808900', '#194D33', '#0C797D', '#0062B1', '#653294', '#AB149E'],\n\t  styles: {}\n\t};\n\t\n\texports.default = (0, _common.ColorWrap)(Compact);\n\n/***/ }),\n/* 379 */\n/*!***************************************************************!*\\\n  !*** ../~/react-color/lib/components/compact/CompactColor.js ***!\n  \\***************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.CompactColor = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _color = __webpack_require__(/*! ../../helpers/color */ 304);\n\t\n\tvar _color2 = _interopRequireDefault(_color);\n\t\n\tvar _common = __webpack_require__(/*! ../common */ 191);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar CompactColor = exports.CompactColor = function CompactColor(_ref) {\n\t  var color = _ref.color,\n\t      _ref$onClick = _ref.onClick,\n\t      onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,\n\t      onSwatchHover = _ref.onSwatchHover,\n\t      active = _ref.active;\n\t\n\t  var styles = (0, _reactcss2.default)({\n\t    'default': {\n\t      color: {\n\t        background: color,\n\t        width: '15px',\n\t        height: '15px',\n\t        float: 'left',\n\t        marginRight: '5px',\n\t        marginBottom: '5px',\n\t        position: 'relative',\n\t        cursor: 'pointer'\n\t      },\n\t      dot: {\n\t        absolute: '5px 5px 5px 5px',\n\t        background: _color2.default.getContrastingColor(color),\n\t        borderRadius: '50%',\n\t        opacity: '0'\n\t      }\n\t    },\n\t    'active': {\n\t      dot: {\n\t        opacity: '1'\n\t      }\n\t    },\n\t    'color-#FFFFFF': {\n\t      color: {\n\t        boxShadow: 'inset 0 0 0 1px #ddd'\n\t      },\n\t      dot: {\n\t        background: '#000'\n\t      }\n\t    },\n\t    'transparent': {\n\t      dot: {\n\t        background: '#000'\n\t      }\n\t    }\n\t  }, { active: active, 'color-#FFFFFF': color === '#FFFFFF', 'transparent': color === 'transparent' });\n\t\n\t  return _react2.default.createElement(\n\t    _common.Swatch,\n\t    {\n\t      style: styles.color,\n\t      color: color,\n\t      onClick: onClick,\n\t      onHover: onSwatchHover,\n\t      focusStyle: { boxShadow: '0 0 4px ' + color }\n\t    },\n\t    _react2.default.createElement('div', { style: styles.dot })\n\t  );\n\t};\n\t\n\texports.default = CompactColor;\n\n/***/ }),\n/* 380 */\n/*!****************************************************************!*\\\n  !*** ../~/react-color/lib/components/compact/CompactFields.js ***!\n  \\****************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.CompactFields = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _common = __webpack_require__(/*! ../common */ 191);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar CompactFields = exports.CompactFields = function CompactFields(_ref) {\n\t  var hex = _ref.hex,\n\t      rgb = _ref.rgb,\n\t      onChange = _ref.onChange;\n\t\n\t  var styles = (0, _reactcss2.default)({\n\t    'default': {\n\t      fields: {\n\t        display: 'flex',\n\t        paddingBottom: '6px',\n\t        paddingRight: '5px',\n\t        position: 'relative'\n\t      },\n\t      active: {\n\t        position: 'absolute',\n\t        top: '6px',\n\t        left: '5px',\n\t        height: '9px',\n\t        width: '9px',\n\t        background: hex\n\t      },\n\t      HEXwrap: {\n\t        flex: '6',\n\t        position: 'relative'\n\t      },\n\t      HEXinput: {\n\t        width: '80%',\n\t        padding: '0px',\n\t        paddingLeft: '20%',\n\t        border: 'none',\n\t        outline: 'none',\n\t        background: 'none',\n\t        fontSize: '12px',\n\t        color: '#333',\n\t        height: '16px'\n\t      },\n\t      HEXlabel: {\n\t        display: 'none'\n\t      },\n\t      RGBwrap: {\n\t        flex: '3',\n\t        position: 'relative'\n\t      },\n\t      RGBinput: {\n\t        width: '70%',\n\t        padding: '0px',\n\t        paddingLeft: '30%',\n\t        border: 'none',\n\t        outline: 'none',\n\t        background: 'none',\n\t        fontSize: '12px',\n\t        color: '#333',\n\t        height: '16px'\n\t      },\n\t      RGBlabel: {\n\t        position: 'absolute',\n\t        top: '3px',\n\t        left: '0px',\n\t        lineHeight: '16px',\n\t        textTransform: 'uppercase',\n\t        fontSize: '12px',\n\t        color: '#999'\n\t      }\n\t    }\n\t  });\n\t\n\t  var handleChange = function handleChange(data, e) {\n\t    if (data.r || data.g || data.b) {\n\t      onChange({\n\t        r: data.r || rgb.r,\n\t        g: data.g || rgb.g,\n\t        b: data.b || rgb.b,\n\t        source: 'rgb'\n\t      }, e);\n\t    } else {\n\t      onChange({\n\t        hex: data.hex,\n\t        source: 'hex'\n\t      }, e);\n\t    }\n\t  };\n\t\n\t  return _react2.default.createElement(\n\t    'div',\n\t    { style: styles.fields, className: 'flexbox-fix' },\n\t    _react2.default.createElement('div', { style: styles.active }),\n\t    _react2.default.createElement(_common.EditableInput, {\n\t      style: { wrap: styles.HEXwrap, input: styles.HEXinput, label: styles.HEXlabel },\n\t      label: 'hex',\n\t      value: hex,\n\t      onChange: handleChange\n\t    }),\n\t    _react2.default.createElement(_common.EditableInput, {\n\t      style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n\t      label: 'r',\n\t      value: rgb.r,\n\t      onChange: handleChange\n\t    }),\n\t    _react2.default.createElement(_common.EditableInput, {\n\t      style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n\t      label: 'g',\n\t      value: rgb.g,\n\t      onChange: handleChange\n\t    }),\n\t    _react2.default.createElement(_common.EditableInput, {\n\t      style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n\t      label: 'b',\n\t      value: rgb.b,\n\t      onChange: handleChange\n\t    })\n\t  );\n\t};\n\t\n\texports.default = CompactFields;\n\n/***/ }),\n/* 381 */\n/*!********************************************************!*\\\n  !*** ../~/react-color/lib/components/github/Github.js ***!\n  \\********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.Github = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _map = __webpack_require__(/*! lodash/map */ 321);\n\t\n\tvar _map2 = _interopRequireDefault(_map);\n\t\n\tvar _merge = __webpack_require__(/*! lodash/merge */ 200);\n\t\n\tvar _merge2 = _interopRequireDefault(_merge);\n\t\n\tvar _common = __webpack_require__(/*! ../common */ 191);\n\t\n\tvar _GithubSwatch = __webpack_require__(/*! ./GithubSwatch */ 382);\n\t\n\tvar _GithubSwatch2 = _interopRequireDefault(_GithubSwatch);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar Github = exports.Github = function Github(_ref) {\n\t  var width = _ref.width,\n\t      colors = _ref.colors,\n\t      onChange = _ref.onChange,\n\t      onSwatchHover = _ref.onSwatchHover,\n\t      triangle = _ref.triangle,\n\t      _ref$styles = _ref.styles,\n\t      passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n\t      _ref$className = _ref.className,\n\t      className = _ref$className === undefined ? '' : _ref$className;\n\t\n\t  var styles = (0, _reactcss2.default)((0, _merge2.default)({\n\t    'default': {\n\t      card: {\n\t        width: width,\n\t        background: '#fff',\n\t        border: '1px solid rgba(0,0,0,0.2)',\n\t        boxShadow: '0 3px 12px rgba(0,0,0,0.15)',\n\t        borderRadius: '4px',\n\t        position: 'relative',\n\t        padding: '5px',\n\t        display: 'flex',\n\t        flexWrap: 'wrap'\n\t      },\n\t      triangle: {\n\t        position: 'absolute',\n\t        border: '7px solid transparent',\n\t        borderBottomColor: '#fff'\n\t      },\n\t      triangleShadow: {\n\t        position: 'absolute',\n\t        border: '8px solid transparent',\n\t        borderBottomColor: 'rgba(0,0,0,0.15)'\n\t      }\n\t    },\n\t    'hide-triangle': {\n\t      triangle: {\n\t        display: 'none'\n\t      },\n\t      triangleShadow: {\n\t        display: 'none'\n\t      }\n\t    },\n\t    'top-left-triangle': {\n\t      triangle: {\n\t        top: '-14px',\n\t        left: '10px'\n\t      },\n\t      triangleShadow: {\n\t        top: '-16px',\n\t        left: '9px'\n\t      }\n\t    },\n\t    'top-right-triangle': {\n\t      triangle: {\n\t        top: '-14px',\n\t        right: '10px'\n\t      },\n\t      triangleShadow: {\n\t        top: '-16px',\n\t        right: '9px'\n\t      }\n\t    },\n\t    'bottom-left-triangle': {\n\t      triangle: {\n\t        top: '35px',\n\t        left: '10px',\n\t        transform: 'rotate(180deg)'\n\t      },\n\t      triangleShadow: {\n\t        top: '37px',\n\t        left: '9px',\n\t        transform: 'rotate(180deg)'\n\t      }\n\t    },\n\t    'bottom-right-triangle': {\n\t      triangle: {\n\t        top: '35px',\n\t        right: '10px',\n\t        transform: 'rotate(180deg)'\n\t      },\n\t      triangleShadow: {\n\t        top: '37px',\n\t        right: '9px',\n\t        transform: 'rotate(180deg)'\n\t      }\n\t    }\n\t  }, passedStyles), {\n\t    'hide-triangle': triangle === 'hide',\n\t    'top-left-triangle': triangle === 'top-left',\n\t    'top-right-triangle': triangle === 'top-right',\n\t    'bottom-left-triangle': triangle === 'bottom-left',\n\t    'bottom-right-triangle': triangle === 'bottom-right'\n\t  });\n\t\n\t  var handleChange = function handleChange(hex, e) {\n\t    return onChange({ hex: hex, source: 'hex' }, e);\n\t  };\n\t\n\t  return _react2.default.createElement(\n\t    'div',\n\t    { style: styles.card, className: 'github-picker ' + className },\n\t    _react2.default.createElement('div', { style: styles.triangleShadow }),\n\t    _react2.default.createElement('div', { style: styles.triangle }),\n\t    (0, _map2.default)(colors, function (c) {\n\t      return _react2.default.createElement(_GithubSwatch2.default, {\n\t        color: c,\n\t        key: c,\n\t        onClick: handleChange,\n\t        onSwatchHover: onSwatchHover\n\t      });\n\t    })\n\t  );\n\t};\n\t\n\tGithub.propTypes = {\n\t  width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n\t  colors: _propTypes2.default.arrayOf(_propTypes2.default.string),\n\t  triangle: _propTypes2.default.oneOf(['hide', 'top-left', 'top-right', 'bottom-left', 'bottom-right']),\n\t  styles: _propTypes2.default.object\n\t};\n\t\n\tGithub.defaultProps = {\n\t  width: 200,\n\t  colors: ['#B80000', '#DB3E00', '#FCCB00', '#008B02', '#006B76', '#1273DE', '#004DCF', '#5300EB', '#EB9694', '#FAD0C3', '#FEF3BD', '#C1E1C5', '#BEDADC', '#C4DEF6', '#BED3F3', '#D4C4FB'],\n\t  triangle: 'top-left',\n\t  styles: {}\n\t};\n\t\n\texports.default = (0, _common.ColorWrap)(Github);\n\n/***/ }),\n/* 382 */\n/*!**************************************************************!*\\\n  !*** ../~/react-color/lib/components/github/GithubSwatch.js ***!\n  \\**************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.GithubSwatch = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _common = __webpack_require__(/*! ../common */ 191);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar GithubSwatch = exports.GithubSwatch = function GithubSwatch(_ref) {\n\t  var hover = _ref.hover,\n\t      color = _ref.color,\n\t      onClick = _ref.onClick,\n\t      onSwatchHover = _ref.onSwatchHover;\n\t\n\t  var hoverSwatch = {\n\t    position: 'relative',\n\t    zIndex: '2',\n\t    outline: '2px solid #fff',\n\t    boxShadow: '0 0 5px 2px rgba(0,0,0,0.25)'\n\t  };\n\t\n\t  var styles = (0, _reactcss2.default)({\n\t    'default': {\n\t      swatch: {\n\t        width: '25px',\n\t        height: '25px',\n\t        fontSize: '0'\n\t      }\n\t    },\n\t    'hover': {\n\t      swatch: hoverSwatch\n\t    }\n\t  }, { hover: hover });\n\t\n\t  return _react2.default.createElement(\n\t    'div',\n\t    { style: styles.swatch },\n\t    _react2.default.createElement(_common.Swatch, {\n\t      color: color,\n\t      onClick: onClick,\n\t      onHover: onSwatchHover,\n\t      focusStyle: hoverSwatch\n\t    })\n\t  );\n\t};\n\t\n\texports.default = (0, _reactcss.handleHover)(GithubSwatch);\n\n/***/ }),\n/* 383 */\n/*!**************************************************!*\\\n  !*** ../~/react-color/lib/components/hue/Hue.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.HuePicker = undefined;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _merge = __webpack_require__(/*! lodash/merge */ 200);\n\t\n\tvar _merge2 = _interopRequireDefault(_merge);\n\t\n\tvar _common = __webpack_require__(/*! ../common */ 191);\n\t\n\tvar _HuePointer = __webpack_require__(/*! ./HuePointer */ 384);\n\t\n\tvar _HuePointer2 = _interopRequireDefault(_HuePointer);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar HuePicker = exports.HuePicker = function HuePicker(_ref) {\n\t  var width = _ref.width,\n\t      height = _ref.height,\n\t      onChange = _ref.onChange,\n\t      hsl = _ref.hsl,\n\t      direction = _ref.direction,\n\t      pointer = _ref.pointer,\n\t      _ref$styles = _ref.styles,\n\t      passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n\t      _ref$className = _ref.className,\n\t      className = _ref$className === undefined ? '' : _ref$className;\n\t\n\t  var styles = (0, _reactcss2.default)((0, _merge2.default)({\n\t    'default': {\n\t      picker: {\n\t        position: 'relative',\n\t        width: width,\n\t        height: height\n\t      },\n\t      hue: {\n\t        radius: '2px'\n\t      }\n\t    }\n\t  }, passedStyles));\n\t\n\t  // Overwrite to provide pure hue color\n\t  var handleChange = function handleChange(data) {\n\t    return onChange({ a: 1, h: data.h, l: 0.5, s: 1 });\n\t  };\n\t\n\t  return _react2.default.createElement(\n\t    'div',\n\t    { style: styles.picker, className: 'hue-picker ' + className },\n\t    _react2.default.createElement(_common.Hue, _extends({}, styles.hue, {\n\t      hsl: hsl,\n\t      pointer: pointer,\n\t      onChange: handleChange,\n\t      direction: direction\n\t    }))\n\t  );\n\t};\n\t\n\tHuePicker.propTypes = {\n\t  styles: _propTypes2.default.object\n\t};\n\tHuePicker.defaultProps = {\n\t  width: '316px',\n\t  height: '16px',\n\t  direction: 'horizontal',\n\t  pointer: _HuePointer2.default,\n\t  styles: {}\n\t};\n\t\n\texports.default = (0, _common.ColorWrap)(HuePicker);\n\n/***/ }),\n/* 384 */\n/*!*********************************************************!*\\\n  !*** ../~/react-color/lib/components/hue/HuePointer.js ***!\n  \\*********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.SliderPointer = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar SliderPointer = exports.SliderPointer = function SliderPointer(_ref) {\n\t  var direction = _ref.direction;\n\t\n\t  var styles = (0, _reactcss2.default)({\n\t    'default': {\n\t      picker: {\n\t        width: '18px',\n\t        height: '18px',\n\t        borderRadius: '50%',\n\t        transform: 'translate(-9px, -1px)',\n\t        backgroundColor: 'rgb(248, 248, 248)',\n\t        boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)'\n\t      }\n\t    },\n\t    'vertical': {\n\t      picker: {\n\t        transform: 'translate(-3px, -9px)'\n\t      }\n\t    }\n\t  }, { vertical: direction === 'vertical' });\n\t\n\t  return _react2.default.createElement('div', { style: styles.picker });\n\t};\n\t\n\texports.default = SliderPointer;\n\n/***/ }),\n/* 385 */\n/*!************************************************************!*\\\n  !*** ../~/react-color/lib/components/material/Material.js ***!\n  \\************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.Material = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _merge = __webpack_require__(/*! lodash/merge */ 200);\n\t\n\tvar _merge2 = _interopRequireDefault(_merge);\n\t\n\tvar _color = __webpack_require__(/*! ../../helpers/color */ 304);\n\t\n\tvar _color2 = _interopRequireDefault(_color);\n\t\n\tvar _common = __webpack_require__(/*! ../common */ 191);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar Material = exports.Material = function Material(_ref) {\n\t  var onChange = _ref.onChange,\n\t      hex = _ref.hex,\n\t      rgb = _ref.rgb,\n\t      _ref$styles = _ref.styles,\n\t      passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n\t      _ref$className = _ref.className,\n\t      className = _ref$className === undefined ? '' : _ref$className;\n\t\n\t  var styles = (0, _reactcss2.default)((0, _merge2.default)({\n\t    'default': {\n\t      material: {\n\t        width: '98px',\n\t        height: '98px',\n\t        padding: '16px',\n\t        fontFamily: 'Roboto'\n\t      },\n\t      HEXwrap: {\n\t        position: 'relative'\n\t      },\n\t      HEXinput: {\n\t        width: '100%',\n\t        marginTop: '12px',\n\t        fontSize: '15px',\n\t        color: '#333',\n\t        padding: '0px',\n\t        border: '0px',\n\t        borderBottom: '2px solid ' + hex,\n\t        outline: 'none',\n\t        height: '30px'\n\t      },\n\t      HEXlabel: {\n\t        position: 'absolute',\n\t        top: '0px',\n\t        left: '0px',\n\t        fontSize: '11px',\n\t        color: '#999999',\n\t        textTransform: 'capitalize'\n\t      },\n\t      Hex: {\n\t        style: {}\n\t      },\n\t      RGBwrap: {\n\t        position: 'relative'\n\t      },\n\t      RGBinput: {\n\t        width: '100%',\n\t        marginTop: '12px',\n\t        fontSize: '15px',\n\t        color: '#333',\n\t        padding: '0px',\n\t        border: '0px',\n\t        borderBottom: '1px solid #eee',\n\t        outline: 'none',\n\t        height: '30px'\n\t      },\n\t      RGBlabel: {\n\t        position: 'absolute',\n\t        top: '0px',\n\t        left: '0px',\n\t        fontSize: '11px',\n\t        color: '#999999',\n\t        textTransform: 'capitalize'\n\t      },\n\t      split: {\n\t        display: 'flex',\n\t        marginRight: '-10px',\n\t        paddingTop: '11px'\n\t      },\n\t      third: {\n\t        flex: '1',\n\t        paddingRight: '10px'\n\t      }\n\t    }\n\t  }, passedStyles));\n\t\n\t  var handleChange = function handleChange(data, e) {\n\t    if (data.hex) {\n\t      _color2.default.isValidHex(data.hex) && onChange({\n\t        hex: data.hex,\n\t        source: 'hex'\n\t      }, e);\n\t    } else if (data.r || data.g || data.b) {\n\t      onChange({\n\t        r: data.r || rgb.r,\n\t        g: data.g || rgb.g,\n\t        b: data.b || rgb.b,\n\t        source: 'rgb'\n\t      }, e);\n\t    }\n\t  };\n\t\n\t  return _react2.default.createElement(\n\t    _common.Raised,\n\t    { styles: passedStyles },\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.material, className: 'material-picker ' + className },\n\t      _react2.default.createElement(_common.EditableInput, {\n\t        style: { wrap: styles.HEXwrap, input: styles.HEXinput, label: styles.HEXlabel },\n\t        label: 'hex',\n\t        value: hex,\n\t        onChange: handleChange\n\t      }),\n\t      _react2.default.createElement(\n\t        'div',\n\t        { style: styles.split, className: 'flexbox-fix' },\n\t        _react2.default.createElement(\n\t          'div',\n\t          { style: styles.third },\n\t          _react2.default.createElement(_common.EditableInput, {\n\t            style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n\t            label: 'r', value: rgb.r,\n\t            onChange: handleChange\n\t          })\n\t        ),\n\t        _react2.default.createElement(\n\t          'div',\n\t          { style: styles.third },\n\t          _react2.default.createElement(_common.EditableInput, {\n\t            style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n\t            label: 'g',\n\t            value: rgb.g,\n\t            onChange: handleChange\n\t          })\n\t        ),\n\t        _react2.default.createElement(\n\t          'div',\n\t          { style: styles.third },\n\t          _react2.default.createElement(_common.EditableInput, {\n\t            style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n\t            label: 'b',\n\t            value: rgb.b,\n\t            onChange: handleChange\n\t          })\n\t        )\n\t      )\n\t    )\n\t  );\n\t};\n\t\n\texports.default = (0, _common.ColorWrap)(Material);\n\n/***/ }),\n/* 386 */\n/*!**************************************************************!*\\\n  !*** ../~/react-color/lib/components/photoshop/Photoshop.js ***!\n  \\**************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.Photoshop = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _merge = __webpack_require__(/*! lodash/merge */ 200);\n\t\n\tvar _merge2 = _interopRequireDefault(_merge);\n\t\n\tvar _common = __webpack_require__(/*! ../common */ 191);\n\t\n\tvar _PhotoshopFields = __webpack_require__(/*! ./PhotoshopFields */ 387);\n\t\n\tvar _PhotoshopFields2 = _interopRequireDefault(_PhotoshopFields);\n\t\n\tvar _PhotoshopPointerCircle = __webpack_require__(/*! ./PhotoshopPointerCircle */ 388);\n\t\n\tvar _PhotoshopPointerCircle2 = _interopRequireDefault(_PhotoshopPointerCircle);\n\t\n\tvar _PhotoshopPointer = __webpack_require__(/*! ./PhotoshopPointer */ 389);\n\t\n\tvar _PhotoshopPointer2 = _interopRequireDefault(_PhotoshopPointer);\n\t\n\tvar _PhotoshopButton = __webpack_require__(/*! ./PhotoshopButton */ 390);\n\t\n\tvar _PhotoshopButton2 = _interopRequireDefault(_PhotoshopButton);\n\t\n\tvar _PhotoshopPreviews = __webpack_require__(/*! ./PhotoshopPreviews */ 391);\n\t\n\tvar _PhotoshopPreviews2 = _interopRequireDefault(_PhotoshopPreviews);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Photoshop = exports.Photoshop = function (_React$Component) {\n\t  _inherits(Photoshop, _React$Component);\n\t\n\t  function Photoshop(props) {\n\t    _classCallCheck(this, Photoshop);\n\t\n\t    var _this = _possibleConstructorReturn(this, (Photoshop.__proto__ || Object.getPrototypeOf(Photoshop)).call(this));\n\t\n\t    _this.state = {\n\t      currentColor: props.hex\n\t    };\n\t    return _this;\n\t  }\n\t\n\t  _createClass(Photoshop, [{\n\t    key: 'render',\n\t    value: function render() {\n\t      var _props = this.props,\n\t          _props$styles = _props.styles,\n\t          passedStyles = _props$styles === undefined ? {} : _props$styles,\n\t          _props$className = _props.className,\n\t          className = _props$className === undefined ? '' : _props$className;\n\t\n\t      var styles = (0, _reactcss2.default)((0, _merge2.default)({\n\t        'default': {\n\t          picker: {\n\t            background: '#DCDCDC',\n\t            borderRadius: '4px',\n\t            boxShadow: '0 0 0 1px rgba(0,0,0,.25), 0 8px 16px rgba(0,0,0,.15)',\n\t            boxSizing: 'initial',\n\t            width: '513px'\n\t          },\n\t          head: {\n\t            backgroundImage: 'linear-gradient(-180deg, #F0F0F0 0%, #D4D4D4 100%)',\n\t            borderBottom: '1px solid #B1B1B1',\n\t            boxShadow: 'inset 0 1px 0 0 rgba(255,255,255,.2), inset 0 -1px 0 0 rgba(0,0,0,.02)',\n\t            height: '23px',\n\t            lineHeight: '24px',\n\t            borderRadius: '4px 4px 0 0',\n\t            fontSize: '13px',\n\t            color: '#4D4D4D',\n\t            textAlign: 'center'\n\t          },\n\t          body: {\n\t            padding: '15px 15px 0',\n\t            display: 'flex'\n\t          },\n\t          saturation: {\n\t            width: '256px',\n\t            height: '256px',\n\t            position: 'relative',\n\t            border: '2px solid #B3B3B3',\n\t            borderBottom: '2px solid #F0F0F0',\n\t            overflow: 'hidden'\n\t          },\n\t          hue: {\n\t            position: 'relative',\n\t            height: '256px',\n\t            width: '19px',\n\t            marginLeft: '10px',\n\t            border: '2px solid #B3B3B3',\n\t            borderBottom: '2px solid #F0F0F0'\n\t          },\n\t          controls: {\n\t            width: '180px',\n\t            marginLeft: '10px'\n\t          },\n\t          top: {\n\t            display: 'flex'\n\t          },\n\t          previews: {\n\t            width: '60px'\n\t          },\n\t          actions: {\n\t            flex: '1',\n\t            marginLeft: '20px'\n\t          }\n\t        }\n\t      }, passedStyles));\n\t\n\t      return _react2.default.createElement(\n\t        'div',\n\t        { style: styles.picker, className: 'photoshop-picker ' + className },\n\t        _react2.default.createElement(\n\t          'div',\n\t          { style: styles.head },\n\t          this.props.header\n\t        ),\n\t        _react2.default.createElement(\n\t          'div',\n\t          { style: styles.body, className: 'flexbox-fix' },\n\t          _react2.default.createElement(\n\t            'div',\n\t            { style: styles.saturation },\n\t            _react2.default.createElement(_common.Saturation, {\n\t              hsl: this.props.hsl,\n\t              hsv: this.props.hsv,\n\t              pointer: _PhotoshopPointerCircle2.default,\n\t              onChange: this.props.onChange\n\t            })\n\t          ),\n\t          _react2.default.createElement(\n\t            'div',\n\t            { style: styles.hue },\n\t            _react2.default.createElement(_common.Hue, {\n\t              direction: 'vertical',\n\t              hsl: this.props.hsl,\n\t              pointer: _PhotoshopPointer2.default,\n\t              onChange: this.props.onChange\n\t            })\n\t          ),\n\t          _react2.default.createElement(\n\t            'div',\n\t            { style: styles.controls },\n\t            _react2.default.createElement(\n\t              'div',\n\t              { style: styles.top, className: 'flexbox-fix' },\n\t              _react2.default.createElement(\n\t                'div',\n\t                { style: styles.previews },\n\t                _react2.default.createElement(_PhotoshopPreviews2.default, {\n\t                  rgb: this.props.rgb,\n\t                  currentColor: this.state.currentColor\n\t                })\n\t              ),\n\t              _react2.default.createElement(\n\t                'div',\n\t                { style: styles.actions },\n\t                _react2.default.createElement(_PhotoshopButton2.default, { label: 'OK', onClick: this.props.onAccept, active: true }),\n\t                _react2.default.createElement(_PhotoshopButton2.default, { label: 'Cancel', onClick: this.props.onCancel }),\n\t                _react2.default.createElement(_PhotoshopFields2.default, {\n\t                  onChange: this.props.onChange,\n\t                  rgb: this.props.rgb,\n\t                  hsv: this.props.hsv,\n\t                  hex: this.props.hex\n\t                })\n\t              )\n\t            )\n\t          )\n\t        )\n\t      );\n\t    }\n\t  }]);\n\t\n\t  return Photoshop;\n\t}(_react2.default.Component);\n\t\n\tPhotoshop.propTypes = {\n\t  header: _propTypes2.default.string,\n\t  styles: _propTypes2.default.object\n\t};\n\t\n\tPhotoshop.defaultProps = {\n\t  header: 'Color Picker',\n\t  styles: {}\n\t};\n\t\n\texports.default = (0, _common.ColorWrap)(Photoshop);\n\n/***/ }),\n/* 387 */\n/*!********************************************************************!*\\\n  !*** ../~/react-color/lib/components/photoshop/PhotoshopFields.js ***!\n  \\********************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.PhotoshopPicker = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _color = __webpack_require__(/*! ../../helpers/color */ 304);\n\t\n\tvar _color2 = _interopRequireDefault(_color);\n\t\n\tvar _common = __webpack_require__(/*! ../common */ 191);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar PhotoshopPicker = exports.PhotoshopPicker = function PhotoshopPicker(_ref) {\n\t  var onChange = _ref.onChange,\n\t      rgb = _ref.rgb,\n\t      hsv = _ref.hsv,\n\t      hex = _ref.hex;\n\t\n\t  var styles = (0, _reactcss2.default)({\n\t    'default': {\n\t      fields: {\n\t        paddingTop: '5px',\n\t        paddingBottom: '9px',\n\t        width: '80px',\n\t        position: 'relative'\n\t      },\n\t      divider: {\n\t        height: '5px'\n\t      },\n\t      RGBwrap: {\n\t        position: 'relative'\n\t      },\n\t      RGBinput: {\n\t        marginLeft: '40%',\n\t        width: '40%',\n\t        height: '18px',\n\t        border: '1px solid #888888',\n\t        boxShadow: 'inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC',\n\t        marginBottom: '5px',\n\t        fontSize: '13px',\n\t        paddingLeft: '3px',\n\t        marginRight: '10px'\n\t      },\n\t      RGBlabel: {\n\t        left: '0px',\n\t        width: '34px',\n\t        textTransform: 'uppercase',\n\t        fontSize: '13px',\n\t        height: '18px',\n\t        lineHeight: '22px',\n\t        position: 'absolute'\n\t      },\n\t      HEXwrap: {\n\t        position: 'relative'\n\t      },\n\t      HEXinput: {\n\t        marginLeft: '20%',\n\t        width: '80%',\n\t        height: '18px',\n\t        border: '1px solid #888888',\n\t        boxShadow: 'inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC',\n\t        marginBottom: '6px',\n\t        fontSize: '13px',\n\t        paddingLeft: '3px'\n\t      },\n\t      HEXlabel: {\n\t        position: 'absolute',\n\t        top: '0px',\n\t        left: '0px',\n\t        width: '14px',\n\t        textTransform: 'uppercase',\n\t        fontSize: '13px',\n\t        height: '18px',\n\t        lineHeight: '22px'\n\t      },\n\t      fieldSymbols: {\n\t        position: 'absolute',\n\t        top: '5px',\n\t        right: '-7px',\n\t        fontSize: '13px'\n\t      },\n\t      symbol: {\n\t        height: '20px',\n\t        lineHeight: '22px',\n\t        paddingBottom: '7px'\n\t      }\n\t    }\n\t  });\n\t\n\t  var handleChange = function handleChange(data, e) {\n\t    if (data['#']) {\n\t      _color2.default.isValidHex(data['#']) && onChange({\n\t        hex: data['#'],\n\t        source: 'hex'\n\t      }, e);\n\t    } else if (data.r || data.g || data.b) {\n\t      onChange({\n\t        r: data.r || rgb.r,\n\t        g: data.g || rgb.g,\n\t        b: data.b || rgb.b,\n\t        source: 'rgb'\n\t      }, e);\n\t    } else if (data.h || data.s || data.v) {\n\t      onChange({\n\t        h: data.h || hsv.h,\n\t        s: data.s || hsv.s,\n\t        v: data.v || hsv.v,\n\t        source: 'hsv'\n\t      }, e);\n\t    }\n\t  };\n\t\n\t  return _react2.default.createElement(\n\t    'div',\n\t    { style: styles.fields },\n\t    _react2.default.createElement(_common.EditableInput, {\n\t      style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n\t      label: 'h',\n\t      value: Math.round(hsv.h),\n\t      onChange: handleChange\n\t    }),\n\t    _react2.default.createElement(_common.EditableInput, {\n\t      style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n\t      label: 's',\n\t      value: Math.round(hsv.s * 100),\n\t      onChange: handleChange\n\t    }),\n\t    _react2.default.createElement(_common.EditableInput, {\n\t      style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n\t      label: 'v',\n\t      value: Math.round(hsv.v * 100),\n\t      onChange: handleChange\n\t    }),\n\t    _react2.default.createElement('div', { style: styles.divider }),\n\t    _react2.default.createElement(_common.EditableInput, {\n\t      style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n\t      label: 'r',\n\t      value: rgb.r,\n\t      onChange: handleChange\n\t    }),\n\t    _react2.default.createElement(_common.EditableInput, {\n\t      style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n\t      label: 'g',\n\t      value: rgb.g,\n\t      onChange: handleChange\n\t    }),\n\t    _react2.default.createElement(_common.EditableInput, {\n\t      style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n\t      label: 'b',\n\t      value: rgb.b,\n\t      onChange: handleChange\n\t    }),\n\t    _react2.default.createElement('div', { style: styles.divider }),\n\t    _react2.default.createElement(_common.EditableInput, {\n\t      style: { wrap: styles.HEXwrap, input: styles.HEXinput, label: styles.HEXlabel },\n\t      label: '#',\n\t      value: hex.replace('#', ''),\n\t      onChange: handleChange\n\t    }),\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.fieldSymbols },\n\t      _react2.default.createElement(\n\t        'div',\n\t        { style: styles.symbol },\n\t        '\\xB0'\n\t      ),\n\t      _react2.default.createElement(\n\t        'div',\n\t        { style: styles.symbol },\n\t        '%'\n\t      ),\n\t      _react2.default.createElement(\n\t        'div',\n\t        { style: styles.symbol },\n\t        '%'\n\t      )\n\t    )\n\t  );\n\t};\n\t\n\texports.default = PhotoshopPicker;\n\n/***/ }),\n/* 388 */\n/*!***************************************************************************!*\\\n  !*** ../~/react-color/lib/components/photoshop/PhotoshopPointerCircle.js ***!\n  \\***************************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.PhotoshopPointerCircle = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar PhotoshopPointerCircle = exports.PhotoshopPointerCircle = function PhotoshopPointerCircle(_ref) {\n\t  var hsl = _ref.hsl;\n\t\n\t  var styles = (0, _reactcss2.default)({\n\t    'default': {\n\t      picker: {\n\t        width: '12px',\n\t        height: '12px',\n\t        borderRadius: '6px',\n\t        boxShadow: 'inset 0 0 0 1px #fff',\n\t        transform: 'translate(-6px, -6px)'\n\t      }\n\t    },\n\t    'black-outline': {\n\t      picker: {\n\t        boxShadow: 'inset 0 0 0 1px #000'\n\t      }\n\t    }\n\t  }, { 'black-outline': hsl.l > 0.5 });\n\t\n\t  return _react2.default.createElement('div', { style: styles.picker });\n\t};\n\t\n\texports.default = PhotoshopPointerCircle;\n\n/***/ }),\n/* 389 */\n/*!*********************************************************************!*\\\n  !*** ../~/react-color/lib/components/photoshop/PhotoshopPointer.js ***!\n  \\*********************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.PhotoshopPointerCircle = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar PhotoshopPointerCircle = exports.PhotoshopPointerCircle = function PhotoshopPointerCircle() {\n\t  var styles = (0, _reactcss2.default)({\n\t    'default': {\n\t      triangle: {\n\t        width: 0,\n\t        height: 0,\n\t        borderStyle: 'solid',\n\t        borderWidth: '4px 0 4px 6px',\n\t        borderColor: 'transparent transparent transparent #fff',\n\t        position: 'absolute',\n\t        top: '1px',\n\t        left: '1px'\n\t      },\n\t      triangleBorder: {\n\t        width: 0,\n\t        height: 0,\n\t        borderStyle: 'solid',\n\t        borderWidth: '5px 0 5px 8px',\n\t        borderColor: 'transparent transparent transparent #555'\n\t      },\n\t\n\t      left: {\n\t        Extend: 'triangleBorder',\n\t        transform: 'translate(-13px, -4px)'\n\t      },\n\t      leftInside: {\n\t        Extend: 'triangle',\n\t        transform: 'translate(-8px, -5px)'\n\t      },\n\t\n\t      right: {\n\t        Extend: 'triangleBorder',\n\t        transform: 'translate(20px, -14px) rotate(180deg)'\n\t      },\n\t      rightInside: {\n\t        Extend: 'triangle',\n\t        transform: 'translate(-8px, -5px)'\n\t      }\n\t    }\n\t  });\n\t\n\t  return _react2.default.createElement(\n\t    'div',\n\t    { style: styles.pointer },\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.left },\n\t      _react2.default.createElement('div', { style: styles.leftInside })\n\t    ),\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.right },\n\t      _react2.default.createElement('div', { style: styles.rightInside })\n\t    )\n\t  );\n\t};\n\t\n\texports.default = PhotoshopPointerCircle;\n\n/***/ }),\n/* 390 */\n/*!********************************************************************!*\\\n  !*** ../~/react-color/lib/components/photoshop/PhotoshopButton.js ***!\n  \\********************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.PhotoshopButton = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar PhotoshopButton = exports.PhotoshopButton = function PhotoshopButton(_ref) {\n\t  var onClick = _ref.onClick,\n\t      label = _ref.label,\n\t      children = _ref.children,\n\t      active = _ref.active;\n\t\n\t  var styles = (0, _reactcss2.default)({\n\t    'default': {\n\t      button: {\n\t        backgroundImage: 'linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%)',\n\t        border: '1px solid #878787',\n\t        borderRadius: '2px',\n\t        height: '20px',\n\t        boxShadow: '0 1px 0 0 #EAEAEA',\n\t        fontSize: '14px',\n\t        color: '#000',\n\t        lineHeight: '20px',\n\t        textAlign: 'center',\n\t        marginBottom: '10px',\n\t        cursor: 'pointer'\n\t      }\n\t    },\n\t    'active': {\n\t      button: {\n\t        boxShadow: '0 0 0 1px #878787'\n\t      }\n\t    }\n\t  }, { active: active });\n\t\n\t  return _react2.default.createElement(\n\t    'div',\n\t    { style: styles.button, onClick: onClick },\n\t    label || children\n\t  );\n\t};\n\t\n\texports.default = PhotoshopButton;\n\n/***/ }),\n/* 391 */\n/*!**********************************************************************!*\\\n  !*** ../~/react-color/lib/components/photoshop/PhotoshopPreviews.js ***!\n  \\**********************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.PhotoshopPreviews = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar PhotoshopPreviews = exports.PhotoshopPreviews = function PhotoshopPreviews(_ref) {\n\t  var rgb = _ref.rgb,\n\t      currentColor = _ref.currentColor;\n\t\n\t  var styles = (0, _reactcss2.default)({\n\t    'default': {\n\t      swatches: {\n\t        border: '1px solid #B3B3B3',\n\t        borderBottom: '1px solid #F0F0F0',\n\t        marginBottom: '2px',\n\t        marginTop: '1px'\n\t      },\n\t      new: {\n\t        height: '34px',\n\t        background: 'rgb(' + rgb.r + ',' + rgb.g + ', ' + rgb.b + ')',\n\t        boxShadow: 'inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000'\n\t      },\n\t      current: {\n\t        height: '34px',\n\t        background: currentColor,\n\t        boxShadow: 'inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 -1px 0 #000'\n\t      },\n\t      label: {\n\t        fontSize: '14px',\n\t        color: '#000',\n\t        textAlign: 'center'\n\t      }\n\t    }\n\t  });\n\t\n\t  return _react2.default.createElement(\n\t    'div',\n\t    null,\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.label },\n\t      'new'\n\t    ),\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.swatches },\n\t      _react2.default.createElement('div', { style: styles.new }),\n\t      _react2.default.createElement('div', { style: styles.current })\n\t    ),\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.label },\n\t      'current'\n\t    )\n\t  );\n\t};\n\t\n\texports.default = PhotoshopPreviews;\n\n/***/ }),\n/* 392 */\n/*!********************************************************!*\\\n  !*** ../~/react-color/lib/components/sketch/Sketch.js ***!\n  \\********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.Sketch = undefined;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _merge = __webpack_require__(/*! lodash/merge */ 200);\n\t\n\tvar _merge2 = _interopRequireDefault(_merge);\n\t\n\tvar _common = __webpack_require__(/*! ../common */ 191);\n\t\n\tvar _SketchFields = __webpack_require__(/*! ./SketchFields */ 393);\n\t\n\tvar _SketchFields2 = _interopRequireDefault(_SketchFields);\n\t\n\tvar _SketchPresetColors = __webpack_require__(/*! ./SketchPresetColors */ 394);\n\t\n\tvar _SketchPresetColors2 = _interopRequireDefault(_SketchPresetColors);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar Sketch = exports.Sketch = function Sketch(_ref) {\n\t  var width = _ref.width,\n\t      rgb = _ref.rgb,\n\t      hex = _ref.hex,\n\t      hsv = _ref.hsv,\n\t      hsl = _ref.hsl,\n\t      onChange = _ref.onChange,\n\t      onSwatchHover = _ref.onSwatchHover,\n\t      disableAlpha = _ref.disableAlpha,\n\t      presetColors = _ref.presetColors,\n\t      renderers = _ref.renderers,\n\t      _ref$styles = _ref.styles,\n\t      passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n\t      _ref$className = _ref.className,\n\t      className = _ref$className === undefined ? '' : _ref$className;\n\t\n\t  var styles = (0, _reactcss2.default)((0, _merge2.default)({\n\t    'default': _extends({\n\t      picker: {\n\t        width: width,\n\t        padding: '10px 10px 0',\n\t        boxSizing: 'initial',\n\t        background: '#fff',\n\t        borderRadius: '4px',\n\t        boxShadow: '0 0 0 1px rgba(0,0,0,.15), 0 8px 16px rgba(0,0,0,.15)'\n\t      },\n\t      saturation: {\n\t        width: '100%',\n\t        paddingBottom: '75%',\n\t        position: 'relative',\n\t        overflow: 'hidden'\n\t      },\n\t      Saturation: {\n\t        radius: '3px',\n\t        shadow: 'inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)'\n\t      },\n\t      controls: {\n\t        display: 'flex'\n\t      },\n\t      sliders: {\n\t        padding: '4px 0',\n\t        flex: '1'\n\t      },\n\t      color: {\n\t        width: '24px',\n\t        height: '24px',\n\t        position: 'relative',\n\t        marginTop: '4px',\n\t        marginLeft: '4px',\n\t        borderRadius: '3px'\n\t      },\n\t      activeColor: {\n\t        absolute: '0px 0px 0px 0px',\n\t        borderRadius: '2px',\n\t        background: 'rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ',' + rgb.a + ')',\n\t        boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)'\n\t      },\n\t      hue: {\n\t        position: 'relative',\n\t        height: '10px',\n\t        overflow: 'hidden'\n\t      },\n\t      Hue: {\n\t        radius: '2px',\n\t        shadow: 'inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)'\n\t      },\n\t\n\t      alpha: {\n\t        position: 'relative',\n\t        height: '10px',\n\t        marginTop: '4px',\n\t        overflow: 'hidden'\n\t      },\n\t      Alpha: {\n\t        radius: '2px',\n\t        shadow: 'inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)'\n\t      }\n\t    }, passedStyles),\n\t    'disableAlpha': {\n\t      color: {\n\t        height: '10px'\n\t      },\n\t      hue: {\n\t        height: '10px'\n\t      },\n\t      alpha: {\n\t        display: 'none'\n\t      }\n\t    }\n\t  }, passedStyles), { disableAlpha: disableAlpha });\n\t\n\t  return _react2.default.createElement(\n\t    'div',\n\t    { style: styles.picker, className: 'sketch-picker ' + className },\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.saturation },\n\t      _react2.default.createElement(_common.Saturation, {\n\t        style: styles.Saturation,\n\t        hsl: hsl,\n\t        hsv: hsv,\n\t        onChange: onChange\n\t      })\n\t    ),\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.controls, className: 'flexbox-fix' },\n\t      _react2.default.createElement(\n\t        'div',\n\t        { style: styles.sliders },\n\t        _react2.default.createElement(\n\t          'div',\n\t          { style: styles.hue },\n\t          _react2.default.createElement(_common.Hue, {\n\t            style: styles.Hue,\n\t            hsl: hsl,\n\t            onChange: onChange\n\t          })\n\t        ),\n\t        _react2.default.createElement(\n\t          'div',\n\t          { style: styles.alpha },\n\t          _react2.default.createElement(_common.Alpha, {\n\t            style: styles.Alpha,\n\t            rgb: rgb,\n\t            hsl: hsl,\n\t            renderers: renderers,\n\t            onChange: onChange\n\t          })\n\t        )\n\t      ),\n\t      _react2.default.createElement(\n\t        'div',\n\t        { style: styles.color },\n\t        _react2.default.createElement(_common.Checkboard, null),\n\t        _react2.default.createElement('div', { style: styles.activeColor })\n\t      )\n\t    ),\n\t    _react2.default.createElement(_SketchFields2.default, {\n\t      rgb: rgb,\n\t      hsl: hsl,\n\t      hex: hex,\n\t      onChange: onChange,\n\t      disableAlpha: disableAlpha\n\t    }),\n\t    _react2.default.createElement(_SketchPresetColors2.default, {\n\t      colors: presetColors,\n\t      onClick: onChange,\n\t      onSwatchHover: onSwatchHover\n\t    })\n\t  );\n\t};\n\t\n\tSketch.propTypes = {\n\t  disableAlpha: _propTypes2.default.bool,\n\t  width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n\t  styles: _propTypes2.default.object\n\t};\n\t\n\tSketch.defaultProps = {\n\t  disableAlpha: false,\n\t  width: 200,\n\t  styles: {},\n\t  presetColors: ['#D0021B', '#F5A623', '#F8E71C', '#8B572A', '#7ED321', '#417505', '#BD10E0', '#9013FE', '#4A90E2', '#50E3C2', '#B8E986', '#000000', '#4A4A4A', '#9B9B9B', '#FFFFFF']\n\t};\n\t\n\texports.default = (0, _common.ColorWrap)(Sketch);\n\n/***/ }),\n/* 393 */\n/*!**************************************************************!*\\\n  !*** ../~/react-color/lib/components/sketch/SketchFields.js ***!\n  \\**************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.SketchFields = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _color = __webpack_require__(/*! ../../helpers/color */ 304);\n\t\n\tvar _color2 = _interopRequireDefault(_color);\n\t\n\tvar _common = __webpack_require__(/*! ../common */ 191);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/* eslint-disable no-param-reassign */\n\t\n\tvar SketchFields = exports.SketchFields = function SketchFields(_ref) {\n\t  var onChange = _ref.onChange,\n\t      rgb = _ref.rgb,\n\t      hsl = _ref.hsl,\n\t      hex = _ref.hex,\n\t      disableAlpha = _ref.disableAlpha;\n\t\n\t  var styles = (0, _reactcss2.default)({\n\t    'default': {\n\t      fields: {\n\t        display: 'flex',\n\t        paddingTop: '4px'\n\t      },\n\t      single: {\n\t        flex: '1',\n\t        paddingLeft: '6px'\n\t      },\n\t      alpha: {\n\t        flex: '1',\n\t        paddingLeft: '6px'\n\t      },\n\t      double: {\n\t        flex: '2'\n\t      },\n\t      input: {\n\t        width: '80%',\n\t        padding: '4px 10% 3px',\n\t        border: 'none',\n\t        boxShadow: 'inset 0 0 0 1px #ccc',\n\t        fontSize: '11px'\n\t      },\n\t      label: {\n\t        display: 'block',\n\t        textAlign: 'center',\n\t        fontSize: '11px',\n\t        color: '#222',\n\t        paddingTop: '3px',\n\t        paddingBottom: '4px',\n\t        textTransform: 'capitalize'\n\t      }\n\t    },\n\t    'disableAlpha': {\n\t      alpha: {\n\t        display: 'none'\n\t      }\n\t    }\n\t  }, { disableAlpha: disableAlpha });\n\t\n\t  var handleChange = function handleChange(data, e) {\n\t    if (data.hex) {\n\t      _color2.default.isValidHex(data.hex) && onChange({\n\t        hex: data.hex,\n\t        source: 'hex'\n\t      }, e);\n\t    } else if (data.r || data.g || data.b) {\n\t      onChange({\n\t        r: data.r || rgb.r,\n\t        g: data.g || rgb.g,\n\t        b: data.b || rgb.b,\n\t        a: rgb.a,\n\t        source: 'rgb'\n\t      }, e);\n\t    } else if (data.a) {\n\t      if (data.a < 0) {\n\t        data.a = 0;\n\t      } else if (data.a > 100) {\n\t        data.a = 100;\n\t      }\n\t\n\t      data.a /= 100;\n\t      onChange({\n\t        h: hsl.h,\n\t        s: hsl.s,\n\t        l: hsl.l,\n\t        a: data.a,\n\t        source: 'rgb'\n\t      }, e);\n\t    }\n\t  };\n\t\n\t  return _react2.default.createElement(\n\t    'div',\n\t    { style: styles.fields, className: 'flexbox-fix' },\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.double },\n\t      _react2.default.createElement(_common.EditableInput, {\n\t        style: { input: styles.input, label: styles.label },\n\t        label: 'hex',\n\t        value: hex.replace('#', ''),\n\t        onChange: handleChange\n\t      })\n\t    ),\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.single },\n\t      _react2.default.createElement(_common.EditableInput, {\n\t        style: { input: styles.input, label: styles.label },\n\t        label: 'r',\n\t        value: rgb.r,\n\t        onChange: handleChange,\n\t        dragLabel: 'true',\n\t        dragMax: '255'\n\t      })\n\t    ),\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.single },\n\t      _react2.default.createElement(_common.EditableInput, {\n\t        style: { input: styles.input, label: styles.label },\n\t        label: 'g',\n\t        value: rgb.g,\n\t        onChange: handleChange,\n\t        dragLabel: 'true',\n\t        dragMax: '255'\n\t      })\n\t    ),\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.single },\n\t      _react2.default.createElement(_common.EditableInput, {\n\t        style: { input: styles.input, label: styles.label },\n\t        label: 'b',\n\t        value: rgb.b,\n\t        onChange: handleChange,\n\t        dragLabel: 'true',\n\t        dragMax: '255'\n\t      })\n\t    ),\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.alpha },\n\t      _react2.default.createElement(_common.EditableInput, {\n\t        style: { input: styles.input, label: styles.label },\n\t        label: 'a',\n\t        value: Math.round(rgb.a * 100),\n\t        onChange: handleChange,\n\t        dragLabel: 'true',\n\t        dragMax: '100'\n\t      })\n\t    )\n\t  );\n\t};\n\t\n\texports.default = SketchFields;\n\n/***/ }),\n/* 394 */\n/*!********************************************************************!*\\\n  !*** ../~/react-color/lib/components/sketch/SketchPresetColors.js ***!\n  \\********************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.SketchPresetColors = undefined;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _common = __webpack_require__(/*! ../common */ 191);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar SketchPresetColors = exports.SketchPresetColors = function SketchPresetColors(_ref) {\n\t  var colors = _ref.colors,\n\t      _ref$onClick = _ref.onClick,\n\t      onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,\n\t      onSwatchHover = _ref.onSwatchHover;\n\t\n\t  var styles = (0, _reactcss2.default)({\n\t    'default': {\n\t      colors: {\n\t        margin: '0 -10px',\n\t        padding: '10px 0 0 10px',\n\t        borderTop: '1px solid #eee',\n\t        display: 'flex',\n\t        flexWrap: 'wrap',\n\t        position: 'relative'\n\t      },\n\t      swatchWrap: {\n\t        width: '16px',\n\t        height: '16px',\n\t        margin: '0 10px 10px 0'\n\t      },\n\t      swatch: {\n\t        borderRadius: '3px',\n\t        boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.15)'\n\t      }\n\t    },\n\t    'no-presets': {\n\t      colors: {\n\t        display: 'none'\n\t      }\n\t    }\n\t  }, {\n\t    'no-presets': !colors || !colors.length\n\t  });\n\t\n\t  var handleClick = function handleClick(hex, e) {\n\t    onClick({\n\t      hex: hex,\n\t      source: 'hex'\n\t    }, e);\n\t  };\n\t\n\t  return _react2.default.createElement(\n\t    'div',\n\t    { style: styles.colors, className: 'flexbox-fix' },\n\t    colors.map(function (colorObjOrString) {\n\t      var c = typeof colorObjOrString === 'string' ? { color: colorObjOrString } : colorObjOrString;\n\t      var key = '' + c.color + (c.title || '');\n\t      return _react2.default.createElement(\n\t        'div',\n\t        { key: key, style: styles.swatchWrap },\n\t        _react2.default.createElement(_common.Swatch, _extends({}, c, {\n\t          style: styles.swatch,\n\t          onClick: handleClick,\n\t          onHover: onSwatchHover,\n\t          focusStyle: {\n\t            boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.15), 0 0 4px ' + c.color\n\t          }\n\t        }))\n\t      );\n\t    })\n\t  );\n\t};\n\t\n\tSketchPresetColors.propTypes = {\n\t  colors: _propTypes2.default.arrayOf(_propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n\t    color: _propTypes2.default.string,\n\t    title: _propTypes2.default.string\n\t  })])).isRequired\n\t};\n\t\n\texports.default = SketchPresetColors;\n\n/***/ }),\n/* 395 */\n/*!********************************************************!*\\\n  !*** ../~/react-color/lib/components/slider/Slider.js ***!\n  \\********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.Slider = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _merge = __webpack_require__(/*! lodash/merge */ 200);\n\t\n\tvar _merge2 = _interopRequireDefault(_merge);\n\t\n\tvar _common = __webpack_require__(/*! ../common */ 191);\n\t\n\tvar _SliderSwatches = __webpack_require__(/*! ./SliderSwatches */ 396);\n\t\n\tvar _SliderSwatches2 = _interopRequireDefault(_SliderSwatches);\n\t\n\tvar _SliderPointer = __webpack_require__(/*! ./SliderPointer */ 398);\n\t\n\tvar _SliderPointer2 = _interopRequireDefault(_SliderPointer);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar Slider = exports.Slider = function Slider(_ref) {\n\t  var hsl = _ref.hsl,\n\t      onChange = _ref.onChange,\n\t      pointer = _ref.pointer,\n\t      _ref$styles = _ref.styles,\n\t      passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n\t      _ref$className = _ref.className,\n\t      className = _ref$className === undefined ? '' : _ref$className;\n\t\n\t  var styles = (0, _reactcss2.default)((0, _merge2.default)({\n\t    'default': {\n\t      hue: {\n\t        height: '12px',\n\t        position: 'relative'\n\t      },\n\t      Hue: {\n\t        radius: '2px'\n\t      }\n\t    }\n\t  }, passedStyles));\n\t\n\t  return _react2.default.createElement(\n\t    'div',\n\t    { style: styles.wrap || {}, className: 'slider-picker ' + className },\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.hue },\n\t      _react2.default.createElement(_common.Hue, {\n\t        style: styles.Hue,\n\t        hsl: hsl,\n\t        pointer: pointer,\n\t        onChange: onChange\n\t      })\n\t    ),\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.swatches },\n\t      _react2.default.createElement(_SliderSwatches2.default, { hsl: hsl, onClick: onChange })\n\t    )\n\t  );\n\t};\n\t\n\tSlider.propTypes = {\n\t  styles: _propTypes2.default.object\n\t};\n\tSlider.defaultProps = {\n\t  pointer: _SliderPointer2.default,\n\t  styles: {}\n\t};\n\t\n\texports.default = (0, _common.ColorWrap)(Slider);\n\n/***/ }),\n/* 396 */\n/*!****************************************************************!*\\\n  !*** ../~/react-color/lib/components/slider/SliderSwatches.js ***!\n  \\****************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.SliderSwatches = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _SliderSwatch = __webpack_require__(/*! ./SliderSwatch */ 397);\n\t\n\tvar _SliderSwatch2 = _interopRequireDefault(_SliderSwatch);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar SliderSwatches = exports.SliderSwatches = function SliderSwatches(_ref) {\n\t  var onClick = _ref.onClick,\n\t      hsl = _ref.hsl;\n\t\n\t  var styles = (0, _reactcss2.default)({\n\t    'default': {\n\t      swatches: {\n\t        marginTop: '20px'\n\t      },\n\t      swatch: {\n\t        boxSizing: 'border-box',\n\t        width: '20%',\n\t        paddingRight: '1px',\n\t        float: 'left'\n\t      },\n\t      clear: {\n\t        clear: 'both'\n\t      }\n\t    }\n\t  });\n\t\n\t  // Acceptible difference in floating point equality\n\t  var epsilon = 0.1;\n\t\n\t  return _react2.default.createElement(\n\t    'div',\n\t    { style: styles.swatches },\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.swatch },\n\t      _react2.default.createElement(_SliderSwatch2.default, {\n\t        hsl: hsl,\n\t        offset: '.80',\n\t        active: Math.abs(hsl.l - 0.80) < epsilon && Math.abs(hsl.s - 0.50) < epsilon,\n\t        onClick: onClick,\n\t        first: true\n\t      })\n\t    ),\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.swatch },\n\t      _react2.default.createElement(_SliderSwatch2.default, {\n\t        hsl: hsl,\n\t        offset: '.65',\n\t        active: Math.abs(hsl.l - 0.65) < epsilon && Math.abs(hsl.s - 0.50) < epsilon,\n\t        onClick: onClick\n\t      })\n\t    ),\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.swatch },\n\t      _react2.default.createElement(_SliderSwatch2.default, {\n\t        hsl: hsl,\n\t        offset: '.50',\n\t        active: Math.abs(hsl.l - 0.50) < epsilon && Math.abs(hsl.s - 0.50) < epsilon,\n\t        onClick: onClick\n\t      })\n\t    ),\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.swatch },\n\t      _react2.default.createElement(_SliderSwatch2.default, {\n\t        hsl: hsl,\n\t        offset: '.35',\n\t        active: Math.abs(hsl.l - 0.35) < epsilon && Math.abs(hsl.s - 0.50) < epsilon,\n\t        onClick: onClick\n\t      })\n\t    ),\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.swatch },\n\t      _react2.default.createElement(_SliderSwatch2.default, {\n\t        hsl: hsl,\n\t        offset: '.20',\n\t        active: Math.abs(hsl.l - 0.20) < epsilon && Math.abs(hsl.s - 0.50) < epsilon,\n\t        onClick: onClick,\n\t        last: true\n\t      })\n\t    ),\n\t    _react2.default.createElement('div', { style: styles.clear })\n\t  );\n\t};\n\t\n\texports.default = SliderSwatches;\n\n/***/ }),\n/* 397 */\n/*!**************************************************************!*\\\n  !*** ../~/react-color/lib/components/slider/SliderSwatch.js ***!\n  \\**************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.SliderSwatch = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar SliderSwatch = exports.SliderSwatch = function SliderSwatch(_ref) {\n\t  var hsl = _ref.hsl,\n\t      offset = _ref.offset,\n\t      _ref$onClick = _ref.onClick,\n\t      onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,\n\t      active = _ref.active,\n\t      first = _ref.first,\n\t      last = _ref.last;\n\t\n\t  var styles = (0, _reactcss2.default)({\n\t    'default': {\n\t      swatch: {\n\t        height: '12px',\n\t        background: 'hsl(' + hsl.h + ', 50%, ' + offset * 100 + '%)',\n\t        cursor: 'pointer'\n\t      }\n\t    },\n\t    'first': {\n\t      swatch: {\n\t        borderRadius: '2px 0 0 2px'\n\t      }\n\t    },\n\t    'last': {\n\t      swatch: {\n\t        borderRadius: '0 2px 2px 0'\n\t      }\n\t    },\n\t    'active': {\n\t      swatch: {\n\t        transform: 'scaleY(1.8)',\n\t        borderRadius: '3.6px/2px'\n\t      }\n\t    }\n\t  }, { active: active, first: first, last: last });\n\t\n\t  var handleClick = function handleClick(e) {\n\t    return onClick({\n\t      h: hsl.h,\n\t      s: 0.5,\n\t      l: offset,\n\t      source: 'hsl'\n\t    }, e);\n\t  };\n\t\n\t  return _react2.default.createElement('div', { style: styles.swatch, onClick: handleClick });\n\t};\n\t\n\texports.default = SliderSwatch;\n\n/***/ }),\n/* 398 */\n/*!***************************************************************!*\\\n  !*** ../~/react-color/lib/components/slider/SliderPointer.js ***!\n  \\***************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.SliderPointer = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar SliderPointer = exports.SliderPointer = function SliderPointer() {\n\t  var styles = (0, _reactcss2.default)({\n\t    'default': {\n\t      picker: {\n\t        width: '14px',\n\t        height: '14px',\n\t        borderRadius: '6px',\n\t        transform: 'translate(-7px, -1px)',\n\t        backgroundColor: 'rgb(248, 248, 248)',\n\t        boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)'\n\t      }\n\t    }\n\t  });\n\t\n\t  return _react2.default.createElement('div', { style: styles.picker });\n\t};\n\t\n\texports.default = SliderPointer;\n\n/***/ }),\n/* 399 */\n/*!************************************************************!*\\\n  !*** ../~/react-color/lib/components/swatches/Swatches.js ***!\n  \\************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.Swatches = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _map = __webpack_require__(/*! lodash/map */ 321);\n\t\n\tvar _map2 = _interopRequireDefault(_map);\n\t\n\tvar _merge = __webpack_require__(/*! lodash/merge */ 200);\n\t\n\tvar _merge2 = _interopRequireDefault(_merge);\n\t\n\tvar _color = __webpack_require__(/*! ../../helpers/color */ 304);\n\t\n\tvar _color2 = _interopRequireDefault(_color);\n\t\n\tvar _materialColors = __webpack_require__(/*! material-colors */ 371);\n\t\n\tvar material = _interopRequireWildcard(_materialColors);\n\t\n\tvar _common = __webpack_require__(/*! ../common */ 191);\n\t\n\tvar _SwatchesGroup = __webpack_require__(/*! ./SwatchesGroup */ 400);\n\t\n\tvar _SwatchesGroup2 = _interopRequireDefault(_SwatchesGroup);\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar Swatches = exports.Swatches = function Swatches(_ref) {\n\t  var width = _ref.width,\n\t      height = _ref.height,\n\t      onChange = _ref.onChange,\n\t      onSwatchHover = _ref.onSwatchHover,\n\t      colors = _ref.colors,\n\t      hex = _ref.hex,\n\t      _ref$styles = _ref.styles,\n\t      passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n\t      _ref$className = _ref.className,\n\t      className = _ref$className === undefined ? '' : _ref$className;\n\t\n\t  var styles = (0, _reactcss2.default)((0, _merge2.default)({\n\t    'default': {\n\t      picker: {\n\t        width: width,\n\t        height: height\n\t      },\n\t      overflow: {\n\t        height: height,\n\t        overflowY: 'scroll'\n\t      },\n\t      body: {\n\t        padding: '16px 0 6px 16px'\n\t      },\n\t      clear: {\n\t        clear: 'both'\n\t      }\n\t    }\n\t  }, passedStyles));\n\t\n\t  var handleChange = function handleChange(data, e) {\n\t    _color2.default.isValidHex(data) && onChange({\n\t      hex: data,\n\t      source: 'hex'\n\t    }, e);\n\t  };\n\t\n\t  return _react2.default.createElement(\n\t    'div',\n\t    { style: styles.picker, className: 'swatches-picker ' + className },\n\t    _react2.default.createElement(\n\t      _common.Raised,\n\t      null,\n\t      _react2.default.createElement(\n\t        'div',\n\t        { style: styles.overflow },\n\t        _react2.default.createElement(\n\t          'div',\n\t          { style: styles.body },\n\t          (0, _map2.default)(colors, function (group) {\n\t            return _react2.default.createElement(_SwatchesGroup2.default, {\n\t              key: group.toString(),\n\t              group: group,\n\t              active: hex,\n\t              onClick: handleChange,\n\t              onSwatchHover: onSwatchHover\n\t            });\n\t          }),\n\t          _react2.default.createElement('div', { style: styles.clear })\n\t        )\n\t      )\n\t    )\n\t  );\n\t};\n\t\n\tSwatches.propTypes = {\n\t  width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n\t  height: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n\t  colors: _propTypes2.default.arrayOf(_propTypes2.default.arrayOf(_propTypes2.default.string)),\n\t  styles: _propTypes2.default.object\n\t\n\t  /* eslint-disable max-len */\n\t};Swatches.defaultProps = {\n\t  width: 320,\n\t  height: 240,\n\t  colors: [[material.red['900'], material.red['700'], material.red['500'], material.red['300'], material.red['100']], [material.pink['900'], material.pink['700'], material.pink['500'], material.pink['300'], material.pink['100']], [material.purple['900'], material.purple['700'], material.purple['500'], material.purple['300'], material.purple['100']], [material.deepPurple['900'], material.deepPurple['700'], material.deepPurple['500'], material.deepPurple['300'], material.deepPurple['100']], [material.indigo['900'], material.indigo['700'], material.indigo['500'], material.indigo['300'], material.indigo['100']], [material.blue['900'], material.blue['700'], material.blue['500'], material.blue['300'], material.blue['100']], [material.lightBlue['900'], material.lightBlue['700'], material.lightBlue['500'], material.lightBlue['300'], material.lightBlue['100']], [material.cyan['900'], material.cyan['700'], material.cyan['500'], material.cyan['300'], material.cyan['100']], [material.teal['900'], material.teal['700'], material.teal['500'], material.teal['300'], material.teal['100']], ['#194D33', material.green['700'], material.green['500'], material.green['300'], material.green['100']], [material.lightGreen['900'], material.lightGreen['700'], material.lightGreen['500'], material.lightGreen['300'], material.lightGreen['100']], [material.lime['900'], material.lime['700'], material.lime['500'], material.lime['300'], material.lime['100']], [material.yellow['900'], material.yellow['700'], material.yellow['500'], material.yellow['300'], material.yellow['100']], [material.amber['900'], material.amber['700'], material.amber['500'], material.amber['300'], material.amber['100']], [material.orange['900'], material.orange['700'], material.orange['500'], material.orange['300'], material.orange['100']], [material.deepOrange['900'], material.deepOrange['700'], material.deepOrange['500'], material.deepOrange['300'], material.deepOrange['100']], [material.brown['900'], material.brown['700'], material.brown['500'], material.brown['300'], material.brown['100']], [material.blueGrey['900'], material.blueGrey['700'], material.blueGrey['500'], material.blueGrey['300'], material.blueGrey['100']], ['#000000', '#525252', '#969696', '#D9D9D9', '#FFFFFF']],\n\t  styles: {}\n\t};\n\t\n\texports.default = (0, _common.ColorWrap)(Swatches);\n\n/***/ }),\n/* 400 */\n/*!*****************************************************************!*\\\n  !*** ../~/react-color/lib/components/swatches/SwatchesGroup.js ***!\n  \\*****************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.SwatchesGroup = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _map = __webpack_require__(/*! lodash/map */ 321);\n\t\n\tvar _map2 = _interopRequireDefault(_map);\n\t\n\tvar _SwatchesColor = __webpack_require__(/*! ./SwatchesColor */ 401);\n\t\n\tvar _SwatchesColor2 = _interopRequireDefault(_SwatchesColor);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar SwatchesGroup = exports.SwatchesGroup = function SwatchesGroup(_ref) {\n\t  var onClick = _ref.onClick,\n\t      onSwatchHover = _ref.onSwatchHover,\n\t      group = _ref.group,\n\t      active = _ref.active;\n\t\n\t  var styles = (0, _reactcss2.default)({\n\t    'default': {\n\t      group: {\n\t        paddingBottom: '10px',\n\t        width: '40px',\n\t        float: 'left',\n\t        marginRight: '10px'\n\t      }\n\t    }\n\t  });\n\t\n\t  return _react2.default.createElement(\n\t    'div',\n\t    { style: styles.group },\n\t    (0, _map2.default)(group, function (color, i) {\n\t      return _react2.default.createElement(_SwatchesColor2.default, {\n\t        key: color,\n\t        color: color,\n\t        active: color.toLowerCase() === active,\n\t        first: i === 0,\n\t        last: i === group.length - 1,\n\t        onClick: onClick,\n\t        onSwatchHover: onSwatchHover\n\t      });\n\t    })\n\t  );\n\t};\n\t\n\texports.default = SwatchesGroup;\n\n/***/ }),\n/* 401 */\n/*!*****************************************************************!*\\\n  !*** ../~/react-color/lib/components/swatches/SwatchesColor.js ***!\n  \\*****************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.SwatchesColor = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _color = __webpack_require__(/*! ../../helpers/color */ 304);\n\t\n\tvar _color2 = _interopRequireDefault(_color);\n\t\n\tvar _common = __webpack_require__(/*! ../common */ 191);\n\t\n\tvar _CheckIcon = __webpack_require__(/*! @icons/material/CheckIcon */ 402);\n\t\n\tvar _CheckIcon2 = _interopRequireDefault(_CheckIcon);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar SwatchesColor = exports.SwatchesColor = function SwatchesColor(_ref) {\n\t  var color = _ref.color,\n\t      _ref$onClick = _ref.onClick,\n\t      onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,\n\t      onSwatchHover = _ref.onSwatchHover,\n\t      first = _ref.first,\n\t      last = _ref.last,\n\t      active = _ref.active;\n\t\n\t  var styles = (0, _reactcss2.default)({\n\t    'default': {\n\t      color: {\n\t        width: '40px',\n\t        height: '24px',\n\t        cursor: 'pointer',\n\t        background: color,\n\t        marginBottom: '1px'\n\t      },\n\t      check: {\n\t        color: _color2.default.getContrastingColor(color),\n\t        marginLeft: '8px',\n\t        display: 'none'\n\t      }\n\t    },\n\t    'first': {\n\t      color: {\n\t        overflow: 'hidden',\n\t        borderRadius: '2px 2px 0 0'\n\t      }\n\t    },\n\t    'last': {\n\t      color: {\n\t        overflow: 'hidden',\n\t        borderRadius: '0 0 2px 2px'\n\t      }\n\t    },\n\t    'active': {\n\t      check: {\n\t        display: 'block'\n\t      }\n\t    },\n\t    'color-#FFFFFF': {\n\t      color: {\n\t        boxShadow: 'inset 0 0 0 1px #ddd'\n\t      },\n\t      check: {\n\t        color: '#333'\n\t      }\n\t    },\n\t    'transparent': {\n\t      check: {\n\t        color: '#333'\n\t      }\n\t    }\n\t  }, {\n\t    first: first,\n\t    last: last,\n\t    active: active,\n\t    'color-#FFFFFF': color === '#FFFFFF',\n\t    'transparent': color === 'transparent'\n\t  });\n\t\n\t  return _react2.default.createElement(\n\t    _common.Swatch,\n\t    {\n\t      color: color,\n\t      style: styles.color,\n\t      onClick: onClick,\n\t      onHover: onSwatchHover,\n\t      focusStyle: { boxShadow: '0 0 4px ' + color }\n\t    },\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.check },\n\t      _react2.default.createElement(_CheckIcon2.default, null)\n\t    )\n\t  );\n\t};\n\t\n\texports.default = SwatchesColor;\n\n/***/ }),\n/* 402 */\n/*!*****************************************!*\\\n  !*** ../~/@icons/material/CheckIcon.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\t\n\tvar DEFAULT_SIZE = 24;\n\t\n\texports.default = function (_ref) {\n\t  var _ref$fill = _ref.fill,\n\t      fill = _ref$fill === undefined ? 'currentColor' : _ref$fill,\n\t      _ref$width = _ref.width,\n\t      width = _ref$width === undefined ? DEFAULT_SIZE : _ref$width,\n\t      _ref$height = _ref.height,\n\t      height = _ref$height === undefined ? DEFAULT_SIZE : _ref$height,\n\t      _ref$style = _ref.style,\n\t      style = _ref$style === undefined ? {} : _ref$style,\n\t      props = _objectWithoutProperties(_ref, ['fill', 'width', 'height', 'style']);\n\t\n\t  return _react2.default.createElement(\n\t    'svg',\n\t    _extends({\n\t      viewBox: '0 0 ' + DEFAULT_SIZE + ' ' + DEFAULT_SIZE,\n\t      style: _extends({ fill: fill, width: width, height: height }, style)\n\t    }, props),\n\t    _react2.default.createElement('path', { d: 'M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z' })\n\t  );\n\t};\n\n/***/ }),\n/* 403 */\n/*!**********************************************************!*\\\n  !*** ../~/react-color/lib/components/twitter/Twitter.js ***!\n  \\**********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.Twitter = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _reactcss = __webpack_require__(/*! reactcss */ 27);\n\t\n\tvar _reactcss2 = _interopRequireDefault(_reactcss);\n\t\n\tvar _map = __webpack_require__(/*! lodash/map */ 321);\n\t\n\tvar _map2 = _interopRequireDefault(_map);\n\t\n\tvar _merge = __webpack_require__(/*! lodash/merge */ 200);\n\t\n\tvar _merge2 = _interopRequireDefault(_merge);\n\t\n\tvar _color = __webpack_require__(/*! ../../helpers/color */ 304);\n\t\n\tvar _color2 = _interopRequireDefault(_color);\n\t\n\tvar _common = __webpack_require__(/*! ../common */ 191);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar Twitter = exports.Twitter = function Twitter(_ref) {\n\t  var onChange = _ref.onChange,\n\t      onSwatchHover = _ref.onSwatchHover,\n\t      hex = _ref.hex,\n\t      colors = _ref.colors,\n\t      width = _ref.width,\n\t      triangle = _ref.triangle,\n\t      _ref$styles = _ref.styles,\n\t      passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n\t      _ref$className = _ref.className,\n\t      className = _ref$className === undefined ? '' : _ref$className;\n\t\n\t  var styles = (0, _reactcss2.default)((0, _merge2.default)({\n\t    'default': {\n\t      card: {\n\t        width: width,\n\t        background: '#fff',\n\t        border: '0 solid rgba(0,0,0,0.25)',\n\t        boxShadow: '0 1px 4px rgba(0,0,0,0.25)',\n\t        borderRadius: '4px',\n\t        position: 'relative'\n\t      },\n\t      body: {\n\t        padding: '15px 9px 9px 15px'\n\t      },\n\t      label: {\n\t        fontSize: '18px',\n\t        color: '#fff'\n\t      },\n\t      triangle: {\n\t        width: '0px',\n\t        height: '0px',\n\t        borderStyle: 'solid',\n\t        borderWidth: '0 9px 10px 9px',\n\t        borderColor: 'transparent transparent #fff transparent',\n\t        position: 'absolute'\n\t      },\n\t      triangleShadow: {\n\t        width: '0px',\n\t        height: '0px',\n\t        borderStyle: 'solid',\n\t        borderWidth: '0 9px 10px 9px',\n\t        borderColor: 'transparent transparent rgba(0,0,0,.1) transparent',\n\t        position: 'absolute'\n\t      },\n\t      hash: {\n\t        background: '#F0F0F0',\n\t        height: '30px',\n\t        width: '30px',\n\t        borderRadius: '4px 0 0 4px',\n\t        float: 'left',\n\t        color: '#98A1A4',\n\t        display: 'flex',\n\t        alignItems: 'center',\n\t        justifyContent: 'center'\n\t      },\n\t      input: {\n\t        width: '100px',\n\t        fontSize: '14px',\n\t        color: '#666',\n\t        border: '0px',\n\t        outline: 'none',\n\t        height: '28px',\n\t        boxShadow: 'inset 0 0 0 1px #F0F0F0',\n\t        boxSizing: 'content-box',\n\t        borderRadius: '0 4px 4px 0',\n\t        float: 'left',\n\t        paddingLeft: '8px'\n\t      },\n\t      swatch: {\n\t        width: '30px',\n\t        height: '30px',\n\t        float: 'left',\n\t        borderRadius: '4px',\n\t        margin: '0 6px 6px 0'\n\t      },\n\t      clear: {\n\t        clear: 'both'\n\t      }\n\t    },\n\t    'hide-triangle': {\n\t      triangle: {\n\t        display: 'none'\n\t      },\n\t      triangleShadow: {\n\t        display: 'none'\n\t      }\n\t    },\n\t    'top-left-triangle': {\n\t      triangle: {\n\t        top: '-10px',\n\t        left: '12px'\n\t      },\n\t      triangleShadow: {\n\t        top: '-11px',\n\t        left: '12px'\n\t      }\n\t    },\n\t    'top-right-triangle': {\n\t      triangle: {\n\t        top: '-10px',\n\t        right: '12px'\n\t      },\n\t      triangleShadow: {\n\t        top: '-11px',\n\t        right: '12px'\n\t      }\n\t    }\n\t  }, passedStyles), {\n\t    'hide-triangle': triangle === 'hide',\n\t    'top-left-triangle': triangle === 'top-left',\n\t    'top-right-triangle': triangle === 'top-right'\n\t  });\n\t\n\t  var handleChange = function handleChange(hexcode, e) {\n\t    _color2.default.isValidHex(hexcode) && onChange({\n\t      hex: hexcode,\n\t      source: 'hex'\n\t    }, e);\n\t  };\n\t\n\t  return _react2.default.createElement(\n\t    'div',\n\t    { style: styles.card, className: 'twitter-picker ' + className },\n\t    _react2.default.createElement('div', { style: styles.triangleShadow }),\n\t    _react2.default.createElement('div', { style: styles.triangle }),\n\t    _react2.default.createElement(\n\t      'div',\n\t      { style: styles.body },\n\t      (0, _map2.default)(colors, function (c, i) {\n\t        return _react2.default.createElement(_common.Swatch, {\n\t          key: i,\n\t          color: c,\n\t          hex: c,\n\t          style: styles.swatch,\n\t          onClick: handleChange,\n\t          onHover: onSwatchHover,\n\t          focusStyle: {\n\t            boxShadow: '0 0 4px ' + c\n\t          }\n\t        });\n\t      }),\n\t      _react2.default.createElement(\n\t        'div',\n\t        { style: styles.hash },\n\t        '#'\n\t      ),\n\t      _react2.default.createElement(_common.EditableInput, {\n\t        label: null,\n\t        style: { input: styles.input },\n\t        value: hex.replace('#', ''),\n\t        onChange: handleChange\n\t      }),\n\t      _react2.default.createElement('div', { style: styles.clear })\n\t    )\n\t  );\n\t};\n\t\n\tTwitter.propTypes = {\n\t  width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n\t  triangle: _propTypes2.default.oneOf(['hide', 'top-left', 'top-right']),\n\t  colors: _propTypes2.default.arrayOf(_propTypes2.default.string),\n\t  styles: _propTypes2.default.object\n\t};\n\t\n\tTwitter.defaultProps = {\n\t  width: 276,\n\t  colors: ['#FF6900', '#FCB900', '#7BDCB5', '#00D084', '#8ED1FC', '#0693E3', '#ABB8C3', '#EB144C', '#F78DA7', '#9900EF'],\n\t  triangle: 'top-left',\n\t  styles: {}\n\t};\n\t\n\texports.default = (0, _common.ColorWrap)(Twitter);\n\n/***/ }),\n/* 404 */\n/*!***************************!*\\\n  !*** ../~/color/index.js ***!\n  \\***************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar colorString = __webpack_require__(/*! color-string */ 405);\n\tvar convert = __webpack_require__(/*! color-convert */ 409);\n\t\n\tvar _slice = [].slice;\n\t\n\tvar skippedModels = [\n\t\t// to be honest, I don't really feel like keyword belongs in color convert, but eh.\n\t\t'keyword',\n\t\n\t\t// gray conflicts with some method names, and has its own method defined.\n\t\t'gray',\n\t\n\t\t// shouldn't really be in color-convert either...\n\t\t'hex'\n\t];\n\t\n\tvar hashedModelKeys = {};\n\tObject.keys(convert).forEach(function (model) {\n\t\thashedModelKeys[_slice.call(convert[model].labels).sort().join('')] = model;\n\t});\n\t\n\tvar limiters = {};\n\t\n\tfunction Color(obj, model) {\n\t\tif (!(this instanceof Color)) {\n\t\t\treturn new Color(obj, model);\n\t\t}\n\t\n\t\tif (model && model in skippedModels) {\n\t\t\tmodel = null;\n\t\t}\n\t\n\t\tif (model && !(model in convert)) {\n\t\t\tthrow new Error('Unknown model: ' + model);\n\t\t}\n\t\n\t\tvar i;\n\t\tvar channels;\n\t\n\t\tif (typeof obj === 'undefined') {\n\t\t\tthis.model = 'rgb';\n\t\t\tthis.color = [0, 0, 0];\n\t\t\tthis.valpha = 1;\n\t\t} else if (obj instanceof Color) {\n\t\t\tthis.model = obj.model;\n\t\t\tthis.color = obj.color.slice();\n\t\t\tthis.valpha = obj.valpha;\n\t\t} else if (typeof obj === 'string') {\n\t\t\tvar result = colorString.get(obj);\n\t\t\tif (result === null) {\n\t\t\t\tthrow new Error('Unable to parse color from string: ' + obj);\n\t\t\t}\n\t\n\t\t\tthis.model = result.model;\n\t\t\tchannels = convert[this.model].channels;\n\t\t\tthis.color = result.value.slice(0, channels);\n\t\t\tthis.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;\n\t\t} else if (obj.length) {\n\t\t\tthis.model = model || 'rgb';\n\t\t\tchannels = convert[this.model].channels;\n\t\t\tvar newArr = _slice.call(obj, 0, channels);\n\t\t\tthis.color = zeroArray(newArr, channels);\n\t\t\tthis.valpha = typeof obj[channels] === 'number' ? obj[channels] : 1;\n\t\t} else if (typeof obj === 'number') {\n\t\t\t// this is always RGB - can be converted later on.\n\t\t\tobj &= 0xFFFFFF;\n\t\t\tthis.model = 'rgb';\n\t\t\tthis.color = [\n\t\t\t\t(obj >> 16) & 0xFF,\n\t\t\t\t(obj >> 8) & 0xFF,\n\t\t\t\tobj & 0xFF\n\t\t\t];\n\t\t\tthis.valpha = 1;\n\t\t} else {\n\t\t\tthis.valpha = 1;\n\t\n\t\t\tvar keys = Object.keys(obj);\n\t\t\tif ('alpha' in obj) {\n\t\t\t\tkeys.splice(keys.indexOf('alpha'), 1);\n\t\t\t\tthis.valpha = typeof obj.alpha === 'number' ? obj.alpha : 0;\n\t\t\t}\n\t\n\t\t\tvar hashedKeys = keys.sort().join('');\n\t\t\tif (!(hashedKeys in hashedModelKeys)) {\n\t\t\t\tthrow new Error('Unable to parse color from object: ' + JSON.stringify(obj));\n\t\t\t}\n\t\n\t\t\tthis.model = hashedModelKeys[hashedKeys];\n\t\n\t\t\tvar labels = convert[this.model].labels;\n\t\t\tvar color = [];\n\t\t\tfor (i = 0; i < labels.length; i++) {\n\t\t\t\tcolor.push(obj[labels[i]]);\n\t\t\t}\n\t\n\t\t\tthis.color = zeroArray(color);\n\t\t}\n\t\n\t\t// perform limitations (clamping, etc.)\n\t\tif (limiters[this.model]) {\n\t\t\tchannels = convert[this.model].channels;\n\t\t\tfor (i = 0; i < channels; i++) {\n\t\t\t\tvar limit = limiters[this.model][i];\n\t\t\t\tif (limit) {\n\t\t\t\t\tthis.color[i] = limit(this.color[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\tthis.valpha = Math.max(0, Math.min(1, this.valpha));\n\t\n\t\tif (Object.freeze) {\n\t\t\tObject.freeze(this);\n\t\t}\n\t}\n\t\n\tColor.prototype = {\n\t\ttoString: function () {\n\t\t\treturn this.string();\n\t\t},\n\t\n\t\ttoJSON: function () {\n\t\t\treturn this[this.model]();\n\t\t},\n\t\n\t\tstring: function (places) {\n\t\t\tvar self = this.model in colorString.to ? this : this.rgb();\n\t\t\tself = self.round(typeof places === 'number' ? places : 1);\n\t\t\tvar args = self.valpha === 1 ? self.color : self.color.concat(this.valpha);\n\t\t\treturn colorString.to[self.model](args);\n\t\t},\n\t\n\t\tpercentString: function (places) {\n\t\t\tvar self = this.rgb().round(typeof places === 'number' ? places : 1);\n\t\t\tvar args = self.valpha === 1 ? self.color : self.color.concat(this.valpha);\n\t\t\treturn colorString.to.rgb.percent(args);\n\t\t},\n\t\n\t\tarray: function () {\n\t\t\treturn this.valpha === 1 ? this.color.slice() : this.color.concat(this.valpha);\n\t\t},\n\t\n\t\tobject: function () {\n\t\t\tvar result = {};\n\t\t\tvar channels = convert[this.model].channels;\n\t\t\tvar labels = convert[this.model].labels;\n\t\n\t\t\tfor (var i = 0; i < channels; i++) {\n\t\t\t\tresult[labels[i]] = this.color[i];\n\t\t\t}\n\t\n\t\t\tif (this.valpha !== 1) {\n\t\t\t\tresult.alpha = this.valpha;\n\t\t\t}\n\t\n\t\t\treturn result;\n\t\t},\n\t\n\t\tunitArray: function () {\n\t\t\tvar rgb = this.rgb().color;\n\t\t\trgb[0] /= 255;\n\t\t\trgb[1] /= 255;\n\t\t\trgb[2] /= 255;\n\t\n\t\t\tif (this.valpha !== 1) {\n\t\t\t\trgb.push(this.valpha);\n\t\t\t}\n\t\n\t\t\treturn rgb;\n\t\t},\n\t\n\t\tunitObject: function () {\n\t\t\tvar rgb = this.rgb().object();\n\t\t\trgb.r /= 255;\n\t\t\trgb.g /= 255;\n\t\t\trgb.b /= 255;\n\t\n\t\t\tif (this.valpha !== 1) {\n\t\t\t\trgb.alpha = this.valpha;\n\t\t\t}\n\t\n\t\t\treturn rgb;\n\t\t},\n\t\n\t\tround: function (places) {\n\t\t\tplaces = Math.max(places || 0, 0);\n\t\t\treturn new Color(this.color.map(roundToPlace(places)).concat(this.valpha), this.model);\n\t\t},\n\t\n\t\talpha: function (val) {\n\t\t\tif (arguments.length) {\n\t\t\t\treturn new Color(this.color.concat(Math.max(0, Math.min(1, val))), this.model);\n\t\t\t}\n\t\n\t\t\treturn this.valpha;\n\t\t},\n\t\n\t\t// rgb\n\t\tred: getset('rgb', 0, maxfn(255)),\n\t\tgreen: getset('rgb', 1, maxfn(255)),\n\t\tblue: getset('rgb', 2, maxfn(255)),\n\t\n\t\thue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, function (val) { return ((val % 360) + 360) % 360; }), // eslint-disable-line brace-style\n\t\n\t\tsaturationl: getset('hsl', 1, maxfn(100)),\n\t\tlightness: getset('hsl', 2, maxfn(100)),\n\t\n\t\tsaturationv: getset('hsv', 1, maxfn(100)),\n\t\tvalue: getset('hsv', 2, maxfn(100)),\n\t\n\t\tchroma: getset('hcg', 1, maxfn(100)),\n\t\tgray: getset('hcg', 2, maxfn(100)),\n\t\n\t\twhite: getset('hwb', 1, maxfn(100)),\n\t\twblack: getset('hwb', 2, maxfn(100)),\n\t\n\t\tcyan: getset('cmyk', 0, maxfn(100)),\n\t\tmagenta: getset('cmyk', 1, maxfn(100)),\n\t\tyellow: getset('cmyk', 2, maxfn(100)),\n\t\tblack: getset('cmyk', 3, maxfn(100)),\n\t\n\t\tx: getset('xyz', 0, maxfn(100)),\n\t\ty: getset('xyz', 1, maxfn(100)),\n\t\tz: getset('xyz', 2, maxfn(100)),\n\t\n\t\tl: getset('lab', 0, maxfn(100)),\n\t\ta: getset('lab', 1),\n\t\tb: getset('lab', 2),\n\t\n\t\tkeyword: function (val) {\n\t\t\tif (arguments.length) {\n\t\t\t\treturn new Color(val);\n\t\t\t}\n\t\n\t\t\treturn convert[this.model].keyword(this.color);\n\t\t},\n\t\n\t\thex: function (val) {\n\t\t\tif (arguments.length) {\n\t\t\t\treturn new Color(val);\n\t\t\t}\n\t\n\t\t\treturn colorString.to.hex(this.rgb().round().color);\n\t\t},\n\t\n\t\trgbNumber: function () {\n\t\t\tvar rgb = this.rgb().color;\n\t\t\treturn ((rgb[0] & 0xFF) << 16) | ((rgb[1] & 0xFF) << 8) | (rgb[2] & 0xFF);\n\t\t},\n\t\n\t\tluminosity: function () {\n\t\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\t\tvar rgb = this.rgb().color;\n\t\n\t\t\tvar lum = [];\n\t\t\tfor (var i = 0; i < rgb.length; i++) {\n\t\t\t\tvar chan = rgb[i] / 255;\n\t\t\t\tlum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);\n\t\t\t}\n\t\n\t\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t\t},\n\t\n\t\tcontrast: function (color2) {\n\t\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\t\tvar lum1 = this.luminosity();\n\t\t\tvar lum2 = color2.luminosity();\n\t\n\t\t\tif (lum1 > lum2) {\n\t\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t\t}\n\t\n\t\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t\t},\n\t\n\t\tlevel: function (color2) {\n\t\t\tvar contrastRatio = this.contrast(color2);\n\t\t\tif (contrastRatio >= 7.1) {\n\t\t\t\treturn 'AAA';\n\t\t\t}\n\t\n\t\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t\t},\n\t\n\t\tisDark: function () {\n\t\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\t\tvar rgb = this.rgb().color;\n\t\t\tvar yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n\t\t\treturn yiq < 128;\n\t\t},\n\t\n\t\tisLight: function () {\n\t\t\treturn !this.isDark();\n\t\t},\n\t\n\t\tnegate: function () {\n\t\t\tvar rgb = this.rgb();\n\t\t\tfor (var i = 0; i < 3; i++) {\n\t\t\t\trgb.color[i] = 255 - rgb.color[i];\n\t\t\t}\n\t\t\treturn rgb;\n\t\t},\n\t\n\t\tlighten: function (ratio) {\n\t\t\tvar hsl = this.hsl();\n\t\t\thsl.color[2] += hsl.color[2] * ratio;\n\t\t\treturn hsl;\n\t\t},\n\t\n\t\tdarken: function (ratio) {\n\t\t\tvar hsl = this.hsl();\n\t\t\thsl.color[2] -= hsl.color[2] * ratio;\n\t\t\treturn hsl;\n\t\t},\n\t\n\t\tsaturate: function (ratio) {\n\t\t\tvar hsl = this.hsl();\n\t\t\thsl.color[1] += hsl.color[1] * ratio;\n\t\t\treturn hsl;\n\t\t},\n\t\n\t\tdesaturate: function (ratio) {\n\t\t\tvar hsl = this.hsl();\n\t\t\thsl.color[1] -= hsl.color[1] * ratio;\n\t\t\treturn hsl;\n\t\t},\n\t\n\t\twhiten: function (ratio) {\n\t\t\tvar hwb = this.hwb();\n\t\t\thwb.color[1] += hwb.color[1] * ratio;\n\t\t\treturn hwb;\n\t\t},\n\t\n\t\tblacken: function (ratio) {\n\t\t\tvar hwb = this.hwb();\n\t\t\thwb.color[2] += hwb.color[2] * ratio;\n\t\t\treturn hwb;\n\t\t},\n\t\n\t\tgrayscale: function () {\n\t\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\t\tvar rgb = this.rgb().color;\n\t\t\tvar val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\t\treturn Color.rgb(val, val, val);\n\t\t},\n\t\n\t\tfade: function (ratio) {\n\t\t\treturn this.alpha(this.valpha - (this.valpha * ratio));\n\t\t},\n\t\n\t\topaquer: function (ratio) {\n\t\t\treturn this.alpha(this.valpha + (this.valpha * ratio));\n\t\t},\n\t\n\t\trotate: function (degrees) {\n\t\t\tvar hsl = this.hsl();\n\t\t\tvar hue = hsl.color[0];\n\t\t\thue = (hue + degrees) % 360;\n\t\t\thue = hue < 0 ? 360 + hue : hue;\n\t\t\thsl.color[0] = hue;\n\t\t\treturn hsl;\n\t\t},\n\t\n\t\tmix: function (mixinColor, weight) {\n\t\t\t// ported from sass implementation in C\n\t\t\t// https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t\t\tif (!mixinColor || !mixinColor.rgb) {\n\t\t\t\tthrow new Error('Argument to \"mix\" was not a Color instance, but rather an instance of ' + typeof mixinColor);\n\t\t\t}\n\t\t\tvar color1 = mixinColor.rgb();\n\t\t\tvar color2 = this.rgb();\n\t\t\tvar p = weight === undefined ? 0.5 : weight;\n\t\n\t\t\tvar w = 2 * p - 1;\n\t\t\tvar a = color1.alpha() - color2.alpha();\n\t\n\t\t\tvar w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\t\tvar w2 = 1 - w1;\n\t\n\t\t\treturn Color.rgb(\n\t\t\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\t\t\tw1 * color1.blue() + w2 * color2.blue(),\n\t\t\t\t\tcolor1.alpha() * p + color2.alpha() * (1 - p));\n\t\t}\n\t};\n\t\n\t// model conversion methods and static constructors\n\tObject.keys(convert).forEach(function (model) {\n\t\tif (skippedModels.indexOf(model) !== -1) {\n\t\t\treturn;\n\t\t}\n\t\n\t\tvar channels = convert[model].channels;\n\t\n\t\t// conversion methods\n\t\tColor.prototype[model] = function () {\n\t\t\tif (this.model === model) {\n\t\t\t\treturn new Color(this);\n\t\t\t}\n\t\n\t\t\tif (arguments.length) {\n\t\t\t\treturn new Color(arguments, model);\n\t\t\t}\n\t\n\t\t\tvar newAlpha = typeof arguments[channels] === 'number' ? channels : this.valpha;\n\t\t\treturn new Color(assertArray(convert[this.model][model].raw(this.color)).concat(newAlpha), model);\n\t\t};\n\t\n\t\t// 'static' construction methods\n\t\tColor[model] = function (color) {\n\t\t\tif (typeof color === 'number') {\n\t\t\t\tcolor = zeroArray(_slice.call(arguments), channels);\n\t\t\t}\n\t\t\treturn new Color(color, model);\n\t\t};\n\t});\n\t\n\tfunction roundTo(num, places) {\n\t\treturn Number(num.toFixed(places));\n\t}\n\t\n\tfunction roundToPlace(places) {\n\t\treturn function (num) {\n\t\t\treturn roundTo(num, places);\n\t\t};\n\t}\n\t\n\tfunction getset(model, channel, modifier) {\n\t\tmodel = Array.isArray(model) ? model : [model];\n\t\n\t\tmodel.forEach(function (m) {\n\t\t\t(limiters[m] || (limiters[m] = []))[channel] = modifier;\n\t\t});\n\t\n\t\tmodel = model[0];\n\t\n\t\treturn function (val) {\n\t\t\tvar result;\n\t\n\t\t\tif (arguments.length) {\n\t\t\t\tif (modifier) {\n\t\t\t\t\tval = modifier(val);\n\t\t\t\t}\n\t\n\t\t\t\tresult = this[model]();\n\t\t\t\tresult.color[channel] = val;\n\t\t\t\treturn result;\n\t\t\t}\n\t\n\t\t\tresult = this[model]().color[channel];\n\t\t\tif (modifier) {\n\t\t\t\tresult = modifier(result);\n\t\t\t}\n\t\n\t\t\treturn result;\n\t\t};\n\t}\n\t\n\tfunction maxfn(max) {\n\t\treturn function (v) {\n\t\t\treturn Math.max(0, Math.min(max, v));\n\t\t};\n\t}\n\t\n\tfunction assertArray(val) {\n\t\treturn Array.isArray(val) ? val : [val];\n\t}\n\t\n\tfunction zeroArray(arr, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tif (typeof arr[i] !== 'number') {\n\t\t\t\tarr[i] = 0;\n\t\t\t}\n\t\t}\n\t\n\t\treturn arr;\n\t}\n\t\n\tmodule.exports = Color;\n\n\n/***/ }),\n/* 405 */\n/*!**********************************!*\\\n  !*** ../~/color-string/index.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* MIT license */\n\tvar colorNames = __webpack_require__(/*! color-name */ 406);\n\tvar swizzle = __webpack_require__(/*! simple-swizzle */ 407);\n\t\n\tvar reverseNames = {};\n\t\n\t// create a list of reverse color names\n\tfor (var name in colorNames) {\n\t\tif (colorNames.hasOwnProperty(name)) {\n\t\t\treverseNames[colorNames[name]] = name;\n\t\t}\n\t}\n\t\n\tvar cs = module.exports = {\n\t\tto: {},\n\t\tget: {}\n\t};\n\t\n\tcs.get = function (string) {\n\t\tvar prefix = string.substring(0, 3).toLowerCase();\n\t\tvar val;\n\t\tvar model;\n\t\tswitch (prefix) {\n\t\t\tcase 'hsl':\n\t\t\t\tval = cs.get.hsl(string);\n\t\t\t\tmodel = 'hsl';\n\t\t\t\tbreak;\n\t\t\tcase 'hwb':\n\t\t\t\tval = cs.get.hwb(string);\n\t\t\t\tmodel = 'hwb';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tval = cs.get.rgb(string);\n\t\t\t\tmodel = 'rgb';\n\t\t\t\tbreak;\n\t\t}\n\t\n\t\tif (!val) {\n\t\t\treturn null;\n\t\t}\n\t\n\t\treturn {model: model, value: val};\n\t};\n\t\n\tcs.get.rgb = function (string) {\n\t\tif (!string) {\n\t\t\treturn null;\n\t\t}\n\t\n\t\tvar abbr = /^#([a-f0-9]{3,4})$/i;\n\t\tvar hex = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i;\n\t\tvar rgba = /^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\t\tvar per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\t\tvar keyword = /(\\D+)/;\n\t\n\t\tvar rgb = [0, 0, 0, 1];\n\t\tvar match;\n\t\tvar i;\n\t\tvar hexAlpha;\n\t\n\t\tif (match = string.match(hex)) {\n\t\t\thexAlpha = match[2];\n\t\t\tmatch = match[1];\n\t\n\t\t\tfor (i = 0; i < 3; i++) {\n\t\t\t\t// https://jsperf.com/slice-vs-substr-vs-substring-methods-long-string/19\n\t\t\t\tvar i2 = i * 2;\n\t\t\t\trgb[i] = parseInt(match.slice(i2, i2 + 2), 16);\n\t\t\t}\n\t\n\t\t\tif (hexAlpha) {\n\t\t\t\trgb[3] = Math.round((parseInt(hexAlpha, 16) / 255) * 100) / 100;\n\t\t\t}\n\t\t} else if (match = string.match(abbr)) {\n\t\t\tmatch = match[1];\n\t\t\thexAlpha = match[3];\n\t\n\t\t\tfor (i = 0; i < 3; i++) {\n\t\t\t\trgb[i] = parseInt(match[i] + match[i], 16);\n\t\t\t}\n\t\n\t\t\tif (hexAlpha) {\n\t\t\t\trgb[3] = Math.round((parseInt(hexAlpha + hexAlpha, 16) / 255) * 100) / 100;\n\t\t\t}\n\t\t} else if (match = string.match(rgba)) {\n\t\t\tfor (i = 0; i < 3; i++) {\n\t\t\t\trgb[i] = parseInt(match[i + 1], 0);\n\t\t\t}\n\t\n\t\t\tif (match[4]) {\n\t\t\t\trgb[3] = parseFloat(match[4]);\n\t\t\t}\n\t\t} else if (match = string.match(per)) {\n\t\t\tfor (i = 0; i < 3; i++) {\n\t\t\t\trgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n\t\t\t}\n\t\n\t\t\tif (match[4]) {\n\t\t\t\trgb[3] = parseFloat(match[4]);\n\t\t\t}\n\t\t} else if (match = string.match(keyword)) {\n\t\t\tif (match[1] === 'transparent') {\n\t\t\t\treturn [0, 0, 0, 0];\n\t\t\t}\n\t\n\t\t\trgb = colorNames[match[1]];\n\t\n\t\t\tif (!rgb) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\n\t\t\trgb[3] = 1;\n\t\n\t\t\treturn rgb;\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = clamp(rgb[i], 0, 255);\n\t\t}\n\t\trgb[3] = clamp(rgb[3], 0, 1);\n\t\n\t\treturn rgb;\n\t};\n\t\n\tcs.get.hsl = function (string) {\n\t\tif (!string) {\n\t\t\treturn null;\n\t\t}\n\t\n\t\tvar hsl = /^hsla?\\(\\s*([+-]?(?:\\d*\\.)?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\t\tvar match = string.match(hsl);\n\t\n\t\tif (match) {\n\t\t\tvar alpha = parseFloat(match[4]);\n\t\t\tvar h = (parseFloat(match[1]) + 360) % 360;\n\t\t\tvar s = clamp(parseFloat(match[2]), 0, 100);\n\t\t\tvar l = clamp(parseFloat(match[3]), 0, 100);\n\t\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\t\n\t\t\treturn [h, s, l, a];\n\t\t}\n\t\n\t\treturn null;\n\t};\n\t\n\tcs.get.hwb = function (string) {\n\t\tif (!string) {\n\t\t\treturn null;\n\t\t}\n\t\n\t\tvar hwb = /^hwb\\(\\s*([+-]?\\d*[\\.]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\t\tvar match = string.match(hwb);\n\t\n\t\tif (match) {\n\t\t\tvar alpha = parseFloat(match[4]);\n\t\t\tvar h = ((parseFloat(match[1]) % 360) + 360) % 360;\n\t\t\tvar w = clamp(parseFloat(match[2]), 0, 100);\n\t\t\tvar b = clamp(parseFloat(match[3]), 0, 100);\n\t\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\t\t\treturn [h, w, b, a];\n\t\t}\n\t\n\t\treturn null;\n\t};\n\t\n\tcs.to.hex = function () {\n\t\tvar rgba = swizzle(arguments);\n\t\n\t\treturn (\n\t\t\t'#' +\n\t\t\thexDouble(rgba[0]) +\n\t\t\thexDouble(rgba[1]) +\n\t\t\thexDouble(rgba[2]) +\n\t\t\t(rgba[3] < 1\n\t\t\t\t? (hexDouble(Math.round(rgba[3] * 255)))\n\t\t\t\t: '')\n\t\t);\n\t};\n\t\n\tcs.to.rgb = function () {\n\t\tvar rgba = swizzle(arguments);\n\t\n\t\treturn rgba.length < 4 || rgba[3] === 1\n\t\t\t? 'rgb(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ')'\n\t\t\t: 'rgba(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ', ' + rgba[3] + ')';\n\t};\n\t\n\tcs.to.rgb.percent = function () {\n\t\tvar rgba = swizzle(arguments);\n\t\n\t\tvar r = Math.round(rgba[0] / 255 * 100);\n\t\tvar g = Math.round(rgba[1] / 255 * 100);\n\t\tvar b = Math.round(rgba[2] / 255 * 100);\n\t\n\t\treturn rgba.length < 4 || rgba[3] === 1\n\t\t\t? 'rgb(' + r + '%, ' + g + '%, ' + b + '%)'\n\t\t\t: 'rgba(' + r + '%, ' + g + '%, ' + b + '%, ' + rgba[3] + ')';\n\t};\n\t\n\tcs.to.hsl = function () {\n\t\tvar hsla = swizzle(arguments);\n\t\treturn hsla.length < 4 || hsla[3] === 1\n\t\t\t? 'hsl(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%)'\n\t\t\t: 'hsla(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%, ' + hsla[3] + ')';\n\t};\n\t\n\t// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n\t// (hwb have alpha optional & 1 is default value)\n\tcs.to.hwb = function () {\n\t\tvar hwba = swizzle(arguments);\n\t\n\t\tvar a = '';\n\t\tif (hwba.length >= 4 && hwba[3] !== 1) {\n\t\t\ta = ', ' + hwba[3];\n\t\t}\n\t\n\t\treturn 'hwb(' + hwba[0] + ', ' + hwba[1] + '%, ' + hwba[2] + '%' + a + ')';\n\t};\n\t\n\tcs.to.keyword = function (rgb) {\n\t\treturn reverseNames[rgb.slice(0, 3)];\n\t};\n\t\n\t// helpers\n\tfunction clamp(num, min, max) {\n\t\treturn Math.min(Math.max(min, num), max);\n\t}\n\t\n\tfunction hexDouble(num) {\n\t\tvar str = num.toString(16).toUpperCase();\n\t\treturn (str.length < 2) ? '0' + str : str;\n\t}\n\n\n/***/ }),\n/* 406 */\n/*!********************************!*\\\n  !*** ../~/color-name/index.js ***!\n  \\********************************/\n/***/ (function(module, exports) {\n\n\t'use strict'\r\n\t\r\n\tmodule.exports = {\r\n\t\t\"aliceblue\": [240, 248, 255],\r\n\t\t\"antiquewhite\": [250, 235, 215],\r\n\t\t\"aqua\": [0, 255, 255],\r\n\t\t\"aquamarine\": [127, 255, 212],\r\n\t\t\"azure\": [240, 255, 255],\r\n\t\t\"beige\": [245, 245, 220],\r\n\t\t\"bisque\": [255, 228, 196],\r\n\t\t\"black\": [0, 0, 0],\r\n\t\t\"blanchedalmond\": [255, 235, 205],\r\n\t\t\"blue\": [0, 0, 255],\r\n\t\t\"blueviolet\": [138, 43, 226],\r\n\t\t\"brown\": [165, 42, 42],\r\n\t\t\"burlywood\": [222, 184, 135],\r\n\t\t\"cadetblue\": [95, 158, 160],\r\n\t\t\"chartreuse\": [127, 255, 0],\r\n\t\t\"chocolate\": [210, 105, 30],\r\n\t\t\"coral\": [255, 127, 80],\r\n\t\t\"cornflowerblue\": [100, 149, 237],\r\n\t\t\"cornsilk\": [255, 248, 220],\r\n\t\t\"crimson\": [220, 20, 60],\r\n\t\t\"cyan\": [0, 255, 255],\r\n\t\t\"darkblue\": [0, 0, 139],\r\n\t\t\"darkcyan\": [0, 139, 139],\r\n\t\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\t\"darkgray\": [169, 169, 169],\r\n\t\t\"darkgreen\": [0, 100, 0],\r\n\t\t\"darkgrey\": [169, 169, 169],\r\n\t\t\"darkkhaki\": [189, 183, 107],\r\n\t\t\"darkmagenta\": [139, 0, 139],\r\n\t\t\"darkolivegreen\": [85, 107, 47],\r\n\t\t\"darkorange\": [255, 140, 0],\r\n\t\t\"darkorchid\": [153, 50, 204],\r\n\t\t\"darkred\": [139, 0, 0],\r\n\t\t\"darksalmon\": [233, 150, 122],\r\n\t\t\"darkseagreen\": [143, 188, 143],\r\n\t\t\"darkslateblue\": [72, 61, 139],\r\n\t\t\"darkslategray\": [47, 79, 79],\r\n\t\t\"darkslategrey\": [47, 79, 79],\r\n\t\t\"darkturquoise\": [0, 206, 209],\r\n\t\t\"darkviolet\": [148, 0, 211],\r\n\t\t\"deeppink\": [255, 20, 147],\r\n\t\t\"deepskyblue\": [0, 191, 255],\r\n\t\t\"dimgray\": [105, 105, 105],\r\n\t\t\"dimgrey\": [105, 105, 105],\r\n\t\t\"dodgerblue\": [30, 144, 255],\r\n\t\t\"firebrick\": [178, 34, 34],\r\n\t\t\"floralwhite\": [255, 250, 240],\r\n\t\t\"forestgreen\": [34, 139, 34],\r\n\t\t\"fuchsia\": [255, 0, 255],\r\n\t\t\"gainsboro\": [220, 220, 220],\r\n\t\t\"ghostwhite\": [248, 248, 255],\r\n\t\t\"gold\": [255, 215, 0],\r\n\t\t\"goldenrod\": [218, 165, 32],\r\n\t\t\"gray\": [128, 128, 128],\r\n\t\t\"green\": [0, 128, 0],\r\n\t\t\"greenyellow\": [173, 255, 47],\r\n\t\t\"grey\": [128, 128, 128],\r\n\t\t\"honeydew\": [240, 255, 240],\r\n\t\t\"hotpink\": [255, 105, 180],\r\n\t\t\"indianred\": [205, 92, 92],\r\n\t\t\"indigo\": [75, 0, 130],\r\n\t\t\"ivory\": [255, 255, 240],\r\n\t\t\"khaki\": [240, 230, 140],\r\n\t\t\"lavender\": [230, 230, 250],\r\n\t\t\"lavenderblush\": [255, 240, 245],\r\n\t\t\"lawngreen\": [124, 252, 0],\r\n\t\t\"lemonchiffon\": [255, 250, 205],\r\n\t\t\"lightblue\": [173, 216, 230],\r\n\t\t\"lightcoral\": [240, 128, 128],\r\n\t\t\"lightcyan\": [224, 255, 255],\r\n\t\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\t\"lightgray\": [211, 211, 211],\r\n\t\t\"lightgreen\": [144, 238, 144],\r\n\t\t\"lightgrey\": [211, 211, 211],\r\n\t\t\"lightpink\": [255, 182, 193],\r\n\t\t\"lightsalmon\": [255, 160, 122],\r\n\t\t\"lightseagreen\": [32, 178, 170],\r\n\t\t\"lightskyblue\": [135, 206, 250],\r\n\t\t\"lightslategray\": [119, 136, 153],\r\n\t\t\"lightslategrey\": [119, 136, 153],\r\n\t\t\"lightsteelblue\": [176, 196, 222],\r\n\t\t\"lightyellow\": [255, 255, 224],\r\n\t\t\"lime\": [0, 255, 0],\r\n\t\t\"limegreen\": [50, 205, 50],\r\n\t\t\"linen\": [250, 240, 230],\r\n\t\t\"magenta\": [255, 0, 255],\r\n\t\t\"maroon\": [128, 0, 0],\r\n\t\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\t\"mediumblue\": [0, 0, 205],\r\n\t\t\"mediumorchid\": [186, 85, 211],\r\n\t\t\"mediumpurple\": [147, 112, 219],\r\n\t\t\"mediumseagreen\": [60, 179, 113],\r\n\t\t\"mediumslateblue\": [123, 104, 238],\r\n\t\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\t\"mediumturquoise\": [72, 209, 204],\r\n\t\t\"mediumvioletred\": [199, 21, 133],\r\n\t\t\"midnightblue\": [25, 25, 112],\r\n\t\t\"mintcream\": [245, 255, 250],\r\n\t\t\"mistyrose\": [255, 228, 225],\r\n\t\t\"moccasin\": [255, 228, 181],\r\n\t\t\"navajowhite\": [255, 222, 173],\r\n\t\t\"navy\": [0, 0, 128],\r\n\t\t\"oldlace\": [253, 245, 230],\r\n\t\t\"olive\": [128, 128, 0],\r\n\t\t\"olivedrab\": [107, 142, 35],\r\n\t\t\"orange\": [255, 165, 0],\r\n\t\t\"orangered\": [255, 69, 0],\r\n\t\t\"orchid\": [218, 112, 214],\r\n\t\t\"palegoldenrod\": [238, 232, 170],\r\n\t\t\"palegreen\": [152, 251, 152],\r\n\t\t\"paleturquoise\": [175, 238, 238],\r\n\t\t\"palevioletred\": [219, 112, 147],\r\n\t\t\"papayawhip\": [255, 239, 213],\r\n\t\t\"peachpuff\": [255, 218, 185],\r\n\t\t\"peru\": [205, 133, 63],\r\n\t\t\"pink\": [255, 192, 203],\r\n\t\t\"plum\": [221, 160, 221],\r\n\t\t\"powderblue\": [176, 224, 230],\r\n\t\t\"purple\": [128, 0, 128],\r\n\t\t\"rebeccapurple\": [102, 51, 153],\r\n\t\t\"red\": [255, 0, 0],\r\n\t\t\"rosybrown\": [188, 143, 143],\r\n\t\t\"royalblue\": [65, 105, 225],\r\n\t\t\"saddlebrown\": [139, 69, 19],\r\n\t\t\"salmon\": [250, 128, 114],\r\n\t\t\"sandybrown\": [244, 164, 96],\r\n\t\t\"seagreen\": [46, 139, 87],\r\n\t\t\"seashell\": [255, 245, 238],\r\n\t\t\"sienna\": [160, 82, 45],\r\n\t\t\"silver\": [192, 192, 192],\r\n\t\t\"skyblue\": [135, 206, 235],\r\n\t\t\"slateblue\": [106, 90, 205],\r\n\t\t\"slategray\": [112, 128, 144],\r\n\t\t\"slategrey\": [112, 128, 144],\r\n\t\t\"snow\": [255, 250, 250],\r\n\t\t\"springgreen\": [0, 255, 127],\r\n\t\t\"steelblue\": [70, 130, 180],\r\n\t\t\"tan\": [210, 180, 140],\r\n\t\t\"teal\": [0, 128, 128],\r\n\t\t\"thistle\": [216, 191, 216],\r\n\t\t\"tomato\": [255, 99, 71],\r\n\t\t\"turquoise\": [64, 224, 208],\r\n\t\t\"violet\": [238, 130, 238],\r\n\t\t\"wheat\": [245, 222, 179],\r\n\t\t\"white\": [255, 255, 255],\r\n\t\t\"whitesmoke\": [245, 245, 245],\r\n\t\t\"yellow\": [255, 255, 0],\r\n\t\t\"yellowgreen\": [154, 205, 50]\r\n\t};\r\n\n\n/***/ }),\n/* 407 */\n/*!************************************!*\\\n  !*** ../~/simple-swizzle/index.js ***!\n  \\************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar isArrayish = __webpack_require__(/*! is-arrayish */ 408);\n\t\n\tvar concat = Array.prototype.concat;\n\tvar slice = Array.prototype.slice;\n\t\n\tvar swizzle = module.exports = function swizzle(args) {\n\t\tvar results = [];\n\t\n\t\tfor (var i = 0, len = args.length; i < len; i++) {\n\t\t\tvar arg = args[i];\n\t\n\t\t\tif (isArrayish(arg)) {\n\t\t\t\t// http://jsperf.com/javascript-array-concat-vs-push/98\n\t\t\t\tresults = concat.call(results, slice.call(arg));\n\t\t\t} else {\n\t\t\t\tresults.push(arg);\n\t\t\t}\n\t\t}\n\t\n\t\treturn results;\n\t};\n\t\n\tswizzle.wrap = function (fn) {\n\t\treturn function () {\n\t\t\treturn fn(swizzle(arguments));\n\t\t};\n\t};\n\n\n/***/ }),\n/* 408 */\n/*!*********************************!*\\\n  !*** ../~/is-arrayish/index.js ***!\n  \\*********************************/\n/***/ (function(module, exports) {\n\n\tmodule.exports = function isArrayish(obj) {\n\t\tif (!obj || typeof obj === 'string') {\n\t\t\treturn false;\n\t\t}\n\t\n\t\treturn obj instanceof Array || Array.isArray(obj) ||\n\t\t\t(obj.length >= 0 && (obj.splice instanceof Function ||\n\t\t\t\t(Object.getOwnPropertyDescriptor(obj, (obj.length - 1)) && obj.constructor.name !== 'String')));\n\t};\n\n\n/***/ }),\n/* 409 */\n/*!***********************************!*\\\n  !*** ../~/color-convert/index.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar conversions = __webpack_require__(/*! ./conversions */ 410);\n\tvar route = __webpack_require__(/*! ./route */ 411);\n\t\n\tvar convert = {};\n\t\n\tvar models = Object.keys(conversions);\n\t\n\tfunction wrapRaw(fn) {\n\t\tvar wrappedFn = function (args) {\n\t\t\tif (args === undefined || args === null) {\n\t\t\t\treturn args;\n\t\t\t}\n\t\n\t\t\tif (arguments.length > 1) {\n\t\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t\t}\n\t\n\t\t\treturn fn(args);\n\t\t};\n\t\n\t\t// preserve .conversion property if there is one\n\t\tif ('conversion' in fn) {\n\t\t\twrappedFn.conversion = fn.conversion;\n\t\t}\n\t\n\t\treturn wrappedFn;\n\t}\n\t\n\tfunction wrapRounded(fn) {\n\t\tvar wrappedFn = function (args) {\n\t\t\tif (args === undefined || args === null) {\n\t\t\t\treturn args;\n\t\t\t}\n\t\n\t\t\tif (arguments.length > 1) {\n\t\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t\t}\n\t\n\t\t\tvar result = fn(args);\n\t\n\t\t\t// we're assuming the result is an array here.\n\t\t\t// see notice in conversions.js; don't use box types\n\t\t\t// in conversion functions.\n\t\t\tif (typeof result === 'object') {\n\t\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\n\t\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn result;\n\t\t};\n\t\n\t\t// preserve .conversion property if there is one\n\t\tif ('conversion' in fn) {\n\t\t\twrappedFn.conversion = fn.conversion;\n\t\t}\n\t\n\t\treturn wrappedFn;\n\t}\n\t\n\tmodels.forEach(function (fromModel) {\n\t\tconvert[fromModel] = {};\n\t\n\t\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\t\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\t\n\t\tvar routes = route(fromModel);\n\t\tvar routeModels = Object.keys(routes);\n\t\n\t\trouteModels.forEach(function (toModel) {\n\t\t\tvar fn = routes[toModel];\n\t\n\t\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t\t});\n\t});\n\t\n\tmodule.exports = convert;\n\n\n/***/ }),\n/* 410 */\n/*!*****************************************!*\\\n  !*** ../~/color-convert/conversions.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* MIT license */\n\tvar cssKeywords = __webpack_require__(/*! color-name */ 406);\n\t\n\t// NOTE: conversions should only return primitive values (i.e. arrays, or\n\t//       values that give correct `typeof` results).\n\t//       do not use box values types (i.e. Number(), String(), etc.)\n\t\n\tvar reverseKeywords = {};\n\tfor (var key in cssKeywords) {\n\t\tif (cssKeywords.hasOwnProperty(key)) {\n\t\t\treverseKeywords[cssKeywords[key]] = key;\n\t\t}\n\t}\n\t\n\tvar convert = module.exports = {\n\t\trgb: {channels: 3, labels: 'rgb'},\n\t\thsl: {channels: 3, labels: 'hsl'},\n\t\thsv: {channels: 3, labels: 'hsv'},\n\t\thwb: {channels: 3, labels: 'hwb'},\n\t\tcmyk: {channels: 4, labels: 'cmyk'},\n\t\txyz: {channels: 3, labels: 'xyz'},\n\t\tlab: {channels: 3, labels: 'lab'},\n\t\tlch: {channels: 3, labels: 'lch'},\n\t\thex: {channels: 1, labels: ['hex']},\n\t\tkeyword: {channels: 1, labels: ['keyword']},\n\t\tansi16: {channels: 1, labels: ['ansi16']},\n\t\tansi256: {channels: 1, labels: ['ansi256']},\n\t\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\t\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\t\tgray: {channels: 1, labels: ['gray']}\n\t};\n\t\n\t// hide .channels and .labels properties\n\tfor (var model in convert) {\n\t\tif (convert.hasOwnProperty(model)) {\n\t\t\tif (!('channels' in convert[model])) {\n\t\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t\t}\n\t\n\t\t\tif (!('labels' in convert[model])) {\n\t\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t\t}\n\t\n\t\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t\t}\n\t\n\t\t\tvar channels = convert[model].channels;\n\t\t\tvar labels = convert[model].labels;\n\t\t\tdelete convert[model].channels;\n\t\t\tdelete convert[model].labels;\n\t\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t\t}\n\t}\n\t\n\tconvert.rgb.hsl = function (rgb) {\n\t\tvar r = rgb[0] / 255;\n\t\tvar g = rgb[1] / 255;\n\t\tvar b = rgb[2] / 255;\n\t\tvar min = Math.min(r, g, b);\n\t\tvar max = Math.max(r, g, b);\n\t\tvar delta = max - min;\n\t\tvar h;\n\t\tvar s;\n\t\tvar l;\n\t\n\t\tif (max === min) {\n\t\t\th = 0;\n\t\t} else if (r === max) {\n\t\t\th = (g - b) / delta;\n\t\t} else if (g === max) {\n\t\t\th = 2 + (b - r) / delta;\n\t\t} else if (b === max) {\n\t\t\th = 4 + (r - g) / delta;\n\t\t}\n\t\n\t\th = Math.min(h * 60, 360);\n\t\n\t\tif (h < 0) {\n\t\t\th += 360;\n\t\t}\n\t\n\t\tl = (min + max) / 2;\n\t\n\t\tif (max === min) {\n\t\t\ts = 0;\n\t\t} else if (l <= 0.5) {\n\t\t\ts = delta / (max + min);\n\t\t} else {\n\t\t\ts = delta / (2 - max - min);\n\t\t}\n\t\n\t\treturn [h, s * 100, l * 100];\n\t};\n\t\n\tconvert.rgb.hsv = function (rgb) {\n\t\tvar rdif;\n\t\tvar gdif;\n\t\tvar bdif;\n\t\tvar h;\n\t\tvar s;\n\t\n\t\tvar r = rgb[0] / 255;\n\t\tvar g = rgb[1] / 255;\n\t\tvar b = rgb[2] / 255;\n\t\tvar v = Math.max(r, g, b);\n\t\tvar diff = v - Math.min(r, g, b);\n\t\tvar diffc = function (c) {\n\t\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t\t};\n\t\n\t\tif (diff === 0) {\n\t\t\th = s = 0;\n\t\t} else {\n\t\t\ts = diff / v;\n\t\t\trdif = diffc(r);\n\t\t\tgdif = diffc(g);\n\t\t\tbdif = diffc(b);\n\t\n\t\t\tif (r === v) {\n\t\t\t\th = bdif - gdif;\n\t\t\t} else if (g === v) {\n\t\t\t\th = (1 / 3) + rdif - bdif;\n\t\t\t} else if (b === v) {\n\t\t\t\th = (2 / 3) + gdif - rdif;\n\t\t\t}\n\t\t\tif (h < 0) {\n\t\t\t\th += 1;\n\t\t\t} else if (h > 1) {\n\t\t\t\th -= 1;\n\t\t\t}\n\t\t}\n\t\n\t\treturn [\n\t\t\th * 360,\n\t\t\ts * 100,\n\t\t\tv * 100\n\t\t];\n\t};\n\t\n\tconvert.rgb.hwb = function (rgb) {\n\t\tvar r = rgb[0];\n\t\tvar g = rgb[1];\n\t\tvar b = rgb[2];\n\t\tvar h = convert.rgb.hsl(rgb)[0];\n\t\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\n\t\n\t\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\t\n\t\treturn [h, w * 100, b * 100];\n\t};\n\t\n\tconvert.rgb.cmyk = function (rgb) {\n\t\tvar r = rgb[0] / 255;\n\t\tvar g = rgb[1] / 255;\n\t\tvar b = rgb[2] / 255;\n\t\tvar c;\n\t\tvar m;\n\t\tvar y;\n\t\tvar k;\n\t\n\t\tk = Math.min(1 - r, 1 - g, 1 - b);\n\t\tc = (1 - r - k) / (1 - k) || 0;\n\t\tm = (1 - g - k) / (1 - k) || 0;\n\t\ty = (1 - b - k) / (1 - k) || 0;\n\t\n\t\treturn [c * 100, m * 100, y * 100, k * 100];\n\t};\n\t\n\t/**\n\t * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n\t * */\n\tfunction comparativeDistance(x, y) {\n\t\treturn (\n\t\t\tMath.pow(x[0] - y[0], 2) +\n\t\t\tMath.pow(x[1] - y[1], 2) +\n\t\t\tMath.pow(x[2] - y[2], 2)\n\t\t);\n\t}\n\t\n\tconvert.rgb.keyword = function (rgb) {\n\t\tvar reversed = reverseKeywords[rgb];\n\t\tif (reversed) {\n\t\t\treturn reversed;\n\t\t}\n\t\n\t\tvar currentClosestDistance = Infinity;\n\t\tvar currentClosestKeyword;\n\t\n\t\tfor (var keyword in cssKeywords) {\n\t\t\tif (cssKeywords.hasOwnProperty(keyword)) {\n\t\t\t\tvar value = cssKeywords[keyword];\n\t\n\t\t\t\t// Compute comparative distance\n\t\t\t\tvar distance = comparativeDistance(rgb, value);\n\t\n\t\t\t\t// Check if its less, if so set as closest\n\t\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\treturn currentClosestKeyword;\n\t};\n\t\n\tconvert.keyword.rgb = function (keyword) {\n\t\treturn cssKeywords[keyword];\n\t};\n\t\n\tconvert.rgb.xyz = function (rgb) {\n\t\tvar r = rgb[0] / 255;\n\t\tvar g = rgb[1] / 255;\n\t\tvar b = rgb[2] / 255;\n\t\n\t\t// assume sRGB\n\t\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\t\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\t\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\t\n\t\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\t\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\t\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\t\n\t\treturn [x * 100, y * 100, z * 100];\n\t};\n\t\n\tconvert.rgb.lab = function (rgb) {\n\t\tvar xyz = convert.rgb.xyz(rgb);\n\t\tvar x = xyz[0];\n\t\tvar y = xyz[1];\n\t\tvar z = xyz[2];\n\t\tvar l;\n\t\tvar a;\n\t\tvar b;\n\t\n\t\tx /= 95.047;\n\t\ty /= 100;\n\t\tz /= 108.883;\n\t\n\t\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\t\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\t\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\t\n\t\tl = (116 * y) - 16;\n\t\ta = 500 * (x - y);\n\t\tb = 200 * (y - z);\n\t\n\t\treturn [l, a, b];\n\t};\n\t\n\tconvert.hsl.rgb = function (hsl) {\n\t\tvar h = hsl[0] / 360;\n\t\tvar s = hsl[1] / 100;\n\t\tvar l = hsl[2] / 100;\n\t\tvar t1;\n\t\tvar t2;\n\t\tvar t3;\n\t\tvar rgb;\n\t\tvar val;\n\t\n\t\tif (s === 0) {\n\t\t\tval = l * 255;\n\t\t\treturn [val, val, val];\n\t\t}\n\t\n\t\tif (l < 0.5) {\n\t\t\tt2 = l * (1 + s);\n\t\t} else {\n\t\t\tt2 = l + s - l * s;\n\t\t}\n\t\n\t\tt1 = 2 * l - t2;\n\t\n\t\trgb = [0, 0, 0];\n\t\tfor (var i = 0; i < 3; i++) {\n\t\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\t\tif (t3 < 0) {\n\t\t\t\tt3++;\n\t\t\t}\n\t\t\tif (t3 > 1) {\n\t\t\t\tt3--;\n\t\t\t}\n\t\n\t\t\tif (6 * t3 < 1) {\n\t\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t\t} else if (2 * t3 < 1) {\n\t\t\t\tval = t2;\n\t\t\t} else if (3 * t3 < 2) {\n\t\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t\t} else {\n\t\t\t\tval = t1;\n\t\t\t}\n\t\n\t\t\trgb[i] = val * 255;\n\t\t}\n\t\n\t\treturn rgb;\n\t};\n\t\n\tconvert.hsl.hsv = function (hsl) {\n\t\tvar h = hsl[0];\n\t\tvar s = hsl[1] / 100;\n\t\tvar l = hsl[2] / 100;\n\t\tvar smin = s;\n\t\tvar lmin = Math.max(l, 0.01);\n\t\tvar sv;\n\t\tvar v;\n\t\n\t\tl *= 2;\n\t\ts *= (l <= 1) ? l : 2 - l;\n\t\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\t\tv = (l + s) / 2;\n\t\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\t\n\t\treturn [h, sv * 100, v * 100];\n\t};\n\t\n\tconvert.hsv.rgb = function (hsv) {\n\t\tvar h = hsv[0] / 60;\n\t\tvar s = hsv[1] / 100;\n\t\tvar v = hsv[2] / 100;\n\t\tvar hi = Math.floor(h) % 6;\n\t\n\t\tvar f = h - Math.floor(h);\n\t\tvar p = 255 * v * (1 - s);\n\t\tvar q = 255 * v * (1 - (s * f));\n\t\tvar t = 255 * v * (1 - (s * (1 - f)));\n\t\tv *= 255;\n\t\n\t\tswitch (hi) {\n\t\t\tcase 0:\n\t\t\t\treturn [v, t, p];\n\t\t\tcase 1:\n\t\t\t\treturn [q, v, p];\n\t\t\tcase 2:\n\t\t\t\treturn [p, v, t];\n\t\t\tcase 3:\n\t\t\t\treturn [p, q, v];\n\t\t\tcase 4:\n\t\t\t\treturn [t, p, v];\n\t\t\tcase 5:\n\t\t\t\treturn [v, p, q];\n\t\t}\n\t};\n\t\n\tconvert.hsv.hsl = function (hsv) {\n\t\tvar h = hsv[0];\n\t\tvar s = hsv[1] / 100;\n\t\tvar v = hsv[2] / 100;\n\t\tvar vmin = Math.max(v, 0.01);\n\t\tvar lmin;\n\t\tvar sl;\n\t\tvar l;\n\t\n\t\tl = (2 - s) * v;\n\t\tlmin = (2 - s) * vmin;\n\t\tsl = s * vmin;\n\t\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\t\tsl = sl || 0;\n\t\tl /= 2;\n\t\n\t\treturn [h, sl * 100, l * 100];\n\t};\n\t\n\t// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\n\tconvert.hwb.rgb = function (hwb) {\n\t\tvar h = hwb[0] / 360;\n\t\tvar wh = hwb[1] / 100;\n\t\tvar bl = hwb[2] / 100;\n\t\tvar ratio = wh + bl;\n\t\tvar i;\n\t\tvar v;\n\t\tvar f;\n\t\tvar n;\n\t\n\t\t// wh + bl cant be > 1\n\t\tif (ratio > 1) {\n\t\t\twh /= ratio;\n\t\t\tbl /= ratio;\n\t\t}\n\t\n\t\ti = Math.floor(6 * h);\n\t\tv = 1 - bl;\n\t\tf = 6 * h - i;\n\t\n\t\tif ((i & 0x01) !== 0) {\n\t\t\tf = 1 - f;\n\t\t}\n\t\n\t\tn = wh + f * (v - wh); // linear interpolation\n\t\n\t\tvar r;\n\t\tvar g;\n\t\tvar b;\n\t\tswitch (i) {\n\t\t\tdefault:\n\t\t\tcase 6:\n\t\t\tcase 0: r = v; g = n; b = wh; break;\n\t\t\tcase 1: r = n; g = v; b = wh; break;\n\t\t\tcase 2: r = wh; g = v; b = n; break;\n\t\t\tcase 3: r = wh; g = n; b = v; break;\n\t\t\tcase 4: r = n; g = wh; b = v; break;\n\t\t\tcase 5: r = v; g = wh; b = n; break;\n\t\t}\n\t\n\t\treturn [r * 255, g * 255, b * 255];\n\t};\n\t\n\tconvert.cmyk.rgb = function (cmyk) {\n\t\tvar c = cmyk[0] / 100;\n\t\tvar m = cmyk[1] / 100;\n\t\tvar y = cmyk[2] / 100;\n\t\tvar k = cmyk[3] / 100;\n\t\tvar r;\n\t\tvar g;\n\t\tvar b;\n\t\n\t\tr = 1 - Math.min(1, c * (1 - k) + k);\n\t\tg = 1 - Math.min(1, m * (1 - k) + k);\n\t\tb = 1 - Math.min(1, y * (1 - k) + k);\n\t\n\t\treturn [r * 255, g * 255, b * 255];\n\t};\n\t\n\tconvert.xyz.rgb = function (xyz) {\n\t\tvar x = xyz[0] / 100;\n\t\tvar y = xyz[1] / 100;\n\t\tvar z = xyz[2] / 100;\n\t\tvar r;\n\t\tvar g;\n\t\tvar b;\n\t\n\t\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\t\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\t\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\t\n\t\t// assume sRGB\n\t\tr = r > 0.0031308\n\t\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t\t: r * 12.92;\n\t\n\t\tg = g > 0.0031308\n\t\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t\t: g * 12.92;\n\t\n\t\tb = b > 0.0031308\n\t\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t\t: b * 12.92;\n\t\n\t\tr = Math.min(Math.max(0, r), 1);\n\t\tg = Math.min(Math.max(0, g), 1);\n\t\tb = Math.min(Math.max(0, b), 1);\n\t\n\t\treturn [r * 255, g * 255, b * 255];\n\t};\n\t\n\tconvert.xyz.lab = function (xyz) {\n\t\tvar x = xyz[0];\n\t\tvar y = xyz[1];\n\t\tvar z = xyz[2];\n\t\tvar l;\n\t\tvar a;\n\t\tvar b;\n\t\n\t\tx /= 95.047;\n\t\ty /= 100;\n\t\tz /= 108.883;\n\t\n\t\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\t\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\t\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\t\n\t\tl = (116 * y) - 16;\n\t\ta = 500 * (x - y);\n\t\tb = 200 * (y - z);\n\t\n\t\treturn [l, a, b];\n\t};\n\t\n\tconvert.lab.xyz = function (lab) {\n\t\tvar l = lab[0];\n\t\tvar a = lab[1];\n\t\tvar b = lab[2];\n\t\tvar x;\n\t\tvar y;\n\t\tvar z;\n\t\n\t\ty = (l + 16) / 116;\n\t\tx = a / 500 + y;\n\t\tz = y - b / 200;\n\t\n\t\tvar y2 = Math.pow(y, 3);\n\t\tvar x2 = Math.pow(x, 3);\n\t\tvar z2 = Math.pow(z, 3);\n\t\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\t\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\t\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\t\n\t\tx *= 95.047;\n\t\ty *= 100;\n\t\tz *= 108.883;\n\t\n\t\treturn [x, y, z];\n\t};\n\t\n\tconvert.lab.lch = function (lab) {\n\t\tvar l = lab[0];\n\t\tvar a = lab[1];\n\t\tvar b = lab[2];\n\t\tvar hr;\n\t\tvar h;\n\t\tvar c;\n\t\n\t\thr = Math.atan2(b, a);\n\t\th = hr * 360 / 2 / Math.PI;\n\t\n\t\tif (h < 0) {\n\t\t\th += 360;\n\t\t}\n\t\n\t\tc = Math.sqrt(a * a + b * b);\n\t\n\t\treturn [l, c, h];\n\t};\n\t\n\tconvert.lch.lab = function (lch) {\n\t\tvar l = lch[0];\n\t\tvar c = lch[1];\n\t\tvar h = lch[2];\n\t\tvar a;\n\t\tvar b;\n\t\tvar hr;\n\t\n\t\thr = h / 360 * 2 * Math.PI;\n\t\ta = c * Math.cos(hr);\n\t\tb = c * Math.sin(hr);\n\t\n\t\treturn [l, a, b];\n\t};\n\t\n\tconvert.rgb.ansi16 = function (args) {\n\t\tvar r = args[0];\n\t\tvar g = args[1];\n\t\tvar b = args[2];\n\t\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\t\n\t\tvalue = Math.round(value / 50);\n\t\n\t\tif (value === 0) {\n\t\t\treturn 30;\n\t\t}\n\t\n\t\tvar ansi = 30\n\t\t\t+ ((Math.round(b / 255) << 2)\n\t\t\t| (Math.round(g / 255) << 1)\n\t\t\t| Math.round(r / 255));\n\t\n\t\tif (value === 2) {\n\t\t\tansi += 60;\n\t\t}\n\t\n\t\treturn ansi;\n\t};\n\t\n\tconvert.hsv.ansi16 = function (args) {\n\t\t// optimization here; we already know the value and don't need to get\n\t\t// it converted for us.\n\t\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n\t};\n\t\n\tconvert.rgb.ansi256 = function (args) {\n\t\tvar r = args[0];\n\t\tvar g = args[1];\n\t\tvar b = args[2];\n\t\n\t\t// we use the extended greyscale palette here, with the exception of\n\t\t// black and white. normal palette only has 4 greyscale shades.\n\t\tif (r === g && g === b) {\n\t\t\tif (r < 8) {\n\t\t\t\treturn 16;\n\t\t\t}\n\t\n\t\t\tif (r > 248) {\n\t\t\t\treturn 231;\n\t\t\t}\n\t\n\t\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t\t}\n\t\n\t\tvar ansi = 16\n\t\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t\t+ Math.round(b / 255 * 5);\n\t\n\t\treturn ansi;\n\t};\n\t\n\tconvert.ansi16.rgb = function (args) {\n\t\tvar color = args % 10;\n\t\n\t\t// handle greyscale\n\t\tif (color === 0 || color === 7) {\n\t\t\tif (args > 50) {\n\t\t\t\tcolor += 3.5;\n\t\t\t}\n\t\n\t\t\tcolor = color / 10.5 * 255;\n\t\n\t\t\treturn [color, color, color];\n\t\t}\n\t\n\t\tvar mult = (~~(args > 50) + 1) * 0.5;\n\t\tvar r = ((color & 1) * mult) * 255;\n\t\tvar g = (((color >> 1) & 1) * mult) * 255;\n\t\tvar b = (((color >> 2) & 1) * mult) * 255;\n\t\n\t\treturn [r, g, b];\n\t};\n\t\n\tconvert.ansi256.rgb = function (args) {\n\t\t// handle greyscale\n\t\tif (args >= 232) {\n\t\t\tvar c = (args - 232) * 10 + 8;\n\t\t\treturn [c, c, c];\n\t\t}\n\t\n\t\targs -= 16;\n\t\n\t\tvar rem;\n\t\tvar r = Math.floor(args / 36) / 5 * 255;\n\t\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\t\tvar b = (rem % 6) / 5 * 255;\n\t\n\t\treturn [r, g, b];\n\t};\n\t\n\tconvert.rgb.hex = function (args) {\n\t\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t\t+ (Math.round(args[2]) & 0xFF);\n\t\n\t\tvar string = integer.toString(16).toUpperCase();\n\t\treturn '000000'.substring(string.length) + string;\n\t};\n\t\n\tconvert.hex.rgb = function (args) {\n\t\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\t\tif (!match) {\n\t\t\treturn [0, 0, 0];\n\t\t}\n\t\n\t\tvar colorString = match[0];\n\t\n\t\tif (match[0].length === 3) {\n\t\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\t\treturn char + char;\n\t\t\t}).join('');\n\t\t}\n\t\n\t\tvar integer = parseInt(colorString, 16);\n\t\tvar r = (integer >> 16) & 0xFF;\n\t\tvar g = (integer >> 8) & 0xFF;\n\t\tvar b = integer & 0xFF;\n\t\n\t\treturn [r, g, b];\n\t};\n\t\n\tconvert.rgb.hcg = function (rgb) {\n\t\tvar r = rgb[0] / 255;\n\t\tvar g = rgb[1] / 255;\n\t\tvar b = rgb[2] / 255;\n\t\tvar max = Math.max(Math.max(r, g), b);\n\t\tvar min = Math.min(Math.min(r, g), b);\n\t\tvar chroma = (max - min);\n\t\tvar grayscale;\n\t\tvar hue;\n\t\n\t\tif (chroma < 1) {\n\t\t\tgrayscale = min / (1 - chroma);\n\t\t} else {\n\t\t\tgrayscale = 0;\n\t\t}\n\t\n\t\tif (chroma <= 0) {\n\t\t\thue = 0;\n\t\t} else\n\t\tif (max === r) {\n\t\t\thue = ((g - b) / chroma) % 6;\n\t\t} else\n\t\tif (max === g) {\n\t\t\thue = 2 + (b - r) / chroma;\n\t\t} else {\n\t\t\thue = 4 + (r - g) / chroma + 4;\n\t\t}\n\t\n\t\thue /= 6;\n\t\thue %= 1;\n\t\n\t\treturn [hue * 360, chroma * 100, grayscale * 100];\n\t};\n\t\n\tconvert.hsl.hcg = function (hsl) {\n\t\tvar s = hsl[1] / 100;\n\t\tvar l = hsl[2] / 100;\n\t\tvar c = 1;\n\t\tvar f = 0;\n\t\n\t\tif (l < 0.5) {\n\t\t\tc = 2.0 * s * l;\n\t\t} else {\n\t\t\tc = 2.0 * s * (1.0 - l);\n\t\t}\n\t\n\t\tif (c < 1.0) {\n\t\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t\t}\n\t\n\t\treturn [hsl[0], c * 100, f * 100];\n\t};\n\t\n\tconvert.hsv.hcg = function (hsv) {\n\t\tvar s = hsv[1] / 100;\n\t\tvar v = hsv[2] / 100;\n\t\n\t\tvar c = s * v;\n\t\tvar f = 0;\n\t\n\t\tif (c < 1.0) {\n\t\t\tf = (v - c) / (1 - c);\n\t\t}\n\t\n\t\treturn [hsv[0], c * 100, f * 100];\n\t};\n\t\n\tconvert.hcg.rgb = function (hcg) {\n\t\tvar h = hcg[0] / 360;\n\t\tvar c = hcg[1] / 100;\n\t\tvar g = hcg[2] / 100;\n\t\n\t\tif (c === 0.0) {\n\t\t\treturn [g * 255, g * 255, g * 255];\n\t\t}\n\t\n\t\tvar pure = [0, 0, 0];\n\t\tvar hi = (h % 1) * 6;\n\t\tvar v = hi % 1;\n\t\tvar w = 1 - v;\n\t\tvar mg = 0;\n\t\n\t\tswitch (Math.floor(hi)) {\n\t\t\tcase 0:\n\t\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\t\tcase 1:\n\t\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\t\tcase 2:\n\t\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\t\tcase 3:\n\t\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\t\tcase 4:\n\t\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\t\tdefault:\n\t\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t\t}\n\t\n\t\tmg = (1.0 - c) * g;\n\t\n\t\treturn [\n\t\t\t(c * pure[0] + mg) * 255,\n\t\t\t(c * pure[1] + mg) * 255,\n\t\t\t(c * pure[2] + mg) * 255\n\t\t];\n\t};\n\t\n\tconvert.hcg.hsv = function (hcg) {\n\t\tvar c = hcg[1] / 100;\n\t\tvar g = hcg[2] / 100;\n\t\n\t\tvar v = c + g * (1.0 - c);\n\t\tvar f = 0;\n\t\n\t\tif (v > 0.0) {\n\t\t\tf = c / v;\n\t\t}\n\t\n\t\treturn [hcg[0], f * 100, v * 100];\n\t};\n\t\n\tconvert.hcg.hsl = function (hcg) {\n\t\tvar c = hcg[1] / 100;\n\t\tvar g = hcg[2] / 100;\n\t\n\t\tvar l = g * (1.0 - c) + 0.5 * c;\n\t\tvar s = 0;\n\t\n\t\tif (l > 0.0 && l < 0.5) {\n\t\t\ts = c / (2 * l);\n\t\t} else\n\t\tif (l >= 0.5 && l < 1.0) {\n\t\t\ts = c / (2 * (1 - l));\n\t\t}\n\t\n\t\treturn [hcg[0], s * 100, l * 100];\n\t};\n\t\n\tconvert.hcg.hwb = function (hcg) {\n\t\tvar c = hcg[1] / 100;\n\t\tvar g = hcg[2] / 100;\n\t\tvar v = c + g * (1.0 - c);\n\t\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n\t};\n\t\n\tconvert.hwb.hcg = function (hwb) {\n\t\tvar w = hwb[1] / 100;\n\t\tvar b = hwb[2] / 100;\n\t\tvar v = 1 - b;\n\t\tvar c = v - w;\n\t\tvar g = 0;\n\t\n\t\tif (c < 1) {\n\t\t\tg = (v - c) / (1 - c);\n\t\t}\n\t\n\t\treturn [hwb[0], c * 100, g * 100];\n\t};\n\t\n\tconvert.apple.rgb = function (apple) {\n\t\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n\t};\n\t\n\tconvert.rgb.apple = function (rgb) {\n\t\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n\t};\n\t\n\tconvert.gray.rgb = function (args) {\n\t\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n\t};\n\t\n\tconvert.gray.hsl = convert.gray.hsv = function (args) {\n\t\treturn [0, 0, args[0]];\n\t};\n\t\n\tconvert.gray.hwb = function (gray) {\n\t\treturn [0, 100, gray[0]];\n\t};\n\t\n\tconvert.gray.cmyk = function (gray) {\n\t\treturn [0, 0, 0, gray[0]];\n\t};\n\t\n\tconvert.gray.lab = function (gray) {\n\t\treturn [gray[0], 0, 0];\n\t};\n\t\n\tconvert.gray.hex = function (gray) {\n\t\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\t\tvar integer = (val << 16) + (val << 8) + val;\n\t\n\t\tvar string = integer.toString(16).toUpperCase();\n\t\treturn '000000'.substring(string.length) + string;\n\t};\n\t\n\tconvert.rgb.gray = function (rgb) {\n\t\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\t\treturn [val / 255 * 100];\n\t};\n\n\n/***/ }),\n/* 411 */\n/*!***********************************!*\\\n  !*** ../~/color-convert/route.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar conversions = __webpack_require__(/*! ./conversions */ 410);\n\t\n\t/*\n\t\tthis function routes a model to all other models.\n\t\n\t\tall functions that are routed have a property `.conversion` attached\n\t\tto the returned synthetic function. This property is an array\n\t\tof strings, each with the steps in between the 'from' and 'to'\n\t\tcolor models (inclusive).\n\t\n\t\tconversions that are not possible simply are not included.\n\t*/\n\t\n\tfunction buildGraph() {\n\t\tvar graph = {};\n\t\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\t\tvar models = Object.keys(conversions);\n\t\n\t\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\t\tgraph[models[i]] = {\n\t\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t\t// micro-opt, but this is simple.\n\t\t\t\tdistance: -1,\n\t\t\t\tparent: null\n\t\t\t};\n\t\t}\n\t\n\t\treturn graph;\n\t}\n\t\n\t// https://en.wikipedia.org/wiki/Breadth-first_search\n\tfunction deriveBFS(fromModel) {\n\t\tvar graph = buildGraph();\n\t\tvar queue = [fromModel]; // unshift -> queue -> pop\n\t\n\t\tgraph[fromModel].distance = 0;\n\t\n\t\twhile (queue.length) {\n\t\t\tvar current = queue.pop();\n\t\t\tvar adjacents = Object.keys(conversions[current]);\n\t\n\t\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\t\tvar adjacent = adjacents[i];\n\t\t\t\tvar node = graph[adjacent];\n\t\n\t\t\t\tif (node.distance === -1) {\n\t\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\t\tnode.parent = current;\n\t\t\t\t\tqueue.unshift(adjacent);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\treturn graph;\n\t}\n\t\n\tfunction link(from, to) {\n\t\treturn function (args) {\n\t\t\treturn to(from(args));\n\t\t};\n\t}\n\t\n\tfunction wrapConversion(toModel, graph) {\n\t\tvar path = [graph[toModel].parent, toModel];\n\t\tvar fn = conversions[graph[toModel].parent][toModel];\n\t\n\t\tvar cur = graph[toModel].parent;\n\t\twhile (graph[cur].parent) {\n\t\t\tpath.unshift(graph[cur].parent);\n\t\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\t\tcur = graph[cur].parent;\n\t\t}\n\t\n\t\tfn.conversion = path;\n\t\treturn fn;\n\t}\n\t\n\tmodule.exports = function (fromModel) {\n\t\tvar graph = deriveBFS(fromModel);\n\t\tvar conversion = {};\n\t\n\t\tvar models = Object.keys(graph);\n\t\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\t\tvar toModel = models[i];\n\t\t\tvar node = graph[toModel];\n\t\n\t\t\tif (node.parent === null) {\n\t\t\t\t// no possible conversion, or this node is the source model.\n\t\t\t\tcontinue;\n\t\t\t}\n\t\n\t\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t\t}\n\t\n\t\treturn conversion;\n\t};\n\t\n\n\n/***/ }),\n/* 412 */\n/*!**************************************!*\\\n  !*** ./styled/ColorPicker.styled.js ***!\n  \\**************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.Container = undefined;\n\t\n\tvar _templateObject = _taggedTemplateLiteral(['\\n  ', ' & .chrome-picker {\\n    font-family: unset !important;\\n    box-shadow: none !important;\\n    ', ';\\n  }\\n\\n  & .chrome-picker svg {\\n    background: unset !important;\\n  }\\n\\n  & .chrome-picker svg:hover path {\\n    fill: ', ';\\n  }\\n\\n  ', ';\\n'], ['\\n  ', ' & .chrome-picker {\\n    font-family: unset !important;\\n    box-shadow: none !important;\\n    ', ';\\n  }\\n\\n  & .chrome-picker svg {\\n    background: unset !important;\\n  }\\n\\n  & .chrome-picker svg:hover path {\\n    fill: ', ';\\n  }\\n\\n  ', ';\\n']),\n\t    _templateObject2 = _taggedTemplateLiteral(['\\n      opacity: ', ';\\n      cursor: not-allowed !important;\\n      & .chrome-picker {\\n        pointer-events: none !important;\\n      }\\n    '], ['\\n      opacity: ', ';\\n      cursor: not-allowed !important;\\n      & .chrome-picker {\\n        pointer-events: none !important;\\n      }\\n    ']),\n\t    _templateObject3 = _taggedTemplateLiteral(['\\n        width: ', 'px !important;\\n      '], ['\\n        width: ', 'px !important;\\n      ']),\n\t    _templateObject4 = _taggedTemplateLiteral(['\\n  & .chrome-picker .hue-horizontal > div > div,\\n  .chrome-picker\\n    > div:nth-child(2)\\n    > div:nth-child(1)\\n    > div:nth-child(2)\\n    > div:nth-child(2)\\n    > div\\n    > div:nth-child(3)\\n    > div\\n    > div {\\n    box-shadow: none !important;\\n    background-color: #fff;\\n    border-radius: 100% !important;\\n    ', ';\\n  }\\n'], ['\\n  & .chrome-picker .hue-horizontal > div > div,\\n  .chrome-picker\\n    > div:nth-child(2)\\n    > div:nth-child(1)\\n    > div:nth-child(2)\\n    > div:nth-child(2)\\n    > div\\n    > div:nth-child(3)\\n    > div\\n    > div {\\n    box-shadow: none !important;\\n    background-color: #fff;\\n    border-radius: 100% !important;\\n    ', ';\\n  }\\n']),\n\t    _templateObject5 = _taggedTemplateLiteral(['\\n        border: 1px solid ', ' !important;\\n      '], ['\\n        border: 1px solid ', ' !important;\\n      ']),\n\t    _templateObject6 = _taggedTemplateLiteral(['\\n  border-radius: 3px !important;\\n\\n  ', ' ', ';\\n'], ['\\n  border-radius: 3px !important;\\n\\n  ', ' ', ';\\n']),\n\t    _templateObject7 = _taggedTemplateLiteral(['\\n      border: 1px solid ', ';\\n    '], ['\\n      border: 1px solid ', ';\\n    ']),\n\t    _templateObject8 = _taggedTemplateLiteral(['\\n  & .chrome-picker .hue-horizontal > div > div,\\n  .chrome-picker\\n    > div:nth-child(2)\\n    > div:nth-child(1)\\n    > div:nth-child(2)\\n    > div:nth-child(2)\\n    > div\\n    > div:nth-child(3)\\n    > div\\n    > div {\\n    border-radius: 100% !important;\\n    border: none !important;\\n    background: #101010 !important;\\n    background-image: linear-gradient(\\n      135deg,\\n      rgba(255, 255, 255, 0.3) -50%,\\n      rgba(0, 0, 0, 0.7) 100%\\n    ) !important;\\n    transition: all 0.3s ease-in !important;\\n    ', ';\\n  }\\n'], ['\\n  & .chrome-picker .hue-horizontal > div > div,\\n  .chrome-picker\\n    > div:nth-child(2)\\n    > div:nth-child(1)\\n    > div:nth-child(2)\\n    > div:nth-child(2)\\n    > div\\n    > div:nth-child(3)\\n    > div\\n    > div {\\n    border-radius: 100% !important;\\n    border: none !important;\\n    background: #101010 !important;\\n    background-image: linear-gradient(\\n      135deg,\\n      rgba(255, 255, 255, 0.3) -50%,\\n      rgba(0, 0, 0, 0.7) 100%\\n    ) !important;\\n    transition: all 0.3s ease-in !important;\\n    ', ';\\n  }\\n']),\n\t    _templateObject9 = _taggedTemplateLiteral(['\\n        box-shadow: inset 0 0 1px 0 rgba(52, 52, 52, 0.4), inset 0 0 0 1px rgba(0, 0, 0, 0.2),\\n          0 0 12px 4px ', ' !important;\\n      '], ['\\n        box-shadow: inset 0 0 1px 0 rgba(52, 52, 52, 0.4), inset 0 0 0 1px rgba(0, 0, 0, 0.2),\\n          0 0 12px 4px ', ' !important;\\n      ']),\n\t    _templateObject10 = _taggedTemplateLiteral(['\\n  .chrome-picker .flexbox-fix div:nth-child(2) > div:nth-child(2) > div {\\n    background: #fff !important;\\n  }\\n'], ['\\n  .chrome-picker .flexbox-fix div:nth-child(2) > div:nth-child(2) > div {\\n    background: #fff !important;\\n  }\\n']),\n\t    _templateObject11 = _taggedTemplateLiteral(['\\n  & .chrome-picker input {\\n    font-family: unset !important;\\n    color: #fff !important;\\n    border-radius: 0px !important;\\n    background-color: #22272a !important;\\n    background-image: linear-gradient(\\n      145deg,\\n      rgba(255, 255, 255, 0.05) 0%,\\n      rgba(0, 0, 0, 0.5) 100%\\n    ) !important;\\n    box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\\n      -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1) !important;\\n  }\\n\\n  & .chrome-picker input:focus {\\n    outline: 0 !important;\\n    border: none !important;\\n    background-image: linear-gradient(\\n      145deg,\\n      rgba(255, 255, 255, 0.2) 0%,\\n      rgba(0, 0, 0, 0.4) 100%\\n    ) !important;\\n    box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.6), inset 0 0 4px 0 rgba(0, 0, 0, 0.6),\\n      -1px -1px 0px 0px rgba(0, 0, 0, 0.6), 1px 1px 0px 0px rgba(255, 255, 255, 0.1) !important;\\n  }\\n'], ['\\n  & .chrome-picker input {\\n    font-family: unset !important;\\n    color: #fff !important;\\n    border-radius: 0px !important;\\n    background-color: #22272a !important;\\n    background-image: linear-gradient(\\n      145deg,\\n      rgba(255, 255, 255, 0.05) 0%,\\n      rgba(0, 0, 0, 0.5) 100%\\n    ) !important;\\n    box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\\n      -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1) !important;\\n  }\\n\\n  & .chrome-picker input:focus {\\n    outline: 0 !important;\\n    border: none !important;\\n    background-image: linear-gradient(\\n      145deg,\\n      rgba(255, 255, 255, 0.2) 0%,\\n      rgba(0, 0, 0, 0.4) 100%\\n    ) !important;\\n    box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.6), inset 0 0 4px 0 rgba(0, 0, 0, 0.6),\\n      -1px -1px 0px 0px rgba(0, 0, 0, 0.6), 1px 1px 0px 0px rgba(255, 255, 255, 0.1) !important;\\n  }\\n']),\n\t    _templateObject12 = _taggedTemplateLiteral(['\\n  box-shadow: 0px 0px 8px 2px rgba(100,100,100,0.075),\\n              0px 0px 32px 2px rgba(255,255,255,0.05),\\n              1px 1px 0px 0px rgba(25,25,25,0.6),\\n              -1px -1px 0px 0px rgba(255,255,255,0.2) !important;\\n\\n  & .chrome-picker > div:first-child {\\n    border-radius: 0 !important;\\n  }\\n\\n  & .chrome-picker > div:nth-child(2) {\\n    background: #0a0a0a !important;\\n    border-top: 1px solid rgba(255,255,255,0.075);\\n  }\\n\\n  ', '\\n  ', '\\n  ', '\\n'], ['\\n  box-shadow: 0px 0px 8px 2px rgba(100,100,100,0.075),\\n              0px 0px 32px 2px rgba(255,255,255,0.05),\\n              1px 1px 0px 0px rgba(25,25,25,0.6),\\n              -1px -1px 0px 0px rgba(255,255,255,0.2) !important;\\n\\n  & .chrome-picker > div:first-child {\\n    border-radius: 0 !important;\\n  }\\n\\n  & .chrome-picker > div:nth-child(2) {\\n    background: #0a0a0a !important;\\n    border-top: 1px solid rgba(255,255,255,0.075);\\n  }\\n\\n  ', '\\n  ', '\\n  ', '\\n']);\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar styled = _interopRequireDefault(_styledComponents).default;\n\t\n\tvar css = _styledComponents.css;\n\t\n\tvar _constants = __webpack_require__(/*! ./constants */ 18);\n\t\n\tvar light = _constants.light;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\t\n\tvar Container = exports.Container = styled.div(_templateObject, function (_ref) {\n\t  var disabled = _ref.disabled,\n\t      theme = _ref.theme;\n\t  return disabled && css(_templateObject2, theme.dark ? 1 : 0.65);\n\t}, function (_ref2) {\n\t  var size = _ref2.size;\n\t  return css(_templateObject3, size);\n\t}, function (_ref3) {\n\t  var theme = _ref3.theme,\n\t      color = _ref3.color;\n\t  return color || theme.primary;\n\t}, function (_ref4) {\n\t  var theme = _ref4.theme;\n\t  return theme.dark ? darkContainer : lightContainer;\n\t});\n\t\n\tvar lightKnobs = css(_templateObject4, function (_ref5) {\n\t  var theme = _ref5.theme;\n\t  return css(_templateObject5, theme.detail);\n\t});\n\t\n\tvar lightContainer = css(_templateObject6, lightKnobs, function (_ref6) {\n\t  var theme = _ref6.theme;\n\t  return css(_templateObject7, theme.detail);\n\t});\n\t\n\tvar darkKnobs = css(_templateObject8, function (_ref7) {\n\t  var glow = _ref7.glow;\n\t  return css(_templateObject9, glow);\n\t});\n\t\n\tvar darkAlpha = css(_templateObject10);\n\t\n\tvar darkInput = css(_templateObject11);\n\t\n\tvar darkContainer = css(_templateObject12, darkKnobs, darkInput, darkAlpha);\n\t\n\tContainer.defaultProps = {\n\t  theme: light\n\t};\n\t\n\texports.default = Container;\n\n/***/ }),\n/* 413 */\n/*!***********************************!*\\\n  !*** ./components/Gauge.react.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar PropTypes = _interopRequireDefault(_propTypes).default;\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar withTheme = _styledComponents.withTheme;\n\t\n\tvar _GaugeSvg = __webpack_require__(/*! ../helpers/GaugeSvg.react */ 414);\n\t\n\tvar GaugeSVG = _interopRequireDefault(_GaugeSvg).default;\n\t\n\tvar _Gauge = __webpack_require__(/*! ../styled/Gauge.styled */ 421);\n\t\n\tvar Container = _interopRequireDefault(_Gauge).default;\n\t\n\tvar _LabelContainer = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ 23);\n\t\n\tvar LabelContainer = _interopRequireDefault(_LabelContainer).default;\n\t\n\tvar _CurrentValue = __webpack_require__(/*! ../styled/CurrentValue.styled */ 422);\n\t\n\tvar CurrentValue = _interopRequireDefault(_CurrentValue).default;\n\t\n\tvar _constants = __webpack_require__(/*! ../styled/constants */ 18);\n\t\n\tvar light = _constants.light;\n\t\n\tvar _util = __webpack_require__(/*! ../helpers/util */ 416);\n\t\n\tvar sanitizeRangeValue = _util.sanitizeRangeValue;\n\tvar computeProgress = _util.computeProgress;\n\t\n\tvar _logarithm = __webpack_require__(/*! ../helpers/logarithm */ 423);\n\t\n\tvar log = _interopRequireDefault(_logarithm).default;\n\t\n\tvar _scale = __webpack_require__(/*! ../helpers/scale */ 424);\n\t\n\tvar generateScale = _interopRequireDefault(_scale).default;\n\t\n\tvar _colorRanges = __webpack_require__(/*! ../helpers/colorRanges */ 418);\n\t\n\tvar getColorValue = _colorRanges.getColorValue;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\t/**\n\t * A Gauge component that points to\n\t * a value between some range.\n\t */\n\tvar Gauge = function (_React$Component) {\n\t  _inherits(Gauge, _React$Component);\n\t\n\t  function Gauge() {\n\t    _classCallCheck(this, Gauge);\n\t\n\t    return _possibleConstructorReturn(this, (Gauge.__proto__ || Object.getPrototypeOf(Gauge)).apply(this, arguments));\n\t  }\n\t\n\t  _createClass(Gauge, [{\n\t    key: 'componentDidMount',\n\t    value: function componentDidMount() {\n\t      // eslint-disable-next-line\n\t      __webpack_require__(/*! conic-gradient */ 420);\n\t    }\n\t  }, {\n\t    key: 'render',\n\t    value: function render() {\n\t      var _props = this.props,\n\t          color = _props.color,\n\t          max = _props.max,\n\t          min = _props.min,\n\t          showCurrentValue = _props.showCurrentValue,\n\t          units = _props.units,\n\t          logarithmic = _props.logarithmic,\n\t          base = _props.base,\n\t          id = _props.id,\n\t          className = _props.className,\n\t          style = _props.style;\n\t\n\t\n\t      var colorValue = getColorValue(color);\n\t\n\t      var rawValue = this.props.value != null ? this.props.value : min;\n\t      var dirtyValue = logarithmic ? log.compute(rawValue) : rawValue;\n\t      var value = sanitizeRangeValue({ min: min, max: max, value: dirtyValue });\n\t\n\t      var formatter = logarithmic ? log.generateLogFormatter({ base: base, isSVG: true }) : null;\n\t      var scale = generateScale(_extends({}, this.props, { formatter: formatter }));\n\t\n\t      var progress = computeProgress({ min: min, max: max, value: value, progressionTarget: 1 });\n\t\n\t      var currentValue = React.createElement(\n\t        CurrentValue,\n\t        {\n\t          valueColor: colorValue,\n\t          units: units,\n\t          css: 'transform: translateY(-150%); top: 0;'\n\t        },\n\t        logarithmic ? log.formatValue(value, base) : value.toFixed(1)\n\t      );\n\t\n\t      return React.createElement(\n\t        'div',\n\t        { id: id, className: className, style: style },\n\t        React.createElement(\n\t          LabelContainer,\n\t          _extends({}, this.props, {\n\t            labelCSS: this.props.labelPosition === 'top' ? null : 'transform: translateY(-80px);'\n\t          }),\n\t          React.createElement(\n\t            Container,\n\t            { color: colorValue },\n\t            React.createElement(GaugeSVG, _extends({}, _extends({}, this.props, { scale: scale }), { progress: progress })),\n\t            showCurrentValue && currentValue\n\t          )\n\t        )\n\t      );\n\t    }\n\t  }]);\n\t\n\t  return Gauge;\n\t}(React.Component);\n\t\n\tGauge.defaultProps = {\n\t  min: 0,\n\t  max: 10,\n\t  base: 10,\n\t  theme: light,\n\t  labelPosition: 'top'\n\t};\n\t\n\tGauge.propTypes = {\n\t  /**\n\t   * The ID used to identify this compnent in Dash callbacks\n\t   */\n\t  id: PropTypes.string,\n\t\n\t  /**\n\t   * The value of gauge. If logarithmic, the displayed\n\t   * value will be the logarithm of the inputted value.\n\t   */\n\t  value: PropTypes.number,\n\t\n\t  /**\n\t   * The size (diameter) of the gauge in pixels\n\t   */\n\t  size: PropTypes.number,\n\t\n\t  /**\n\t   * The minimum value of the gauge. If logarithmic,\n\t   * represents the minimum exponent.\n\t   */\n\t  min: PropTypes.number,\n\t\n\t  /**\n\t   * The maximum value of the gauge. If logarithmic,\n\t   * represents the maximum exponent.\n\t   */\n\t  max: PropTypes.number,\n\t\n\t  /**\n\t   * Base to be used in logarithmic scale.\n\t   */\n\t  base: PropTypes.number,\n\t\n\t  /**\n\t   * If set to true, a logarithmic scale will be\n\t   * used.\n\t   */\n\t  logarithmic: PropTypes.bool,\n\t\n\t  /**\n\t   * If true, the current value of the gauge\n\t   * will be displayed\n\t   */\n\t  showCurrentValue: PropTypes.bool,\n\t\n\t  /**\n\t   * Label for the current value\n\t   */\n\t  units: PropTypes.string,\n\t\n\t  /**\n\t   * Theme configuration to be set by a ThemeProvider\n\t   */\n\t  theme: PropTypes.object,\n\t\n\t  /**\n\t   * Description to be displayed alongside the control. To control styling, pass an object with label and style properties.\n\t   */\n\t  label: PropTypes.oneOfType([\n\t  /**\n\t   * Label to be displayed\n\t   */\n\t  PropTypes.string,\n\t\n\t  /**\n\t   * The style and label\n\t   */\n\t  PropTypes.shape({\n\t    style: PropTypes.object,\n\t    label: PropTypes.string\n\t  })]),\n\t\n\t  /**\n\t   * Where the component label is positioned.\n\t   */\n\t  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\t\n\t  /**\n\t   * Configuration for the component scale.\n\t   */\n\t  scale: PropTypes.shape({\n\t    /**\n\t     * Value to start the scale from. Defaults\n\t     * to min.\n\t     */\n\t    start: PropTypes.number,\n\t\n\t    /**\n\t     * Interval by which the scale goes up. Attempts\n\t     * to dynamically divide min-max range by\n\t     * default.\n\t     */\n\t    interval: PropTypes.number,\n\t\n\t    /**\n\t     * Interval by which labels are added to\n\t     * scale marks. Defaults to 2 (every other\n\t     * mark has a label).\n\t     */\n\t    labelInterval: PropTypes.number,\n\t\n\t    /**\n\t     * Custom scale marks. The key determines the position\n\t     * and the value determines what will show. If you want\n\t     * to set the style of a specific mark point, the value\n\t     * should be an object which contains style and label\n\t     * properties\n\t     */\n\t    custom: PropTypes.oneOfType([\n\t    /**\n\t     * Label for the mark\n\t     */\n\t    PropTypes.number,\n\t\n\t    /**\n\t     * Style object with label\n\t     */\n\t    PropTypes.shape({\n\t      style: PropTypes.string,\n\t      label: PropTypes.string\n\t    })])\n\t  }),\n\t\n\t  /**\n\t   * Color configuration for the gauge's track.\n\t   */\n\t  color: PropTypes.oneOfType([\n\t  /**\n\t   * Color used for gauge's track/indicator\n\t   */\n\t  PropTypes.string,\n\t  /**\n\t   * Color ranges configuration.\n\t   */\n\t  PropTypes.shape({\n\t    /**\n\t     * Color used for current value text and other minor accents\n\t     */\n\t    default: PropTypes.string,\n\t    /**\n\t     * Display ranges as a gradient between given colors.\n\t     */\n\t    gradient: PropTypes.bool,\n\t    /**\n\t     * Define multiple color ranges on the gauge's track.\n\t     * The key determines the color of the range and\n\t     * the value is the start,end of the range itself.\n\t     * Ranges must be contiguous along the entirety\n\t     * of the gauge's range of values.\n\t     */\n\t    ranges: PropTypes.shape({\n\t      color: PropTypes.arrayOf(PropTypes.number)\n\t    })\n\t  })]),\n\t\n\t  /**\n\t   * Class to apply to the root component element.\n\t   */\n\t  className: PropTypes.string,\n\t\n\t  /**\n\t   * Style to apply to the root component element.\n\t   */\n\t  style: PropTypes.object\n\t};\n\t\n\texports.default = withTheme(Gauge);\n\n/***/ }),\n/* 414 */\n/*!***********************************!*\\\n  !*** ./helpers/GaugeSvg.react.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar _constants = __webpack_require__(/*! ../styled/constants */ 18);\n\t\n\tvar light = _constants.light;\n\t\n\tvar _DarkGradient = __webpack_require__(/*! ../styled/shared/DarkGradient */ 415);\n\t\n\tvar darkGradientDefs = _interopRequireDefault(_DarkGradient).default;\n\t\n\tvar _util = __webpack_require__(/*! ../helpers/util */ 416);\n\t\n\tvar getRandomInt = _util.getRandomInt;\n\t\n\tvar _TrackSvg = __webpack_require__(/*! ./shared/TrackSvg */ 417);\n\t\n\tvar drawScale = _TrackSvg.drawScale;\n\tvar colorRangesTrack = _TrackSvg.colorRangesTrack;\n\tvar lightTrack = _TrackSvg.lightTrack;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar lightNeedleKnob = function lightNeedleKnob(_ref) {\n\t  var CX = _ref.CX,\n\t      CY = _ref.CY;\n\t  return React.createElement('circle', { className: 'needle-knob', cx: CX, cy: CY, r: '14', fill: '#fff' });\n\t};\n\t\n\tvar darkNeedleKnob = function darkNeedleKnob(_ref2) {\n\t  var CX = _ref2.CX,\n\t      CY = _ref2.CY;\n\t\n\t  var id = getRandomInt();\n\t\n\t  return React.createElement(\n\t    'g',\n\t    null,\n\t    React.createElement(\n\t      'defs',\n\t      null,\n\t      React.createElement('circle', {\n\t        id: 'needle-knob-edge-' + id,\n\t        strokeWidth: '2px',\n\t        fill: 'none',\n\t        cx: CX,\n\t        cy: CY,\n\t        r: '14'\n\t      }),\n\t      React.createElement('circle', { id: 'needle-knob-' + id, className: 'needle-knob', cx: CX, cy: CY, r: '14' })\n\t    ),\n\t    React.createElement('use', { fill: '#141414', xlinkHref: '#needle-knob-' + id }),\n\t    React.createElement('use', { fill: 'url(#l)', style: { mixBlendMode: 'overlay' }, xlinkHref: '#needle-knob-' + id }),\n\t    React.createElement('use', { fill: 'url(#m)', style: { mixBlendMode: 'overlay' }, xlinkHref: '#needle-knob-' + id }),\n\t    React.createElement('use', { fill: '#141414', filter: 'url(#n)', xlinkHref: '#needle-knob-' + id }),\n\t    React.createElement('use', { stroke: '#000000', xlinkHref: '#needle-knob-edge-' + id }),\n\t    React.createElement('use', {\n\t      stroke: 'url(#p)',\n\t      style: { mixBlendMode: 'overlay' },\n\t      xlinkHref: '#needle-knob-edge-' + id\n\t    }),\n\t    React.createElement('use', { stroke: 'url(#q)', strokeOpacity: '.4', xlinkHref: '#needle-knob-edge-' + id })\n\t  );\n\t};\n\t\n\tvar darkTrack = function darkTrack(props, dimensions) {\n\t  var progress = props.progress;\n\t  var CX = dimensions.CX,\n\t      CY = dimensions.CY,\n\t      GAUGE_RAD = dimensions.GAUGE_RAD,\n\t      CIRCLE_CIR = dimensions.CIRCLE_CIR,\n\t      GAP_ARC_LENGTH = dimensions.GAP_ARC_LENGTH,\n\t      TRACK_ARC_LENGTH = dimensions.TRACK_ARC_LENGTH;\n\t\n\t  var id = getRandomInt();\n\t\n\t  var colorValue = props.color && (typeof props.color === 'string' ? props.color : props.color.default);\n\t\n\t  return React.createElement(\n\t    'g',\n\t    null,\n\t    React.createElement(\n\t      'defs',\n\t      null,\n\t      React.createElement('circle', {\n\t        id: 'gauge-track-' + id,\n\t        className: 'track',\n\t        cx: CX,\n\t        cy: CY,\n\t        r: GAUGE_RAD,\n\t        fill: 'none',\n\t        strokeDasharray: CIRCLE_CIR,\n\t        strokeDashoffset: GAP_ARC_LENGTH,\n\t        strokeWidth: '6',\n\t        transform: 'rotate(-225 ' + CX + ' ' + CY + ')'\n\t      }),\n\t      React.createElement('circle', {\n\t        id: 'gauge-track-progress-' + id,\n\t        className: 'track progress',\n\t        cx: CX,\n\t        cy: CY,\n\t        r: GAUGE_RAD,\n\t        fill: 'none',\n\t        strokeDasharray: CIRCLE_CIR,\n\t        strokeDashoffset: GAP_ARC_LENGTH + (1 - progress) * TRACK_ARC_LENGTH,\n\t        strokeWidth: '6',\n\t        transform: 'rotate(-225 ' + CX + ' ' + CY + ')'\n\t      })\n\t    ),\n\t    React.createElement('use', { stroke: 'black', filter: 'url(#a)', xlinkHref: '#gauge-track-' + id }),\n\t    props.color && props.color.ranges && React.createElement('use', { stroke: '#15181A', xlinkHref: '#gauge-track-' + id }),\n\t    React.createElement('use', { stroke: 'url(#c)', style: { mixBlendMode: 'overlay' }, xlinkHref: '#gauge-track-' + id }),\n\t    React.createElement('use', { stroke: 'black', filter: 'url(#d)', xlinkHref: '#gauge-track-' + id }),\n\t    React.createElement('use', { stroke: 'black', filter: 'url(#e)', xlinkHref: '#gauge-track-progress-' + id }),\n\t    React.createElement('use', { stroke: colorValue || '#ABE2FB', xlinkHref: '#gauge-track-progress-' + id }),\n\t    React.createElement('use', {\n\t      stroke: 'url(#g)',\n\t      style: { mixBlendMode: 'overlay' },\n\t      xlinkHref: '#gauge-track-progress-' + id\n\t    }),\n\t    props.color && props.color.ranges && colorRangesTrack(props, dimensions)\n\t  );\n\t};\n\t\n\tvar needle = function needle(needleRotation, _ref3) {\n\t  var CX = _ref3.CX,\n\t      CY = _ref3.CY,\n\t      SCALE_RAD = _ref3.SCALE_RAD;\n\t  return React.createElement('line', {\n\t    className: 'needle',\n\t    x1: CX,\n\t    y1: CY,\n\t    x2: CX + SCALE_RAD,\n\t    y2: CY,\n\t    transform: 'rotate(' + (needleRotation || 0) + ' ' + CX + ' ' + CY + ')',\n\t    strokeLinecap: 'round'\n\t  });\n\t};\n\t\n\tvar defs = React.createElement(\n\t  'defs',\n\t  null,\n\t  darkGradientDefs\n\t);\n\t\n\tvar GaugeSvg = function GaugeSvg(props) {\n\t  var progress = props.progress,\n\t      min = props.min,\n\t      max = props.max,\n\t      step = props.step,\n\t      scale = props.scale;\n\t\n\t  var dimensions = calcDimensions(props);\n\t\n\t  var scaleItems = drawScale({ min: min, max: max, step: step, scale: scale }, dimensions);\n\t  var knob = props.theme.dark ? darkNeedleKnob(dimensions) : lightNeedleKnob(dimensions);\n\t  var track = props.theme.dark ? darkTrack(props, dimensions) : lightTrack(props, dimensions);\n\t\n\t  var needleRotation = 270 * progress - 225;\n\t\n\t  return React.createElement(\n\t    'svg',\n\t    {\n\t      width: dimensions.SVG_WIDTH,\n\t      height: dimensions.SVG_WIDTH,\n\t      viewBox: '0 0 ' + dimensions.SVG_WIDTH + ' ' + dimensions.SVG_WIDTH\n\t    },\n\t    props.theme.dark && defs,\n\t    React.createElement(\n\t      'g',\n\t      { className: 'scale' },\n\t      scaleItems\n\t    ),\n\t    needle(needleRotation, dimensions),\n\t    knob,\n\t    track\n\t  );\n\t};\n\t\n\tGaugeSvg.defaultProps = {\n\t  theme: light,\n\t  size: 208\n\t};\n\t\n\texports.default = GaugeSvg;\n\t\n\t// private helpers\n\t\n\tfunction calcDimensions(_ref4) {\n\t  var size = _ref4.size;\n\t\n\t  var OFFSET = 8;\n\t  var d = {};\n\t\n\t  d.SVG_WIDTH = size + 32;\n\t  d.CY = ~~(d.SVG_WIDTH / 2);\n\t  d.CX = ~~(d.SVG_WIDTH / 2);\n\t\n\t  d.GAUGE_RAD = size / 2;\n\t  d.SCALE_RAD = d.GAUGE_RAD - OFFSET;\n\t\n\t  d.CIRCLE_CIR = 2 * Math.PI * d.GAUGE_RAD;\n\t  d.GAP_ARC_LENGTH = 90 / 360 * (2 * Math.PI * d.GAUGE_RAD);\n\t  d.TRACK_ARC_LENGTH = d.CIRCLE_CIR - d.GAP_ARC_LENGTH;\n\t\n\t  d.SCALE_TICK_OUTER_RAD = d.SCALE_RAD;\n\t  d.SCALE_TICK_INNER_RAD = d.SCALE_TICK_OUTER_RAD - 6;\n\t  d.SCALE_TEXT_RAD = d.SCALE_TICK_INNER_RAD - 8;\n\t\n\t  d.IS_GAUGE = true;\n\t\n\t  return d;\n\t}\n\n/***/ }),\n/* 415 */\n/*!***************************************!*\\\n  !*** ./styled/shared/DarkGradient.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.darkColon = exports.darkDecimal = exports.DARK_SEGMENTS = exports.darkLEDDefs = exports.UnstyledDarkHandle = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar UnstyledDarkHandle = exports.UnstyledDarkHandle = function UnstyledDarkHandle(_ref) {\n\t  var className = _ref.className;\n\t  return React.createElement(\n\t    \"svg\",\n\t    { className: className, xmlns: \"http://www.w3.org/2000/svg\", width: \"10\", height: \"22\" },\n\t    React.createElement(\n\t      \"g\",\n\t      { fill: \"none\" },\n\t      React.createElement(\n\t        \"g\",\n\t        { filter: \"url(#filter0_di)\" },\n\t        React.createElement(\"path\", { className: \"dark-handle-custom-fill\", fill: \"#101010\", d: \"M4.886 1H3.114a2 2 0 0 0-1.997 2.11l.778 14A2 2 0 0 0 3.892 19h.216a2 2 0 0 0 1.997-1.89l.778-14A2 2 0 0 0 4.886 1z\" }),\n\t        React.createElement(\"path\", { style: { mixBlendMode: 'overlay' }, fill: \"url(#paint0_linear)\", d: \"M3.886 0H2.114A2 2 0 0 0 .117 2.11l.778 14A2 2 0 0 0 2.892 18h.216a2 2 0 0 0 1.997-1.89l.778-14A2 2 0 0 0 3.886 0z\", transform: \"translate(1 1)\" }),\n\t        React.createElement(\"path\", { style: { mixBlendMode: 'overlay' }, fill: \"url(#paint1_radial)\", d: \"M3.886 0H2.114A2 2 0 0 0 .117 2.11l.778 14A2 2 0 0 0 2.892 18h.216a2 2 0 0 0 1.997-1.89l.778-14A2 2 0 0 0 3.886 0z\", transform: \"translate(1 1)\" })\n\t      ),\n\t      React.createElement(\n\t        \"g\",\n\t        { fillRule: \"evenodd\", clipRule: \"evenodd\" },\n\t        React.createElement(\"path\", { className: \"dark-handle-custom-fill\", fill: \"#101010\", d: \"M3.114 1h1.772a2 2 0 0 1 1.997 2.11l-.778 14A2 2 0 0 1 4.108 19h-.216a2 2 0 0 1-1.997-1.89l-.778-14A2 2 0 0 1 3.114 1zm.333 1h1.105A2 2 0 0 1 6.55 4.11l-.673 12.115a1.88 1.88 0 0 1-3.752 0L1.45 4.11A2 2 0 0 1 3.447 2z\" }),\n\t        React.createElement(\"path\", { style: { mixBlendMode: 'overlay' }, fill: \"url(#paint2_linear)\", d: \"M2 0h1.772a2 2 0 0 1 1.997 2.11l-.778 14A2 2 0 0 1 2.994 18h-.216A2 2 0 0 1 .78 16.11l-.778-14A2 2 0 0 1 2 0zm.333 1h1.105a2 2 0 0 1 1.997 2.11l-.673 12.115a1.88 1.88 0 0 1-3.753 0L.337 3.11A2 2 0 0 1 2.333 1z\", transform: \"translate(1.114 1)\" }),\n\t        React.createElement(\"path\", { fill: \"url(#paint3_radial)\", fillOpacity: \".4\", d: \"M2 0h1.772a2 2 0 0 1 1.997 2.11l-.778 14A2 2 0 0 1 2.994 18h-.216A2 2 0 0 1 .78 16.11l-.778-14A2 2 0 0 1 2 0zm.333 1h1.105a2 2 0 0 1 1.997 2.11l-.673 12.115a1.88 1.88 0 0 1-3.753 0L.337 3.11A2 2 0 0 1 2.333 1z\", transform: \"translate(1.114 1)\" })\n\t      )\n\t    ),\n\t    React.createElement(\n\t      \"defs\",\n\t      null,\n\t      React.createElement(\n\t        \"filter\",\n\t        { id: \"filter0_di\", width: \"9.772\", height: \"22\", x: \".114\", y: \"0\", colorInterpolationFilters: \"sRGB\", filterUnits: \"userSpaceOnUse\" },\n\t        React.createElement(\"feFlood\", { floodOpacity: \"0\", result: \"BackgroundImageFix\" }),\n\t        React.createElement(\"feColorMatrix\", { \"in\": \"SourceAlpha\", values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0\" }),\n\t        React.createElement(\"feOffset\", { dx: \"1\", dy: \"1\" }),\n\t        React.createElement(\"feGaussianBlur\", { stdDeviation: \"1\" }),\n\t        React.createElement(\"feColorMatrix\", { values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0\" }),\n\t        React.createElement(\"feBlend\", { in2: \"BackgroundImageFix\", result: \"effect1_dropShadow\" }),\n\t        React.createElement(\"feBlend\", { \"in\": \"SourceGraphic\", in2: \"effect1_dropShadow\", result: \"shape\" }),\n\t        React.createElement(\"feColorMatrix\", { \"in\": \"SourceAlpha\", result: \"hardAlpha\", values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0\" }),\n\t        React.createElement(\"feOffset\", { dx: \".25\", dy: \".25\" }),\n\t        React.createElement(\"feGaussianBlur\", { stdDeviation: \".5\" }),\n\t        React.createElement(\"feComposite\", { in2: \"hardAlpha\", k2: \"-1\", k3: \"1\", operator: \"arithmetic\" }),\n\t        React.createElement(\"feColorMatrix\", { values: \"0 0 0 0 0.204294 0 0 0 0 0.204294 0 0 0 0 0.204294 0 0 0 0.395267 0\" }),\n\t        React.createElement(\"feBlend\", { in2: \"shape\", result: \"effect2_innerShadow\" })\n\t      ),\n\t      React.createElement(\n\t        \"linearGradient\",\n\t        { id: \"paint0_linear\", x2: \"1\", gradientTransform: \"matrix(4.19709 12.8041 -4.26804 12.5913 .947 2.739)\", gradientUnits: \"userSpaceOnUse\" },\n\t        React.createElement(\"stop\", { stopColor: \"#fff\", stopOpacity: \".55\" }),\n\t        React.createElement(\"stop\", { offset: \"1\", stopOpacity: \".01\" })\n\t      ),\n\t      React.createElement(\n\t        \"radialGradient\",\n\t        { id: \"paint1_radial\", cx: \".5\", cy: \".5\", r: \".5\", gradientTransform: \"matrix(8.55956 25.5096 -8.50319 25.6787 .868 -23.103)\", gradientUnits: \"userSpaceOnUse\" },\n\t        React.createElement(\"stop\", { stopColor: \"#fff\", stopOpacity: \".5\" }),\n\t        React.createElement(\"stop\", { offset: \"1\", stopOpacity: \".5\" })\n\t      ),\n\t      React.createElement(\n\t        \"linearGradient\",\n\t        { id: \"paint2_linear\", x2: \"1\", gradientTransform: \"matrix(0 18 -5.77167 0 2.886 0)\", gradientUnits: \"userSpaceOnUse\" },\n\t        React.createElement(\"stop\", { stopColor: \"#fff\", stopOpacity: \".5\" }),\n\t        React.createElement(\"stop\", { offset: \"1\", stopOpacity: \".01\" })\n\t      ),\n\t      React.createElement(\n\t        \"radialGradient\",\n\t        { id: \"paint3_radial\", cx: \".5\", cy: \".5\", r: \".5\", gradientTransform: \"matrix(0 36 -11.5433 0 8.658 -18)\", gradientUnits: \"userSpaceOnUse\" },\n\t        React.createElement(\"stop\", { stopColor: \"#fff\", stopOpacity: \".5\" }),\n\t        React.createElement(\"stop\", { offset: \"1\", stopOpacity: \".5\" })\n\t      )\n\t    )\n\t  );\n\t};\n\t\n\tvar darkGradientDefs = React.createElement(\n\t  \"defs\",\n\t  null,\n\t  React.createElement(\n\t    \"linearGradient\",\n\t    { id: \"l\", x1: \"15.78%\", x2: \"85.732%\", y1: \"15.214%\", y2: \"86.348%\" },\n\t    React.createElement(\"stop\", { offset: \"0%\", stopColor: \"#FFFFFF\", stopOpacity: \".55\" }),\n\t    React.createElement(\"stop\", { offset: \"100%\", stopColor: \"#000000\", stopOpacity: \"0\" })\n\t  ),\n\t  React.createElement(\n\t    \"radialGradient\",\n\t    { id: \"m\", cx: \"14.944%\", cy: \"13.839%\", r: \"100.544%\", fx: \"14.944%\", fy: \"13.839%\" },\n\t    React.createElement(\"stop\", { offset: \"0%\", stopColor: \"#FFFFFF\", stopOpacity: \".5\" }),\n\t    React.createElement(\"stop\", { offset: \"100%\", stopColor: \"#000000\", stopOpacity: \".5\" })\n\t  ),\n\t  React.createElement(\n\t    \"filter\",\n\t    { id: \"n\", width: \"101.7%\", height: \"101.7%\", x: \"-.8%\", y: \"-.8%\", filterUnits: \"objectBoundingBox\" },\n\t    React.createElement(\"feGaussianBlur\", { \"in\": \"SourceAlpha\", result: \"shadowBlurInner1\", stdDeviation: \".5\" }),\n\t    React.createElement(\"feOffset\", { dx: \".25\", dy: \".25\", \"in\": \"shadowBlurInner1\", result: \"shadowOffsetInner1\" }),\n\t    React.createElement(\"feComposite\", { \"in\": \"shadowOffsetInner1\", in2: \"SourceAlpha\", k2: \"-1\", k3: \"1\", operator: \"arithmetic\", result: \"shadowInnerInner1\" }),\n\t    React.createElement(\"feColorMatrix\", { \"in\": \"shadowInnerInner1\", values: \"0 0 0 0 0.204294218 0 0 0 0 0.204294218 0 0 0 0 0.204294218 0 0 0 0.39526721 0\" })\n\t  ),\n\t  React.createElement(\n\t    \"filter\",\n\t    { id: \"r\", width: \"550%\", height: \"218.8%\", x: \"-225%\", y: \"-56.2%\", filterUnits: \"objectBoundingBox\" },\n\t    React.createElement(\"feOffset\", { dy: \".5\", \"in\": \"SourceAlpha\", result: \"shadowOffsetOuter1\" }),\n\t    React.createElement(\"feColorMatrix\", { \"in\": \"shadowOffsetOuter1\", result: \"shadowMatrixOuter1\", values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.46 0\" }),\n\t    React.createElement(\"feOffset\", { \"in\": \"SourceAlpha\", result: \"shadowOffsetOuter2\" }),\n\t    React.createElement(\"feGaussianBlur\", { \"in\": \"shadowOffsetOuter2\", result: \"shadowBlurOuter2\", stdDeviation: \"1.5\" }),\n\t    React.createElement(\"feColorMatrix\", { \"in\": \"shadowBlurOuter2\", result: \"shadowMatrixOuter2\", values: \"0 0 0 0 0.529411765 0 0 0 0 0.807843137 0 0 0 0 0.921568627 0 0 0 0.4512851 0\" }),\n\t    React.createElement(\n\t      \"feMerge\",\n\t      null,\n\t      React.createElement(\"feMergeNode\", { \"in\": \"shadowMatrixOuter1\" }),\n\t      React.createElement(\"feMergeNode\", { \"in\": \"shadowMatrixOuter2\" })\n\t    )\n\t  ),\n\t  React.createElement(\n\t    \"filter\",\n\t    { id: \"t\", width: \"425%\", height: \"187.5%\", x: \"-162.5%\", y: \"-40.6%\", filterUnits: \"objectBoundingBox\" },\n\t    React.createElement(\"feOffset\", { dy: \".5\", \"in\": \"SourceAlpha\", result: \"shadowOffsetInner1\" }),\n\t    React.createElement(\"feComposite\", { \"in\": \"shadowOffsetInner1\", in2: \"SourceAlpha\", k2: \"-1\", k3: \"1\", operator: \"arithmetic\", result: \"shadowInnerInner1\" }),\n\t    React.createElement(\"feColorMatrix\", { \"in\": \"shadowInnerInner1\", values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.4 0\" })\n\t  ),\n\t  React.createElement(\n\t    \"linearGradient\",\n\t    { id: \"p\", x1: \"0%\", x2: \"0%\", y1: \"100%\", y2: \"100%\" },\n\t    React.createElement(\"stop\", { offset: \"0%\", stopColor: \"#FFFFFF\", stopOpacity: \".5\" }),\n\t    React.createElement(\"stop\", { offset: \"100%\", stopColor: \"#000000\", stopOpacity: \"0\" })\n\t  ),\n\t  React.createElement(\n\t    \"radialGradient\",\n\t    { id: \"q\", cy: \"0%\", r: \"100%\", fx: \"0%\", fy: \"0%\" },\n\t    React.createElement(\"stop\", { offset: \"0%\", stopColor: \"#FFFFFF\", stopOpacity: \".5\" }),\n\t    React.createElement(\"stop\", { offset: \"100%\", stopColor: \"#000000\", stopOpacity: \".5\" })\n\t  ),\n\t  React.createElement(\n\t    \"filter\",\n\t    { id: \"a\", width: \"100.4%\", height: \"100.5%\", x: \"-.1%\", y: \"-.1%\", filterUnits: \"objectBoundingBox\" },\n\t    React.createElement(\"feMorphology\", { \"in\": \"SourceAlpha\", operator: \"dilate\", radius: \".05\", result: \"shadowSpreadOuter1\" }),\n\t    React.createElement(\"feOffset\", { dx: \".1\", dy: \".1\", \"in\": \"shadowSpreadOuter1\", result: \"shadowOffsetOuter1\" }),\n\t    React.createElement(\"feColorMatrix\", { \"in\": \"shadowOffsetOuter1\", values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.11291327 0\" })\n\t  ),\n\t  React.createElement(\n\t    \"filter\",\n\t    { id: \"d\", width: \"102.5%\", height: \"102.8%\", x: \"-1.1%\", y: \"-1.3%\", filterUnits: \"objectBoundingBox\" },\n\t    React.createElement(\"feGaussianBlur\", { \"in\": \"SourceAlpha\", result: \"shadowBlurInner1\", stdDeviation: \".25\" }),\n\t    React.createElement(\"feOffset\", { \"in\": \"shadowBlurInner1\", result: \"shadowOffsetInner1\" }),\n\t    React.createElement(\"feComposite\", { \"in\": \"shadowOffsetInner1\", in2: \"SourceAlpha\", k2: \"-1\", k3: \"1\", operator: \"arithmetic\", result: \"shadowInnerInner1\" }),\n\t    React.createElement(\"feColorMatrix\", { \"in\": \"shadowInnerInner1\", result: \"shadowMatrixInner1\", values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0\" }),\n\t    React.createElement(\"feGaussianBlur\", { \"in\": \"SourceAlpha\", result: \"shadowBlurInner2\", stdDeviation: \"1\" }),\n\t    React.createElement(\"feOffset\", { \"in\": \"shadowBlurInner2\", result: \"shadowOffsetInner2\" }),\n\t    React.createElement(\"feComposite\", { \"in\": \"shadowOffsetInner2\", in2: \"SourceAlpha\", k2: \"-1\", k3: \"1\", operator: \"arithmetic\", result: \"shadowInnerInner2\" }),\n\t    React.createElement(\"feColorMatrix\", { \"in\": \"shadowInnerInner2\", result: \"shadowMatrixInner2\", values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0\" }),\n\t    React.createElement(\n\t      \"feMerge\",\n\t      null,\n\t      React.createElement(\"feMergeNode\", { \"in\": \"shadowMatrixInner1\" }),\n\t      React.createElement(\"feMergeNode\", { \"in\": \"shadowMatrixInner2\" })\n\t    )\n\t  ),\n\t  React.createElement(\n\t    \"linearGradient\",\n\t    { id: \"c\", x1: \"50%\", x2: \"50%\", y1: \"0%\", y2: \"100%\" },\n\t    React.createElement(\"stop\", { offset: \"0%\", stopColor: \"#FFFFFF\", stopOpacity: \".5\" }),\n\t    React.createElement(\"stop\", { offset: \"100%\", stopColor: \"#323a3e\", stopOpacity: \".2\" })\n\t  ),\n\t  React.createElement(\n\t    \"filter\",\n\t    { id: \"e\", width: \"171%\", height: \"117.7%\", x: \"-35.5%\", y: \"-8.8%\", filterUnits: \"objectBoundingBox\" },\n\t    React.createElement(\"feOffset\", { \"in\": \"SourceAlpha\", result: \"shadowOffsetOuter1\" }),\n\t    React.createElement(\"feGaussianBlur\", { \"in\": \"shadowOffsetOuter1\", result: \"shadowBlurOuter1\", stdDeviation: \"2\" }),\n\t    React.createElement(\"feColorMatrix\", { \"in\": \"shadowBlurOuter1\", values: \"0 0 0 0 0.529411765 0 0 0 0 0.807843137 0 0 0 0 0.921568627 0 0 0 0.5 0\" })\n\t  ),\n\t  React.createElement(\n\t    \"radialGradient\",\n\t    { id: \"g\", cx: \"90.826%\", cy: \"1.233%\", r: \"154.848%\", fx: \"90.826%\", fy: \"1.233%\", gradientTransform: \"scale(1 .24903) rotate(72.947 .883 .03)\" },\n\t    React.createElement(\"stop\", { offset: \"0%\", stopColor: \"#FFFFFF\", stopOpacity: \".7\" }),\n\t    React.createElement(\"stop\", { offset: \"100%\", stopColor: \"#000000\" })\n\t  )\n\t);\n\t\n\tvar darkLEDDefs = exports.darkLEDDefs = React.createElement(\n\t  \"defs\",\n\t  null,\n\t  React.createElement(\n\t    \"filter\",\n\t    { id: \"darkLED-a\", width: \"111.8%\", height: \"107.8%\", x: \"-2.9%\", y: \"-2%\", filterUnits: \"objectBoundingBox\" },\n\t    React.createElement(\"feOffset\", { dx: \"1\", dy: \"1\", \"in\": \"SourceAlpha\", result: \"shadowOffsetOuter1\" }),\n\t    React.createElement(\"feGaussianBlur\", { \"in\": \"shadowOffsetOuter1\", result: \"shadowBlurOuter1\", stdDeviation: \".5\" }),\n\t    React.createElement(\"feColorMatrix\", { \"in\": \"shadowBlurOuter1\", result: \"shadowMatrixOuter1\", values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0\" }),\n\t    React.createElement(\n\t      \"feMerge\",\n\t      null,\n\t      React.createElement(\"feMergeNode\", { \"in\": \"shadowMatrixOuter1\" }),\n\t      React.createElement(\"feMergeNode\", { \"in\": \"SourceGraphic\" })\n\t    )\n\t  ),\n\t  React.createElement(\n\t    \"radialGradient\",\n\t    { id: \"darkLED-c\", cx: \"0%\", cy: \"0%\", r: \"141.421%\", fx: \"0%\", fy: \"0%\", gradientTransform: \"matrix(.22147 .22147 -.0503 .97517 0 0)\" },\n\t    React.createElement(\"stop\", { offset: \"0%\", stopColor: \"#FFF\", stopOpacity: \".5\" }),\n\t    React.createElement(\"stop\", { offset: \"100%\", stopOpacity: \".6\" })\n\t  ),\n\t  React.createElement(\n\t    \"linearGradient\",\n\t    { id: \"darkLED-d\", x1: \"0%\", y1: \"0%\", y2: \"100%\" },\n\t    React.createElement(\"stop\", { offset: \"0%\", stopColor: \"#FFF\", stopOpacity: \".5\" }),\n\t    React.createElement(\"stop\", { offset: \"100%\", stopOpacity: \"0\" })\n\t  ),\n\t  React.createElement(\"path\", { id: \"darkLED-b\", d: \"M5.71 5.181L3.308 2.778 5.71.375h16.357l2.403 2.403-2.403 2.403z\" }),\n\t  React.createElement(\n\t    \"filter\",\n\t    { id: \"darkLED-e\", width: \"101.2%\", height: \"105.2%\", x: \"-.6%\", y: \"-2.6%\", filterUnits: \"objectBoundingBox\" },\n\t    React.createElement(\"feOffset\", { dx: \".25\", dy: \".25\", \"in\": \"SourceAlpha\", result: \"shadowOffsetInner1\" }),\n\t    React.createElement(\"feComposite\", { \"in\": \"shadowOffsetInner1\", in2: \"SourceAlpha\", k2: \"-1\", k3: \"1\", operator: \"arithmetic\", result: \"shadowInnerInner1\" }),\n\t    React.createElement(\"feColorMatrix\", { \"in\": \"shadowInnerInner1\", values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\" })\n\t  ),\n\t  React.createElement(\n\t    \"radialGradient\",\n\t    { id: \"darkLED-g\", cx: \"0%\", cy: \"0%\", r: \"141.421%\", fx: \"0%\", fy: \"0%\", gradientTransform: \"matrix(.22147 .22147 -.97517 .0503 0 0)\" },\n\t    React.createElement(\"stop\", { offset: \"0%\", stopColor: \"#FFF\", stopOpacity: \".5\" }),\n\t    React.createElement(\"stop\", { offset: \"100%\", stopOpacity: \".6\" })\n\t  ),\n\t  React.createElement(\"path\", { id: \"darkLED-f\", d: \"M22.597 5.71L25 3.308l2.403 2.402v16.357L25 24.47l-2.403-2.403z\" }),\n\t  React.createElement(\n\t    \"filter\",\n\t    { id: \"darkLED-h\", width: \"105.2%\", height: \"101.2%\", x: \"-2.6%\", y: \"-.6%\", filterUnits: \"objectBoundingBox\" },\n\t    React.createElement(\"feOffset\", { dx: \".25\", dy: \".25\", \"in\": \"SourceAlpha\", result: \"shadowOffsetInner1\" }),\n\t    React.createElement(\"feComposite\", { \"in\": \"shadowOffsetInner1\", in2: \"SourceAlpha\", k2: \"-1\", k3: \"1\", operator: \"arithmetic\", result: \"shadowInnerInner1\" }),\n\t    React.createElement(\"feColorMatrix\", { \"in\": \"shadowInnerInner1\", values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\" })\n\t  ),\n\t  React.createElement(\n\t    \"radialGradient\",\n\t    { id: \"darkLED-j\", cx: \"0%\", cy: \"0%\", r: \"141.421%\", fx: \"0%\", fy: \"0%\", gradientTransform: \"scale(1 .22711) rotate(77.204)\" },\n\t    React.createElement(\"stop\", { offset: \"0%\", stopColor: \"#FFF\", stopOpacity: \".5\" }),\n\t    React.createElement(\"stop\", { offset: \"100%\", stopOpacity: \".6\" })\n\t  ),\n\t  React.createElement(\"path\", { id: \"darkLED-i\", d: \"M22.597 27.933L25 25.53l2.403 2.403v16.356L25 46.692l-2.403-2.403z\" }),\n\t  React.createElement(\n\t    \"filter\",\n\t    { id: \"darkLED-k\", width: \"105.2%\", height: \"101.2%\", x: \"-2.6%\", y: \"-.6%\", filterUnits: \"objectBoundingBox\" },\n\t    React.createElement(\"feOffset\", { dx: \".25\", dy: \".25\", \"in\": \"SourceAlpha\", result: \"shadowOffsetInner1\" }),\n\t    React.createElement(\"feComposite\", { \"in\": \"shadowOffsetInner1\", in2: \"SourceAlpha\", k2: \"-1\", k3: \"1\", operator: \"arithmetic\", result: \"shadowInnerInner1\" }),\n\t    React.createElement(\"feColorMatrix\", { \"in\": \"shadowInnerInner1\", values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\" })\n\t  ),\n\t  React.createElement(\"path\", { id: \"darkLED-l\", d: \"M22.067 44.819l2.403 2.403-2.403 2.403H5.71l-2.402-2.403 2.402-2.403z\" }),\n\t  React.createElement(\n\t    \"filter\",\n\t    { id: \"darkLED-m\", width: \"101.2%\", height: \"105.2%\", x: \"-.6%\", y: \"-2.6%\", filterUnits: \"objectBoundingBox\" },\n\t    React.createElement(\"feOffset\", { dx: \".25\", dy: \".25\", \"in\": \"SourceAlpha\", result: \"shadowOffsetInner1\" }),\n\t    React.createElement(\"feComposite\", { \"in\": \"shadowOffsetInner1\", in2: \"SourceAlpha\", k2: \"-1\", k3: \"1\", operator: \"arithmetic\", result: \"shadowInnerInner1\" }),\n\t    React.createElement(\"feColorMatrix\", { \"in\": \"shadowInnerInner1\", values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\" })\n\t  ),\n\t  React.createElement(\"path\", { id: \"darkLED-n\", d: \"M5.181 44.289l-2.403 2.403-2.403-2.403V27.933l2.403-2.403 2.403 2.403z\" }),\n\t  React.createElement(\n\t    \"filter\",\n\t    { id: \"darkLED-o\", width: \"105.2%\", height: \"101.2%\", x: \"-2.6%\", y: \"-.6%\", filterUnits: \"objectBoundingBox\" },\n\t    React.createElement(\"feOffset\", { dx: \".25\", dy: \".25\", \"in\": \"SourceAlpha\", result: \"shadowOffsetInner1\" }),\n\t    React.createElement(\"feComposite\", { \"in\": \"shadowOffsetInner1\", in2: \"SourceAlpha\", k2: \"-1\", k3: \"1\", operator: \"arithmetic\", result: \"shadowInnerInner1\" }),\n\t    React.createElement(\"feColorMatrix\", { \"in\": \"shadowInnerInner1\", values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\" })\n\t  ),\n\t  React.createElement(\"path\", { id: \"darkLED-p\", d: \"M5.181 22.067L2.778 24.47.375 22.067V5.71l2.403-2.402L5.181 5.71z\" }),\n\t  React.createElement(\n\t    \"filter\",\n\t    { id: \"darkLED-q\", width: \"105.2%\", height: \"101.2%\", x: \"-2.6%\", y: \"-.6%\", filterUnits: \"objectBoundingBox\" },\n\t    React.createElement(\"feOffset\", { dx: \".25\", dy: \".25\", \"in\": \"SourceAlpha\", result: \"shadowOffsetInner1\" }),\n\t    React.createElement(\"feComposite\", { \"in\": \"shadowOffsetInner1\", in2: \"SourceAlpha\", k2: \"-1\", k3: \"1\", operator: \"arithmetic\", result: \"shadowInnerInner1\" }),\n\t    React.createElement(\"feColorMatrix\", { \"in\": \"shadowInnerInner1\", values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\" })\n\t  ),\n\t  React.createElement(\"path\", { id: \"darkLED-r\", d: \"M5.71 27.403L3.308 25l2.402-2.403h16.357L24.47 25l-2.403 2.403z\" }),\n\t  React.createElement(\n\t    \"filter\",\n\t    { id: \"darkLED-s\", width: \"101.2%\", height: \"105.2%\", x: \"-.6%\", y: \"-2.6%\", filterUnits: \"objectBoundingBox\" },\n\t    React.createElement(\"feOffset\", { dx: \".25\", dy: \".25\", \"in\": \"SourceAlpha\", result: \"shadowOffsetInner1\" }),\n\t    React.createElement(\"feComposite\", { \"in\": \"shadowOffsetInner1\", in2: \"SourceAlpha\", k2: \"-1\", k3: \"1\", operator: \"arithmetic\", result: \"shadowInnerInner1\" }),\n\t    React.createElement(\"feColorMatrix\", { \"in\": \"shadowInnerInner1\", values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\" })\n\t  ),\n\t  React.createElement(\n\t    \"radialGradient\",\n\t    { id: \"darkLED-u\", cx: \"0%\", cy: \"0%\", r: \"141.421%\", fx: \"0%\", fy: \"0%\" },\n\t    React.createElement(\"stop\", { offset: \"0%\", stopColor: \"#FFF\", stopOpacity: \".5\" }),\n\t    React.createElement(\"stop\", { offset: \"100%\", stopOpacity: \".6\" })\n\t  ),\n\t  React.createElement(\"path\", { id: \"darkLED-t\", d: \"M31 50.625a2.625 2.625 0 1 1 0-5.25 2.625 2.625 0 0 1 0 5.25z\" }),\n\t  React.createElement(\"path\", { id: \"darkLED-y\", d: \"M35,40.625 C33.5502525,40.625 32.375,39.4497475 32.375,38 C32.375,36.5502525 33.5502525,35.375 35,35.375 C36.4497475,35.375 37.625,36.5502525 37.625,38 C37.625,39.4497475 36.4497475,40.625 35,40.625 Z\" }),\n\t  React.createElement(\n\t    \"filter\",\n\t    { id: \"darkLED-v\", width: \"104.8%\", height: \"104.8%\", x: \"-2.4%\", y: \"-2.4%\", filterUnits: \"objectBoundingBox\" },\n\t    React.createElement(\"feOffset\", { dx: \".25\", dy: \".25\", \"in\": \"SourceAlpha\", result: \"shadowOffsetInner1\" }),\n\t    React.createElement(\"feComposite\", { \"in\": \"shadowOffsetInner1\", in2: \"SourceAlpha\", k2: \"-1\", k3: \"1\", operator: \"arithmetic\", result: \"shadowInnerInner1\" }),\n\t    React.createElement(\"feColorMatrix\", { \"in\": \"shadowInnerInner1\", values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\" })\n\t  ),\n\t  React.createElement(\"path\", { id: \"darkLED-w\", d: \"M35,13.625 C33.5502525,13.625 32.375,12.4497475 32.375,11 C32.375,9.55025253 33.5502525,8.375 35,8.375 C36.4497475,8.375 37.625,9.55025253 37.625,11 C37.625,12.4497475 36.4497475,13.625 35,13.625 Z\" }),\n\t  React.createElement(\n\t    \"filter\",\n\t    { id: \"darkLED-x\", width: \"104.8%\", height: \"104.8%\", x: \"-2.4%\", y: \"-2.4%\", filterUnits: \"objectBoundingBox\" },\n\t    React.createElement(\"feOffset\", { dx: \".25\", dy: \".25\", \"in\": \"SourceAlpha\", result: \"shadowOffsetInner1\" }),\n\t    React.createElement(\"feComposite\", { \"in\": \"shadowOffsetInner1\", in2: \"SourceAlpha\", k2: \"-1\", k3: \"1\", operator: \"arithmetic\", result: \"shadowInnerInner1\" }),\n\t    React.createElement(\"feColorMatrix\", { \"in\": \"shadowInnerInner1\", values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\" })\n\t  )\n\t);\n\t\n\tvar A = React.createElement(\n\t  \"g\",\n\t  null,\n\t  React.createElement(\"use\", { className: \"darkLED-fill\", xlinkHref: \"#darkLED-b\" }),\n\t  React.createElement(\"use\", { fill: \"url(#darkLED-c)\", style: { mixBlendMode: 'overlay' }, xlinkHref: \"#darkLED-b\" }),\n\t  React.createElement(\"use\", { fill: \"url(#darkLED-d)\", style: { mixBlendMode: 'overlay' }, xlinkHref: \"#darkLED-b\" }),\n\t  React.createElement(\"use\", { fill: \"#000\", filter: \"url(#darkLED-e)\", xlinkHref: \"#darkLED-b\" })\n\t);\n\t\n\tvar B = React.createElement(\n\t  \"g\",\n\t  null,\n\t  React.createElement(\"use\", { className: \"darkLED-fill\", xlinkHref: \"#darkLED-f\" }),\n\t  React.createElement(\"use\", { fill: \"url(#darkLED-g)\", style: { mixBlendMode: 'overlay' }, xlinkHref: \"#darkLED-f\" }),\n\t  React.createElement(\"use\", { fill: \"url(#darkLED-d)\", style: { mixBlendMode: 'overlay' }, xlinkHref: \"#darkLED-f\" }),\n\t  React.createElement(\"use\", { fill: \"#000\", filter: \"url(#darkLED-h)\", xlinkHref: \"#darkLED-f\" })\n\t);\n\t\n\tvar C = React.createElement(\n\t  \"g\",\n\t  null,\n\t  React.createElement(\"use\", { className: \"darkLED-fill\", xlinkHref: \"#darkLED-i\" }),\n\t  React.createElement(\"use\", { fill: \"url(#darkLED-j)\", style: { mixBlendMode: 'overlay' }, xlinkHref: \"#darkLED-i\" }),\n\t  React.createElement(\"use\", { fill: \"url(#darkLED-d)\", style: { mixBlendMode: 'overlay' }, xlinkHref: \"#darkLED-i\" }),\n\t  React.createElement(\"use\", { fill: \"#000\", filter: \"url(#darkLED-k)\", xlinkHref: \"#darkLED-i\" })\n\t);\n\t\n\tvar D = React.createElement(\n\t  \"g\",\n\t  null,\n\t  React.createElement(\"use\", { className: \"darkLED-fill\", xlinkHref: \"#darkLED-l\" }),\n\t  React.createElement(\"use\", { fill: \"url(#darkLED-c)\", style: { mixBlendMode: 'overlay' }, xlinkHref: \"#darkLED-l\" }),\n\t  React.createElement(\"use\", { fill: \"url(#darkLED-d)\", style: { mixBlendMode: 'overlay' }, xlinkHref: \"#darkLED-l\" }),\n\t  React.createElement(\"use\", { fill: \"#000\", filter: \"url(#darkLED-m)\", xlinkHref: \"#darkLED-l\" })\n\t);\n\t\n\tvar E = React.createElement(\n\t  \"g\",\n\t  null,\n\t  React.createElement(\"use\", { className: \"darkLED-fill\", xlinkHref: \"#darkLED-n\" }),\n\t  React.createElement(\"use\", { fill: \"url(#darkLED-j)\", style: { mixBlendMode: 'overlay' }, xlinkHref: \"#darkLED-n\" }),\n\t  React.createElement(\"use\", { fill: \"url(#darkLED-d)\", style: { mixBlendMode: 'overlay' }, xlinkHref: \"#darkLED-n\" }),\n\t  React.createElement(\"use\", { fill: \"#000\", filter: \"url(#darkLED-o)\", xlinkHref: \"#darkLED-n\" })\n\t);\n\t\n\tvar F = React.createElement(\n\t  \"g\",\n\t  null,\n\t  React.createElement(\"use\", { className: \"darkLED-fill\", xlinkHref: \"#darkLED-p\" }),\n\t  React.createElement(\"use\", { fill: \"url(#darkLED-g)\", style: { mixBlendMode: 'overlay' }, xlinkHref: \"#darkLED-p\" }),\n\t  React.createElement(\"use\", { fill: \"url(#darkLED-d)\", style: { mixBlendMode: 'overlay' }, xlinkHref: \"#darkLED-p\" }),\n\t  React.createElement(\"use\", { fill: \"#000\", filter: \"url(#darkLED-q)\", xlinkHref: \"#darkLED-p\" })\n\t);\n\t\n\tvar G = React.createElement(\n\t  \"g\",\n\t  null,\n\t  React.createElement(\"use\", { className: \"darkLED-fill\", xlinkHref: \"#darkLED-r\" }),\n\t  React.createElement(\"use\", { fill: \"url(#darkLED-c)\", style: { mixBlendMode: 'overlay' }, xlinkHref: \"#darkLED-r\" }),\n\t  React.createElement(\"use\", { fill: \"url(#darkLED-d)\", style: { mixBlendMode: 'overlay' }, xlinkHref: \"#darkLED-r\" }),\n\t  React.createElement(\"use\", { fill: \"#000\", filter: \"url(#darkLED-s)\", xlinkHref: \"#darkLED-r\" })\n\t);\n\t\n\t// See the following link for segment mappings:\n\t// https://en.wikipedia.org/wiki/Seven-segment_display#/media/File:7_segment_display_labeled.svg\n\tvar DARK_SEGMENTS = exports.DARK_SEGMENTS = { A: A, B: B, C: C, D: D, E: E, F: F, G: G };\n\t\n\tvar darkDecimal = exports.darkDecimal = React.createElement(\n\t  \"g\",\n\t  { fill: \"none\", fillRule: \"evenodd\", filter: \"url(#darkLED-a)\" },\n\t  React.createElement(\n\t    \"g\",\n\t    { fillRule: \"nonzero\" },\n\t    React.createElement(\"use\", { className: \"darkLED-fill\", fillRule: \"evenodd\", xlinkHref: \"#darkLED-t\" }),\n\t    React.createElement(\"use\", { fill: \"url(#darkLED-u)\", fillRule: \"evenodd\", style: { mixBlendMode: 'overlay' }, xlinkHref: \"#darkLED-t\" }),\n\t    React.createElement(\"use\", { fill: \"url(#darkLED-d)\", fillRule: \"evenodd\", style: { mixBlendMode: 'overlay' }, xlinkHref: \"#darkLED-t\" }),\n\t    React.createElement(\"use\", { fill: \"#000\", filter: \"url(#darkLED-v)\", xlinkHref: \"#darkLED-t\" })\n\t  )\n\t);\n\t\n\tvar darkColon = exports.darkColon = React.createElement(\n\t  \"g\",\n\t  null,\n\t  React.createElement(\n\t    \"g\",\n\t    { fillRule: \"nonzero\" },\n\t    React.createElement(\"use\", { className: \"darkLED-fill\", fillRule: \"evenodd\", xlinkHref: \"#darkLED-y\" }),\n\t    React.createElement(\"use\", { fill: \"url(#darkLED-u)\", fillRule: \"evenodd\", style: { mixBlendMode: 'overlay' }, xlinkHref: \"#darkLED-y\" }),\n\t    React.createElement(\"use\", { fill: \"url(#darkLED-d)\", fillRule: \"evenodd\", style: { mixBlendMode: 'overlay' }, xlinkHref: \"#darkLED-y\" }),\n\t    React.createElement(\"use\", { fill: \"black\", filter: \"url(#darkLED-v)\", xlinkHref: \"#darkLED-y\" })\n\t  ),\n\t  React.createElement(\n\t    \"g\",\n\t    { fillRule: \"nonzero\" },\n\t    React.createElement(\"use\", { className: \"darkLED-fill\", fillRule: \"evenodd\", xlinkHref: \"#darkLED-w\" }),\n\t    React.createElement(\"use\", { fill: \"url(#darkLED-u)\", fillRule: \"evenodd\", style: { mixBlendMode: 'overlay' }, xlinkHref: \"#darkLED-w\" }),\n\t    React.createElement(\"use\", { fill: \"url(#darkLED-d)\", fillRule: \"evenodd\", style: { mixBlendMode: 'overlay' }, xlinkHref: \"#darkLED-w\" }),\n\t    React.createElement(\"use\", { fill: \"black\", filter: \"url(#darkLED-x)\", xlinkHref: \"#darkLED-w\" })\n\t  )\n\t);\n\t\n\texports.default = darkGradientDefs;\n\n/***/ }),\n/* 416 */\n/*!*************************!*\\\n  !*** ./helpers/util.js ***!\n  \\*************************/\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar longestString = exports.longestString = function longestString(arr) {\n\t  return arr.sort(function (a, b) {\n\t    return b.length - a.length;\n\t  })[0];\n\t};\n\t\n\tvar decimalify = exports.decimalify = function decimalify() {\n\t  var num = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\t  var step = arguments[1];\n\t\n\t  if (isNaN(num)) {\n\t    return num;\n\t  }\n\t\n\t  // eslint-disable-next-line\n\t\n\t  var _step$toString$split = step.toString().split('.'),\n\t      _step$toString$split2 = _slicedToArray(_step$toString$split, 2),\n\t      characteristic = _step$toString$split2[0],\n\t      mantissa = _step$toString$split2[1];\n\t\n\t  var numDecimalPoints = mantissa ? mantissa.length : 0;\n\t\n\t  return num.toFixed(numDecimalPoints);\n\t};\n\t\n\tvar sanitizeRangeValue = exports.sanitizeRangeValue = function sanitizeRangeValue(_ref) {\n\t  var min = _ref.min,\n\t      max = _ref.max,\n\t      value = _ref.value;\n\t\n\t  if (value == null) return min;\n\t\n\t  if (value < min) {\n\t    return min;\n\t  } else if (value > max) {\n\t    return max;\n\t  } else {\n\t    return value;\n\t  }\n\t};\n\t\n\tvar computeProgress = exports.computeProgress = function computeProgress(_ref2) {\n\t  var min = _ref2.min,\n\t      max = _ref2.max,\n\t      value = _ref2.value,\n\t      _ref2$progressionTarg = _ref2.progressionTarget,\n\t      progressionTarget = _ref2$progressionTarg === undefined ? 100 : _ref2$progressionTarg;\n\t\n\t  value = Number(value);\n\t  var adjustedValue = Math.abs(value - min) * 1.0;\n\t  var range = Math.abs(max - min);\n\t\n\t  return adjustedValue / range * progressionTarget;\n\t};\n\t\n\tvar roundToDecimal = exports.roundToDecimal = function roundToDecimal(value, decimals) {\n\t  return Number(Math.round(value + 'e' + decimals) + 'e-' + decimals);\n\t};\n\t\n\tvar getRandomInt = exports.getRandomInt = function getRandomInt() {\n\t  var min = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\t  var max = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 9999;\n\t  return Math.floor(Math.random() * (max - min + 1)) + min;\n\t};\n\t\n\texports.default = {\n\t  decimalify: decimalify,\n\t  sanitizeRangeValue: sanitizeRangeValue,\n\t  computeProgress: computeProgress,\n\t  longestString: longestString,\n\t  roundToDecimal: roundToDecimal,\n\t  getRandomInt: getRandomInt\n\t};\n\n/***/ }),\n/* 417 */\n/*!************************************!*\\\n  !*** ./helpers/shared/TrackSvg.js ***!\n  \\************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.drawScale = exports.lightTrack = exports.colorRangesTrack = undefined;\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar _util = __webpack_require__(/*! ../../helpers/util */ 416);\n\t\n\tvar longestString = _util.longestString;\n\tvar getRandomInt = _util.getRandomInt;\n\tvar computeProgress = _util.computeProgress;\n\t\n\tvar _colorRanges = __webpack_require__(/*! ../../helpers/colorRanges */ 418);\n\t\n\tvar isContiguous = _colorRanges.isContiguous;\n\tvar getSortedEntries = _colorRanges.getSortedEntries;\n\t\n\tvar _constants = __webpack_require__(/*! ../../styled/constants */ 18);\n\t\n\tvar RADIAN = _constants.RADIAN;\n\tvar TRACK_TOTAL_DEG = _constants.TRACK_TOTAL_DEG;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar colorRangesTrack = exports.colorRangesTrack = function colorRangesTrack(props, dimensions) {\n\t  var color = props.color,\n\t      max = props.max;\n\t  var CX = dimensions.CX,\n\t      CY = dimensions.CY,\n\t      GAUGE_RAD = dimensions.GAUGE_RAD,\n\t      CIRCLE_CIR = dimensions.CIRCLE_CIR,\n\t      GAP_ARC_LENGTH = dimensions.GAP_ARC_LENGTH;\n\t\n\t  var TRACK_ARC_DEG = 270;\n\t  var GAP_ARC_DEG = 90;\n\t  var GRADIENT_BLEND = 25;\n\t\n\t  if (!isContiguous(props)) return null;\n\t\n\t  // calculate stops\n\t  var stops = getSortedEntries(color.ranges).map(function (_ref, i) {\n\t    var _ref2 = _slicedToArray(_ref, 2),\n\t        colorValue = _ref2[0],\n\t        range = _ref2[1];\n\t\n\t    var startDeg = range[0] * 1.0 / max * TRACK_ARC_DEG + GAP_ARC_DEG;\n\t    var endDeg = range[1] * 1.0 / max * TRACK_ARC_DEG + GAP_ARC_DEG;\n\t\n\t    if (color.gradient) {\n\t      // no transition between black band and first color\n\t      if (i === 0) {\n\t        return colorValue + ' 0';\n\t      }\n\t\n\t      return colorValue + ' ' + (startDeg + GRADIENT_BLEND) + 'deg, ' + colorValue + ' ' + (endDeg - GRADIENT_BLEND) + 'deg';\n\t    }\n\t\n\t    return colorValue + ' ' + startDeg + 'deg, ' + colorValue + ' ' + endDeg + 'deg';\n\t  });\n\t\n\t  stops.unshift(['black ' + GAP_ARC_DEG + 'deg']); // add black band for bottom gap\n\t\n\t  if (typeof window === 'undefined') {\n\t    return null;\n\t  }\n\t\n\t  if (!window.ConicGradient) {\n\t    // eslint-disable-next-line\n\t    __webpack_require__(/*! conic-gradient */ 420); // globally sets ConicGradient\n\t  }\n\t  var ConicGradient = window.ConicGradient;\n\t  var gradient = new ConicGradient({\n\t    stops: stops.join(', '),\n\t    size: 400\n\t  });\n\t\n\t  // unique id for each track\n\t  var id = 'colorRangesImage-' + getRandomInt();\n\t  return React.createElement(\n\t    'g',\n\t    null,\n\t    React.createElement(\n\t      'defs',\n\t      null,\n\t      React.createElement(\n\t        'pattern',\n\t        { id: id, patternUnits: 'userSpaceOnUse', width: '100%', height: '100%' },\n\t        React.createElement('image', { xlinkHref: gradient.dataURL, width: '100%', height: '100%' })\n\t      )\n\t    ),\n\t    React.createElement('circle', {\n\t      className: 'color-ranges',\n\t      cx: CX,\n\t      cy: CY,\n\t      r: GAUGE_RAD,\n\t      fill: 'none',\n\t      stroke: 'url(#' + id + ')',\n\t      strokeWidth: '6px',\n\t      strokeDasharray: CIRCLE_CIR,\n\t      strokeDashoffset: GAP_ARC_LENGTH,\n\t      transform: 'rotate(-225 ' + CX + ' ' + CY + ')'\n\t    })\n\t  );\n\t};\n\t\n\tvar lightTrack = exports.lightTrack = function lightTrack(props, dimensions) {\n\t  var color = props.color,\n\t      progress = props.progress;\n\t  var CX = dimensions.CX,\n\t      CY = dimensions.CY,\n\t      GAUGE_RAD = dimensions.GAUGE_RAD,\n\t      CIRCLE_CIR = dimensions.CIRCLE_CIR,\n\t      GAP_ARC_LENGTH = dimensions.GAP_ARC_LENGTH,\n\t      TRACK_ARC_LENGTH = dimensions.TRACK_ARC_LENGTH;\n\t\n\t\n\t  return React.createElement(\n\t    'g',\n\t    null,\n\t    React.createElement('circle', {\n\t      className: 'track',\n\t      cx: CX,\n\t      cy: CY,\n\t      r: GAUGE_RAD,\n\t      fill: 'none',\n\t      strokeDasharray: CIRCLE_CIR,\n\t      strokeDashoffset: GAP_ARC_LENGTH,\n\t      strokeWidth: '6',\n\t      transform: 'rotate(-225 ' + CX + ' ' + CY + ')'\n\t    }),\n\t    React.createElement('circle', {\n\t      className: 'track progress',\n\t      cx: CX,\n\t      cy: CY,\n\t      r: GAUGE_RAD,\n\t      fill: 'none',\n\t      strokeDasharray: CIRCLE_CIR,\n\t      strokeDashoffset: GAP_ARC_LENGTH + (1 - progress) * TRACK_ARC_LENGTH,\n\t      strokeWidth: '6',\n\t      transform: 'rotate(-225 ' + CX + ' ' + CY + ')'\n\t    }),\n\t    color && color.ranges && colorRangesTrack(props, dimensions)\n\t  );\n\t};\n\t\n\tvar getScaleString = function getScaleString(v) {\n\t  if (!v) return '';\n\t\n\t  // is jsx element?\n\t  if (v.props) return v.props.children[0] + ' ';\n\t\n\t  return v && v.label || v;\n\t};\n\t\n\tvar drawScale = exports.drawScale = function drawScale(_ref3, _ref4) {\n\t  var min = _ref3.min,\n\t      max = _ref3.max,\n\t      step = _ref3.step,\n\t      scale = _ref3.scale;\n\t  var CX = _ref4.CX,\n\t      CY = _ref4.CY,\n\t      SCALE_TICK_OUTER_RAD = _ref4.SCALE_TICK_OUTER_RAD,\n\t      SCALE_TICK_INNER_RAD = _ref4.SCALE_TICK_INNER_RAD,\n\t      SCALE_TEXT_RAD = _ref4.SCALE_TEXT_RAD,\n\t      IS_GAUGE = _ref4.IS_GAUGE;\n\t\n\t  var START_ANGLE_OFFSET = -225;\n\t  var DEFAULT_LONGEST_STRING = 3;\n\t\n\t  var scaleItems = [];\n\t  var count = 0;\n\t\n\t  var offset = Math.max(longestString(Object.values(scale).map(getScaleString)).length, DEFAULT_LONGEST_STRING) * 2;\n\t\n\t  var sr1 = SCALE_TICK_OUTER_RAD;\n\t  var sr2 = SCALE_TICK_INNER_RAD;\n\t  var srT = IS_GAUGE ? SCALE_TEXT_RAD - offset : SCALE_TEXT_RAD + offset;\n\t\n\t  Object.keys(scale).forEach(function (key) {\n\t    var markValue = scale[key];\n\t    var degreesProgressed = computeProgress({\n\t      min: min,\n\t      max: max,\n\t      value: key,\n\t      progressionTarget: TRACK_TOTAL_DEG\n\t    });\n\t    var markAngle = START_ANGLE_OFFSET + degreesProgressed;\n\t\n\t    if (markValue !== null) {\n\t      // draw full mark\n\t      var sx1 = CX + sr1 * Math.cos(markAngle * RADIAN);\n\t      var sy1 = CY + sr1 * Math.sin(markAngle * RADIAN);\n\t      var sx2 = CX + sr2 * Math.cos(markAngle * RADIAN);\n\t      var sy2 = CY + sr2 * Math.sin(markAngle * RADIAN);\n\t      var sxT = CX + srT * Math.cos(markAngle * RADIAN);\n\t      var syT = CY + srT * Math.sin(markAngle * RADIAN) + 4;\n\t\n\t      scaleItems.push(React.createElement('line', {\n\t        key: 'line' + count,\n\t        className: 'tick',\n\t        x1: sx1,\n\t        y1: sy1,\n\t        x2: sx2,\n\t        y2: sy2,\n\t        strokeLinecap: 'round'\n\t      }), React.createElement(\n\t        'text',\n\t        {\n\t          key: 'text' + count,\n\t          x: sxT,\n\t          y: syT,\n\t          textAnchor: 'middle',\n\t          style: markValue && markValue.style ? markValue.style : null\n\t        },\n\t        markValue && markValue.label || markValue\n\t      ));\n\t    } else {\n\t      // draw mini mark\n\t      var _sx = CX + sr1 * Math.cos(markAngle * RADIAN);\n\t      var _sy = CY + sr1 * Math.sin(markAngle * RADIAN);\n\t      var _sx2 = CX + (sr2 + 3) * Math.cos(markAngle * RADIAN);\n\t      var _sy2 = CY + (sr2 + 3) * Math.sin(markAngle * RADIAN);\n\t\n\t      scaleItems.push(React.createElement('line', {\n\t        key: 'line' + count,\n\t        className: 'tick',\n\t        x1: _sx,\n\t        y1: _sy,\n\t        x2: _sx2,\n\t        y2: _sy2,\n\t        strokeLinecap: 'round'\n\t      }));\n\t    }\n\t\n\t    count++;\n\t  });\n\t\n\t  return scaleItems;\n\t};\n\n/***/ }),\n/* 418 */\n/*!********************************!*\\\n  !*** ./helpers/colorRanges.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.getColorValue = exports.getLinearGradientCSS = exports.getGradientObject = exports.getSortedEntries = exports.isContiguous = undefined;\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _tinygradient = __webpack_require__(/*! tinygradient */ 419);\n\t\n\tvar tinygradient = _interopRequireDefault(_tinygradient).default;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar isContiguous = exports.isContiguous = function isContiguous(_ref) {\n\t  var color = _ref.color,\n\t      min = _ref.min,\n\t      max = _ref.max;\n\t\n\t  var ranges = Object.values(color.ranges);\n\t  ranges.sort(function (r1, r2) {\n\t    return r1[0] - r2[0];\n\t  });\n\t\n\t  // color ranges start at min and end at max\n\t  if (ranges[0][0] !== min || ranges[ranges.length - 1][1] !== max) return false;\n\t\n\t  // color ranges are contiguous\n\t  for (var i = 0; i < ranges.length - 1; i++) {\n\t    if (ranges[i][1] !== ranges[i + 1][0]) return false;\n\t  }\n\t\n\t  return true;\n\t};\n\t\n\tvar getSortedEntries = exports.getSortedEntries = function getSortedEntries(scale) {\n\t  var entries = Object.entries(scale);\n\t  entries.sort(function (_ref2, _ref3) {\n\t    var _ref5 = _slicedToArray(_ref2, 2),\n\t        r1 = _ref5[1];\n\t\n\t    var _ref4 = _slicedToArray(_ref3, 2),\n\t        r2 = _ref4[1];\n\t\n\t    return r1[0] - r2[0];\n\t  });\n\t\n\t  return entries;\n\t};\n\t\n\tvar getGradientObject = exports.getGradientObject = function getGradientObject(_ref6) {\n\t  var color = _ref6.color,\n\t      min = _ref6.min,\n\t      max = _ref6.max;\n\t\n\t  var currentPos = 0;\n\t  var stops = getSortedEntries(color.ranges).map(function (_ref7) {\n\t    var _ref8 = _slicedToArray(_ref7, 2),\n\t        colorValue = _ref8[0],\n\t        range = _ref8[1];\n\t\n\t    var rangeLength = (range[1] - range[0]) * 1.0 / (max - min);\n\t    var start = currentPos;\n\t    var end = currentPos + rangeLength;\n\t\n\t    currentPos = end;\n\t\n\t    return { color: colorValue, pos: start };\n\t  });\n\t\n\t  return tinygradient(stops);\n\t};\n\t\n\tvar getLinearGradientCSS = exports.getLinearGradientCSS = function getLinearGradientCSS(_ref9) {\n\t  var color = _ref9.color,\n\t      min = _ref9.min,\n\t      max = _ref9.max,\n\t      _ref9$vertical = _ref9.vertical,\n\t      vertical = _ref9$vertical === undefined ? false : _ref9$vertical;\n\t\n\t  var currentPercentage = 0;\n\t  var stops = getSortedEntries(color.ranges).map(function (_ref10, i) {\n\t    var _ref11 = _slicedToArray(_ref10, 2),\n\t        colorValue = _ref11[0],\n\t        range = _ref11[1];\n\t\n\t    var rangeLength = (range[1] - range[0]) * 1.0 / (max - min) * 100;\n\t    var start = currentPercentage;\n\t    var end = currentPercentage + rangeLength;\n\t\n\t    currentPercentage = end;\n\t\n\t    if (color.gradient) {\n\t      return i === 0 ? colorValue : colorValue + ' ' + start + '%';\n\t    }\n\t\n\t    return i === 0 ? colorValue + ', ' + colorValue + ' ' + end + '%' : colorValue + ' ' + start + '%, ' + colorValue + ' ' + end + '%';\n\t  });\n\t\n\t  stops.unshift(vertical ? 'to top' : 'to right');\n\t\n\t  return 'linear-gradient(' + stops.join(', ') + ')';\n\t};\n\t\n\tvar getColorValue = exports.getColorValue = function getColorValue(color) {\n\t  return color && (typeof color === 'string' ? color : color.default);\n\t};\n\t\n\texports.default = {\n\t  isContiguous: isContiguous,\n\t  getSortedEntries: getSortedEntries,\n\t  getLinearGradientCSS: getLinearGradientCSS,\n\t  getColorValue: getColorValue\n\t};\n\n/***/ }),\n/* 419 */\n/*!*****************************************!*\\\n  !*** ../~/tinygradient/tinygradient.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n\t * TinyGradient 0.4.3\n\t * Copyright 2014-2018 Damien \"Mistic\" Sorel (http://www.strangeplanet.fr)\n\t * Licensed under MIT (http://opensource.org/licenses/MIT)\n\t */\n\t\n\t(function (root, factory) {\n\t    if (typeof module !== \"undefined\" && module.exports) {\n\t        module.exports = factory(__webpack_require__(/*! tinycolor2 */ 315));\n\t    }\n\t    else if (true) {\n\t        !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! tinycolor2 */ 315)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t    }\n\t    else {\n\t        root.tinygradient = factory(root.tinycolor);\n\t    }\n\t}(this, function (tinycolor) {\n\t    \"use strict\";\n\t\n\t    var RGBA_MAX = {r: 256, g: 256, b: 256, a: 1};\n\t    var HSVA_MAX = {h: 360, s: 1, v: 1, a: 1};\n\t\n\t    /**\n\t     * Linearly compute the step size between start and end (not normalized)\n\t     * @param {Object} start - rgba or hsva\n\t     * @param {Object} end - rgba or hsva\n\t     * @param {int} steps - number of desired steps\n\t     * @return {Object} rgba or hsva\n\t     */\n\t    function stepize(start, end, steps) {\n\t        var step = {};\n\t\n\t        for (var k in start) {\n\t            if (start.hasOwnProperty(k)) {\n\t                step[k] = steps === 0 ? 0 : (end[k] - start[k]) / steps;\n\t            }\n\t        }\n\t\n\t        return step;\n\t    }\n\t\n\t    /**\n\t     * Compute the final step color\n\t     * @param {Object} step - rgba or hsva from `stepize`\n\t     * @param {Object} start - rgba or hsva\n\t     * @param {int} i - color index\n\t     * @param {Object} max - rgba or hsva of maximum values for each channel\n\t     * @return {Object} rgba or hsva\n\t     */\n\t    function interpolate(step, start, i, max) {\n\t        var color = {};\n\t\n\t        for (var k in start) {\n\t            if (start.hasOwnProperty(k)) {\n\t                color[k] = step[k] * i + start[k];\n\t                color[k] = color[k] < 0 ? color[k] + max[k] : ( max[k] !== 1 ? color[k] % max[k] : color[k] );\n\t            }\n\t        }\n\t\n\t        return color;\n\t    }\n\t\n\t    /**\n\t     * Generate gradient with RGBa interpolation\n\t     * @param {Object} stop1\n\t     * @param {Object} stop2\n\t     * @param {int} steps\n\t     * @return {tinycolor[]} color1 included, color2 excluded\n\t     */\n\t    function interpolateRgb(stop1, stop2, steps) {\n\t        var start = stop1.color.toRgb(),\n\t            end = stop2.color.toRgb(),\n\t            gradient = [stop1.color],\n\t            step = stepize(start, end, steps),\n\t            color;\n\t\n\t        for (var i = 1; i < steps; i++) {\n\t            color = interpolate(step, start, i, RGBA_MAX);\n\t            gradient.push(tinycolor(color));\n\t        }\n\t\n\t        return gradient;\n\t    }\n\t\n\t    /**\n\t     * Generate gradient with HSVa interpolation\n\t     * @param {Object} stop1\n\t     * @param {Object} stop2\n\t     * @param {int} steps\n\t     * @param {Boolean} trigonometric - true to step in trigonometric order\n\t     * @return {tinycolor[]} color1 included, color2 excluded\n\t     */\n\t    function interpolateHsv(stop1, stop2, steps, trigonometric) {\n\t        var start = stop1.color.toHsv(),\n\t            end = stop2.color.toHsv(),\n\t            gradient = [stop1.color],\n\t            step = stepize(start, end, steps),\n\t            diff, color;\n\t\n\t        // recompute hue\n\t        if ((start.h <= end.h && !trigonometric) || (start.h >= end.h && trigonometric)) {\n\t            diff = end.h - start.h;\n\t        }\n\t        else if (trigonometric) {\n\t            diff = 360 - end.h + start.h;\n\t        }\n\t        else {\n\t            diff = 360 - start.h + end.h;\n\t        }\n\t        step.h = Math.pow(-1, trigonometric ? 1 : 0) * Math.abs(diff) / steps;\n\t\n\t        for (var i = 1; i < steps; i++) {\n\t            color = interpolate(step, start, i, HSVA_MAX);\n\t            gradient.push(tinycolor(color));\n\t        }\n\t\n\t        return gradient;\n\t    }\n\t\n\t    /**\n\t     * Compute substeps between each stops\n\t     * @param {Object[]} stops\n\t     * @param {int} steps\n\t     * @return {int[]}\n\t     */\n\t    function computeSubsteps(stops, steps) {\n\t        var l = stops.length;\n\t\n\t        // validation\n\t        steps = parseInt(steps);\n\t\n\t        if (isNaN(steps) || steps < 2) {\n\t            throw new Error('Invalid number of steps (< 2)');\n\t        }\n\t        if (steps < l) {\n\t            throw new Error('Number of steps cannot be inferior to number of stops');\n\t        }\n\t\n\t        // compute substeps from stop positions\n\t        var substeps = [];\n\t\n\t        for (var i = 1; i < l; i++) {\n\t            var step = (steps - 1) * (stops[i].pos - stops[i - 1].pos);\n\t            substeps.push(Math.max(1, Math.round(step)));\n\t        }\n\t\n\t        // adjust number of steps\n\t        var totalSubsteps = 1;\n\t        for (var n = l - 1; n--;) totalSubsteps += substeps[n];\n\t\n\t        while (totalSubsteps !== steps) {\n\t            if (totalSubsteps < steps) {\n\t                var min = Math.min.apply(null, substeps);\n\t                substeps[substeps.indexOf(min)]++;\n\t                totalSubsteps++;\n\t            }\n\t            else {\n\t                var max = Math.max.apply(null, substeps);\n\t                substeps[substeps.indexOf(max)]--;\n\t                totalSubsteps--;\n\t            }\n\t        }\n\t\n\t        return substeps;\n\t    }\n\t\n\t    /**\n\t     * Compute the color at a specific position\n\t     * @param {Object[]} stops\n\t     * @param {float} pos\n\t     * @param {string} method\n\t     * @param {Object} max\n\t     * @returns {tinycolor}\n\t     */\n\t    function computeAt(stops, pos, method, max) {\n\t        if (pos < 0 || pos > 1) {\n\t            throw new Error('Position must be between 0 and 1');\n\t        }\n\t\n\t        var start, end;\n\t        for (var i = 0, l = stops.length; i < l - 1; i++) {\n\t            if (pos >= stops[i].pos && pos < stops[i + 1].pos) {\n\t                start = stops[i];\n\t                end = stops[i + 1];\n\t                break;\n\t            }\n\t        }\n\t\n\t        if (!start) {\n\t            start = end = stops[stops.length - 1];\n\t        }\n\t\n\t        var step = stepize(start.color[method](), end.color[method](), (end.pos - start.pos) * 100);\n\t        var color = interpolate(step, start.color[method](), Math.round((pos - start.pos) * 100), max);\n\t        return tinycolor(color);\n\t    }\n\t\n\t    /**\n\t     * @class tinygradient\n\t     * @param {*} stops\n\t     */\n\t    var TinyGradient = function (stops) {\n\t        // varargs\n\t        if (arguments.length === 1) {\n\t            if (!(arguments[0] instanceof Array)) {\n\t                throw new Error('\"stops\" is not an array');\n\t            }\n\t            stops = arguments[0];\n\t        }\n\t        else {\n\t            stops = Array.prototype.slice.call(arguments);\n\t        }\n\t\n\t        // if we are called as a function, call using new instead\n\t        if (!(this instanceof TinyGradient)) {\n\t            return new TinyGradient(stops);\n\t        }\n\t\n\t        // validation\n\t        if (stops.length < 2) {\n\t            throw new Error('Invalid number of stops (< 2)');\n\t        }\n\t\n\t        var havingPositions = stops[0].pos !== undefined,\n\t            l = stops.length,\n\t            p = -1;\n\t        // create tinycolor objects and clean positions\n\t        this.stops = stops.map(function (stop, i) {\n\t            var hasPosition = stop.pos !== undefined;\n\t            if (havingPositions ^ hasPosition) {\n\t                throw new Error('Cannot mix positionned and not posionned color stops');\n\t            }\n\t\n\t            if (hasPosition) {\n\t                stop = {\n\t                    color: tinycolor(stop.color),\n\t                    pos  : stop.pos\n\t                };\n\t\n\t                if (stop.pos < 0 || stop.pos > 1) {\n\t                    throw new Error('Color stops positions must be between 0 and 1');\n\t                }\n\t                else if (stop.pos <= p) {\n\t                    throw new Error('Color stops positions are not ordered');\n\t                }\n\t                p = stop.pos;\n\t            }\n\t            else {\n\t                stop = {\n\t                    color: tinycolor(stop),\n\t                    pos  : i / (l - 1)\n\t                };\n\t            }\n\t\n\t            return stop;\n\t        });\n\t\n\t        if (this.stops[0].pos !== 0) {\n\t            this.stops.unshift({\n\t                color: this.stops[0].color,\n\t                pos  : 0\n\t            });\n\t        }\n\t        if (this.stops[this.stops.length - 1].pos !== 1) {\n\t            this.stops.push({\n\t                color: this.stops[this.stops.length - 1].color,\n\t                pos  : 1\n\t            });\n\t        }\n\t    };\n\t\n\t    /**\n\t     * Return new instance with reversed stops\n\t     * @return {tinygradient}\n\t     */\n\t    TinyGradient.prototype.reverse = function () {\n\t        var stops = [];\n\t\n\t        this.stops.forEach(function (stop) {\n\t            stops.push({\n\t                color: stop.color,\n\t                pos  : 1 - stop.pos\n\t            });\n\t        });\n\t\n\t        return new TinyGradient(stops.reverse());\n\t    };\n\t\n\t    /**\n\t     * Generate gradient with RGBa interpolation\n\t     * @param {int} steps\n\t     * @return {tinycolor[]}\n\t     */\n\t    TinyGradient.prototype.rgb = function (steps) {\n\t        var substeps = computeSubsteps(this.stops, steps),\n\t            gradient = [];\n\t\n\t        for (var i = 0, l = this.stops.length; i < l - 1; i++) {\n\t            gradient = gradient.concat(interpolateRgb(this.stops[i], this.stops[i + 1], substeps[i]));\n\t        }\n\t\n\t        gradient.push(this.stops[l - 1].color);\n\t\n\t        return gradient;\n\t    };\n\t\n\t    /**\n\t     * Generate gradient with HSVa interpolation\n\t     * @param {int} steps\n\t     * @param {Boolean|String} [mode=false]\n\t     *    - false to step in clockwise\n\t     *    - true to step in trigonometric order\n\t     *    - 'short' to use the shortest way\n\t     *    - 'long' to use the longest way\n\t     * @return {tinycolor[]}\n\t     */\n\t    TinyGradient.prototype.hsv = function (steps, mode) {\n\t        var substeps = computeSubsteps(this.stops, steps),\n\t            trigonometric = mode === true,\n\t            parametrized = typeof mode === 'string',\n\t            gradient = [],\n\t            start, end, trig;\n\t\n\t        for (var i = 0, l = this.stops.length; i < l - 1; i++) {\n\t            start = this.stops[i].color.toHsv();\n\t            end = this.stops[i + 1].color.toHsv();\n\t\n\t            if (parametrized) {\n\t                trig = (start.h < end.h && end.h - start.h < 180) || (start.h > end.h && start.h - end.h > 180);\n\t            }\n\t\n\t            // rgb interpolation if one of the steps in grayscale\n\t            if (start.s === 0 || end.s === 0) {\n\t                gradient = gradient.concat(interpolateRgb(this.stops[i], this.stops[i + 1], substeps[i]));\n\t            }\n\t            else {\n\t                gradient = gradient.concat(interpolateHsv(this.stops[i], this.stops[i + 1], substeps[i],\n\t                    (mode === 'long' && trig) || (mode === 'short' && !trig) || (!parametrized && trigonometric)\n\t                ));\n\t            }\n\t        }\n\t\n\t        gradient.push(this.stops[l - 1].color);\n\t\n\t        return gradient;\n\t    };\n\t\n\t    /**\n\t     * Generate CSS3 command (no prefix) for this gradient\n\t     * @param {String} [mode=linear] - 'linear' or 'radial'\n\t     * @param {String} [direction] - default is 'to right' or 'ellipse at center'\n\t     * @return {String}\n\t     */\n\t    TinyGradient.prototype.css = function (mode, direction) {\n\t        mode = mode || 'linear';\n\t        direction = direction || (mode === 'linear' ? 'to right' : 'ellipse at center');\n\t\n\t        var css = mode + '-gradient(' + direction;\n\t        this.stops.forEach(function (stop) {\n\t            css += ', ' + stop.color.toRgbString() + ' ' + (stop.pos * 100) + '%';\n\t        });\n\t        css += ')';\n\t        return css;\n\t    };\n\t\n\t    /**\n\t     * Returns the color at specific position with RGBa interpolation\n\t     * @param {float} pos, between 0 and 1\n\t     * @return {tinycolor}\n\t     */\n\t    TinyGradient.prototype.rgbAt = function (pos) {\n\t        return computeAt(this.stops, pos, 'toRgb', RGBA_MAX);\n\t    };\n\t\n\t    /**\n\t     * Returns the color at specific position with HSVa interpolation\n\t     * @param {float} pos, between 0 and 1\n\t     * @return {tinycolor}\n\t     */\n\t    TinyGradient.prototype.hsvAt = function (pos) {\n\t        return computeAt(this.stops, pos, 'toHsv', HSVA_MAX);\n\t    };\n\t\n\t    var STATIC_FNS = {\n\t        'rgb'  : 1,\n\t        'hsv'  : 2,\n\t        'css'  : 2,\n\t        'rgbAt': 1,\n\t        'hsvAt': 1\n\t    };\n\t\n\t    Object.keys(STATIC_FNS).forEach(function (fn) {\n\t        TinyGradient[fn] = function () {\n\t            var colors = Array.prototype.slice.call(arguments);\n\t            var args = colors.splice(-STATIC_FNS[fn]);\n\t            var gradient = new TinyGradient(colors);\n\t            return gradient[fn].apply(gradient, args);\n\t        };\n\t    });\n\t\n\t    // export\n\t    return TinyGradient;\n\t}));\n\n/***/ }),\n/* 420 */\n/*!*********************************************!*\\\n  !*** ../~/conic-gradient/conic-gradient.js ***!\n  \\*********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * CSS conic-gradient() polyfill\n\t * By Lea Verou — http://lea.verou.me\n\t * MIT license\n\t */\n\t\n\t(function(){\n\t\n\tvar π = Math.PI;\n\tvar τ = 2 * π;\n\tvar ε = .00001;\n\tvar deg = π/180;\n\t\n\tvar dummy = document.createElement(\"div\");\n\tdocument.head.appendChild(dummy);\n\t\n\tvar _ = self.ConicGradient = function(o) {\n\t\tvar me = this;\n\t\t_.all.push(this);\n\t\n\t\to = o || {};\n\t\n\t\tthis.canvas = document.createElement(\"canvas\");\n\t\tthis.context = this.canvas.getContext(\"2d\");\n\t\n\t\tthis.repeating = !!o.repeating;\n\t\n\t\tthis.size = o.size || Math.max(innerWidth, innerHeight);\n\t\n\t\tthis.canvas.width = this.canvas.height = this.size;\n\t\n\t\tvar stops = o.stops;\n\t\n\t\tthis.stops = (stops || \"\").split(/\\s*,(?![^(]*\\))\\s*/); // commas that are not followed by a ) without a ( first\n\t\n\t\tthis.from = 0;\n\t\n\t\tfor (var i=0; i<this.stops.length; i++) {\n\t\t\tif (this.stops[i]) {\n\t\t\t\tvar stop = this.stops[i] = new _.ColorStop(this, this.stops[i]);\n\t\n\t\t\t\tif (stop.next) {\n\t\t\t\t\tthis.stops.splice(i+1, 0, stop.next);\n\t\t\t\t\ti++;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.stops.splice(i, 1);\n\t\t\t\ti--;\n\t\t\t}\n\t\t}\n\t\n\t\tif (this.stops[0].color.indexOf('from') == 0) {\n\t\t\tthis.from = this.stops[0].pos*360;\n\t\t\tthis.stops.shift();\n\t\t}\n\t\t// Normalize stops\n\t\n\t\t// Add dummy first stop or set first stop’s position to 0 if it doesn’t have one\n\t\tif (this.stops[0].pos === undefined) {\n\t\t\t\tthis.stops[0].pos = 0;\n\t\t\t}\n\t\telse if (this.stops[0].pos > 0) {\n\t\t\tvar first = this.stops[0].clone();\n\t\t\tfirst.pos = 0;\n\t\t\tthis.stops.unshift(first);\n\t\t}\n\t\n\t\t// Add dummy last stop or set first stop’s position to 100% if it doesn’t have one\n\t\tif (this.stops[this.stops.length - 1].pos === undefined) {\n\t\t\tthis.stops[this.stops.length - 1].pos = 1;\n\t\t}\n\t\telse if (!this.repeating && this.stops[this.stops.length - 1].pos < 1) {\n\t\t\tvar last = this.stops[this.stops.length - 1].clone();\n\t\t\tlast.pos = 1;\n\t\t\tthis.stops.push(last);\n\t\t}\n\t\n\t\tthis.stops.forEach(function(stop, i){\n\t\t\tif (stop.pos === undefined) {\n\t\t\t\t// Evenly space color stops with no position\n\t\t\t\tfor (var j=i+1; this[j]; j++) {\n\t\t\t\t\tif (this[j].pos !== undefined) {\n\t\t\t\t\t\tstop.pos = this[i-1].pos + (this[j].pos - this[i-1].pos)/(j-i+1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (i > 0) {\n\t\t\t\t// Normalize color stops whose position is smaller than the position of the stop before them\n\t\t\t\tstop.pos = Math.max(stop.pos, this[i-1].pos);\n\t\t\t}\n\t\t}, this.stops);\n\t\n\t\tif (this.repeating) {\n\t\t\t// Repeat color stops until >= 1\n\t\t\tvar stops = this.stops.slice();\n\t\t\tvar lastStop = stops[stops.length-1];\n\t\t\tvar difference = lastStop.pos - stops[0].pos;\n\t\n\t\t\tfor (var i=0; this.stops[this.stops.length-1].pos < 1 && i<10000; i++) {\n\t\t\t\tfor (var j=0; j<stops.length; j++) {\n\t\t\t\t\tvar s = stops[j].clone();\n\t\t\t\t\ts.pos += (i+1)*difference;\n\t\n\t\t\t\t\tthis.stops.push(s);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\tthis.paint();\n\t};\n\t\n\t_.all = [];\n\t\n\t_.prototype = {\n\t\ttoString: function() {\n\t\t\treturn \"url('\" + this.dataURL + \"')\";\n\t\t},\n\t\n\t\tget dataURL() {\n\t\t\t// IE/Edge only render data-URI based background-image when the image data\n\t\t\t// is escaped.\n\t\t\t// Ref: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7157459/#comment-3\n\t\t\treturn \"data:image/svg+xml,\" + encodeURIComponent(this.svg);\n\t\t},\n\t\n\t\tget blobURL() {\n\t\t\t// Warning: Flicker when updating due to slow blob: URL resolution :(\n\t\t\t// TODO cache this and only update it when color stops change\n\t\t\treturn URL.createObjectURL(new Blob([this.svg], {type: \"image/svg+xml\"}));\n\t\t},\n\t\n\t\tget svg() {\n\t\t\treturn '<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" preserveAspectRatio=\"none\">' +\n\t\t\t\t'<svg viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid slice\">' +\n\t\t\t\t'<image width=\"100\" height=\"100%\" xlink:href=\"' + this.png + '\" /></svg></svg>';\n\t\t},\n\t\n\t\tget png() {\n\t\t\treturn this.canvas.toDataURL();\n\t\t},\n\t\n\t\tget r() {\n\t\t\treturn Math.sqrt(2) * this.size / 2;\n\t\t},\n\t\n\t\t// Paint the conical gradient on the canvas\n\t\t// Algorithm inspired from http://jsdo.it/akm2/yr9B\n\t\tpaint: function() {\n\t\t\tvar c = this.context;\n\t\n\t\t\tvar radius = this.r;\n\t\t\tvar x = this.size / 2;\n\t\n\t\t\tvar stopIndex = 0; // The index of the current color\n\t\t\tvar stop = this.stops[stopIndex], prevStop;\n\t\n\t\t\tvar diff, t;\n\t\n\t\t\t// Transform coordinate system so that angles start from the top left, like in CSS\n\t\t\tc.translate(this.size/2, this.size/2);\n\t\t\tc.rotate(-90*deg);\n\t\t\tc.rotate(this.from*deg);\n\t\t\tc.translate(-this.size/2, -this.size/2);\n\t\n\t\t\tfor (var i = 0; i < 360;) {\n\t\t\t\tif (i/360 + ε >= stop.pos) {\n\t\t\t\t\t// Switch color stop\n\t\t\t\t\tdo {\n\t\t\t\t\t\tprevStop = stop;\n\t\n\t\t\t\t\t\tstopIndex++;\n\t\t\t\t\t\tstop = this.stops[stopIndex];\n\t\t\t\t\t} while(stop && stop != prevStop && stop.pos === prevStop.pos);\n\t\n\t\t\t\t\tif (!stop) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tvar sameColor = prevStop.color + \"\" === stop.color + \"\" && prevStop != stop;\n\t\n\t\t\t\t\tdiff = prevStop.color.map(function(c, i){\n\t\t\t\t\t\treturn stop.color[i] - c;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\n\t\t\t\tt = (i/360 - prevStop.pos) / (stop.pos - prevStop.pos);\n\t\n\t\t\t\tvar interpolated = sameColor? stop.color : diff.map(function(d,i){\n\t\t\t\t\tvar ret = d * t + prevStop.color[i];\n\t\n\t\t\t\t\treturn i < 3? ret & 255 : ret;\n\t\t\t\t});\n\t\n\t\t\t\t// Draw a series of arcs, 1deg each\n\t\t\t\tc.fillStyle = 'rgba(' + interpolated.join(\",\") + ')';\n\t\t\t\tc.beginPath();\n\t\t\t\tc.moveTo(x, x);\n\t\n\t\t\t\tif (sameColor) {\n\t\t\t\t\tvar θ = 360 * (stop.pos - prevStop.pos);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tvar θ = .5;\n\t\t\t\t}\n\t\n\t\t\t\tvar beginArg = i*deg;\n\t\t\t\tbeginArg = Math.min(360*deg, beginArg);\n\t\n\t\t\t\t// .02: To prevent empty blank line and corresponding moire\n\t\t\t\t// only non-alpha colors are cared now\n\t\t\t\tvar endArg = beginArg + θ*deg;\n\t\t\t\tendArg = Math.min(360*deg, endArg + .02);\n\t\n\t\t\t\tc.arc(x, x, radius, beginArg, endArg);\n\t\n\t\t\t\tc.closePath();\n\t\t\t\tc.fill();\n\t\n\t\t\t\ti += θ;\n\t\t\t}\n\t\t}\n\t};\n\t\n\t_.ColorStop = function(gradient, stop) {\n\t\tthis.gradient = gradient;\n\t\n\t\tif (stop) {\n\t\t\tvar parts = stop.match(/^(.+?)(?:\\s+([\\d.]+)(%|deg|turn|grad|rad)?)?(?:\\s+([\\d.]+)(%|deg|turn|grad|rad)?)?\\s*$/);\n\t\n\t\t\tthis.color = _.ColorStop.colorToRGBA(parts[1]);\n\t\n\t\t\tif (parts[2]) {\n\t\t\t\tvar unit = parts[3];\n\t\n\t\t\t\tif (unit == \"%\" || parts[2] === \"0\" && !unit) {\n\t\t\t\t\tthis.pos = parts[2]/100;\n\t\t\t\t}\n\t\t\t\telse if (unit == \"turn\") {\n\t\t\t\t\tthis.pos  = +parts[2];\n\t\t\t\t}\n\t\t\t\telse if (unit == \"deg\") {\n\t\t\t\t\tthis.pos  = parts[2] / 360;\n\t\t\t\t}\n\t\t\t\telse if (unit == \"grad\") {\n\t\t\t\t\tthis.pos  = parts[2] / 400;\n\t\t\t\t}\n\t\t\t\telse if (unit == \"rad\") {\n\t\t\t\t\tthis.pos  = parts[2] / τ;\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\tif (parts[4]) {\n\t\t\t\tthis.next = new _.ColorStop(gradient, parts[1] + \" \" + parts[4] + parts[5]);\n\t\t\t}\n\t\t}\n\t}\n\t\n\t_.ColorStop.prototype = {\n\t\tclone: function() {\n\t\t\tvar ret = new _.ColorStop(this.gradient);\n\t\t\tret.color = this.color;\n\t\t\tret.pos = this.pos;\n\t\n\t\t\treturn ret;\n\t\t},\n\t\n\t\ttoString: function() {\n\t\t\treturn \"rgba(\" + this.color.join(\", \") + \") \" + this.pos * 100 + \"%\";\n\t\t}\n\t};\n\t\n\t_.ColorStop.colorToRGBA = function(color) {\n\t\tif (!Array.isArray(color) && color.indexOf(\"from\") == -1) {\n\t\t\tdummy.style.color = color;\n\t\n\t\t\tvar rgba = getComputedStyle(dummy).color.match(/rgba?\\(([\\d.]+), ([\\d.]+), ([\\d.]+)(?:, ([\\d.]+))?\\)/);\n\t\n\t\t\tif (rgba) {\n\t\t\t\trgba.shift();\n\t\t\t\trgba = rgba.map(function(a) { return +a });\n\t\t\t\trgba[3] = isNaN(rgba[3])? 1 : rgba[3];\n\t\t\t}\n\t\n\t\t\treturn rgba || [0,0,0,0];\n\t\t}\n\t\n\t\treturn color;\n\t};\n\t\n\t})();\n\t\n\tif (self.StyleFix) {\n\t\t// Test if conic gradients are supported first:\n\t\t(function(){\n\t\t\tvar dummy = document.createElement(\"p\");\n\t\t\tdummy.style.backgroundImage = \"conic-gradient(white, black)\";\n\t\t\tdummy.style.backgroundImage = PrefixFree.prefix + \"conic-gradient(white, black)\";\n\t\n\t\t\tif (!dummy.style.backgroundImage) {\n\t\t\t\t// Not supported, use polyfill\n\t\t\t\tStyleFix.register(function(css, raw) {\n\t\t\t\t\tif (css.indexOf(\"conic-gradient\") > -1) {\n\t\t\t\t\t\tcss = css.replace(/(?:repeating-)?conic-gradient\\(\\s*((?:\\([^()]+\\)|[^;()}])+?)\\)/g, function(gradient, stops) {\n\t\t\t\t\t\t\treturn new ConicGradient({\n\t\t\t\t\t\t\t\tstops: stops,\n\t\t\t\t\t\t\t\trepeating: gradient.indexOf(\"repeating-\") > -1\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\n\t\t\t\t\treturn css;\n\t\t\t\t});\n\t\t\t}\n\t\t})();\n\t}\n\n\n/***/ }),\n/* 421 */\n/*!********************************!*\\\n  !*** ./styled/Gauge.styled.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _templateObject = _taggedTemplateLiteral(['\\n  & svg {\\n    text-align: center;\\n  }\\n\\n  & circle {\\n    user-select: none;\\n  }\\n\\n  & .scale {\\n    font-size: 12px;\\n\\n    fill: ', ';\\n    user-select: none;\\n  }\\n\\n  & .tick {\\n    stroke: ', ';\\n    stroke-width: 2;\\n  }\\n\\n  & .tick.small {\\n    stroke: #2b2f32;\\n  }\\n\\n  & .needle {\\n    stroke: ', ';\\n    stroke-width: 3;\\n  }\\n\\n  ', ';\\n'], ['\\n  & svg {\\n    text-align: center;\\n  }\\n\\n  & circle {\\n    user-select: none;\\n  }\\n\\n  & .scale {\\n    font-size: 12px;\\n\\n    fill: ', ';\\n    user-select: none;\\n  }\\n\\n  & .tick {\\n    stroke: ', ';\\n    stroke-width: 2;\\n  }\\n\\n  & .tick.small {\\n    stroke: #2b2f32;\\n  }\\n\\n  & .needle {\\n    stroke: ', ';\\n    stroke-width: 3;\\n  }\\n\\n  ', ';\\n']),\n\t    _templateObject2 = _taggedTemplateLiteral(['\\n  & .needle-knob {\\n    stroke: ', ';\\n    stroke-width: 2;\\n  }\\n\\n  & .track {\\n    stroke: ', ';\\n  }\\n\\n  & .track.progress {\\n    stroke: ', ';\\n  }\\n'], ['\\n  & .needle-knob {\\n    stroke: ', ';\\n    stroke-width: 2;\\n  }\\n\\n  & .track {\\n    stroke: ', ';\\n  }\\n\\n  & .track.progress {\\n    stroke: ', ';\\n  }\\n']);\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar styled = _interopRequireDefault(_styledComponents).default;\n\t\n\tvar css = _styledComponents.css;\n\t\n\tvar _constants = __webpack_require__(/*! ../styled/constants */ 18);\n\t\n\tvar light = _constants.light;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\t\n\tvar Container = styled.div(_templateObject, function (_ref) {\n\t  var theme = _ref.theme;\n\t  return theme.dark ? '#fff' : '#5b6268';\n\t}, function (props) {\n\t  return props.theme.detail;\n\t}, function (_ref2) {\n\t  var theme = _ref2.theme;\n\t  return theme.dark ? '#fff' : '#5b6268';\n\t}, function (_ref3) {\n\t  var theme = _ref3.theme;\n\t  return !theme.dark && lightTheme;\n\t});\n\t\n\tvar lightTheme = css(_templateObject2, function (_ref4) {\n\t  var theme = _ref4.theme;\n\t  return theme.secondary;\n\t}, function (props) {\n\t  return props.theme.secondary;\n\t}, function (_ref5) {\n\t  var color = _ref5.color,\n\t      theme = _ref5.theme;\n\t  return color || theme.primary;\n\t});\n\t\n\tContainer.defaultProps = {\n\t  theme: light\n\t};\n\t\n\texports.default = Container;\n\n/***/ }),\n/* 422 */\n/*!***************************************!*\\\n  !*** ./styled/CurrentValue.styled.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.ValueLabel = exports.Value = undefined;\n\t\n\tvar _templateObject = _taggedTemplateLiteral(['\\n  position: relative;\\n  display: flex;\\n  flex-direction: column;\\n  justify-content: space-around;\\n  align-items: center;\\n\\n  top: 50%;\\n  transform: translateY(-50%);\\n  text-align: center;\\n  font-size: 32px;\\n  ', ';\\n'], ['\\n  position: relative;\\n  display: flex;\\n  flex-direction: column;\\n  justify-content: space-around;\\n  align-items: center;\\n\\n  top: 50%;\\n  transform: translateY(-50%);\\n  text-align: center;\\n  font-size: 32px;\\n  ', ';\\n']),\n\t    _templateObject2 = _taggedTemplateLiteral(['\\n          ', ';\\n        '], ['\\n          ', ';\\n        ']),\n\t    _templateObject3 = _taggedTemplateLiteral(['\\n  color: ', ';\\n  ', ';\\n'], ['\\n  color: ', ';\\n  ', ';\\n']),\n\t    _templateObject4 = _taggedTemplateLiteral(['\\n          text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.4);\\n        '], ['\\n          text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.4);\\n        ']),\n\t    _templateObject5 = _taggedTemplateLiteral(['\\n  margin-top: -4px;\\n  text-transform: uppercase;\\n  font-size: 8px;\\n  color: #535d63;\\n'], ['\\n  margin-top: -4px;\\n  text-transform: uppercase;\\n  font-size: 8px;\\n  color: #535d63;\\n']);\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar styled = _interopRequireDefault(_styledComponents).default;\n\t\n\tvar css = _styledComponents.css;\n\t\n\tvar _constants = __webpack_require__(/*! ./constants */ 18);\n\t\n\tvar light = _constants.light;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\t\n\tvar ValueContainer = styled.div(_templateObject, function (props) {\n\t  return props.css ? css(_templateObject2, props.css) : '';\n\t});\n\t\n\tvar Value = exports.Value = styled.div(_templateObject3, function (_ref) {\n\t  var theme = _ref.theme,\n\t      color = _ref.color;\n\t  return theme.dark ? '#fff' : color || theme.primary;\n\t}, function (_ref2) {\n\t  var theme = _ref2.theme;\n\t  return theme.dark ? css(_templateObject4) : '';\n\t});\n\tValue.defaultProps = {\n\t  theme: light\n\t};\n\t\n\tvar ValueLabel = exports.ValueLabel = styled.label(_templateObject5);\n\t\n\texports.default = function (props) {\n\t  return React.createElement(\n\t    ValueContainer,\n\t    { css: props.css },\n\t    React.createElement(\n\t      Value,\n\t      { color: props.valueColor },\n\t      props.children\n\t    ),\n\t    props.units ? React.createElement(\n\t      ValueLabel,\n\t      null,\n\t      props.units\n\t    ) : null\n\t  );\n\t};\n\n/***/ }),\n/* 423 */\n/*!******************************!*\\\n  !*** ./helpers/logarithm.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _templateObject = _taggedTemplateLiteral(['\\n  font-size: 0.9em;\\n  margin-left: -10px;\\n\\n  & sup {\\n    font-size: 0.6em;\\n  }\\n'], ['\\n  font-size: 0.9em;\\n  margin-left: -10px;\\n\\n  & sup {\\n    font-size: 0.6em;\\n  }\\n']);\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar styled = _interopRequireDefault(_styledComponents).default;\n\t\n\tvar _util = __webpack_require__(/*! ./util */ 416);\n\t\n\tvar roundToDecimal = _util.roundToDecimal;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\t\n\tfunction compute(value) {\n\t  var base = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10;\n\t\n\t  if (base === 'e') base = Math.exp(1);\n\t\n\t  return Math.log(value) / Math.log(base);\n\t}\n\t\n\tfunction generateLogFormatter(_ref) {\n\t  var _ref$base = _ref.base,\n\t      base = _ref$base === undefined ? 10 : _ref$base,\n\t      _ref$isSVG = _ref.isSVG,\n\t      isSVG = _ref$isSVG === undefined ? false : _ref$isSVG;\n\t\n\t  return function (value) {\n\t    return isSVG ? React.createElement(\n\t      'tspan',\n\t      null,\n\t      base,\n\t      React.createElement(\n\t        'tspan',\n\t        { dy: '-6px' },\n\t        value\n\t      )\n\t    ) : React.createElement(\n\t      'span',\n\t      null,\n\t      base,\n\t      React.createElement(\n\t        'sup',\n\t        null,\n\t        value\n\t      )\n\t    );\n\t  };\n\t}\n\t\n\tfunction genLogMarks(_ref2, isSVG) {\n\t  var min = _ref2.min,\n\t      max = _ref2.max,\n\t      _ref2$step = _ref2.step,\n\t      step = _ref2$step === undefined ? 1 : _ref2$step,\n\t      _ref2$base = _ref2.base,\n\t      base = _ref2$base === undefined ? 10 : _ref2$base,\n\t      marks = _ref2.marks;\n\t\n\t  // if no marks given, compute default marks\n\t  if (!marks) {\n\t    var curr = min;\n\t    marks = {};\n\t\n\t    while (curr <= max) {\n\t      marks[curr] = true;\n\t      curr += step;\n\t    }\n\t  }\n\t\n\t  Object.keys(marks).forEach(function (key) {\n\t    if (typeof marks[key] !== 'boolean') {\n\t      // custom mark label, do not format\n\t      return;\n\t    }\n\t\n\t    marks[key] = isSVG ? React.createElement(\n\t      'tspan',\n\t      null,\n\t      base,\n\t      React.createElement(\n\t        'tspan',\n\t        { dy: '-6px' },\n\t        key\n\t      )\n\t    ) : React.createElement(\n\t      'span',\n\t      null,\n\t      base,\n\t      React.createElement(\n\t        'sup',\n\t        null,\n\t        key\n\t      )\n\t    );\n\t  });\n\t\n\t  return marks;\n\t}\n\t\n\tfunction formatValue(value, base) {\n\t  return React.createElement(\n\t    Value,\n\t    null,\n\t    '~',\n\t    base,\n\t    React.createElement(\n\t      'sup',\n\t      null,\n\t      roundToDecimal(value, 2)\n\t    )\n\t  );\n\t}\n\t\n\tvar Value = styled.div(_templateObject);\n\t\n\texports.default = {\n\t  compute: compute,\n\t  generateLogFormatter: generateLogFormatter,\n\t  formatValue: formatValue,\n\t  genLogMarks: genLogMarks\n\t};\n\n/***/ }),\n/* 424 */\n/*!**************************!*\\\n  !*** ./helpers/scale.js ***!\n  \\**************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\texports.default = generateScale;\n\t\n\tvar _util = __webpack_require__(/*! ./util */ 416);\n\t\n\tvar decimalify = _util.decimalify;\n\t\n\t\n\t// magic numbers\n\tvar DEFAULT_NUM_INTERVALS = 10;\n\tvar DEFAULT_LABEL_INTERVAL = 2;\n\t\n\tfunction generateScale(input) {\n\t  var config = processInput(input);\n\t\n\t  var scale = _extends({}, config.custom);\n\t\n\t  if (config.onlyRenderCustom) {\n\t    return scale;\n\t  }\n\t\n\t  scale[config.min] = config.formatter(config.min);\n\t  scale[config.max] = config.formatter(config.max);\n\t\n\t  var curr = config.start;\n\t  var markCount = 0;\n\t  while (curr <= config.max) {\n\t    var needsLabel = markCount % config.labelInterval === 0;\n\t    var currValue = Number(decimalify(curr, config.interval));\n\t    var alreadyMarked = typeof scale[currValue] !== 'undefined';\n\t\n\t    curr += config.interval;\n\t    markCount++;\n\t\n\t    if (alreadyMarked) continue;\n\t\n\t    var label = needsLabel ? config.formatter(currValue) : null;\n\t    scale[currValue] = label;\n\t  }\n\t\n\t  return scale;\n\t}\n\t\n\t// private\n\tfunction processInput(_ref) {\n\t  var min = _ref.min,\n\t      max = _ref.max,\n\t      _ref$scale = _ref.scale,\n\t      scale = _ref$scale === undefined ? {} : _ref$scale,\n\t      formatter = _ref.formatter;\n\t\n\t  var config = {};\n\t\n\t  var START_FLAG = scale.start != null;\n\t  var INTERVAL_FLAG = scale.interval != null;\n\t  var LABEL_INTERVAL_FLAG = scale.labelInterval != null;\n\t\n\t  config.min = min;\n\t  config.max = max;\n\t  config.start = START_FLAG ? scale.start : min;\n\t  config.interval = INTERVAL_FLAG ? scale.interval : computeInterval(config.start, max);\n\t  config.labelInterval = LABEL_INTERVAL_FLAG ? scale.labelInterval : DEFAULT_LABEL_INTERVAL;\n\t  config.custom = scale.custom || {};\n\t  config.formatter = formatter || identityFunc;\n\t\n\t  var noConfigPassed = !START_FLAG && !INTERVAL_FLAG && !LABEL_INTERVAL_FLAG;\n\t  var customTicks = Object.keys(config.custom).length;\n\t  config.onlyRenderCustom = customTicks && noConfigPassed;\n\t\n\t  return config;\n\t}\n\t\n\tfunction identityFunc(x) {\n\t  return x;\n\t}\n\t\n\tfunction computeInterval(min, max) {\n\t  var ROUND_TO_WHOLE = Math.ceil;\n\t  var ROUND_TO_FRACTION = function ROUND_TO_FRACTION(x) {\n\t    return Number(x.toFixed(2));\n\t  };\n\t\n\t  var range = Math.abs(max - min) * 1.0;\n\t  var intervalEstimate = range / DEFAULT_NUM_INTERVALS;\n\t  var interval = intervalEstimate > 1 ? ROUND_TO_WHOLE(intervalEstimate) : ROUND_TO_FRACTION(intervalEstimate);\n\t\n\t  return interval;\n\t}\n\n/***/ }),\n/* 425 */\n/*!******************************************!*\\\n  !*** ./components/GraduatedBar.react.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar PropTypes = _interopRequireDefault(_propTypes).default;\n\t\n\tvar _constants = __webpack_require__(/*! ../styled/constants */ 18);\n\t\n\tvar light = _constants.light;\n\t\n\tvar _colorRanges = __webpack_require__(/*! ../helpers/colorRanges */ 418);\n\t\n\tvar getColorValue = _colorRanges.getColorValue;\n\tvar isContiguous = _colorRanges.isContiguous;\n\tvar getGradientObject = _colorRanges.getGradientObject;\n\t\n\tvar _GraduatedBar = __webpack_require__(/*! ../styled/GraduatedBar.styled */ 426);\n\t\n\tvar Container = _GraduatedBar.Container;\n\tvar Block = _GraduatedBar.Block;\n\tvar Value = _GraduatedBar.Value;\n\t\n\tvar _LabelContainer = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ 23);\n\t\n\tvar LabelContainer = _interopRequireDefault(_LabelContainer).default;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar valueColor = function valueColor(value, color) {\n\t  var entry = Object.entries(color.ranges).filter(function (_ref) {\n\t    var _ref2 = _slicedToArray(_ref, 2),\n\t        range = _ref2[1];\n\t\n\t    return value >= range[0] && value <= range[1];\n\t  })[0];\n\t\n\t  return entry && entry[0];\n\t};\n\t\n\t/**\n\t * A graduated bar component that displays\n\t * a value within some range as a\n\t * percentage.\n\t */\n\tvar GraduatedBar = function GraduatedBar(props) {\n\t  var step = props.step,\n\t      min = props.min,\n\t      max = props.max,\n\t      label = props.label,\n\t      labelPosition = props.labelPosition,\n\t      id = props.id,\n\t      className = props.className,\n\t      color = props.color,\n\t      size = props.size,\n\t      style = props.style,\n\t      showCurrentValue = props.showCurrentValue,\n\t      vertical = props.vertical;\n\t\n\t  var value = props.value || min;\n\t\n\t  var gradient = null;\n\t  var progressBlocks = [];\n\t  var normalizedValue = Math.max(Math.min(max, value), min);\n\t\n\t  if (color.gradient && isContiguous({ color: color, min: min, max: max })) {\n\t    gradient = getGradientObject({ color: color, min: min, max: max });\n\t  }\n\t\n\t  for (var i = min; i < normalizedValue; i += step) {\n\t    var blockProps = _extends({}, props, { color: getColorValue(color) });\n\t\n\t    if (color.ranges && valueColor(i, color)) {\n\t      blockProps = _extends({}, props, { color: valueColor(i, color) });\n\t    }\n\t\n\t    progressBlocks.push(React.createElement(Block, _extends({ key: i, progress: i / (max - min), gradient: gradient }, blockProps)));\n\t  }\n\t\n\t  var percent = normalizedValue / (max - min) * 100;\n\t  if (!isFinite(percent)) percent = 0;\n\t\n\t  return React.createElement(\n\t    'div',\n\t    { id: id, className: className, style: style },\n\t    React.createElement(\n\t      LabelContainer,\n\t      { label: label, labelPosition: labelPosition },\n\t      React.createElement(\n\t        Container,\n\t        { vertical: vertical, size: size },\n\t        progressBlocks,\n\t        showCurrentValue && React.createElement(\n\t          Value,\n\t          { vertical: vertical },\n\t          percent.toFixed(0),\n\t          '%'\n\t        )\n\t      )\n\t    )\n\t  );\n\t};\n\t\n\tGraduatedBar.defaultProps = {\n\t  min: 0,\n\t  max: 10,\n\t  size: 250,\n\t  step: 0.5,\n\t  labelPosition: 'top',\n\t  color: light.primary\n\t};\n\t\n\tGraduatedBar.propTypes = {\n\t  /**\n\t   * The ID used to identify this compnent in Dash callbacks\n\t   */\n\t  id: PropTypes.string,\n\t\n\t  /**\n\t   * The value of the graduated bar\n\t   */\n\t  value: PropTypes.number,\n\t\n\t  /**\n\t   * Color configuration for the graduated bar's\n\t   * progress blocks.\n\t   */\n\t  color: PropTypes.oneOfType([\n\t  /**\n\t   * Color used for graduated bar's track/indicator\n\t   */\n\t  PropTypes.string,\n\t  /**\n\t   * Color ranges configuration.\n\t   */\n\t  PropTypes.shape({\n\t    /**\n\t     * Fallback color to use when color.ranges\n\t     * has gaps.\n\t     */\n\t    default: PropTypes.string,\n\t    /**\n\t     * Display ranges as a gradient between given colors.\n\t     * Requires color.ranges to be contiguous along\n\t     * the entirety of the graduated bar's range of values.\n\t     */\n\t    gradient: PropTypes.bool,\n\t    /**\n\t     * Define multiple color ranges on the graduated bar's track.\n\t     * The key determines the color of the range and\n\t     * the value is the start,end of the range itself.\n\t     */\n\t    ranges: PropTypes.shape({\n\t      color: PropTypes.arrayOf(PropTypes.number)\n\t    })\n\t  })]),\n\t\n\t  /**\n\t   * The size (length) of the graduated bar in pixels\n\t   */\n\t  size: PropTypes.number,\n\t\n\t  /**\n\t   * If true, will display bar vertically instead of horizontally\n\t   */\n\t  vertical: PropTypes.bool,\n\t\n\t  /**\n\t   * The minimum value of the graduated bar\n\t   */\n\t  min: PropTypes.number,\n\t\n\t  /**\n\t   * The maximum value of the graduated bar\n\t   */\n\t  max: PropTypes.number,\n\t\n\t  /**\n\t   * Value by which progress blocks appear\n\t   */\n\t  step: PropTypes.number,\n\t\n\t  /**\n\t   * If true, the current percentage\n\t   *  of the bar will be displayed\n\t   */\n\t  showCurrentValue: PropTypes.bool,\n\t\n\t  /**\n\t   * Description to be displayed alongside the control. To control styling, pass an object with label and style properties.\n\t   */\n\t  label: PropTypes.oneOfType([\n\t  /**\n\t   * Label to be displayed\n\t   */\n\t  PropTypes.string,\n\t\n\t  /**\n\t   * The style and label\n\t   */\n\t  PropTypes.shape({\n\t    style: PropTypes.object,\n\t    label: PropTypes.string\n\t  })]),\n\t\n\t  /**\n\t   * Where the component label is positioned.\n\t   */\n\t  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\t\n\t  /**\n\t   * Class to apply to the root component element.\n\t   */\n\t  className: PropTypes.string,\n\t\n\t  /**\n\t   * Style to apply to the root component element.\n\t   */\n\t  style: PropTypes.object\n\t};\n\t\n\texports.default = GraduatedBar;\n\n/***/ }),\n/* 426 */\n/*!***************************************!*\\\n  !*** ./styled/GraduatedBar.styled.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.Value = exports.Block = exports.Container = undefined;\n\t\n\tvar _templateObject = _taggedTemplateLiteral(['\\n  position: relative;\\n  display: flex;\\n  align-items: center;\\n  justify-content: flex-start;\\n\\n  ', ';\\n  ', ';\\n'], ['\\n  position: relative;\\n  display: flex;\\n  align-items: center;\\n  justify-content: flex-start;\\n\\n  ', ';\\n  ', ';\\n']),\n\t    _templateObject2 = _taggedTemplateLiteral(['\\n  flex-direction: column-reverse;\\n  width: 30px;\\n  height: ', ';\\n'], ['\\n  flex-direction: column-reverse;\\n  width: 30px;\\n  height: ', ';\\n']),\n\t    _templateObject3 = _taggedTemplateLiteral(['\\n  flex-direction: row;\\n  width: ', ';\\n  height: 30px;\\n'], ['\\n  flex-direction: row;\\n  width: ', ';\\n  height: 30px;\\n']),\n\t    _templateObject4 = _taggedTemplateLiteral(['\\n  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8);\\n  padding: 3px;\\n  color: #fff;\\n  border: none;\\n  border-radius: 0px;\\n  background-color: #22272a;\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.5) 100%);\\n  box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n'], ['\\n  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8);\\n  padding: 3px;\\n  color: #fff;\\n  border: none;\\n  border-radius: 0px;\\n  background-color: #22272a;\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.5) 100%);\\n  box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n']),\n\t    _templateObject5 = _taggedTemplateLiteral(['\\n  background-color: ', ';\\n'], ['\\n  background-color: ', ';\\n']),\n\t    _templateObject6 = _taggedTemplateLiteral(['\\n  display: block;\\n  box-sizing: border-box;\\n\\n  ', '\\n\\n  ', '\\n\\n  ', ';\\n'], ['\\n  display: block;\\n  box-sizing: border-box;\\n\\n  ', '\\n\\n  ', '\\n\\n  ', ';\\n']),\n\t    _templateObject7 = _taggedTemplateLiteral(['\\n        background-image: linear-gradient(', ', ', ', ', ');\\n      '], ['\\n        background-image: linear-gradient(', ', ', ', ', ');\\n      ']),\n\t    _templateObject8 = _taggedTemplateLiteral(['\\n      background-color: ', ';\\n    '], ['\\n      background-color: ', ';\\n    ']),\n\t    _templateObject9 = _taggedTemplateLiteral(['\\n      height: ', ';\\n      width: ', ';\\n      margin: ', ';\\n    '], ['\\n      height: ', ';\\n      width: ', ';\\n      margin: ', ';\\n    ']),\n\t    _templateObject10 = _taggedTemplateLiteral(['\\n  ', ' box-shadow: ', ';\\n'], ['\\n  ', ' box-shadow: ', ';\\n']),\n\t    _templateObject11 = _taggedTemplateLiteral(['\\n      background-color: ', ';\\n      background-image: linear-gradient(\\n        145deg,\\n        rgba(255, 255, 255, 0.5) 0%,\\n        rgba(0, 0, 0, 0.4) 100%\\n      );\\n      background-blend-mode: overlay;\\n    '], ['\\n      background-color: ', ';\\n      background-image: linear-gradient(\\n        145deg,\\n        rgba(255, 255, 255, 0.5) 0%,\\n        rgba(0, 0, 0, 0.4) 100%\\n      );\\n      background-blend-mode: overlay;\\n    ']),\n\t    _templateObject12 = _taggedTemplateLiteral(['\\n  position: absolute;\\n  right: 4%;\\n  top: 50%;\\n  transform: translateY(-50%);\\n\\n  ', ';\\n'], ['\\n  position: absolute;\\n  right: 4%;\\n  top: 50%;\\n  transform: translateY(-50%);\\n\\n  ', ';\\n']),\n\t    _templateObject13 = _taggedTemplateLiteral(['\\n          font-size: 11px;\\n          right: auto;\\n        '], ['\\n          font-size: 11px;\\n          right: auto;\\n        ']);\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar styled = _interopRequireDefault(_styledComponents).default;\n\t\n\tvar css = _styledComponents.css;\n\t\n\tvar _constants = __webpack_require__(/*! ./constants */ 18);\n\t\n\tvar light = _constants.light;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\t\n\tvar Container = exports.Container = styled.div(_templateObject, function (_ref) {\n\t  var vertical = _ref.vertical;\n\t  return vertical ? verticalContainer : horizontalContainer;\n\t}, function (_ref2) {\n\t  var theme = _ref2.theme;\n\t  return theme.dark ? darkContainer : lightContainer;\n\t});\n\t\n\tContainer.defaultProps = {\n\t  theme: light\n\t};\n\t\n\tvar verticalContainer = css(_templateObject2, function (_ref3) {\n\t  var size = _ref3.size;\n\t  return size + 'px';\n\t});\n\t\n\tvar horizontalContainer = css(_templateObject3, function (_ref4) {\n\t  var size = _ref4.size;\n\t  return size + 'px';\n\t});\n\t\n\tvar darkContainer = css(_templateObject4);\n\t\n\tvar lightContainer = css(_templateObject5, function (props) {\n\t  return props.theme.secondary;\n\t});\n\t\n\tvar Block = exports.Block = styled.div(_templateObject6, function (_ref5) {\n\t  var gradient = _ref5.gradient,\n\t      progress = _ref5.progress,\n\t      color = _ref5.color,\n\t      theme = _ref5.theme,\n\t      max = _ref5.max,\n\t      min = _ref5.min,\n\t      step = _ref5.step,\n\t      size = _ref5.size,\n\t      vertical = _ref5.vertical;\n\t\n\t  if (gradient) {\n\t    var TOTAL_STEPS = (max - min) / step;\n\t    var STEP_SIZE = size / TOTAL_STEPS;\n\t    var STEP_SIZE_PERCENT = STEP_SIZE / size;\n\t\n\t    var start = gradient.rgbAt(progress).toString();\n\t    var end = gradient.rgbAt(progress + STEP_SIZE_PERCENT).toString();\n\t\n\t    return css(_templateObject7, vertical ? 'to top' : 'to right', start, end);\n\t  }\n\t\n\t  return css(_templateObject8, color || theme.primary);\n\t}, function (props) {\n\t  var TOTAL_STEPS = (props.max - props.min) / props.step;\n\t  var STEP_SIZE = props.size / TOTAL_STEPS;\n\t  var MARGIN = STEP_SIZE >= 10 ? STEP_SIZE * 0.05 : 0.5;\n\t  var BOX_SIZE = STEP_SIZE - 2 * MARGIN;\n\t  return css(_templateObject9, props.vertical ? BOX_SIZE + 'px' : '100%', props.vertical ? '100%' : BOX_SIZE + 'px', props.vertical ? MARGIN + 'px 0' : '0 ' + MARGIN + 'px');\n\t}, function (_ref6) {\n\t  var theme = _ref6.theme;\n\t  return theme.dark && darkBlock;\n\t});\n\t\n\tBlock.defaultProps = {\n\t  theme: light\n\t};\n\t\n\tvar darkBlock = css(_templateObject10, function (_ref7) {\n\t  var color = _ref7.color,\n\t      theme = _ref7.theme,\n\t      gradient = _ref7.gradient;\n\t\n\t  if (gradient) return;\n\t\n\t  return css(_templateObject11, color || theme.primary);\n\t}, function (_ref8) {\n\t  var color = _ref8.color,\n\t      theme = _ref8.theme;\n\t  return '2px 2px 6px 1px rgba(0, 0, 0, 0.45), inset 1px 1px 2px 0 rgba(255, 255, 255, 0.3),\\n      1px 1px 1px 0px rgba(0, 0, 0, 0.6), 0 0 3px 0px ' + (color || theme.primary);\n\t});\n\t\n\tvar Value = exports.Value = styled.div(_templateObject12, function (_ref9) {\n\t  var vertical = _ref9.vertical;\n\t  return vertical ? css(_templateObject13) : '';\n\t});\n\n/***/ }),\n/* 427 */\n/*!***************************************!*\\\n  !*** ./components/Indicator.react.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar PropTypes = _interopRequireDefault(_propTypes).default;\n\t\n\tvar _color = __webpack_require__(/*! color */ 404);\n\t\n\tvar color = _interopRequireDefault(_color).default;\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar withTheme = _styledComponents.withTheme;\n\t\n\tvar _Indicator = __webpack_require__(/*! ../styled/shared/Indicator.styled */ 20);\n\t\n\tvar IndicatorLight = _interopRequireDefault(_Indicator).default;\n\t\n\tvar _LabelContainer = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ 23);\n\t\n\tvar LabelContainer = _interopRequireDefault(_LabelContainer).default;\n\t\n\tvar _constants = __webpack_require__(/*! ../styled/constants */ 18);\n\t\n\tvar colors = _constants.colors;\n\tvar light = _constants.light;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\n\t * A boolean indicator LED.\n\t */\n\tvar Indicator = function Indicator(props) {\n\t  var bg = color(props.color).desaturate(0.2).lighten(0.2).rgb().toString();\n\t\n\t  return React.createElement(\n\t    'div',\n\t    { id: props.id, className: props.className, style: props.style },\n\t    React.createElement(\n\t      LabelContainer,\n\t      props,\n\t      React.createElement(IndicatorLight, {\n\t        size: props.size,\n\t        width: props.width,\n\t        height: props.height,\n\t        rectangular: props.width && props.height,\n\t        main: true,\n\t        on: props.value,\n\t        primary: props.color,\n\t        secondary: !props.theme.dark && bg\n\t      })\n\t    )\n\t  );\n\t};\n\t\n\tIndicator.defaultProps = {\n\t  color: colors.DARKER_PRIMARY,\n\t  size: 15,\n\t  theme: light,\n\t  labelPosition: 'top'\n\t};\n\t\n\tIndicator.propTypes = {\n\t  /**\n\t   * The ID used to identify the indicator in Dash callbacks\n\t   */\n\t  id: PropTypes.string,\n\t\n\t  /**\n\t   * If true, indicator is illuminated\n\t   */\n\t  value: PropTypes.bool,\n\t\n\t  /**\n\t   * Color of the indicator\n\t   */\n\t  color: PropTypes.string,\n\t\n\t  /**\n\t   * Size of the component. Either use this or width and height\n\t   */\n\t  size: PropTypes.number,\n\t\n\t  /**\n\t   * Width of the component. Set both width and height for a rectangular indicator\n\t   */\n\t  width: PropTypes.number,\n\t\n\t  /**\n\t   * Height of the component. Set both width and height for a rectangular indicator\n\t   */\n\t  height: PropTypes.number,\n\t\n\t  /**\n\t   * Theme configuration to be set by a ThemeProvider\n\t   */\n\t  theme: PropTypes.object,\n\t\n\t  /**\n\t   * Description to be displayed alongside the control. To control styling,\n\t   * pass an object with label and style properties\n\t   */\n\t  label: PropTypes.oneOfType([\n\t  /**\n\t   * Label to be displayed\n\t   */\n\t  PropTypes.string,\n\t\n\t  /**\n\t   * The style and label\n\t   */\n\t  PropTypes.shape({\n\t    style: PropTypes.object,\n\t    label: PropTypes.string\n\t  })]),\n\t\n\t  /**\n\t   * Where the indicator label is positioned\n\t   */\n\t  labelPosition: PropTypes.oneOf(['top', 'bottom', 'right', 'left']),\n\t\n\t  /**\n\t   * Class to apply to the root component element\n\t   */\n\t  className: PropTypes.string,\n\t\n\t  /**\n\t   * Style to apply to the root component element\n\t   */\n\t  style: PropTypes.object\n\t};\n\t\n\texports.default = withTheme(Indicator);\n\n/***/ }),\n/* 428 */\n/*!**********************************!*\\\n  !*** ./components/Knob.react.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar Component = _react.Component;\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar PropTypes = _interopRequireDefault(_propTypes).default;\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar withTheme = _styledComponents.withTheme;\n\t\n\tvar _KnobSvg = __webpack_require__(/*! ../helpers/KnobSvg.react */ 429);\n\t\n\tvar KnobSvg = _interopRequireDefault(_KnobSvg).default;\n\t\n\tvar _Knob = __webpack_require__(/*! ../styled/Knob.styled */ 430);\n\t\n\tvar Container = _interopRequireDefault(_Knob).default;\n\t\n\tvar _LabelContainer = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ 23);\n\t\n\tvar LabelContainer = _interopRequireDefault(_LabelContainer).default;\n\t\n\tvar _constants = __webpack_require__(/*! ../styled/constants */ 18);\n\t\n\tvar light = _constants.light;\n\tvar TRACK_TOTAL_DEG = _constants.TRACK_TOTAL_DEG;\n\t\n\tvar _util = __webpack_require__(/*! ../helpers/util */ 416);\n\t\n\tvar computeProgress = _util.computeProgress;\n\tvar roundToDecimal = _util.roundToDecimal;\n\t\n\tvar _colorRanges = __webpack_require__(/*! ../helpers/colorRanges */ 418);\n\t\n\tvar getColorValue = _colorRanges.getColorValue;\n\t\n\tvar _scale = __webpack_require__(/*! ../helpers/scale */ 424);\n\t\n\tvar generateScale = _interopRequireDefault(_scale).default;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar RESET_START_ANGLE = -1;\n\t\n\tvar valueToDeg = function valueToDeg(_ref) {\n\t  var min = _ref.min,\n\t      max = _ref.max,\n\t      value = _ref.value;\n\t  return computeProgress({ min: min, max: max, value: value, progressionTarget: TRACK_TOTAL_DEG });\n\t};\n\tvar degToValue = function degToValue(_ref2) {\n\t  var min = _ref2.min,\n\t      max = _ref2.max,\n\t      deg = _ref2.deg;\n\t  return computeProgress({ min: 0, max: TRACK_TOTAL_DEG, value: deg, progressionTarget: max - min }) + min;\n\t};\n\t\n\t/**\n\t * A knob component that can be turned\n\t * to a value between some range.\n\t */\n\t\n\tvar Knob = function (_Component) {\n\t  _inherits(Knob, _Component);\n\t\n\t  function Knob(props) {\n\t    _classCallCheck(this, Knob);\n\t\n\t    var _this = _possibleConstructorReturn(this, (Knob.__proto__ || Object.getPrototypeOf(Knob)).call(this, props));\n\t\n\t    var currentDeg = valueToDeg({\n\t      min: props.min,\n\t      max: props.max,\n\t      value: props.value != null ? props.value : props.min\n\t    });\n\t\n\t    _this.state = {\n\t      min: props.min,\n\t      max: props.max,\n\t      value: props.value || props.min,\n\t      scale: generateScale(props),\n\t      isDragging: false,\n\t      startAngle: RESET_START_ANGLE,\n\t      rotation: currentDeg,\n\t      currentDeg: currentDeg\n\t    };\n\t\n\t    _this.onMouseDown = _this.onMouseDown.bind(_this);\n\t    _this.onMouseUp = _this.onMouseUp.bind(_this);\n\t    _this.onMouseMove = _this.onMouseMove.bind(_this);\n\t    _this.setValue = _this.setValue.bind(_this);\n\t    return _this;\n\t  }\n\t\n\t  _createClass(Knob, [{\n\t    key: 'noop',\n\t    value: function noop() {}\n\t  }, {\n\t    key: 'componentWillReceiveProps',\n\t    value: function componentWillReceiveProps(newProps) {\n\t      if (typeof newProps.value !== 'undefined') this.setState({ value: newProps.value });\n\t    }\n\t  }, {\n\t    key: 'componentDidMount',\n\t    value: function componentDidMount() {\n\t      window.addEventListener('mouseup', this.onMouseUp, false);\n\t      // eslint-disable-next-line\n\t      __webpack_require__(/*! conic-gradient */ 420);\n\t    }\n\t  }, {\n\t    key: 'componentWillUnmount',\n\t    value: function componentWillUnmount() {\n\t      window.removeEventListener('mouseup', this.onMouseUp, false);\n\t    }\n\t  }, {\n\t    key: 'onMouseDown',\n\t    value: function onMouseDown() {\n\t      this.setState({ isDragging: true });\n\t    }\n\t  }, {\n\t    key: 'onMouseUp',\n\t    value: function onMouseUp() {\n\t      if (this.state.isDragging) {\n\t        this.setState(function (state) {\n\t          return {\n\t            rotation: state.currentDeg,\n\t            isDragging: false,\n\t            startAngle: RESET_START_ANGLE\n\t          };\n\t        });\n\t      }\n\t    }\n\t  }, {\n\t    key: 'onMouseMove',\n\t    value: function onMouseMove(e) {\n\t      if (!this.state.isDragging) {\n\t        return;\n\t      }\n\t\n\t      var _props = this.props,\n\t          min = _props.min,\n\t          max = _props.max;\n\t      var rotation = this.state.rotation;\n\t      var startAngle = this.state.startAngle;\n\t\n\t\n\t      if (e.touches) {\n\t        e = e.touches[0];\n\t      }\n\t\n\t      var rect = this.knobElement.getBoundingClientRect();\n\t      var centerX = rect.width / 2 + rect.left;\n\t      var centerY = rect.height / 2 + rect.top;\n\t      var radians = Math.atan2(e.clientX - centerX, e.clientY - centerY);\n\t      var angle = radians * (180 / Math.PI);\n\t\n\t      if (e.clientX - centerX >= 0) {\n\t        angle = Math.abs(360 - angle) + 180;\n\t      } else {\n\t        angle = angle - 180;\n\t      }\n\t\n\t      angle = Math.abs(angle);\n\t\n\t      if (startAngle === RESET_START_ANGLE) {\n\t        startAngle = angle;\n\t        this.setState({ startAngle: startAngle });\n\t      }\n\t\n\t      var tmp = Math.floor(angle - startAngle + rotation);\n\t      tmp = Math.min(tmp, TRACK_TOTAL_DEG);\n\t      tmp = Math.max(tmp, 0);\n\t\n\t      this.setState({ currentDeg: tmp });\n\t      this.setValue(roundToDecimal(degToValue({ min: min, max: max, deg: tmp }), 2));\n\t    }\n\t  }, {\n\t    key: 'setValue',\n\t    value: function setValue(value) {\n\t      this.setState({ value: value });\n\t      if (this.props.setProps) this.props.setProps({ value: value });\n\t    }\n\t  }, {\n\t    key: 'render',\n\t    value: function render() {\n\t      var _this2 = this;\n\t\n\t      var _state = this.state,\n\t          min = _state.min,\n\t          max = _state.max,\n\t          value = _state.value;\n\t\n\t      var progress = computeProgress({ min: min, max: max, value: value, progressionTarget: 1 });\n\t\n\t      return React.createElement(\n\t        'div',\n\t        { id: this.props.id, className: this.props.className, style: this.props.style },\n\t        React.createElement(\n\t          LabelContainer,\n\t          _extends({}, this.props, {\n\t            labelCSS: this.props.labelPosition === 'top' ? null : 'transform: translateY(-40px);'\n\t          }),\n\t          React.createElement(\n\t            Container,\n\t            { color: getColorValue(this.props.color) },\n\t            React.createElement(KnobSvg, _extends({\n\t              progress: progress\n\t            }, this.props, this.state, {\n\t              refFunc: function refFunc(ele) {\n\t                return _this2.knobElement = ele;\n\t              },\n\t              onMouseDown: this.props.disabled ? this.noop : this.onMouseDown,\n\t              onMouseUp: this.props.disabled ? this.noop : this.onMouseUp,\n\t              onMouseMove: this.props.disabled ? this.noop : this.onMouseMove\n\t            }))\n\t          )\n\t        )\n\t      );\n\t    }\n\t  }]);\n\t\n\t  return Knob;\n\t}(Component);\n\t\n\tKnob.defaultProps = {\n\t  min: 0,\n\t  max: 10,\n\t  theme: light,\n\t  labelPosition: 'top'\n\t};\n\t\n\tKnob.propTypes = {\n\t  /**\n\t   * The ID used to identify this compnent in Dash callbacks\n\t   */\n\t  id: PropTypes.string,\n\t\n\t  /**\n\t   * The value of knob\n\t   */\n\t  value: PropTypes.number,\n\t\n\t  /**\n\t   * Color configuration for the knob's track.\n\t   */\n\t  color: PropTypes.oneOfType([\n\t  /**\n\t   * Color used for knob's track/indicator\n\t   */\n\t  PropTypes.string,\n\t  /**\n\t   * Color ranges configuration.\n\t   */\n\t  PropTypes.shape({\n\t    /**\n\t     * Color used for current value text and other minor accents\n\t     */\n\t    default: PropTypes.string,\n\t    /**\n\t     * Display ranges as a gradient between given colors.\n\t     */\n\t    gradient: PropTypes.bool,\n\t    /**\n\t     * Define multiple color ranges on the knob's track.\n\t     * The key determines the color of the range and\n\t     * the value is the start,end of the range itself.\n\t     * Ranges must be contiguous along the entirety\n\t     * of the knob's range of values.\n\t     */\n\t    ranges: PropTypes.shape({\n\t      color: PropTypes.arrayOf(PropTypes.number)\n\t    })\n\t  })]),\n\t\n\t  /**\n\t   * The size (diameter) of the knob in pixels\n\t   */\n\t  size: PropTypes.number,\n\t\n\t  /**\n\t   * The minimum value of the knob\n\t   */\n\t  min: PropTypes.number,\n\t\n\t  /**\n\t   * The maximum value of the knob\n\t   */\n\t  max: PropTypes.number,\n\t\n\t  /**\n\t   * If true, knob cannot be moved.\n\t   */\n\t  disabled: PropTypes.bool,\n\t\n\t  /**\n\t   * Theme configuration to be set by a ThemeProvider\n\t   */\n\t  theme: PropTypes.object,\n\t\n\t  /**\n\t   * Description to be displayed alongside the control. To control styling, pass an object with label and style properties.\n\t   */\n\t  label: PropTypes.oneOfType([\n\t  /**\n\t   * Label to be displayed\n\t   */\n\t  PropTypes.string,\n\t\n\t  /**\n\t   * The style and label\n\t   */\n\t  PropTypes.shape({\n\t    style: PropTypes.object,\n\t    label: PropTypes.string\n\t  })]),\n\t\n\t  /**\n\t   * Where the knob label is positioned.\n\t   */\n\t  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\t\n\t  /**\n\t   * Configuration for the component scale.\n\t   */\n\t  scale: PropTypes.shape({\n\t    /**\n\t     * Value to start the scale from. Defaults\n\t     * to min.\n\t     */\n\t    start: PropTypes.number,\n\t\n\t    /**\n\t     * Interval by which the scale goes up. Attempts\n\t     * to dynamically divide min-max range by\n\t     * default.\n\t     */\n\t    interval: PropTypes.number,\n\t\n\t    /**\n\t     * Interval by which labels are added to\n\t     * scale marks. Defaults to 2 (every other\n\t     * mark has a label).\n\t     */\n\t    labelInterval: PropTypes.number,\n\t\n\t    /**\n\t     * Custom scale marks. The key determines the position\n\t     * and the value determines what will show. If you want\n\t     * to set the style of a specific mark point, the value\n\t     * should be an object which contains style and label\n\t     * properties\n\t     */\n\t    custom: PropTypes.oneOfType([\n\t    /**\n\t     * Label for the mark\n\t     */\n\t    PropTypes.number,\n\t\n\t    /**\n\t     * Style object with label\n\t     */\n\t    PropTypes.shape({\n\t      style: PropTypes.string,\n\t      label: PropTypes.string\n\t    })])\n\t  }),\n\t\n\t  /**\n\t   * Class to apply to the root component element.\n\t   */\n\t  className: PropTypes.string,\n\t\n\t  /**\n\t   * Style to apply to the root component element.\n\t   */\n\t  style: PropTypes.object,\n\t\n\t  /**\n\t   * Dash-assigned callback that gets fired when selected\n\t   * value changes.\n\t   */\n\t  setProps: PropTypes.func\n\t};\n\t\n\texports.default = withTheme(Knob);\n\n/***/ }),\n/* 429 */\n/*!**********************************!*\\\n  !*** ./helpers/KnobSvg.react.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar _constants = __webpack_require__(/*! ../styled/constants */ 18);\n\t\n\tvar light = _constants.light;\n\t\n\tvar _DarkGradient = __webpack_require__(/*! ../styled/shared/DarkGradient */ 415);\n\t\n\tvar darkGradientDefs = _interopRequireDefault(_DarkGradient).default;\n\t\n\tvar _util = __webpack_require__(/*! ./util */ 416);\n\t\n\tvar getRandomInt = _util.getRandomInt;\n\t\n\tvar _TrackSvg = __webpack_require__(/*! ./shared/TrackSvg */ 417);\n\t\n\tvar drawScale = _TrackSvg.drawScale;\n\tvar colorRangesTrack = _TrackSvg.colorRangesTrack;\n\tvar lightTrack = _TrackSvg.lightTrack;\n\t\n\tvar _colorRanges = __webpack_require__(/*! ./colorRanges */ 418);\n\t\n\tvar getColorValue = _colorRanges.getColorValue;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar START_ANGLE_OFFSET = -225;\n\t\n\tvar lightKnob = function lightKnob(newAngle, _ref) {\n\t  var CX = _ref.CX,\n\t      CY = _ref.CY,\n\t      KNOB_RAD = _ref.KNOB_RAD;\n\t  return React.createElement(\n\t    'g',\n\t    { transform: 'translate(' + CX + ' ' + CY + ') rotate(' + newAngle + ')' },\n\t    React.createElement('circle', { className: 'base', cx: '0', cy: '0', r: KNOB_RAD, fill: '#fff' }),\n\t    React.createElement('circle', { className: 'indent', cx: KNOB_RAD * (2 / 3), cy: '0', r: KNOB_RAD / 6, fill: '#fff' })\n\t  );\n\t};\n\t\n\tvar darkKnob = function darkKnob(color, newAngle, _ref2) {\n\t  var CX = _ref2.CX,\n\t      CY = _ref2.CY,\n\t      KNOB_RAD = _ref2.KNOB_RAD;\n\t\n\t  var id = getRandomInt();\n\t\n\t  return React.createElement(\n\t    'g',\n\t    { transform: 'translate(' + CX + ' ' + CY + ')' },\n\t    React.createElement(\n\t      'defs',\n\t      null,\n\t      React.createElement('path', {\n\t        id: 'base-edge-' + id,\n\t        strokeWidth: '2px',\n\t        fill: 'none',\n\t        d: 'M-' + KNOB_RAD + ',0a' + KNOB_RAD + ',' + KNOB_RAD + ' 0 1,0 ' + KNOB_RAD * 2 + ',0a' + KNOB_RAD + ',' + KNOB_RAD + ' 0 1,0 -' + KNOB_RAD * 2 + ',0'\n\t      }),\n\t      React.createElement('circle', { id: 'base-' + id, className: 'base', cx: '0', cy: '0', r: KNOB_RAD }),\n\t      React.createElement('rect', { id: 'indent-' + id, width: '8', height: '2', x: KNOB_RAD - 16, y: '0', rx: '1' })\n\t    ),\n\t    React.createElement('use', { fill: '#141414', xlinkHref: '#base-' + id }),\n\t    React.createElement('use', { fill: 'url(#l)', style: { mixBlendMode: 'overlay' }, xlinkHref: '#base-' + id }),\n\t    React.createElement('use', { fill: 'url(#m)', style: { mixBlendMode: 'overlay' }, xlinkHref: '#base-' + id }),\n\t    React.createElement('use', { fill: '#141414', filter: 'url(#n)', xlinkHref: '#base-' + id }),\n\t    React.createElement('use', { stroke: '#000000', xlinkHref: '#base-edge-' + id }),\n\t    React.createElement('use', { stroke: 'url(#p)', style: { mixBlendMode: 'overlay' }, xlinkHref: '#base-edge-' + id }),\n\t    React.createElement('use', { stroke: 'url(#q)', strokeOpacity: '.4', xlinkHref: '#base-edge-' + id }),\n\t    React.createElement(\n\t      'g',\n\t      { transform: 'rotate(' + newAngle + ')' },\n\t      React.createElement('use', { fill: 'black', filter: 'url(#r)', xlinkHref: '#indent-' + id }),\n\t      React.createElement('use', { fill: getColorValue(color) || '#ABE2FB', xlinkHref: '#indent-' + id }),\n\t      React.createElement('use', { fill: 'black', filter: 'url(#t)', xlinkHref: '#indent-' + id })\n\t    )\n\t  );\n\t};\n\t\n\tvar darkTrack = function darkTrack(props, dimensions) {\n\t  var progress = props.progress;\n\t  var CX = dimensions.CX,\n\t      CY = dimensions.CY,\n\t      GAUGE_RAD = dimensions.GAUGE_RAD,\n\t      CIRCLE_CIR = dimensions.CIRCLE_CIR,\n\t      GAP_ARC_LENGTH = dimensions.GAP_ARC_LENGTH,\n\t      TRACK_ARC_LENGTH = dimensions.TRACK_ARC_LENGTH;\n\t\n\t  var id = getRandomInt();\n\t\n\t  var hasColorRanges = props.color && props.color.ranges;\n\t\n\t  return React.createElement(\n\t    'g',\n\t    null,\n\t    React.createElement(\n\t      'defs',\n\t      null,\n\t      React.createElement('circle', {\n\t        id: 'knob-track-' + id,\n\t        className: 'track',\n\t        cx: CX,\n\t        cy: CY,\n\t        r: GAUGE_RAD,\n\t        fill: 'none',\n\t        strokeDasharray: CIRCLE_CIR,\n\t        strokeDashoffset: GAP_ARC_LENGTH,\n\t        strokeWidth: '6',\n\t        transform: 'rotate(-225 ' + CX + ' ' + CY + ')'\n\t      }),\n\t      React.createElement('circle', {\n\t        id: 'knob-track-progress-' + id,\n\t        className: 'track progress',\n\t        cx: CX,\n\t        cy: CY,\n\t        r: GAUGE_RAD,\n\t        fill: 'none',\n\t        strokeDasharray: CIRCLE_CIR,\n\t        strokeDashoffset: GAP_ARC_LENGTH + (1 - progress) * TRACK_ARC_LENGTH,\n\t        strokeWidth: '6',\n\t        transform: 'rotate(-225 ' + CX + ' ' + CY + ')'\n\t      })\n\t    ),\n\t    React.createElement('use', { stroke: '#15181A', filter: 'url(#a)', xlinkHref: '#knob-track-' + id }),\n\t    hasColorRanges && React.createElement('use', { stroke: '#15181A', xlinkHref: '#knob-track-' + id }),\n\t    React.createElement('use', { stroke: 'url(#c)', style: { mixBlendMode: 'overlay' }, xlinkHref: '#knob-track-' + id }),\n\t    React.createElement('use', { stroke: '#15181A', filter: 'url(#d)', xlinkHref: '#knob-track-' + id }),\n\t    !hasColorRanges && React.createElement('use', { stroke: 'black', filter: 'url(#e)', xlinkHref: '#knob-track-progress-' + id }),\n\t    React.createElement('use', {\n\t      stroke: 'url(#g)',\n\t      style: { mixBlendMode: 'overlay' },\n\t      xlinkHref: '#knob-track-progress-' + id\n\t    }),\n\t    React.createElement('use', {\n\t      stroke: getColorValue(props.color) || '#ABE2FB',\n\t      xlinkHref: '#knob-track-progress-' + id\n\t    }),\n\t    props.color && props.color.ranges && colorRangesTrack(props, dimensions)\n\t  );\n\t};\n\t\n\tvar KnobSvg = function KnobSvg(props) {\n\t  var theme = props.theme,\n\t      currentDeg = props.currentDeg,\n\t      disabled = props.disabled,\n\t      color = props.color;\n\t\n\t\n\t  var newAngle = currentDeg + START_ANGLE_OFFSET;\n\t  var dimensions = calcDimensions(props);\n\t\n\t  var knob = theme.dark ? darkKnob(color, newAngle, dimensions) : lightKnob(newAngle, dimensions);\n\t  var track = theme.dark ? darkTrack(props, dimensions) : lightTrack(props, dimensions);\n\t\n\t  return React.createElement(\n\t    'svg',\n\t    {\n\t      width: dimensions.SVG_WIDTH,\n\t      height: dimensions.SVG_WIDTH,\n\t      viewBox: '0 0 ' + dimensions.SVG_WIDTH + ' ' + dimensions.SVG_WIDTH\n\t    },\n\t    theme.dark && darkGradientDefs,\n\t    React.createElement(\n\t      'g',\n\t      { className: 'scale' },\n\t      drawScale(props, dimensions)\n\t    ),\n\t    React.createElement(\n\t      'g',\n\t      {\n\t        ref: props.refFunc,\n\t        onMouseDown: props.onMouseDown,\n\t        onMouseUp: props.onMouseUp,\n\t        onMouseMove: props.onMouseMove,\n\t        className: 'knob ' + (disabled ? 'disabled' : '')\n\t      },\n\t      knob\n\t    ),\n\t    track\n\t  );\n\t};\n\t\n\tKnobSvg.defaultProps = {\n\t  theme: light,\n\t  size: 144\n\t};\n\t\n\texports.default = KnobSvg;\n\t\n\t// private helpers\n\t\n\tfunction calcDimensions(_ref3) {\n\t  var size = _ref3.size;\n\t\n\t  var OFFSET = 36;\n\t  var d = {};\n\t\n\t  d.SVG_WIDTH = size + 80;\n\t  d.CY = ~~(d.SVG_WIDTH / 2);\n\t  d.CX = ~~(d.SVG_WIDTH / 2);\n\t\n\t  d.GAUGE_RAD = size / 2;\n\t  d.SCALE_RAD = d.GAUGE_RAD + OFFSET;\n\t  d.KNOB_RAD = d.GAUGE_RAD - 12;\n\t\n\t  d.CIRCLE_CIR = 2 * Math.PI * d.GAUGE_RAD;\n\t  d.GAP_ARC_LENGTH = 90 / 360 * (2 * Math.PI * d.GAUGE_RAD);\n\t  d.TRACK_ARC_LENGTH = d.CIRCLE_CIR - d.GAP_ARC_LENGTH;\n\t\n\t  d.SCALE_TICK_OUTER_RAD = d.SCALE_RAD - 27;\n\t  d.SCALE_TICK_INNER_RAD = d.SCALE_TICK_OUTER_RAD - 0.5;\n\t  d.SCALE_TEXT_RAD = d.SCALE_RAD - 20;\n\t\n\t  return d;\n\t}\n\n/***/ }),\n/* 430 */\n/*!*******************************!*\\\n  !*** ./styled/Knob.styled.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _templateObject = _taggedTemplateLiteral(['\\n  & svg {\\n    text-align: center;\\n  }\\n\\n  & circle {\\n    user-select: none;\\n  }\\n\\n  & .scale {\\n    font-size: 12px;\\n    user-select: none;\\n  }\\n\\n  & .tick {\\n    stroke: ', ';\\n    stroke-width: 2;\\n  }\\n\\n  & .knob {\\n    cursor: pointer;\\n  }\\n\\n  & .disabled {\\n    opacity: ', ';\\n    cursor: not-allowed;\\n  }\\n\\n  & .track.progress {\\n    stroke: ', ';\\n  }\\n\\n  ', ';\\n'], ['\\n  & svg {\\n    text-align: center;\\n  }\\n\\n  & circle {\\n    user-select: none;\\n  }\\n\\n  & .scale {\\n    font-size: 12px;\\n    user-select: none;\\n  }\\n\\n  & .tick {\\n    stroke: ', ';\\n    stroke-width: 2;\\n  }\\n\\n  & .knob {\\n    cursor: pointer;\\n  }\\n\\n  & .disabled {\\n    opacity: ', ';\\n    cursor: not-allowed;\\n  }\\n\\n  & .track.progress {\\n    stroke: ', ';\\n  }\\n\\n  ', ';\\n']),\n\t    _templateObject2 = _taggedTemplateLiteral(['\\n  & .scale {\\n    fill: #5b6268;\\n  }\\n\\n  & .track {\\n    stroke: #e6e6e6;\\n  }\\n\\n  & .knob .base,\\n  .knob .indent {\\n    stroke: #e6e6e6;\\n    stroke-width: 2;\\n  }\\n'], ['\\n  & .scale {\\n    fill: #5b6268;\\n  }\\n\\n  & .track {\\n    stroke: #e6e6e6;\\n  }\\n\\n  & .knob .base,\\n  .knob .indent {\\n    stroke: #e6e6e6;\\n    stroke-width: 2;\\n  }\\n']),\n\t    _templateObject3 = _taggedTemplateLiteral(['\\n  & .scale {\\n    fill: #fff;\\n  }\\n'], ['\\n  & .scale {\\n    fill: #fff;\\n  }\\n']);\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar styled = _interopRequireDefault(_styledComponents).default;\n\t\n\tvar css = _styledComponents.css;\n\t\n\tvar _constants = __webpack_require__(/*! ./constants */ 18);\n\t\n\tvar light = _constants.light;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\t\n\tvar Container = styled.div(_templateObject, function (props) {\n\t  return props.theme.detail;\n\t}, function (_ref) {\n\t  var theme = _ref.theme;\n\t  return theme.dark ? 1 : 0.65;\n\t}, function (_ref2) {\n\t  var color = _ref2.color,\n\t      theme = _ref2.theme;\n\t  return color || theme.primary;\n\t}, function (_ref3) {\n\t  var theme = _ref3.theme;\n\t  return theme.dark ? darkTheme : lightTheme;\n\t});\n\t\n\tvar lightTheme = css(_templateObject2);\n\t\n\tvar darkTheme = css(_templateObject3);\n\t\n\tContainer.defaultProps = {\n\t  theme: light\n\t};\n\t\n\texports.default = Container;\n\n/***/ }),\n/* 431 */\n/*!****************************************!*\\\n  !*** ./components/LEDDisplay.react.js ***!\n  \\****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar PropTypes = _interopRequireDefault(_propTypes).default;\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar withTheme = _styledComponents.withTheme;\n\t\n\tvar _LEDDisplaySvg = __webpack_require__(/*! ../helpers/LEDDisplaySvg.react */ 432);\n\t\n\tvar Digit = _LEDDisplaySvg.Digit;\n\t\n\tvar _LEDDisplay = __webpack_require__(/*! ../styled/LEDDisplay.styled */ 433);\n\t\n\tvar LEDContainer = _LEDDisplay.LEDContainer;\n\t\n\tvar _LabelContainer = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ 23);\n\t\n\tvar LabelContainer = _interopRequireDefault(_LabelContainer).default;\n\t\n\tvar _constants = __webpack_require__(/*! ../styled/constants */ 18);\n\t\n\tvar colors = _constants.colors;\n\tvar light = _constants.light;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar VALID_INPUT = /^(\\-)?((\\.|:)?[0-9])*$/;\n\tvar isValidInput = VALID_INPUT.test.bind(VALID_INPUT);\n\t\n\t/**\n\t * A 7-bar LED display component.\n\t */\n\tvar LEDDisplay = function LEDDisplay(props) {\n\t  var digits = isValidInput(props.value) ? extractDigits(props) : null;\n\t  var led = React.createElement(\n\t    LEDContainer,\n\t    { backgroundColor: props.backgroundColor },\n\t    digits\n\t  );\n\t\n\t  return React.createElement(\n\t    'div',\n\t    { id: props.id, className: props.className, style: props.style },\n\t    React.createElement(\n\t      LabelContainer,\n\t      props,\n\t      digits ? led : 'Invalid Input'\n\t    )\n\t  );\n\t};\n\t\n\tfunction extractDigits(_ref) {\n\t  var value = _ref.value,\n\t      color = _ref.color,\n\t      backgroundColor = _ref.backgroundColor,\n\t      theme = _ref.theme,\n\t      size = _ref.size;\n\t\n\t  var digitStack = value.toString().split('').reverse();\n\t\n\t  var formattedDigits = [];\n\t\n\t  addLeadingZeroIfNeeded(digitStack);\n\t\n\t  var currKey = 0;\n\t  while (digitStack.length) {\n\t    var currDigit = digitStack.pop();\n\t    var nextDigit = digitStack.pop();\n\t\n\t    formattedDigits.push(React.createElement(Digit, {\n\t      theme: theme,\n\t      key: currKey++,\n\t      value: currDigit,\n\t      hasColon: nextDigit === ':',\n\t      hasDecimal: nextDigit === '.',\n\t      color: color,\n\t      backgroundColor: backgroundColor,\n\t      size: size\n\t    }));\n\t\n\t    if (nextDigit && nextDigit !== '.' && nextDigit !== ':') digitStack.push(nextDigit);\n\t  }\n\t\n\t  return formattedDigits;\n\t}\n\t\n\tfunction addLeadingZeroIfNeeded(digits) {\n\t  var isNegative = false;\n\t\n\t  if (digits[digits.length - 1] === '-') {\n\t    isNegative = true;\n\t    digits.pop();\n\t  }\n\t  var leadingDigit = digits[digits.length - 1];\n\t\n\t  if (['.', ':'].includes(leadingDigit)) digits.push('0');\n\t  if (isNegative) digits.push('-');\n\t}\n\t\n\tLEDDisplay.defaultProps = {\n\t  color: colors.PRIMARY,\n\t  backgroundColor: '#fff',\n\t  size: 42,\n\t  theme: light,\n\t  labelPosition: 'top'\n\t};\n\t\n\tLEDDisplay.propTypes = {\n\t  /**\n\t   * The ID used to identify the display in Dash callbacks\n\t   */\n\t  id: PropTypes.string,\n\t\n\t  /**\n\t   * Value to be displayed. A number or a string\n\t   * containing only digits (0-9), periods, and colons,\n\t   * and possibly starting with a minus sign.\n\t   */\n\t  value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\t\n\t  /**\n\t   * Color of the display\n\t   */\n\t  color: PropTypes.string,\n\t\n\t  /**\n\t   * Color of the display's background\n\t   */\n\t  backgroundColor: PropTypes.string,\n\t\n\t  /**\n\t   * Size of the display\n\t   */\n\t  size: PropTypes.number,\n\t\n\t  /**\n\t   * Theme configuration to be set by a ThemeProvider\n\t   */\n\t  theme: PropTypes.object,\n\t\n\t  /**\n\t   * Description to be displayed alongside the control. To control styling,\n\t   * pass an object with label and style properties\n\t   */\n\t  label: PropTypes.oneOfType([\n\t  /**\n\t   * Label to be displayed\n\t   */\n\t  PropTypes.string,\n\t\n\t  /**\n\t   * The style and label\n\t   */\n\t  PropTypes.shape({\n\t    style: PropTypes.object,\n\t    label: PropTypes.string\n\t  })]),\n\t\n\t  /**\n\t   * Where the display label is positioned\n\t   */\n\t  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\t\n\t  /**\n\t   * Class to apply to the root component element\n\t   */\n\t  className: PropTypes.string,\n\t\n\t  /**\n\t   * Style to apply to the root component element\n\t   */\n\t  style: PropTypes.object\n\t};\n\t\n\texports.default = withTheme(LEDDisplay);\n\n/***/ }),\n/* 432 */\n/*!****************************************!*\\\n  !*** ./helpers/LEDDisplaySvg.react.js ***!\n  \\****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.Digit = undefined;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar _color = __webpack_require__(/*! color */ 404);\n\t\n\tvar Color = _interopRequireDefault(_color).default;\n\t\n\tvar _LEDDisplay = __webpack_require__(/*! ../styled/LEDDisplay.styled */ 433);\n\t\n\tvar DarkDigitContainer = _LEDDisplay.DarkDigitContainer;\n\t\n\tvar _DarkGradient = __webpack_require__(/*! ../styled/shared/DarkGradient */ 415);\n\t\n\tvar darkLEDDefs = _DarkGradient.darkLEDDefs;\n\tvar DARK_SEGMENTS = _DarkGradient.DARK_SEGMENTS;\n\tvar darkColon = _DarkGradient.darkColon;\n\tvar darkDecimal = _DarkGradient.darkDecimal;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar DIGITS = {\n\t  0: ['A', 'B', 'C', 'D', 'E', 'F'],\n\t  1: ['B', 'C'],\n\t  2: ['A', 'B', 'G', 'E', 'D'],\n\t  3: ['A', 'B', 'G', 'C', 'D'],\n\t  4: ['F', 'G', 'B', 'C'],\n\t  5: ['A', 'F', 'G', 'C', 'D'],\n\t  6: ['A', 'F', 'G', 'C', 'D', 'E'],\n\t  7: ['A', 'B', 'C'],\n\t  8: ['A', 'B', 'C', 'D', 'E', 'F', 'G'],\n\t  9: ['A', 'B', 'C', 'D', 'F', 'G'],\n\t  '-': ['G']\n\t};\n\t\n\t// See the following link for segment mappings:\n\t// https://en.wikipedia.org/wiki/Seven-segment_display#/media/File:7_segment_display_labeled.svg\n\tvar LIGHT_SEGMENTS = {\n\t  A: {\n\t    base: 'M3.778 3.778L6.555 1h16.667L26 3.778l-2.778 2.778H6.555L3.778 3.778z',\n\t    stroke: 'M3.778 3.778L6.555 1h16.667L26 3.778l-2.778 2.778H6.555L3.778 3.778z'\n\t  },\n\t  B: {\n\t    base: 'M26 3.778l2.778 2.777v16.667L26 26l-2.778-2.778V6.555L26 3.778z',\n\t    stroke: 'M26 3.778l2.778 2.777v16.667L26 26l-2.778-2.778V6.555L26 3.778z'\n\t  },\n\t  C: {\n\t    base: 'M26 26l2.778 2.778v16.666L26 48.222l-2.778-2.778V28.778L26 26z',\n\t    stroke: 'M26 26l2.778 2.778v16.666L26 48.222l-2.778-2.778V28.778L26 26z'\n\t  },\n\t  D: {\n\t    base: 'M26 48.222L23.222 51H6.555l-2.777-2.778 2.777-2.778h16.667L26 48.222z',\n\t    stroke: 'M26 48.222L23.222 51H6.555l-2.777-2.778 2.777-2.778h16.667L26 48.222z'\n\t  },\n\t  E: {\n\t    base: 'M3.778 48.222L1 45.444V28.778L3.778 26l2.778 2.778v16.666l-2.778 2.778z',\n\t    stroke: 'M3.778 48.222L1 45.444V28.778L3.778 26l2.778 2.778v16.666l-2.778 2.778z'\n\t  },\n\t  F: {\n\t    base: 'M3.778 26L1 23.222V6.555l2.778-2.777 2.778 2.777v16.667L3.778 26z',\n\t    stroke: 'M3.778 26L1 23.222V6.555l2.778-2.777 2.778 2.777v16.667L3.778 26z'\n\t  },\n\t  G: {\n\t    base: 'M3.778 26l2.777-2.778h16.667L26 26l-2.778 2.778H6.555L3.778 26z',\n\t    stroke: 'M3.778 26l2.777-2.778h16.667L26 26l-2.778 2.778H6.555L3.778 26z'\n\t  }\n\t};\n\t\n\tvar LightSegment = function LightSegment(_ref) {\n\t  var _ref$paths = _ref.paths,\n\t      base = _ref$paths.base,\n\t      stroke = _ref$paths.stroke,\n\t      fillColor = _ref.fillColor,\n\t      strokeColor = _ref.strokeColor;\n\t  return React.createElement(\n\t    'g',\n\t    null,\n\t    React.createElement('path', { fill: fillColor, fillRule: 'evenodd', d: base, clipRule: 'evenodd' }),\n\t    React.createElement('path', { stroke: strokeColor, strokeWidth: '.75', d: stroke })\n\t  );\n\t};\n\t\n\tvar LightDecimal = function LightDecimal(_ref2) {\n\t  var fillColor = _ref2.fillColor,\n\t      strokeColor = _ref2.strokeColor;\n\t  return React.createElement(\n\t    'g',\n\t    { transform: 'translate(29 46)' },\n\t    React.createElement('circle', { cx: '3', cy: '3', r: '3', fill: fillColor }),\n\t    React.createElement('circle', { cx: '3', cy: '3', r: '3', stroke: strokeColor, strokeWidth: '.75' })\n\t  );\n\t};\n\t\n\tvar LightColon = function LightColon(_ref3) {\n\t  var fillColor = _ref3.fillColor,\n\t      strokeColor = _ref3.strokeColor;\n\t  return React.createElement(\n\t    'g',\n\t    null,\n\t    React.createElement(\n\t      'g',\n\t      { transform: 'translate(32 36)' },\n\t      React.createElement('circle', { cx: '3', cy: '3', r: '3', fill: fillColor }),\n\t      React.createElement('circle', { cx: '3', cy: '3', r: '3', stroke: strokeColor, strokeWidth: '.75' })\n\t    ),\n\t    React.createElement(\n\t      'g',\n\t      { transform: 'translate(32 9)' },\n\t      React.createElement('circle', { cx: '3', cy: '3', r: '3', fill: fillColor }),\n\t      React.createElement('circle', { cx: '3', cy: '3', r: '3', stroke: strokeColor, strokeWidth: '.75' })\n\t    )\n\t  );\n\t};\n\t\n\tvar LightDigit = function LightDigit(_ref4) {\n\t  var value = _ref4.value,\n\t      hasColon = _ref4.hasColon,\n\t      hasDecimal = _ref4.hasDecimal,\n\t      color = _ref4.color,\n\t      backgroundColor = _ref4.backgroundColor,\n\t      size = _ref4.size;\n\t\n\t  var inactiveSegmentFill = Color(backgroundColor).darken(0.2).fade(0.85);\n\t\n\t  var activeSegments = DIGITS[value].map(function (letter) {\n\t    return React.createElement(LightSegment, {\n\t      key: letter,\n\t      fillColor: color,\n\t      strokeColor: backgroundColor,\n\t      paths: LIGHT_SEGMENTS[letter]\n\t    });\n\t  });\n\t  var inactiveSegments = ['A', 'B', 'C', 'D', 'E', 'F', 'G'].map(function (letter) {\n\t    return React.createElement(LightSegment, {\n\t      key: letter,\n\t      fillColor: inactiveSegmentFill,\n\t      strokeColor: backgroundColor,\n\t      paths: LIGHT_SEGMENTS[letter]\n\t    });\n\t  });\n\t\n\t  var width = hasColon ? size : size * (6 / 7);\n\t  var height = size * (9 / 7);\n\t\n\t  return React.createElement(\n\t    'svg',\n\t    { xmlns: 'http://www.w3.org/2000/svg', width: width, height: height },\n\t    React.createElement(\n\t      'g',\n\t      { fill: 'none', style: { transform: 'scale(' + Number(size) / 42 + ')' } },\n\t      inactiveSegments,\n\t      activeSegments,\n\t      hasColon && React.createElement(LightColon, { fillColor: color, strokeColor: backgroundColor }),\n\t      hasDecimal && React.createElement(LightDecimal, { fillColor: color, strokeColor: backgroundColor })\n\t    )\n\t  );\n\t};\n\t\n\tvar DarkDigit = function DarkDigit(_ref5) {\n\t  var value = _ref5.value,\n\t      hasColon = _ref5.hasColon,\n\t      hasDecimal = _ref5.hasDecimal,\n\t      color = _ref5.color,\n\t      size = _ref5.size;\n\t\n\t  var segments = DIGITS[value].map(function (letter) {\n\t    return DARK_SEGMENTS[letter];\n\t  });\n\t\n\t  var width = hasColon ? size : size * (6 / 7);\n\t  var height = size * (9 / 7);\n\t\n\t  return React.createElement(\n\t    DarkDigitContainer,\n\t    { color: color },\n\t    React.createElement(\n\t      'svg',\n\t      {\n\t        xmlns: 'http://www.w3.org/2000/svg',\n\t        xmlnsXlink: 'http://www.w3.org/1999/xlink',\n\t        width: width,\n\t        height: height\n\t      },\n\t      darkLEDDefs,\n\t      React.createElement(\n\t        'g',\n\t        {\n\t          fill: 'none',\n\t          fillRule: 'evenodd',\n\t          filter: 'url(#darkLED-a)',\n\t          style: { transform: 'scale(' + Number(size) / 42 + ')' }\n\t        },\n\t        segments,\n\t        hasColon && darkColon,\n\t        hasDecimal && darkDecimal\n\t      )\n\t    )\n\t  );\n\t};\n\t\n\tvar Digit = exports.Digit = function Digit(props) {\n\t  return props.theme.dark ? React.createElement(DarkDigit, props) : React.createElement(LightDigit, props);\n\t};\n\t\n\texports.default = Digit;\n\n/***/ }),\n/* 433 */\n/*!*************************************!*\\\n  !*** ./styled/LEDDisplay.styled.js ***!\n  \\*************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.DarkDigitContainer = exports.LEDContainer = undefined;\n\t\n\tvar _templateObject = _taggedTemplateLiteral(['\\n  display: inline-flex;\\n\\n  ', ';\\n'], ['\\n  display: inline-flex;\\n\\n  ', ';\\n']),\n\t    _templateObject2 = _taggedTemplateLiteral(['\\n  padding: 12px 8px 4px 16px;\\n  background-color: #22272a;\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.5) 100%);\\n  box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n'], ['\\n  padding: 12px 8px 4px 16px;\\n  background-color: #22272a;\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.5) 100%);\\n  box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n']),\n\t    _templateObject3 = _taggedTemplateLiteral(['\\n  border-radius: 3px;\\n  padding: 12px 8px 12px 14px;\\n  border: 1px solid ', ';\\n  background: ', ';\\n'], ['\\n  border-radius: 3px;\\n  padding: 12px 8px 12px 14px;\\n  border: 1px solid ', ';\\n  background: ', ';\\n']),\n\t    _templateObject4 = _taggedTemplateLiteral(['\\n  & .darkLED-fill {\\n    fill: ', ';\\n  }\\n'], ['\\n  & .darkLED-fill {\\n    fill: ', ';\\n  }\\n']);\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar styled = _interopRequireDefault(_styledComponents).default;\n\t\n\tvar css = _styledComponents.css;\n\t\n\tvar _constants = __webpack_require__(/*! ./constants */ 18);\n\t\n\tvar light = _constants.light;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\t\n\tvar LEDContainer = exports.LEDContainer = styled.div(_templateObject, function (_ref) {\n\t  var theme = _ref.theme;\n\t  return theme.dark ? darkLEDContainer : lightLEDContainer;\n\t});\n\t\n\tvar darkLEDContainer = css(_templateObject2);\n\t\n\tvar lightLEDContainer = css(_templateObject3, function (_ref2) {\n\t  var theme = _ref2.theme;\n\t  return theme.detail;\n\t}, function (_ref3) {\n\t  var backgroundColor = _ref3.backgroundColor;\n\t  return backgroundColor;\n\t});\n\t\n\tLEDContainer.defaultProps = {\n\t  theme: light\n\t};\n\t\n\tvar DarkDigitContainer = exports.DarkDigitContainer = styled.div(_templateObject4, function (_ref4) {\n\t  var color = _ref4.color;\n\t  return color;\n\t});\n\t\n\texports.default = LEDContainer;\n\n/***/ }),\n/* 434 */\n/*!******************************************!*\\\n  !*** ./components/NumericInput.react.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar Component = _react.Component;\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar PropTypes = _interopRequireDefault(_propTypes).default;\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar withTheme = _styledComponents.withTheme;\n\t\n\tvar _reactNumericInput = __webpack_require__(/*! react-numeric-input */ 435);\n\t\n\tvar Input = _interopRequireDefault(_reactNumericInput).default;\n\t\n\tvar _LabelContainer = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ 23);\n\t\n\tvar LabelContainer = _interopRequireDefault(_LabelContainer).default;\n\t\n\tvar _constants = __webpack_require__(/*! ../styled/constants */ 18);\n\t\n\tvar light = _constants.light;\n\tvar colors = _constants.colors;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\t/**\n\t * A numeric input component that can be\n\t * set to a value between some range.\n\t */\n\tvar NumericInput = function (_Component) {\n\t  _inherits(NumericInput, _Component);\n\t\n\t  function NumericInput(props) {\n\t    _classCallCheck(this, NumericInput);\n\t\n\t    var _this = _possibleConstructorReturn(this, (NumericInput.__proto__ || Object.getPrototypeOf(NumericInput)).call(this, props));\n\t\n\t    _this.state = {\n\t      value: props.value || props.min\n\t    };\n\t\n\t    _this.setValue = _this.setValue.bind(_this);\n\t    return _this;\n\t  }\n\t\n\t  _createClass(NumericInput, [{\n\t    key: 'componentWillReceiveProps',\n\t    value: function componentWillReceiveProps(newProps) {\n\t      if (newProps.value !== this.state.value) this.setState({ value: newProps.value });\n\t    }\n\t  }, {\n\t    key: 'setValue',\n\t    value: function setValue(value) {\n\t      if (value != null && value >= this.props.min && value <= this.props.max) {\n\t        this.setState({ value: value });\n\t        if (this.props.setProps) this.props.setProps({ value: value });\n\t      }\n\t    }\n\t  }, {\n\t    key: 'render',\n\t    value: function render() {\n\t      var _props = this.props,\n\t          size = _props.size,\n\t          theme = _props.theme;\n\t\n\t\n\t      var buttonStyle = {\n\t        background: 'none',\n\t        boxShadow: 'none',\n\t        border: 'none',\n\t        color: theme.secondary,\n\t        cursor: 'pointer'\n\t      };\n\t\n\t      var padding = Math.max(this.state.value ? 16 - 2 * this.state.value.toString().length : 16, 10);\n\t\n\t      var inputStyle = {\n\t        borderRadius: 3,\n\t        border: theme.dark ? 'none' : '1px solid ' + colors.GREY,\n\t        outline: 'none',\n\t        paddingRight: padding,\n\t        paddingLeft: padding,\n\t        paddingTop: 8,\n\t        paddingBottom: 8,\n\t        width: size || 56,\n\t        color: theme.dark ? '#fff' : colors.OFF_WHITE,\n\t        fontSize: 14,\n\t        boxSizing: 'border-box'\n\t      };\n\t\n\t      return React.createElement(\n\t        'div',\n\t        { id: this.props.id, className: this.props.className, style: this.props.style },\n\t        React.createElement(\n\t          LabelContainer,\n\t          this.props,\n\t          React.createElement(Input, {\n\t            disabled: this.props.disabled,\n\t            style: {\n\t              input: inputStyle,\n\t              'input:not(.form-control)': inputStyle,\n\t              btn: buttonStyle,\n\t              'btn:hover': buttonStyle,\n\t              'btn:active': buttonStyle,\n\t              'input:disabled': {\n\t                opacity: 0.65,\n\t                cursor: 'not-allowed'\n\t              }\n\t            },\n\t            min: this.props.min,\n\t            max: this.props.max,\n\t            value: this.state.value,\n\t            onChange: this.setValue,\n\t            mobile: false\n\t          })\n\t        )\n\t      );\n\t    }\n\t  }]);\n\t\n\t  return NumericInput;\n\t}(Component);\n\t\n\tNumericInput.defaultProps = {\n\t  min: 0,\n\t  max: 10,\n\t  theme: light,\n\t  labelPosition: 'top'\n\t};\n\t\n\tNumericInput.propTypes = {\n\t  /**\n\t   * The ID used to identify this compnent in Dash callbacks\n\t   */\n\t  id: PropTypes.string,\n\t\n\t  /**\n\t   * The value of numeric input\n\t   */\n\t  value: PropTypes.number,\n\t\n\t  /**\n\t   * The size (length) of the numeric input in pixels\n\t   */\n\t  size: PropTypes.number,\n\t\n\t  /**\n\t   * The minimum value of the numeric input\n\t   */\n\t  min: PropTypes.number,\n\t\n\t  /**\n\t   * The maximum value of the numeric input\n\t   */\n\t  max: PropTypes.number,\n\t\n\t  /**\n\t   * If true, numeric input cannot changed.\n\t   */\n\t  disabled: PropTypes.bool,\n\t\n\t  /**\n\t   * Theme configuration to be set by a ThemeProvider\n\t   */\n\t  theme: PropTypes.object,\n\t\n\t  /**\n\t   * Description to be displayed alongside the control. To control styling,\n\t   * pass an object with label and style properties.\n\t   */\n\t  label: PropTypes.oneOfType([\n\t  /**\n\t   * Label to be displayed\n\t   */\n\t  PropTypes.string,\n\t\n\t  /**\n\t   * The style and label\n\t   */\n\t  PropTypes.shape({\n\t    style: PropTypes.object,\n\t    label: PropTypes.string\n\t  })]),\n\t\n\t  /**\n\t   * Where the numeric input label is positioned.\n\t   */\n\t  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\t\n\t  /**\n\t   * Class to apply to the root component element.\n\t   */\n\t  className: PropTypes.string,\n\t\n\t  /**\n\t   * Style to apply to the root component element.\n\t   */\n\t  style: PropTypes.object,\n\t\n\t  /**\n\t   * Dash-assigned callback that gets fired when selected\n\t   * value changes.\n\t   */\n\t  setProps: PropTypes.func\n\t};\n\t\n\texports.default = withTheme(NumericInput);\n\n/***/ }),\n/* 435 */\n/*!*****************************************!*\\\n  !*** ../~/react-numeric-input/index.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports =\n\t/******/ (function(modules) { // webpackBootstrap\n\t/******/ \t// The module cache\n\t/******/ \tvar installedModules = {};\n\t\n\t/******/ \t// The require function\n\t/******/ \tfunction __webpack_require__(moduleId) {\n\t\n\t/******/ \t\t// Check if module is in cache\n\t/******/ \t\tif(installedModules[moduleId])\n\t/******/ \t\t\treturn installedModules[moduleId].exports;\n\t\n\t/******/ \t\t// Create a new module (and put it into the cache)\n\t/******/ \t\tvar module = installedModules[moduleId] = {\n\t/******/ \t\t\texports: {},\n\t/******/ \t\t\tid: moduleId,\n\t/******/ \t\t\tloaded: false\n\t/******/ \t\t};\n\t\n\t/******/ \t\t// Execute the module function\n\t/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\t\n\t/******/ \t\t// Flag the module as loaded\n\t/******/ \t\tmodule.loaded = true;\n\t\n\t/******/ \t\t// Return the exports of the module\n\t/******/ \t\treturn module.exports;\n\t/******/ \t}\n\t\n\t\n\t/******/ \t// expose the modules object (__webpack_modules__)\n\t/******/ \t__webpack_require__.m = modules;\n\t\n\t/******/ \t// expose the module cache\n\t/******/ \t__webpack_require__.c = installedModules;\n\t\n\t/******/ \t// __webpack_public_path__\n\t/******/ \t__webpack_require__.p = \"\";\n\t\n\t/******/ \t// Load entry module and return exports\n\t/******/ \treturn __webpack_require__(0);\n\t/******/ })\n\t/************************************************************************/\n\t/******/ ([\n\t/* 0 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t'use strict';\n\t\n\t\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\t\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\t\tvar _react = __webpack_require__(1);\n\t\n\t\tvar _react2 = _interopRequireDefault(_react);\n\t\n\t\tvar _propTypes = __webpack_require__(2);\n\t\n\t\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\t\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t\tfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\t\n\t\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\t\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\t\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\t\tvar KEYCODE_UP = 38;\n\t\tvar KEYCODE_DOWN = 40;\n\t\tvar IS_BROWSER = typeof document != 'undefined';\n\t\tvar RE_NUMBER = /^[+-]?((\\.\\d+)|(\\d+(\\.\\d+)?))$/;\n\t\tvar RE_INCOMPLETE_NUMBER = /^([+-]|\\.0*|[+-]\\.0*|[+-]?\\d+\\.)?$/;\n\t\n\t\tfunction addClass(element, className) {\n\t\t    if (element.classList) {\n\t\t        return element.classList.add(className);\n\t\t    }\n\t\t    if (!element.className.search(new RegExp(\"\\\\b\" + className + \"\\\\b\"))) {\n\t\t        element.className = \" \" + className;\n\t\t    }\n\t\t}\n\t\n\t\tfunction removeClass(element, className) {\n\t\t    if (element.className) {\n\t\t        if (element.classList) {\n\t\t            return element.classList.remove(className);\n\t\t        }\n\t\n\t\t        element.className = element.className.replace(new RegExp(\"\\\\b\" + className + \"\\\\b\", \"g\"), \"\");\n\t\t    }\n\t\t}\n\t\n\t\tfunction access(object, prop, defaultValue) {\n\t\t    var result = object[prop];\n\t\t    if (typeof result == \"function\") {\n\t\t        for (var _len = arguments.length, args = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n\t\t            args[_key - 3] = arguments[_key];\n\t\t        }\n\t\n\t\t        result = result.apply(undefined, args);\n\t\t    }\n\t\t    return result === undefined ? defaultValue : result;\n\t\t}\n\t\n\t\tvar NumericInput = function (_Component) {\n\t\t    _inherits(NumericInput, _Component);\n\t\n\t\t    function NumericInput() {\n\t\t        var _ref;\n\t\n\t\t        _classCallCheck(this, NumericInput);\n\t\n\t\t        for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n\t\t            args[_key2] = arguments[_key2];\n\t\t        }\n\t\n\t\t        var _this = _possibleConstructorReturn(this, (_ref = NumericInput.__proto__ || Object.getPrototypeOf(NumericInput)).call.apply(_ref, [this].concat(args)));\n\t\n\t\t        _this._isStrict = !!_this.props.strict;\n\t\n\t\t        _this.state = _extends({\n\t\t            btnDownHover: false,\n\t\t            btnDownActive: false,\n\t\t            btnUpHover: false,\n\t\t            btnUpActive: false,\n\t\t            stringValue: \"\"\n\t\t        }, _this._propsToState(_this.props));\n\t\t        _this.stop = _this.stop.bind(_this);\n\t\t        _this.onTouchEnd = _this.onTouchEnd.bind(_this);\n\t\t        _this.refsInput = {};\n\t\t        _this.refsWrapper = {};\n\t\t        return _this;\n\t\t    }\n\t\n\t\t    _createClass(NumericInput, [{\n\t\t        key: '_propsToState',\n\t\t        value: function _propsToState(props) {\n\t\t            var out = {};\n\t\n\t\t            if (props.hasOwnProperty(\"value\")) {\n\t\t                out.stringValue = String(props.value || props.value === 0 ? props.value : '').trim();\n\t\n\t\t                out.value = out.stringValue !== '' ? this._parse(props.value) : null;\n\t\t            } else if (!this._isMounted && props.hasOwnProperty(\"defaultValue\")) {\n\t\t                out.stringValue = String(props.defaultValue || props.defaultValue === 0 ? props.defaultValue : '').trim();\n\t\n\t\t                out.value = props.defaultValue !== '' ? this._parse(props.defaultValue) : null;\n\t\t            }\n\t\n\t\t            return out;\n\t\t        }\n\t\t    }, {\n\t\t        key: 'componentWillReceiveProps',\n\t\t        value: function componentWillReceiveProps(props) {\n\t\t            var _this2 = this;\n\t\n\t\t            this._isStrict = !!props.strict;\n\t\t            var nextState = this._propsToState(props);\n\t\t            if (Object.keys(nextState).length) {\n\t\t                this._ignoreValueChange = true;\n\t\t                this.setState(nextState, function () {\n\t\t                    _this2._ignoreValueChange = false;\n\t\t                });\n\t\t            }\n\t\t        }\n\t\t    }, {\n\t\t        key: 'componentWillUpdate',\n\t\t        value: function componentWillUpdate() {\n\t\t            this.saveSelection();\n\t\t        }\n\t\t    }, {\n\t\t        key: 'componentDidUpdate',\n\t\t        value: function componentDidUpdate(prevProps, prevState) {\n\t\t            if (!this._ignoreValueChange && prevState.value !== this.state.value && (!isNaN(this.state.value) || this.state.value === null)) {\n\t\t                    this._invokeEventCallback(\"onChange\", this.state.value, this.refsInput.value, this.refsInput);\n\t\t                }\n\t\n\t\t            if (this._inputFocus) {\n\t\t                this.refsInput.focus();\n\t\n\t\t                if (this.state.selectionStart || this.state.selectionStart === 0) {\n\t\t                    this.refsInput.selectionStart = this.state.selectionStart;\n\t\t                }\n\t\n\t\t                if (this.state.selectionEnd || this.state.selectionEnd === 0) {\n\t\t                    this.refsInput.selectionEnd = this.state.selectionEnd;\n\t\t                }\n\t\t            }\n\t\n\t\t            this.checkValidity();\n\t\t        }\n\t\t    }, {\n\t\t        key: 'componentWillUnmount',\n\t\t        value: function componentWillUnmount() {\n\t\t            this._isMounted = false;\n\t\t            this.stop();\n\t\t        }\n\t\t    }, {\n\t\t        key: 'componentDidMount',\n\t\t        value: function componentDidMount() {\n\t\t            var _this3 = this;\n\t\n\t\t            this._isMounted = true;\n\t\t            this.refsInput.getValueAsNumber = function () {\n\t\t                return _this3.state.value || 0;\n\t\t            };\n\t\n\t\t            this.refsInput.setValue = function (value) {\n\t\t                _this3.setState({\n\t\t                    value: _this3._parse(value),\n\t\t                    stringValue: value\n\t\t                });\n\t\t            };\n\t\n\t\t            if (!this._inputFocus && IS_BROWSER && document.activeElement === this.refsInput) {\n\t\t                this._inputFocus = true;\n\t\t                this.refsInput.focus();\n\t\t                this._invokeEventCallback(\"onFocus\", {\n\t\t                    target: this.refsInput,\n\t\t                    type: \"focus\"\n\t\t                });\n\t\t            }\n\t\n\t\t            this.checkValidity();\n\t\t        }\n\t\t    }, {\n\t\t        key: 'saveSelection',\n\t\t        value: function saveSelection() {\n\t\t            this.state.selectionStart = this.refsInput.selectionStart;\n\t\t            this.state.selectionEnd = this.refsInput.selectionEnd;\n\t\t        }\n\t\t    }, {\n\t\t        key: 'checkValidity',\n\t\t        value: function checkValidity() {\n\t\t            var valid = void 0,\n\t\t                validationError = \"\";\n\t\n\t\t            var supportsValidation = !!this.refsInput.checkValidity;\n\t\n\t\t            var noValidate = !!(this.props.noValidate && this.props.noValidate != \"false\");\n\t\n\t\t            this.refsInput.noValidate = noValidate;\n\t\n\t\t            valid = noValidate || !supportsValidation;\n\t\n\t\t            if (valid) {\n\t\t                validationError = \"\";\n\t\t            } else {\n\t\t                if (this.refsInput.pattern === \"\") {\n\t\t                    this.refsInput.pattern = this.props.required ? \".+\" : \".*\";\n\t\t                }\n\t\n\t\t                if (supportsValidation) {\n\t\t                    this.refsInput.checkValidity();\n\t\t                    valid = this.refsInput.validity.valid;\n\t\n\t\t                    if (!valid) {\n\t\t                        validationError = this.refsInput.validationMessage;\n\t\t                    }\n\t\t                }\n\t\n\t\t                if (valid && supportsValidation && this.props.maxLength) {\n\t\t                    if (this.refsInput.value.length > this.props.maxLength) {\n\t\t                        validationError = \"This value is too long\";\n\t\t                    }\n\t\t                }\n\t\t            }\n\t\n\t\t            validationError = validationError || (valid ? \"\" : this.refsInput.validationMessage || \"Unknown Error\");\n\t\n\t\t            var validStateChanged = this._valid !== validationError;\n\t\t            this._valid = validationError;\n\t\t            if (validationError) {\n\t\t                addClass(this.refsWrapper, \"has-error\");\n\t\t                if (validStateChanged) {\n\t\t                    this._invokeEventCallback(\"onInvalid\", validationError, this.state.value, this.refsInput.value);\n\t\t                }\n\t\t            } else {\n\t\t                removeClass(this.refsWrapper, \"has-error\");\n\t\t                if (validStateChanged) {\n\t\t                    this._invokeEventCallback(\"onValid\", this.state.value, this.refsInput.value);\n\t\t                }\n\t\t            }\n\t\t        }\n\t\t    }, {\n\t\t        key: '_toNumber',\n\t\t        value: function _toNumber(x) {\n\t\t            var n = parseFloat(x);\n\t\t            if (isNaN(n) || !isFinite(n)) {\n\t\t                n = 0;\n\t\t            }\n\t\n\t\t            if (this._isStrict) {\n\t\t                var precision = access(this.props, \"precision\", null, this);\n\t\t                var q = Math.pow(10, precision === null ? 10 : precision);\n\t\t                var _min = +access(this.props, \"min\", NumericInput.defaultProps.min, this);\n\t\t                var _max = +access(this.props, \"max\", NumericInput.defaultProps.max, this);\n\t\t                n = Math.min(Math.max(n, _min), _max);\n\t\t                n = Math.round(n * q) / q;\n\t\t            }\n\t\n\t\t            return n;\n\t\t        }\n\t\t    }, {\n\t\t        key: '_parse',\n\t\t        value: function _parse(x) {\n\t\t            x = String(x);\n\t\t            if (typeof this.props.parse == 'function') {\n\t\t                return parseFloat(this.props.parse(x));\n\t\t            }\n\t\t            return parseFloat(x);\n\t\t        }\n\t\t    }, {\n\t\t        key: '_format',\n\t\t        value: function _format(n) {\n\t\t            var _n = this._toNumber(n);\n\t\t            var precision = access(this.props, \"precision\", null, this);\n\t\t            if (precision !== null) {\n\t\t                _n = n.toFixed(precision);\n\t\t            }\n\t\n\t\t            _n += \"\";\n\t\n\t\t            if (this.props.format) {\n\t\t                return this.props.format(_n);\n\t\t            }\n\t\n\t\t            return _n;\n\t\t        }\n\t\t    }, {\n\t\t        key: '_step',\n\t\t        value: function _step(n, callback) {\n\t\t            var _isStrict = this._isStrict;\n\t\t            this._isStrict = true;\n\t\n\t\t            var _step = +access(this.props, \"step\", NumericInput.defaultProps.step, this, n > 0 ? NumericInput.DIRECTION_UP : NumericInput.DIRECTION_DOWN);\n\t\n\t\t            var _n = this._toNumber((this.state.value || 0) + _step * n);\n\t\n\t\t            if (this.props.snap) {\n\t\t                _n = Math.round(_n / _step) * _step;\n\t\t            }\n\t\n\t\t            this._isStrict = _isStrict;\n\t\n\t\t            if (_n !== this.state.value) {\n\t\t                this.setState({ value: _n, stringValue: _n + \"\" }, callback);\n\t\t                return true;\n\t\t            }\n\t\n\t\t            return false;\n\t\t        }\n\t\t    }, {\n\t\t        key: '_onKeyDown',\n\t\t        value: function _onKeyDown() {\n\t\t            for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n\t\t                args[_key3] = arguments[_key3];\n\t\t            }\n\t\n\t\t            args[0].persist();\n\t\t            this._invokeEventCallback.apply(this, [\"onKeyDown\"].concat(args));\n\t\t            var e = args[0];\n\t\t            if (!e.isDefaultPrevented()) {\n\t\t                if (e.keyCode === KEYCODE_UP) {\n\t\t                    e.preventDefault();\n\t\t                    this._step(e.ctrlKey || e.metaKey ? 0.1 : e.shiftKey ? 10 : 1);\n\t\t                } else if (e.keyCode === KEYCODE_DOWN) {\n\t\t                    e.preventDefault();\n\t\t                    this._step(e.ctrlKey || e.metaKey ? -0.1 : e.shiftKey ? -10 : -1);\n\t\t                } else {\n\t\t                    var _value = this.refsInput.value,\n\t\t                        length = _value.length;\n\t\t                    if (e.keyCode === 8) {\n\t\t                        if (this.refsInput.selectionStart == this.refsInput.selectionEnd && this.refsInput.selectionEnd > 0 && _value.length && _value.charAt(this.refsInput.selectionEnd - 1) === \".\") {\n\t\t                            e.preventDefault();\n\t\t                            this.refsInput.selectionStart = this.refsInput.selectionEnd = this.refsInput.selectionEnd - 1;\n\t\t                        }\n\t\t                    } else if (e.keyCode === 46) {\n\t\t                        if (this.refsInput.selectionStart == this.refsInput.selectionEnd && this.refsInput.selectionEnd < length + 1 && _value.length && _value.charAt(this.refsInput.selectionEnd) === \".\") {\n\t\t                            e.preventDefault();\n\t\t                            this.refsInput.selectionStart = this.refsInput.selectionEnd = this.refsInput.selectionEnd + 1;\n\t\t                        }\n\t\t                    }\n\t\t                }\n\t\t            }\n\t\t        }\n\t\t    }, {\n\t\t        key: 'stop',\n\t\t        value: function stop() {\n\t\t            if (this._timer) {\n\t\t                clearTimeout(this._timer);\n\t\t            }\n\t\t        }\n\t\t    }, {\n\t\t        key: 'increase',\n\t\t        value: function increase() {\n\t\t            var _this4 = this;\n\t\n\t\t            var _recursive = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\t\n\t\t            var callback = arguments[1];\n\t\n\t\t            this.stop();\n\t\t            this._step(1, callback);\n\t\t            var _max = +access(this.props, \"max\", NumericInput.defaultProps.max, this);\n\t\t            if (isNaN(this.state.value) || +this.state.value < _max) {\n\t\t                this._timer = setTimeout(function () {\n\t\t                    _this4.increase(true);\n\t\t                }, _recursive ? NumericInput.SPEED : NumericInput.DELAY);\n\t\t            }\n\t\t        }\n\t\t    }, {\n\t\t        key: 'decrease',\n\t\t        value: function decrease() {\n\t\t            var _this5 = this;\n\t\n\t\t            var _recursive = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\t\n\t\t            var callback = arguments[1];\n\t\n\t\t            this.stop();\n\t\t            this._step(-1, callback);\n\t\t            var _min = +access(this.props, \"min\", NumericInput.defaultProps.min, this);\n\t\t            if (isNaN(this.state.value) || +this.state.value > _min) {\n\t\t                this._timer = setTimeout(function () {\n\t\t                    _this5.decrease(true);\n\t\t                }, _recursive ? NumericInput.SPEED : NumericInput.DELAY);\n\t\t            }\n\t\t        }\n\t\t    }, {\n\t\t        key: 'onMouseDown',\n\t\t        value: function onMouseDown(dir, callback) {\n\t\t            if (dir == 'down') {\n\t\t                this.decrease(false, callback);\n\t\t            } else if (dir == 'up') {\n\t\t                this.increase(false, callback);\n\t\t            }\n\t\t        }\n\t\t    }, {\n\t\t        key: 'onTouchStart',\n\t\t        value: function onTouchStart(dir, e) {\n\t\t            e.preventDefault();\n\t\t            if (dir == 'down') {\n\t\t                this.decrease();\n\t\t            } else if (dir == 'up') {\n\t\t                this.increase();\n\t\t            }\n\t\t        }\n\t\t    }, {\n\t\t        key: 'onTouchEnd',\n\t\t        value: function onTouchEnd(e) {\n\t\t            e.preventDefault();\n\t\t            this.stop();\n\t\t        }\n\t\t    }, {\n\t\t        key: '_invokeEventCallback',\n\t\t        value: function _invokeEventCallback(callbackName) {\n\t\t            if (typeof this.props[callbackName] == \"function\") {\n\t\t                var _props$callbackName;\n\t\n\t\t                for (var _len4 = arguments.length, args = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n\t\t                    args[_key4 - 1] = arguments[_key4];\n\t\t                }\n\t\n\t\t                (_props$callbackName = this.props[callbackName]).call.apply(_props$callbackName, [null].concat(args));\n\t\t            }\n\t\t        }\n\t\t    }, {\n\t\t        key: 'render',\n\t\t        value: function render() {\n\t\t            var _this6 = this;\n\t\n\t\t            var props = this.props;\n\t\t            var state = this.state;\n\t\t            var css = {};\n\t\n\t\t            var _props = this.props,\n\t\t                step = _props.step,\n\t\t                min = _props.min,\n\t\t                max = _props.max,\n\t\t                precision = _props.precision,\n\t\t                parse = _props.parse,\n\t\t                format = _props.format,\n\t\t                mobile = _props.mobile,\n\t\t                snap = _props.snap,\n\t\t                componentClass = _props.componentClass,\n\t\t                value = _props.value,\n\t\t                type = _props.type,\n\t\t                style = _props.style,\n\t\t                defaultValue = _props.defaultValue,\n\t\t                onInvalid = _props.onInvalid,\n\t\t                onValid = _props.onValid,\n\t\t                strict = _props.strict,\n\t\t                noStyle = _props.noStyle,\n\t\t                rest = _objectWithoutProperties(_props, ['step', 'min', 'max', 'precision', 'parse', 'format', 'mobile', 'snap', 'componentClass', 'value', 'type', 'style', 'defaultValue', 'onInvalid', 'onValid', 'strict', 'noStyle']);\n\t\n\t\t            noStyle = noStyle || style === false;\n\t\n\t\t            for (var x in NumericInput.style) {\n\t\t                css[x] = _extends({}, NumericInput.style[x], style ? style[x] || {} : {});\n\t\t            }\n\t\n\t\t            var hasFormControl = props.className && /\\bform-control\\b/.test(props.className);\n\t\n\t\t            if (mobile == 'auto') {\n\t\t                mobile = IS_BROWSER && 'ontouchstart' in document;\n\t\t            }\n\t\n\t\t            if (typeof mobile == \"function\") {\n\t\t                mobile = mobile.call(this);\n\t\t            }\n\t\t            mobile = !!mobile;\n\t\n\t\t            var attrs = {\n\t\t                wrap: {\n\t\t                    style: noStyle ? null : css.wrap,\n\t\t                    className: 'react-numeric-input',\n\t\t                    ref: function ref(e) {\n\t\t                        if (e != null && e != undefined) {\n\t\t                            _this6.refsWrapper = e;\n\t\t                        }\n\t\t                    },\n\t\t                    onMouseUp: undefined,\n\t\t                    onMouseLeave: undefined\n\t\t                },\n\t\t                input: _extends({\n\t\t                    ref: function ref(e) {\n\t\t                        if (e != null && e != undefined) {\n\t\t                            _this6.refsInput = e;\n\t\t                        }\n\t\t                    },\n\t\t                    type: 'text',\n\t\t                    style: noStyle ? null : _extends({}, css.input, !hasFormControl ? css['input:not(.form-control)'] : {}, this._inputFocus ? css['input:focus'] : {})\n\t\t                }, rest),\n\t\t                btnUp: {\n\t\t                    onMouseEnter: undefined,\n\t\t                    onMouseDown: undefined,\n\t\t                    onMouseUp: undefined,\n\t\t                    onMouseLeave: undefined,\n\t\t                    onTouchStart: undefined,\n\t\t                    onTouchEnd: undefined,\n\t\t                    style: noStyle ? null : _extends({}, css.btn, css.btnUp, props.disabled || props.readOnly ? css['btn:disabled'] : state.btnUpActive ? css['btn:active'] : state.btnUpHover ? css['btn:hover'] : {})\n\t\t                },\n\t\t                btnDown: {\n\t\t                    onMouseEnter: undefined,\n\t\t                    onMouseDown: undefined,\n\t\t                    onMouseUp: undefined,\n\t\t                    onMouseLeave: undefined,\n\t\t                    onTouchStart: undefined,\n\t\t                    onTouchEnd: undefined,\n\t\t                    style: noStyle ? null : _extends({}, css.btn, css.btnDown, props.disabled || props.readOnly ? css['btn:disabled'] : state.btnDownActive ? css['btn:active'] : state.btnDownHover ? css['btn:hover'] : {})\n\t\t                }\n\t\t            };\n\t\n\t\t            var stringValue = String(state.stringValue || (state.value || state.value === 0 ? state.value : \"\") || \"\");\n\t\n\t\t            var loose = !this._isStrict && (this._inputFocus || !this._isMounted);\n\t\n\t\t            if (loose && RE_INCOMPLETE_NUMBER.test(stringValue)) {\n\t\t                attrs.input.value = stringValue;\n\t\t            } else if (loose && stringValue && !RE_NUMBER.test(stringValue)) {\n\t\t                    attrs.input.value = stringValue;\n\t\t                } else if (state.value || state.value === 0) {\n\t\t                        attrs.input.value = this._format(state.value);\n\t\t                    } else {\n\t\t                            attrs.input.value = \"\";\n\t\t                        }\n\t\n\t\t            if (hasFormControl && !noStyle) {\n\t\t                _extends(attrs.wrap.style, css['wrap.hasFormControl']);\n\t\t            }\n\t\n\t\t            if (mobile && !noStyle) {\n\t\t                _extends(attrs.input.style, css['input.mobile']);\n\t\t                _extends(attrs.btnUp.style, css['btnUp.mobile']);\n\t\t                _extends(attrs.btnDown.style, css['btnDown.mobile']);\n\t\t            }\n\t\n\t\t            if (!props.disabled && !props.readOnly) {\n\t\t                _extends(attrs.wrap, {\n\t\t                    onMouseUp: this.stop,\n\t\t                    onMouseLeave: this.stop\n\t\t                });\n\t\n\t\t                _extends(attrs.btnUp, {\n\t\t                    onTouchStart: this.onTouchStart.bind(this, 'up'),\n\t\t                    onTouchEnd: this.onTouchEnd,\n\t\t                    onMouseEnter: function onMouseEnter() {\n\t\t                        _this6.setState({\n\t\t                            btnUpHover: true\n\t\t                        });\n\t\t                    },\n\t\t                    onMouseLeave: function onMouseLeave() {\n\t\t                        _this6.stop();\n\t\t                        _this6.setState({\n\t\t                            btnUpHover: false,\n\t\t                            btnUpActive: false\n\t\t                        });\n\t\t                    },\n\t\t                    onMouseUp: function onMouseUp() {\n\t\t                        _this6.setState({\n\t\t                            btnUpHover: true,\n\t\t                            btnUpActive: false\n\t\t                        });\n\t\t                    },\n\t\t                    onMouseDown: function onMouseDown() {\n\t\t                        for (var _len5 = arguments.length, args = Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n\t\t                            args[_key5] = arguments[_key5];\n\t\t                        }\n\t\n\t\t                        args[0].preventDefault();\n\t\t                        args[0].persist();\n\t\t                        _this6._inputFocus = true;\n\t\t                        _this6.setState({\n\t\t                            btnUpHover: true,\n\t\t                            btnUpActive: true\n\t\t                        }, function () {\n\t\t                            _this6._invokeEventCallback.apply(_this6, [\"onFocus\"].concat(args));\n\t\t                            _this6.onMouseDown('up');\n\t\t                        });\n\t\t                    }\n\t\t                });\n\t\n\t\t                _extends(attrs.btnDown, {\n\t\t                    onTouchStart: this.onTouchStart.bind(this, 'down'),\n\t\t                    onTouchEnd: this.onTouchEnd,\n\t\t                    onMouseEnter: function onMouseEnter() {\n\t\t                        _this6.setState({\n\t\t                            btnDownHover: true\n\t\t                        });\n\t\t                    },\n\t\t                    onMouseLeave: function onMouseLeave() {\n\t\t                        _this6.stop();\n\t\t                        _this6.setState({\n\t\t                            btnDownHover: false,\n\t\t                            btnDownActive: false\n\t\t                        });\n\t\t                    },\n\t\t                    onMouseUp: function onMouseUp() {\n\t\t                        _this6.setState({\n\t\t                            btnDownHover: true,\n\t\t                            btnDownActive: false\n\t\t                        });\n\t\t                    },\n\t\t                    onMouseDown: function onMouseDown() {\n\t\t                        for (var _len6 = arguments.length, args = Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n\t\t                            args[_key6] = arguments[_key6];\n\t\t                        }\n\t\n\t\t                        args[0].preventDefault();\n\t\t                        args[0].persist();\n\t\t                        _this6._inputFocus = true;\n\t\t                        _this6.setState({\n\t\t                            btnDownHover: true,\n\t\t                            btnDownActive: true\n\t\t                        }, function () {\n\t\t                            _this6._invokeEventCallback.apply(_this6, [\"onFocus\"].concat(args));\n\t\t                            _this6.onMouseDown('down');\n\t\t                        });\n\t\t                    }\n\t\t                });\n\t\n\t\t                _extends(attrs.input, {\n\t\t                    onChange: function onChange(e) {\n\t\t                        var original = e.target.value;\n\t\t                        var val = _this6._parse(original);\n\t\t                        if (isNaN(val)) {\n\t\t                            val = null;\n\t\t                        }\n\t\t                        _this6.setState({\n\t\t                            value: _this6._isStrict ? _this6._toNumber(val) : val,\n\t\t                            stringValue: original\n\t\t                        });\n\t\t                    },\n\t\t                    onKeyDown: this._onKeyDown.bind(this),\n\t\t                    onInput: function onInput() {\n\t\t                        for (var _len7 = arguments.length, args = Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n\t\t                            args[_key7] = arguments[_key7];\n\t\t                        }\n\t\n\t\t                        _this6.saveSelection();\n\t\t                        _this6._invokeEventCallback.apply(_this6, [\"onInput\"].concat(args));\n\t\t                    },\n\t\t                    onSelect: function onSelect() {\n\t\t                        for (var _len8 = arguments.length, args = Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n\t\t                            args[_key8] = arguments[_key8];\n\t\t                        }\n\t\n\t\t                        _this6.saveSelection();\n\t\t                        _this6._invokeEventCallback.apply(_this6, [\"onSelect\"].concat(args));\n\t\t                    },\n\t\t                    onFocus: function onFocus() {\n\t\t                        for (var _len9 = arguments.length, args = Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n\t\t                            args[_key9] = arguments[_key9];\n\t\t                        }\n\t\n\t\t                        args[0].persist();\n\t\t                        _this6._inputFocus = true;\n\t\t                        var val = _this6._parse(args[0].target.value);\n\t\t                        _this6.setState({\n\t\t                            value: val,\n\t\t                            stringValue: val || val === 0 ? val + \"\" : \"\"\n\t\t                        }, function () {\n\t\t                            _this6._invokeEventCallback.apply(_this6, [\"onFocus\"].concat(args));\n\t\t                        });\n\t\t                    },\n\t\t                    onBlur: function onBlur() {\n\t\t                        for (var _len10 = arguments.length, args = Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\n\t\t                            args[_key10] = arguments[_key10];\n\t\t                        }\n\t\n\t\t                        var _isStrict = _this6._isStrict;\n\t\t                        _this6._isStrict = true;\n\t\t                        args[0].persist();\n\t\t                        _this6._inputFocus = false;\n\t\t                        var val = _this6._parse(args[0].target.value);\n\t\t                        _this6.setState({\n\t\t                            value: val\n\t\t                        }, function () {\n\t\t                            _this6._invokeEventCallback.apply(_this6, [\"onBlur\"].concat(args));\n\t\t                            _this6._isStrict = _isStrict;\n\t\t                        });\n\t\t                    }\n\t\t                });\n\t\t            } else {\n\t\t                if (!noStyle && props.disabled) {\n\t\t                    _extends(attrs.input.style, css['input:disabled']);\n\t\t                }\n\t\t            }\n\t\n\t\t            var InputTag = componentClass || 'input';\n\t\n\t\t            if (mobile) {\n\t\t                return _react2.default.createElement(\n\t\t                    'span',\n\t\t                    attrs.wrap,\n\t\t                    _react2.default.createElement(InputTag, attrs.input),\n\t\t                    _react2.default.createElement(\n\t\t                        'b',\n\t\t                        attrs.btnUp,\n\t\t                        _react2.default.createElement('i', { style: noStyle ? null : css.minus }),\n\t\t                        _react2.default.createElement('i', { style: noStyle ? null : css.plus })\n\t\t                    ),\n\t\t                    _react2.default.createElement(\n\t\t                        'b',\n\t\t                        attrs.btnDown,\n\t\t                        _react2.default.createElement('i', { style: noStyle ? null : css.minus })\n\t\t                    )\n\t\t                );\n\t\t            }\n\t\n\t\t            return _react2.default.createElement(\n\t\t                'span',\n\t\t                attrs.wrap,\n\t\t                _react2.default.createElement(InputTag, attrs.input),\n\t\t                _react2.default.createElement(\n\t\t                    'b',\n\t\t                    attrs.btnUp,\n\t\t                    _react2.default.createElement('i', { style: noStyle ? null : css.arrowUp })\n\t\t                ),\n\t\t                _react2.default.createElement(\n\t\t                    'b',\n\t\t                    attrs.btnDown,\n\t\t                    _react2.default.createElement('i', { style: noStyle ? null : css.arrowDown })\n\t\t                )\n\t\t            );\n\t\t        }\n\t\t    }]);\n\t\n\t\t    return NumericInput;\n\t\t}(_react.Component);\n\t\n\t\tNumericInput.propTypes = {\n\t\t    step: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.func]),\n\t\t    min: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.func]),\n\t\t    max: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.func]),\n\t\t    precision: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.func]),\n\t\t    maxLength: _propTypes2.default.number,\n\t\t    parse: _propTypes2.default.func,\n\t\t    format: _propTypes2.default.func,\n\t\t    className: _propTypes2.default.string,\n\t\t    disabled: _propTypes2.default.bool,\n\t\t    readOnly: _propTypes2.default.bool,\n\t\t    required: _propTypes2.default.bool,\n\t\t    snap: _propTypes2.default.bool,\n\t\t    noValidate: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.string]),\n\t\t    style: _propTypes2.default.oneOfType([_propTypes2.default.object, _propTypes2.default.bool]),\n\t\t    noStyle: _propTypes2.default.bool,\n\t\t    type: _propTypes2.default.string,\n\t\t    pattern: _propTypes2.default.string,\n\t\t    onFocus: _propTypes2.default.func,\n\t\t    onBlur: _propTypes2.default.func,\n\t\t    onKeyDown: _propTypes2.default.func,\n\t\t    onChange: _propTypes2.default.func,\n\t\t    onInvalid: _propTypes2.default.func,\n\t\t    onValid: _propTypes2.default.func,\n\t\t    onInput: _propTypes2.default.func,\n\t\t    onSelect: _propTypes2.default.func,\n\t\t    size: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]),\n\t\t    value: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]),\n\t\t    defaultValue: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]),\n\t\t    strict: _propTypes2.default.bool,\n\t\t    componentClass: _propTypes2.default.string,\n\t\t    mobile: function mobile(props, propName) {\n\t\t        var prop = props[propName];\n\t\t        if (prop !== true && prop !== false && prop !== 'auto' && typeof prop != 'function') {\n\t\t            return new Error('The \"mobile\" prop must be true, false, \"auto\" or a function');\n\t\t        }\n\t\t    }\n\t\t};\n\t\tNumericInput.defaultProps = {\n\t\t    step: 1,\n\t\t    min: Number.MIN_SAFE_INTEGER || -9007199254740991,\n\t\t    max: Number.MAX_SAFE_INTEGER || 9007199254740991,\n\t\t    precision: null,\n\t\t    parse: null,\n\t\t    format: null,\n\t\t    mobile: 'auto',\n\t\t    strict: false,\n\t\t    componentClass: \"input\",\n\t\t    style: {}\n\t\t};\n\t\tNumericInput.style = {\n\t\t    wrap: {\n\t\t        position: 'relative',\n\t\t        display: 'inline-block'\n\t\t    },\n\t\n\t\t    'wrap.hasFormControl': {\n\t\t        display: 'block'\n\t\t    },\n\t\n\t\t    arrowUp: {\n\t\t        position: 'absolute',\n\t\t        top: '50%',\n\t\t        left: '50%',\n\t\t        width: 0,\n\t\t        height: 0,\n\t\t        borderWidth: '0 0.6ex 0.6ex 0.6ex',\n\t\t        borderColor: 'transparent transparent rgba(0, 0, 0, 0.7)',\n\t\t        borderStyle: 'solid',\n\t\t        margin: '-0.3ex 0 0 -0.56ex'\n\t\t    },\n\t\n\t\t    arrowDown: {\n\t\t        position: 'absolute',\n\t\t        top: '50%',\n\t\t        left: '50%',\n\t\t        width: 0,\n\t\t        height: 0,\n\t\t        borderWidth: '0.6ex 0.6ex 0 0.6ex',\n\t\t        borderColor: 'rgba(0, 0, 0, 0.7) transparent transparent',\n\t\t        borderStyle: 'solid',\n\t\t        margin: '-0.3ex 0 0 -0.56ex'\n\t\t    },\n\t\n\t\t    plus: {\n\t\t        position: 'absolute',\n\t\t        top: '50%',\n\t\t        left: '50%',\n\t\t        width: 2,\n\t\t        height: 10,\n\t\t        background: 'rgba(0,0,0,.7)',\n\t\t        margin: '-5px 0 0 -1px'\n\t\t    },\n\t\n\t\t    minus: {\n\t\t        position: 'absolute',\n\t\t        top: '50%',\n\t\t        left: '50%',\n\t\t        width: 10,\n\t\t        height: 2,\n\t\t        background: 'rgba(0,0,0,.7)',\n\t\t        margin: '-1px 0 0 -5px'\n\t\t    },\n\t\n\t\t    btn: {\n\t\t        position: 'absolute',\n\t\t        right: 2,\n\t\t        width: '2.26ex',\n\t\t        borderColor: 'rgba(0,0,0,.1)',\n\t\t        borderStyle: 'solid',\n\t\t        textAlign: 'center',\n\t\t        cursor: 'default',\n\t\t        transition: 'all 0.1s',\n\t\t        background: 'rgba(0,0,0,.1)',\n\t\t        boxShadow: '-1px -1px 3px rgba(0,0,0,.1) inset,' + '1px 1px 3px rgba(255,255,255,.7) inset'\n\t\t    },\n\t\n\t\t    btnUp: {\n\t\t        top: 2,\n\t\t        bottom: '50%',\n\t\t        borderRadius: '2px 2px 0 0',\n\t\t        borderWidth: '1px 1px 0 1px'\n\t\t    },\n\t\n\t\t    'btnUp.mobile': {\n\t\t        width: '3.3ex',\n\t\t        bottom: 2,\n\t\t        boxShadow: 'none',\n\t\t        borderRadius: 2,\n\t\t        borderWidth: 1\n\t\t    },\n\t\n\t\t    btnDown: {\n\t\t        top: '50%',\n\t\t        bottom: 2,\n\t\t        borderRadius: '0 0 2px 2px',\n\t\t        borderWidth: '0 1px 1px 1px'\n\t\t    },\n\t\n\t\t    'btnDown.mobile': {\n\t\t        width: '3.3ex',\n\t\t        bottom: 2,\n\t\t        left: 2,\n\t\t        top: 2,\n\t\t        right: 'auto',\n\t\t        boxShadow: 'none',\n\t\t        borderRadius: 2,\n\t\t        borderWidth: 1\n\t\t    },\n\t\n\t\t    'btn:hover': {\n\t\t        background: 'rgba(0,0,0,.2)'\n\t\t    },\n\t\n\t\t    'btn:active': {\n\t\t        background: 'rgba(0,0,0,.3)',\n\t\t        boxShadow: '0 1px 3px rgba(0,0,0,.2) inset,' + '-1px -1px 4px rgba(255,255,255,.5) inset'\n\t\t    },\n\t\n\t\t    'btn:disabled': {\n\t\t        opacity: 0.5,\n\t\t        boxShadow: 'none',\n\t\t        cursor: 'not-allowed'\n\t\t    },\n\t\n\t\t    input: {\n\t\t        paddingRight: '3ex',\n\t\t        boxSizing: 'border-box',\n\t\t        fontSize: 'inherit'\n\t\t    },\n\t\n\t\t    'input:not(.form-control)': {\n\t\t        border: '1px solid #ccc',\n\t\t        borderRadius: 2,\n\t\t        paddingLeft: 4,\n\t\t        display: 'block',\n\t\t        WebkitAppearance: 'none',\n\t\t        lineHeight: 'normal'\n\t\t    },\n\t\n\t\t    'input.mobile': {\n\t\t        paddingLeft: ' 3.4ex',\n\t\t        paddingRight: '3.4ex',\n\t\t        textAlign: 'center'\n\t\t    },\n\t\n\t\t    'input:focus': {},\n\t\n\t\t    'input:disabled': {\n\t\t        color: 'rgba(0, 0, 0, 0.3)',\n\t\t        textShadow: '0 1px 0 rgba(255, 255, 255, 0.8)'\n\t\t    }\n\t\t};\n\t\tNumericInput.SPEED = 50;\n\t\tNumericInput.DELAY = 500;\n\t\tNumericInput.DIRECTION_UP = \"up\";\n\t\tNumericInput.DIRECTION_DOWN = \"down\";\n\t\n\t\n\t\tmodule.exports = NumericInput;\n\t\n\t/***/ }),\n\t/* 1 */\n\t/***/ (function(module, exports) {\n\t\n\t\tmodule.exports = __webpack_require__(/*! react */ 2);\n\t\n\t/***/ }),\n\t/* 2 */\n\t/***/ (function(module, exports) {\n\t\n\t\tmodule.exports = __webpack_require__(/*! prop-types */ 3);\n\t\n\t/***/ })\n\t/******/ ]);\n\n/***/ }),\n/* 436 */\n/*!*****************************************!*\\\n  !*** ./components/PowerButton.react.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar Component = _react.Component;\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar PropTypes = _interopRequireDefault(_propTypes).default;\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar withTheme = _styledComponents.withTheme;\n\t\n\tvar _PowerButton = __webpack_require__(/*! ../styled/PowerButton.styled */ 437);\n\t\n\tvar Container = _PowerButton.Container;\n\tvar Button = _PowerButton.Button;\n\t\n\tvar _PowerButtonSvg = __webpack_require__(/*! ../helpers/PowerButtonSvg.react */ 438);\n\t\n\tvar PowerButtonSvg = _interopRequireDefault(_PowerButtonSvg).default;\n\t\n\tvar _Indicator = __webpack_require__(/*! ../styled/shared/Indicator.styled */ 20);\n\t\n\tvar Indicator = _interopRequireDefault(_Indicator).default;\n\t\n\tvar _LabelContainer = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ 23);\n\t\n\tvar LabelContainer = _interopRequireDefault(_LabelContainer).default;\n\t\n\tvar _constants = __webpack_require__(/*! ../styled/constants */ 18);\n\t\n\tvar light = _constants.light;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\t/**\n\t * A power button component can be\n\t * turned on and off.\n\t */\n\tvar PowerButton = function (_Component) {\n\t  _inherits(PowerButton, _Component);\n\t\n\t  function PowerButton(props) {\n\t    _classCallCheck(this, PowerButton);\n\t\n\t    var _this = _possibleConstructorReturn(this, (PowerButton.__proto__ || Object.getPrototypeOf(PowerButton)).call(this, props));\n\t\n\t    _this.state = {\n\t      on: _this.props.on\n\t    };\n\t\n\t    _this.onClick = _this.onClick.bind(_this);\n\t    return _this;\n\t  }\n\t\n\t  _createClass(PowerButton, [{\n\t    key: 'componentWillReceiveProps',\n\t    value: function componentWillReceiveProps(newProps) {\n\t      if (newProps.on !== this.state.on) this.setState({ on: newProps.on });\n\t    }\n\t  }, {\n\t    key: 'onClick',\n\t    value: function onClick() {\n\t      var newOnValue = !this.state.on;\n\t\n\t      this.setState({ on: newOnValue });\n\t      if (this.props.setProps) this.props.setProps({ on: newOnValue });\n\t    }\n\t  }, {\n\t    key: 'render',\n\t    value: function render() {\n\t      var INDICATOR_SIZE = this.props.size / 10 * 1.25;\n\t\n\t      return React.createElement(\n\t        'div',\n\t        { id: this.props.id, className: this.props.className, style: this.props.style },\n\t        React.createElement(\n\t          LabelContainer,\n\t          this.props,\n\t          React.createElement(\n\t            Container,\n\t            null,\n\t            React.createElement(\n\t              Button,\n\t              {\n\t                on: this.state.on,\n\t                color: this.props.color,\n\t                size: this.props.size,\n\t                disabled: this.props.disabled,\n\t                onClick: this.onClick\n\t              },\n\t              React.createElement(PowerButtonSvg, {\n\t                on: this.state.on,\n\t                color: this.props.color,\n\t                size: this.props.size * 0.3\n\t              })\n\t            ),\n\t            React.createElement(Indicator, {\n\t              on: this.state.on,\n\t              primary: this.props.color,\n\t              main: true,\n\t              size: INDICATOR_SIZE\n\t            })\n\t          )\n\t        )\n\t      );\n\t    }\n\t  }]);\n\t\n\t  return PowerButton;\n\t}(Component);\n\t\n\tPowerButton.defaultProps = {\n\t  on: false,\n\t  theme: light,\n\t  size: 48,\n\t  labelPosition: 'top'\n\t};\n\t\n\tPowerButton.propTypes = {\n\t  /**\n\t   * The ID used to identify this compnent in Dash callbacks\n\t   */\n\t  id: PropTypes.string,\n\t\n\t  /**\n\t   * Whether or not the power button is on\n\t   */\n\t  on: PropTypes.bool,\n\t\n\t  /**\n\t   * The indicator color to display when power button is on\n\t   */\n\t  color: PropTypes.string,\n\t\n\t  /**\n\t   * The size (diameter) of the power button in pixels\n\t   */\n\t  size: PropTypes.number,\n\t\n\t  /**\n\t   * If true, power button cannot be clicked\n\t   */\n\t  disabled: PropTypes.bool,\n\t\n\t  /**\n\t   * Theme configuration to be set by a ThemeProvider\n\t   */\n\t  theme: PropTypes.object,\n\t\n\t  /**\n\t   * Description to be displayed alongside the button. To control styling, pass an object with label and style properties.\n\t   */\n\t  label: PropTypes.oneOfType([\n\t  /**\n\t   * Label to be displayed\n\t   */\n\t  PropTypes.string,\n\t\n\t  /**\n\t   * The style and label\n\t   */\n\t  PropTypes.shape({\n\t    style: PropTypes.object,\n\t    label: PropTypes.string\n\t  })]),\n\t\n\t  /**\n\t   * Where the button label is positioned.\n\t   */\n\t  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\t\n\t  /**\n\t   * Class to apply to the root component element.\n\t   */\n\t  className: PropTypes.string,\n\t\n\t  /**\n\t   * Style to apply to the root component element.\n\t   */\n\t  style: PropTypes.object,\n\t\n\t  /**\n\t   * Dash-assigned callback that gets fired when\n\t   * button is clicked.\n\t   */\n\t  setProps: PropTypes.func\n\t};\n\t\n\texports.default = withTheme(PowerButton);\n\n/***/ }),\n/* 437 */\n/*!**************************************!*\\\n  !*** ./styled/PowerButton.styled.js ***!\n  \\**************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.Button = exports.Container = undefined;\n\t\n\tvar _templateObject = _taggedTemplateLiteral(['\\n  display: flex;\\n  flex-direction: column;\\n  justify-content: space-between;\\n  align-items: center;\\n\\n  & svg {\\n    margin: 0 auto;\\n  }\\n'], ['\\n  display: flex;\\n  flex-direction: column;\\n  justify-content: space-between;\\n  align-items: center;\\n\\n  & svg {\\n    margin: 0 auto;\\n  }\\n']),\n\t    _templateObject2 = _taggedTemplateLiteral(['\\n  cursor: pointer;\\n  outline: none;\\n  display: flex;\\n  justify-content: center;\\n  align-items: center;\\n\\n  &:disabled {\\n    opacity: ', ';\\n    cursor: not-allowed;\\n  }\\n\\n  ', ';\\n'], ['\\n  cursor: pointer;\\n  outline: none;\\n  display: flex;\\n  justify-content: center;\\n  align-items: center;\\n\\n  &:disabled {\\n    opacity: ', ';\\n    cursor: not-allowed;\\n  }\\n\\n  ', ';\\n']),\n\t    _templateObject3 = _taggedTemplateLiteral(['\\n  border-radius: 50%;\\n  box-sizing: border-box;\\n  background: #fff;\\n  border: 1px solid ', ';\\n  ', ' margin-bottom: ', ';\\n  padding: 0;\\n\\n  &:focus,\\n  &:hover {\\n    border-color: ', ';\\n  }\\n'], ['\\n  border-radius: 50%;\\n  box-sizing: border-box;\\n  background: #fff;\\n  border: 1px solid ', ';\\n  ', ' margin-bottom: ', ';\\n  padding: 0;\\n\\n  &:focus,\\n  &:hover {\\n    border-color: ', ';\\n  }\\n']),\n\t    _templateObject4 = _taggedTemplateLiteral(['\\n      width: ', 'px;\\n      height: ', 'px;\\n    '], ['\\n      width: ', 'px;\\n      height: ', 'px;\\n    ']),\n\t    _templateObject5 = _taggedTemplateLiteral(['\\n  ', ' border-radius: 100%;\\n  padding: 0;\\n  margin-bottom: 8px;\\n\\n  &::before,\\n  &::after {\\n    left: 4%;\\n    border-radius: 100%;\\n    transition: all 0.1s ease-in;\\n  }\\n\\n  &::before {\\n    top: 8%;\\n    width: 86%;\\n    height: 86%;\\n  }\\n\\n  &::after {\\n    top: 4%;\\n    width: 92%;\\n    height: 92%;\\n\\n    ', ';\\n  }\\n\\n  &:hover::before {\\n    background-color: rgba(0, 0, 0, 0.8);\\n  }\\n\\n  &:hover::after {\\n    box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.66);\\n  }\\n\\n  &:focus::after,\\n  &:active::after {\\n    box-shadow: ', ';\\n  }\\n'], ['\\n  ', ' border-radius: 100%;\\n  padding: 0;\\n  margin-bottom: 8px;\\n\\n  &::before,\\n  &::after {\\n    left: 4%;\\n    border-radius: 100%;\\n    transition: all 0.1s ease-in;\\n  }\\n\\n  &::before {\\n    top: 8%;\\n    width: 86%;\\n    height: 86%;\\n  }\\n\\n  &::after {\\n    top: 4%;\\n    width: 92%;\\n    height: 92%;\\n\\n    ', ';\\n  }\\n\\n  &:hover::before {\\n    background-color: rgba(0, 0, 0, 0.8);\\n  }\\n\\n  &:hover::after {\\n    box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.66);\\n  }\\n\\n  &:focus::after,\\n  &:active::after {\\n    box-shadow: ', ';\\n  }\\n']),\n\t    _templateObject6 = _taggedTemplateLiteral(['\\n            box-shadow: 0 0 8px 2px ', ';\\n          '], ['\\n            box-shadow: 0 0 8px 2px ', ';\\n          ']);\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar styled = _interopRequireDefault(_styledComponents).default;\n\t\n\tvar css = _styledComponents.css;\n\t\n\tvar _constants = __webpack_require__(/*! ../styled/constants */ 18);\n\t\n\tvar light = _constants.light;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\t\n\tvar Container = exports.Container = styled('div')(_templateObject);\n\t\n\tvar Button = exports.Button = styled.button(_templateObject2, function (_ref) {\n\t  var theme = _ref.theme;\n\t  return theme.dark ? 1 : 0.65;\n\t}, function (_ref2) {\n\t  var theme = _ref2.theme;\n\t  return theme.dark ? darkTheme : lightTheme;\n\t});\n\t\n\tvar lightTheme = css(_templateObject3, function (props) {\n\t  return props.theme.secondary;\n\t}, function (_ref3) {\n\t  var size = _ref3.size;\n\t  return css(_templateObject4, size, size);\n\t}, function (_ref4) {\n\t  var size = _ref4.size;\n\t  return size * 0.0625 + 'px';\n\t}, function (props) {\n\t  return props.theme.secondary;\n\t});\n\t\n\tvar darkTheme = css(_templateObject5, function (_ref5) {\n\t  var size = _ref5.size;\n\t  return css(_templateObject4, size, size);\n\t}, function (_ref6) {\n\t  var on = _ref6.on,\n\t      color = _ref6.color,\n\t      theme = _ref6.theme;\n\t  return on ? css(_templateObject6, color || theme.primary) : '';\n\t}, function (_ref7) {\n\t  var on = _ref7.on,\n\t      color = _ref7.color,\n\t      theme = _ref7.theme;\n\t  return on ? '0 0 8px 2px ' + (color || theme.primary) : '0 0 3px 0 rgba(0,0,0,0.66)';\n\t});\n\t\n\tButton.defaultProps = {\n\t  theme: light\n\t};\n\n/***/ }),\n/* 438 */\n/*!*****************************************!*\\\n  !*** ./helpers/PowerButtonSvg.react.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar _constants = __webpack_require__(/*! ../styled/constants */ 18);\n\t\n\tvar light = _constants.light;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar PowerButtonSvg = function PowerButtonSvg(_ref) {\n\t  var color = _ref.color,\n\t      theme = _ref.theme,\n\t      on = _ref.on,\n\t      size = _ref.size;\n\t  return React.createElement(\n\t    'svg',\n\t    { xmlns: 'http://www.w3.org/2000/svg', width: size, height: size, viewBox: '0 0 14 14' },\n\t    React.createElement('path', {\n\t      fill: on ? color || theme.primary : theme.secondary,\n\t      fillRule: 'evenodd',\n\t      d: 'M24.5173333,14.68 C25.2764482,15.3271143 25.8799978,16.1111065 26.328,17.032 C26.7760022,17.9777825 27,18.9671059 27,20 C27,21.2693397 26.6826698,22.4453279 26.048,23.528 C25.4257747,24.5857831 24.5857831,25.4257747 23.528,26.048 C22.4453279,26.6826698 21.2693397,27 20,27 C18.7306603,27 17.5546721,26.6826698 16.472,26.048 C15.4142169,25.4257747 14.5742253,24.5857831 13.952,23.528 C13.3173302,22.4453279 13,21.2693397 13,20 C13,18.9671059 13.2302199,17.9777825 13.6906667,17.032 C14.1262244,16.1111065 14.7235518,15.3271143 15.4826667,14.68 L16.5653333,15.7626667 C15.9555525,16.2728914 15.4764462,16.8888853 15.128,17.6106667 C14.7546648,18.3697816 14.568,19.1662181 14.568,20 C14.568,20.9955605 14.8106642,21.9102181 15.296,22.744 C15.7813358,23.5653374 16.4346626,24.2186642 17.256,24.704 C18.0897819,25.1893358 19.0044395,25.432 20,25.432 C20.9955605,25.432 21.9102181,25.1893358 22.744,24.704 C23.5653374,24.2186642 24.2186642,23.5653374 24.704,22.744 C25.1893358,21.9102181 25.432,20.9955605 25.432,20 C25.432,19.1537735 25.2546684,18.3666703 24.9,17.6386667 C24.5453316,16.910663 24.056892,16.2977803 23.4346667,15.8 L24.5173333,14.68 Z M20.7653333,13 L20.7653333,20.7653333 L19.2346667,20.7653333 L19.2346667,13 L20.7653333,13 Z',\n\t      transform: 'translate(-13 -13)'\n\t    })\n\t  );\n\t};\n\t\n\tPowerButtonSvg.defaultProps = {\n\t  theme: light\n\t};\n\t\n\texports.default = PowerButtonSvg;\n\n/***/ }),\n/* 439 */\n/*!********************************************!*\\\n  !*** ./components/PrecisionInput.react.js ***!\n  \\********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar Component = _react.Component;\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar PropTypes = _interopRequireDefault(_propTypes).default;\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar withTheme = _styledComponents.withTheme;\n\t\n\tvar _reactNumericInput = __webpack_require__(/*! react-numeric-input */ 435);\n\t\n\tvar Input = _interopRequireDefault(_reactNumericInput).default;\n\t\n\tvar _PrecisionInput = __webpack_require__(/*! ../styled/PrecisionInput.styled */ 440);\n\t\n\tvar Container = _PrecisionInput.Container;\n\tvar Digit = _PrecisionInput.Digit;\n\tvar ExponentialDigit = _PrecisionInput.ExponentialDigit;\n\t\n\tvar _LabelContainer = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ 23);\n\t\n\tvar LabelContainer = _interopRequireDefault(_LabelContainer).default;\n\t\n\tvar _constants = __webpack_require__(/*! ../styled/constants */ 18);\n\t\n\tvar light = _constants.light;\n\tvar colors = _constants.colors;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar defaultRootStyles = {\n\t  display: 'flex',\n\t  flexDirection: 'column',\n\t  justifyContent: 'space-between',\n\t  alignItems: 'flex-start'\n\t};\n\t\n\t/**\n\t * A numeric input component that converts\n\t * an input value to the desired precision.\n\t */\n\t\n\tvar PrecisionInput = function (_Component) {\n\t  _inherits(PrecisionInput, _Component);\n\t\n\t  function PrecisionInput(props) {\n\t    _classCallCheck(this, PrecisionInput);\n\t\n\t    var _this = _possibleConstructorReturn(this, (PrecisionInput.__proto__ || Object.getPrototypeOf(PrecisionInput)).call(this, props));\n\t\n\t    _this.formatPrecision = _this.formatPrecision.bind(_this);\n\t    _this.setTempValue = _this.setTempValue.bind(_this);\n\t    _this.blur = _this.blur.bind(_this);\n\t    _this.setValue = _this.setValue.bind(_this);\n\t    _this.toggleInput = _this.toggleInput.bind(_this);\n\t\n\t    _this.state = {\n\t      value: props.value != null ? _this.formatPrecision(props.value) : _this.formatPrecision(props.min),\n\t      isInput: false,\n\t      tempValue: null\n\t    };\n\t    return _this;\n\t  }\n\t\n\t  _createClass(PrecisionInput, [{\n\t    key: 'componentWillReceiveProps',\n\t    value: function componentWillReceiveProps(newProps) {\n\t      if (newProps.value != null && newProps.value !== this.state.value) this.setState({ value: this.formatPrecision(newProps.value) });\n\t    }\n\t  }, {\n\t    key: 'formatPrecision',\n\t    value: function formatPrecision(value) {\n\t      return Number(Number(value.toPrecision(this.props.precision)));\n\t    }\n\t  }, {\n\t    key: 'setValue',\n\t    value: function setValue(value) {\n\t      if (value != null && value >= this.props.min && value <= this.props.max) {\n\t        var newValue = this.formatPrecision(value);\n\t        this.setState({ value: newValue });\n\t        if (this.props.setProps) {\n\t          this.props.setProps({ value: newValue });\n\t        }\n\t      }\n\t    }\n\t  }, {\n\t    key: 'toggleInput',\n\t    value: function toggleInput() {\n\t      if (this.props.disabled) return;\n\t\n\t      var isInput = !this.state.isInput;\n\t      this.setState({ isInput: isInput });\n\t\n\t      if (isInput) {\n\t        this.setState({ tempValue: this.state.value });\n\t      }\n\t    }\n\t  }, {\n\t    key: 'setTempValue',\n\t    value: function setTempValue(tempValue) {\n\t      this.setState({ tempValue: tempValue });\n\t    }\n\t  }, {\n\t    key: 'blur',\n\t    value: function blur() {\n\t      if (this.state.tempValue != null) {\n\t        this.setValue(this.state.tempValue);\n\t      }\n\t      this.setState({ tempValue: null });\n\t\n\t      this.toggleInput();\n\t    }\n\t  }, {\n\t    key: 'render',\n\t    value: function render() {\n\t      var _props = this.props,\n\t          size = _props.size,\n\t          theme = _props.theme;\n\t\n\t\n\t      var buttonStyle = {\n\t        background: 'none',\n\t        boxShadow: 'none',\n\t        border: 'none',\n\t        color: theme.secondary,\n\t        cursor: 'pointer'\n\t      };\n\t\n\t      var MINIMUM_PADDING = 10;\n\t      var dynamicPadding = this.state.value ? 16 - 2 * this.state.value.toString().length : 16;\n\t      var padding = Math.max(dynamicPadding, MINIMUM_PADDING);\n\t\n\t      var inputStyle = {\n\t        borderRadius: 3,\n\t        border: theme.dark ? 'none' : '1px solid ' + colors.GREY,\n\t        outline: 'none',\n\t        paddingRight: padding,\n\t        paddingLeft: padding,\n\t        paddingTop: 4,\n\t        paddingBottom: 4,\n\t        width: size || 56 + this.props.precision * 20,\n\t        height: 36,\n\t        color: theme.dark ? '#fff' : colors.OFF_WHITE,\n\t        fontSize: 14,\n\t        lineHeight: 14,\n\t        boxSizing: 'border-box'\n\t      };\n\t\n\t      var precisionInput = React.createElement(Input, {\n\t        autoFocus: true,\n\t        disabled: this.props.disabled,\n\t        style: {\n\t          input: inputStyle,\n\t          'input:not(.form-control)': inputStyle,\n\t          btn: buttonStyle,\n\t          'btn:hover': buttonStyle,\n\t          'btn:active': buttonStyle,\n\t          'input:disabled': {\n\t            opacity: 0.65,\n\t            cursor: 'not-allowed'\n\t          }\n\t        },\n\t        min: this.props.min,\n\t        max: this.props.max,\n\t        value: this.state.tempValue,\n\t        onChange: this.setTempValue,\n\t        onBlur: this.blur\n\t      });\n\t\n\t      var precisionOutput = React.createElement(PrecisionOutput, { value: this.state.value, size: this.props.size, onClick: this.toggleInput });\n\t\n\t      return React.createElement(\n\t        'div',\n\t        {\n\t          id: this.props.id,\n\t          className: this.props.className,\n\t          style: Object.assign({}, defaultRootStyles, this.props.style)\n\t        },\n\t        React.createElement(\n\t          LabelContainer,\n\t          this.props,\n\t          this.state.isInput ? precisionInput : precisionOutput\n\t        )\n\t      );\n\t    }\n\t  }]);\n\t\n\t  return PrecisionInput;\n\t}(Component);\n\t\n\tvar toScientificNotation = function toScientificNotation(value) {\n\t  var scientificNum = Number(value).toExponential();\n\t  return scientificNum.replace('+', '');\n\t};\n\t\n\tvar mergeLeadingNegative = function mergeLeadingNegative(digits) {\n\t  if (digits[0] === '-') {\n\t    digits.shift();\n\t    var leading = digits.shift();\n\t    digits.unshift('-' + leading);\n\t  }\n\t\n\t  return digits;\n\t};\n\t\n\tvar PrecisionOutput = function PrecisionOutput(_ref) {\n\t  var value = _ref.value,\n\t      onClick = _ref.onClick,\n\t      size = _ref.size;\n\t\n\t  var _toScientificNotation = toScientificNotation(value).split('e'),\n\t      _toScientificNotation2 = _slicedToArray(_toScientificNotation, 2),\n\t      characteristic = _toScientificNotation2[0],\n\t      mantissa = _toScientificNotation2[1];\n\t\n\t  var characteristicDigits = mergeLeadingNegative(characteristic.split(''));\n\t  var mantissaDigits = mergeLeadingNegative(mantissa.split(''));\n\t\n\t  return React.createElement(\n\t    Container,\n\t    { size: size, onClick: onClick },\n\t    characteristicDigits.map(function (digit, i) {\n\t      return React.createElement(\n\t        Digit,\n\t        { key: 'd' + i },\n\t        digit\n\t      );\n\t    }),\n\t    React.createElement(\n\t      ExponentialDigit,\n\t      null,\n\t      'E'\n\t    ),\n\t    mantissaDigits.map(function (digit, i) {\n\t      return React.createElement(\n\t        ExponentialDigit,\n\t        { key: 'e' + i },\n\t        digit\n\t      );\n\t    })\n\t  );\n\t};\n\t\n\tPrecisionInput.defaultProps = {\n\t  min: 0,\n\t  max: Number.MAX_SAFE_INTEGER,\n\t  theme: light,\n\t  labelPosition: 'top'\n\t};\n\t\n\tPrecisionInput.propTypes = {\n\t  /**\n\t   * The ID used to identify this compnent in Dash callbacks\n\t   */\n\t  id: PropTypes.string,\n\t\n\t  /**\n\t   * The value of numeric input\n\t   */\n\t  value: PropTypes.number,\n\t\n\t  /**\n\t   * The size (length) of the numeric input in pixels\n\t   */\n\t  size: PropTypes.number,\n\t\n\t  /**\n\t   * The minimum value of the numeric input\n\t   */\n\t  min: PropTypes.number,\n\t\n\t  /**\n\t   * The maximum value of the numeric input\n\t   */\n\t  max: PropTypes.number,\n\t\n\t  /**\n\t   * Number of significant figures\n\t   */\n\t  precision: PropTypes.number.isRequired,\n\t\n\t  /**\n\t   * If true, numeric input cannot be changed.\n\t   */\n\t  disabled: PropTypes.bool,\n\t\n\t  /**\n\t   * Theme configuration to be set by a ThemeProvider\n\t   */\n\t  theme: PropTypes.object,\n\t\n\t  /**\n\t   * Description to be displayed alongside the scientific notation. To control styling,\n\t   * pass an object with label and style properties.\n\t   */\n\t  label: PropTypes.oneOfType([\n\t  /**\n\t   * Label to be displayed\n\t   */\n\t  PropTypes.string,\n\t\n\t  /**\n\t   * The style and label\n\t   */\n\t  PropTypes.shape({\n\t    style: PropTypes.object,\n\t    label: PropTypes.string\n\t  })]),\n\t\n\t  /**\n\t   * Where the numeric input label is positioned.\n\t   */\n\t  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\t\n\t  /**\n\t   * Class to apply to the root component element.\n\t   */\n\t  className: PropTypes.string,\n\t\n\t  /**\n\t   * Style to apply to the root component element.\n\t   */\n\t  style: PropTypes.object,\n\t\n\t  /**\n\t   * Dash-assigned callback that gets fired when selected\n\t   * value changes.\n\t   */\n\t  setProps: PropTypes.func\n\t};\n\t\n\texports.default = withTheme(PrecisionInput);\n\n/***/ }),\n/* 440 */\n/*!*****************************************!*\\\n  !*** ./styled/PrecisionInput.styled.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.ExponentialDigit = exports.Digit = exports.Container = undefined;\n\t\n\tvar _templateObject = _taggedTemplateLiteral(['\\n  margin: 0 auto;\\n  display: flex;\\n  justify-content: flex-end;\\n  width: ', ';\\n  cursor: text;\\n\\n  ', ';\\n'], ['\\n  margin: 0 auto;\\n  display: flex;\\n  justify-content: flex-end;\\n  width: ', ';\\n  cursor: text;\\n\\n  ', ';\\n']),\n\t    _templateObject2 = _taggedTemplateLiteral(['\\n  background-color: #22272a;\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.5) 100%);\\n  box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n'], ['\\n  background-color: #22272a;\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.5) 100%);\\n  box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n']),\n\t    _templateObject3 = _taggedTemplateLiteral(['\\n  background: #ffffff;\\n  border-radius: 2px;\\n  border: 1px solid #d3d3d3;\\n'], ['\\n  background: #ffffff;\\n  border-radius: 2px;\\n  border: 1px solid #d3d3d3;\\n']),\n\t    _templateObject4 = _taggedTemplateLiteral(['\\n  padding: 8px 6px;\\n  box-sizing: border-box;\\n  display: inline-block;\\n  font-size: 14px;\\n  line-height: 16px;\\n  text-align: center;\\n\\n  ', ';\\n'], ['\\n  padding: 8px 6px;\\n  box-sizing: border-box;\\n  display: inline-block;\\n  font-size: 14px;\\n  line-height: 16px;\\n  text-align: center;\\n\\n  ', ';\\n']),\n\t    _templateObject5 = _taggedTemplateLiteral(['\\n  border-right: 1px solid rgba(0, 0, 0, 0.4);\\n'], ['\\n  border-right: 1px solid rgba(0, 0, 0, 0.4);\\n']),\n\t    _templateObject6 = _taggedTemplateLiteral(['\\n  color: #15181a;\\n  border-right: 1px solid #f2f2f2;\\n'], ['\\n  color: #15181a;\\n  border-right: 1px solid #f2f2f2;\\n']),\n\t    _templateObject7 = _taggedTemplateLiteral(['\\n  border: none;\\n  ', ';\\n'], ['\\n  border: none;\\n  ', ';\\n']),\n\t    _templateObject8 = _taggedTemplateLiteral(['\\n          color: ', ';\\n          text-shadow: 0 0 2px rgba(0, 0, 0, 0.9),\\n            0 0 9px ', ';\\n        '], ['\\n          color: ', ';\\n          text-shadow: 0 0 2px rgba(0, 0, 0, 0.9),\\n            0 0 9px ', ';\\n        ']),\n\t    _templateObject9 = _taggedTemplateLiteral(['\\n          background: #f2f2f2;\\n        '], ['\\n          background: #f2f2f2;\\n        ']);\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar styled = _interopRequireDefault(_styledComponents).default;\n\t\n\tvar css = _styledComponents.css;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\t\n\tvar Container = exports.Container = styled.div(_templateObject, function (_ref) {\n\t  var size = _ref.size;\n\t  return size + 'px' || 'auto';\n\t}, function (_ref2) {\n\t  var theme = _ref2.theme;\n\t  return theme.dark ? darkContainer : lightContainer;\n\t});\n\t\n\tvar darkContainer = css(_templateObject2);\n\t\n\tvar lightContainer = css(_templateObject3);\n\t\n\tvar Digit = exports.Digit = styled.div(_templateObject4, function (_ref3) {\n\t  var theme = _ref3.theme;\n\t  return theme.dark ? darkDigit : lightDigit;\n\t});\n\t\n\tvar darkDigit = css(_templateObject5);\n\t\n\tvar lightDigit = css(_templateObject6);\n\t\n\tvar ExponentialDigit = exports.ExponentialDigit = styled(Digit)(_templateObject7, function (_ref4) {\n\t  var theme = _ref4.theme;\n\t  return theme.dark ? css(_templateObject8, function (_ref5) {\n\t    var color = _ref5.color,\n\t        theme = _ref5.theme;\n\t    return color || theme.primary;\n\t  }, function (_ref6) {\n\t    var color = _ref6.color,\n\t        theme = _ref6.theme;\n\t    return color || theme.primary;\n\t  }) : css(_templateObject9);\n\t});\n\n/***/ }),\n/* 441 */\n/*!****************************************!*\\\n  !*** ./components/StopButton.react.js ***!\n  \\****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar PropTypes = _interopRequireDefault(_propTypes).default;\n\t\n\tvar _StopButton = __webpack_require__(/*! ../styled/StopButton.styled */ 442);\n\t\n\tvar Button = _StopButton.Button;\n\t\n\tvar _LabelContainer = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ 23);\n\t\n\tvar LabelContainer = _interopRequireDefault(_LabelContainer).default;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\n\t * A Stop button component\n\t */\n\tvar StopButton = function StopButton(props) {\n\t  return React.createElement(\n\t    'div',\n\t    { id: props.id, className: props.className, style: props.style },\n\t    React.createElement(\n\t      LabelContainer,\n\t      props,\n\t      React.createElement(\n\t        Button,\n\t        {\n\t          size: props.size,\n\t          disabled: props.disabled,\n\t          onClick: function onClick() {\n\t            if (props.setProps) props.setProps({ n_clicks: props.n_clicks + 1 });\n\t          }\n\t        },\n\t        props.children || props.buttonText\n\t      )\n\t    )\n\t  );\n\t};\n\t\n\tStopButton.defaultProps = {\n\t  buttonText: 'Stop',\n\t  n_clicks: 0,\n\t  size: 92,\n\t  labelPosition: 'top'\n\t};\n\t\n\tStopButton.propTypes = {\n\t  /**\n\t   * The ID used to identify this compnent in Dash callbacks\n\t   */\n\t  id: PropTypes.string,\n\t\n\t  /**\n\t   * The size (width) of the stop button in pixels\n\t   */\n\t  size: PropTypes.number,\n\t\n\t  /**\n\t   * Text displayed in the button\n\t   */\n\t  buttonText: PropTypes.string,\n\t\n\t  /**\n\t   * Number of times the button was clicked\n\t   */\n\t  n_clicks: PropTypes.number,\n\t\n\t  /**\n\t   * If true, button cannot be pressesd.\n\t   */\n\t  disabled: PropTypes.bool,\n\t\n\t  /**\n\t   * The children of the button.\n\t   */\n\t  children: PropTypes.node,\n\t\n\t  /**\n\t   * Theme configuration to be set by a ThemeProvider\n\t   */\n\t  theme: PropTypes.object,\n\t\n\t  /**\n\t   * Description to be displayed alongside the button.\n\t   * To control styling, pass an object with label and\n\t   * style properties.\n\t   */\n\t  label: PropTypes.oneOfType([\n\t  /**\n\t   * Label to be displayed\n\t   */\n\t  PropTypes.string,\n\t\n\t  /**\n\t   * The style and label\n\t   */\n\t  PropTypes.shape({\n\t    style: PropTypes.object,\n\t    label: PropTypes.string\n\t  })]),\n\t\n\t  /**\n\t   * Where the  label is positioned.\n\t   */\n\t  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\t\n\t  /**\n\t   * Class to apply to the root component element.\n\t   */\n\t  className: PropTypes.string,\n\t\n\t  /**\n\t   * Style to apply to the root component element.\n\t   */\n\t  style: PropTypes.object,\n\t\n\t  /**\n\t   * Dash-assigned callback that gets fired when the\n\t   * button is clicked.\n\t   */\n\t  setProps: PropTypes.func\n\t};\n\t\n\texports.default = StopButton;\n\n/***/ }),\n/* 442 */\n/*!*************************************!*\\\n  !*** ./styled/StopButton.styled.js ***!\n  \\*************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.Button = undefined;\n\t\n\tvar _templateObject = _taggedTemplateLiteral(['\\n  outline: none;\\n  transition: all 0.1s ease-in;\\n  ', ';\\n\\n  &:disabled {\\n    opacity: ', ';\\n    cursor: not-allowed;\\n  }\\n'], ['\\n  outline: none;\\n  transition: all 0.1s ease-in;\\n  ', ';\\n\\n  &:disabled {\\n    opacity: ', ';\\n    cursor: not-allowed;\\n  }\\n']),\n\t    _templateObject2 = _taggedTemplateLiteral(['\\n  display: block;\\n  box-sizing: border-box;\\n  color: white;\\n  border: none;\\n  border-radius: 2px;\\n  font-weight: bold;\\n  font-size: 12px;\\n  text-transform: uppercase;\\n  padding: 0;\\n  width: ', ';\\n  height: ', ';\\n  text-align: center;\\n  cursor: pointer;\\n  background-color: #ff5e5e;\\n  letter-spacing: 0.1;\\n  line-height: 1;\\n\\n  &:hover,\\n  &:focus,\\n  &:active {\\n    color: #fff;\\n  }\\n\\n  &:hover {\\n    background-color: #ff8585;\\n  }\\n\\n  &:active {\\n    background-color: #e64545;\\n  }\\n'], ['\\n  display: block;\\n  box-sizing: border-box;\\n  color: white;\\n  border: none;\\n  border-radius: 2px;\\n  font-weight: bold;\\n  font-size: 12px;\\n  text-transform: uppercase;\\n  padding: 0;\\n  width: ', ';\\n  height: ', ';\\n  text-align: center;\\n  cursor: pointer;\\n  background-color: #ff5e5e;\\n  letter-spacing: 0.1;\\n  line-height: 1;\\n\\n  &:hover,\\n  &:focus,\\n  &:active {\\n    color: #fff;\\n  }\\n\\n  &:hover {\\n    background-color: #ff8585;\\n  }\\n\\n  &:active {\\n    background-color: #e64545;\\n  }\\n']),\n\t    _templateObject3 = _taggedTemplateLiteral(['\\n  display: inline-flex;\\n  justify-content: center;\\n  width: ', ';\\n  height: ', ';\\n  line-height: ', ';\\n\\n  &::before,\\n  &::after {\\n    transition: all 0.1s ease-in;\\n    background-color: #e03a3a;\\n  }\\n\\n  &:hover::before,\\n  &:hover::after {\\n    background-color: #e64545;\\n  }\\n\\n  &:active::before,\\n  &:active::after {\\n    background-color: #c72121;\\n  }\\n\\n  &:hover::after,\\n  &:active::after,\\n  &:focus::after {\\n    box-shadow: none;\\n  }\\n'], ['\\n  display: inline-flex;\\n  justify-content: center;\\n  width: ', ';\\n  height: ', ';\\n  line-height: ', ';\\n\\n  &::before,\\n  &::after {\\n    transition: all 0.1s ease-in;\\n    background-color: #e03a3a;\\n  }\\n\\n  &:hover::before,\\n  &:hover::after {\\n    background-color: #e64545;\\n  }\\n\\n  &:active::before,\\n  &:active::after {\\n    background-color: #c72121;\\n  }\\n\\n  &:hover::after,\\n  &:active::after,\\n  &:focus::after {\\n    box-shadow: none;\\n  }\\n']);\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar styled = _interopRequireDefault(_styledComponents).default;\n\t\n\tvar css = _styledComponents.css;\n\t\n\tvar _constants = __webpack_require__(/*! ./constants */ 18);\n\t\n\tvar light = _constants.light;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\t\n\tvar Button = exports.Button = styled.button(_templateObject, function (_ref) {\n\t  var theme = _ref.theme;\n\t  return theme.dark ? darkButton : lightButton;\n\t}, function (_ref2) {\n\t  var theme = _ref2.theme;\n\t  return theme.dark ? 1 : 0.65;\n\t});\n\tButton.defaultProps = {\n\t  theme: light\n\t};\n\t\n\tvar lightButton = css(_templateObject2, function (_ref3) {\n\t  var size = _ref3.size;\n\t  return size + 'px';\n\t}, function (_ref4) {\n\t  var size = _ref4.size;\n\t  return size * 0.42 + 'px';\n\t});\n\t\n\tvar darkButton = css(_templateObject3, function (_ref5) {\n\t  var size = _ref5.size;\n\t  return size + 'px';\n\t}, function (_ref6) {\n\t  var size = _ref6.size;\n\t  return size * 0.42 + 'px';\n\t}, function (_ref7) {\n\t  var size = _ref7.size;\n\t  return size * 0.42 + 'px';\n\t});\n\t\n\texports.default = Button;\n\n/***/ }),\n/* 443 */\n/*!************************************!*\\\n  !*** ./components/Slider.react.js ***!\n  \\************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar Component = _react.Component;\n\t\n\tvar _rcSlider = __webpack_require__(/*! rc-slider */ 444);\n\t\n\tvar ReactSlider = _interopRequireDefault(_rcSlider).default;\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar PropTypes = _interopRequireDefault(_propTypes).default;\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar withTheme = _styledComponents.withTheme;\n\t\n\tvar _ramda = __webpack_require__(/*! ramda */ 605);\n\t\n\tvar omit = _ramda.omit;\n\t\n\tvar _deepEqual = __webpack_require__(/*! deep-equal */ 924);\n\t\n\tvar deepEqual = _interopRequireDefault(_deepEqual).default;\n\t\n\tvar _colorRanges = __webpack_require__(/*! ../helpers/colorRanges */ 418);\n\t\n\tvar getLinearGradientCSS = _colorRanges.getLinearGradientCSS;\n\tvar isContiguous = _colorRanges.isContiguous;\n\tvar getColorValue = _colorRanges.getColorValue;\n\t\n\tvar _constants = __webpack_require__(/*! ../styled/constants */ 18);\n\t\n\tvar light = _constants.light;\n\tvar colors = _constants.colors;\n\t\n\tvar _LabelContainer = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ 23);\n\t\n\tvar LabelContainer = _interopRequireDefault(_LabelContainer).default;\n\t\n\tvar _Slider = __webpack_require__(/*! ../styled/Slider.styled */ 927);\n\t\n\tvar SliderContainer = _Slider.SliderContainer;\n\tvar Handle = _Slider.Handle;\n\tvar HandleContainer = _Slider.HandleContainer;\n\tvar targetStyles = _Slider.targetStyles;\n\tvar Label = _Slider.Label;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar renderHandle = function renderHandle(props) {\n\t  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t      isTarget = _ref.isTarget,\n\t      showLabel = _ref.showLabel;\n\t\n\t  var label = React.createElement(\n\t    Label,\n\t    _extends({ isTarget: isTarget }, props),\n\t    React.createElement(\n\t      'div',\n\t      { className: 'label' },\n\t      props.label\n\t    ),\n\t    React.createElement(\n\t      'div',\n\t      { className: 'value' },\n\t      props.value\n\t    )\n\t  );\n\t\n\t  return React.createElement(\n\t    HandleContainer,\n\t    _extends({ isTarget: isTarget }, props),\n\t    showLabel && label,\n\t    React.createElement(Handle, _extends({ isTarget: isTarget, showLabel: showLabel }, props))\n\t  );\n\t};\n\t\n\tvar getTrackStyle = function getTrackStyle(props) {\n\t  if (!props.color.ranges || !isContiguous(props)) {\n\t    var colorValue = getColorValue(props.color);\n\t\n\t    return {\n\t      trackStyle: { backgroundColor: colorValue },\n\t      activeDotStyle: props.theme.dark ? { background: colorValue, boxShadow: '0 0 6px 1px ' + colorValue } : { borderColor: colorValue }\n\t    };\n\t  }\n\t\n\t  return {\n\t    railStyle: {\n\t      backgroundImage: getLinearGradientCSS(props) + ', linear-gradient(0deg, #000, #000)',\n\t      backgroundBlendMode: props.theme.dark ? 'none' : 'overlay'\n\t    },\n\t    trackStyle: { mixBlendMode: 'overlay', background: props.theme.dark ? '#fff' : '#000' },\n\t    dotStyle: { display: 'none' }\n\t  };\n\t};\n\t\n\t/**\n\t * A slider component with support for\n\t * a target value.\n\t */\n\t\n\tvar Slider = function (_Component) {\n\t  _inherits(Slider, _Component);\n\t\n\t  function Slider(props) {\n\t    _classCallCheck(this, Slider);\n\t\n\t    var _this = _possibleConstructorReturn(this, (Slider.__proto__ || Object.getPrototypeOf(Slider)).call(this, props));\n\t\n\t    _this.state = { value: props.value || props.min, trackStyle: getTrackStyle(props) };\n\t\n\t    _this.onChange = _this.onChange.bind(_this);\n\t    _this.onAfterChange = _this.onAfterChange.bind(_this);\n\t    _this.renderSliderHandle = _this.renderSliderHandle.bind(_this);\n\t    _this.renderTargets = _this.renderTargets.bind(_this);\n\t    _this.calcLabelOffset = _this.calcLabelOffset.bind(_this);\n\t    return _this;\n\t  }\n\t\n\t  _createClass(Slider, [{\n\t    key: 'componentWillReceiveProps',\n\t    value: function componentWillReceiveProps(newProps) {\n\t      var updates = {};\n\t\n\t      if (typeof newProps.value !== 'undefined' && newProps.value !== this.state.value) {\n\t        updates.value = newProps.value;\n\t      }\n\t\n\t      if (!deepEqual(newProps.color, this.props.color)) {\n\t        updates.trackStyle = getTrackStyle(_extends({}, this.props, newProps));\n\t      }\n\t\n\t      this.setState(updates);\n\t    }\n\t  }, {\n\t    key: 'onChange',\n\t    value: function onChange(value) {\n\t      var _props = this.props,\n\t          updatemode = _props.updatemode,\n\t          setProps = _props.setProps;\n\t\n\t\n\t      if (!this.props.value || updatemode !== 'drag') {\n\t        this.setState({ value: value });\n\t      }\n\t\n\t      if (updatemode === 'drag') {\n\t        if (setProps) setProps({ value: value });\n\t      }\n\t    }\n\t  }, {\n\t    key: 'onAfterChange',\n\t    value: function onAfterChange(value) {\n\t      var _props2 = this.props,\n\t          updatemode = _props2.updatemode,\n\t          setProps = _props2.setProps;\n\t\n\t\n\t      if (updatemode === 'mouseup') {\n\t        if (setProps) setProps({ value: value });\n\t      }\n\t    }\n\t  }, {\n\t    key: 'renderSliderHandle',\n\t    value: function renderSliderHandle(props) {\n\t      var handleLabel = this.props.handleLabel;\n\t\n\t      var handleProps = _extends({}, this.props, props);\n\t\n\t      if (!handleLabel) {\n\t        return renderHandle(handleProps);\n\t      }\n\t\n\t      var value = handleLabel.showCurrentValue && this.state.value;\n\t      handleProps = _extends({}, handleProps, {\n\t        value: value,\n\t        label: handleLabel.label || handleLabel,\n\t        color: handleLabel.color || getColorValue(this.props.color),\n\t        style: handleLabel.style\n\t      });\n\t\n\t      return renderHandle(handleProps, { showLabel: true });\n\t    }\n\t  }, {\n\t    key: 'renderTargets',\n\t    value: function renderTargets() {\n\t      var _this2 = this;\n\t\n\t      return Object.entries(this.props.targets).reduce(function (acc, _ref2) {\n\t        var _ref3 = _slicedToArray(_ref2, 2),\n\t            k = _ref3[0],\n\t            v = _ref3[1];\n\t\n\t        var props = _extends({}, _this2.props, {\n\t          label: v.label || v,\n\t          value: v.showCurrentValue && k,\n\t          color: v.color,\n\t          style: v.style\n\t        });\n\t        var Handle = renderHandle(props, { isTarget: true, showLabel: !!v });\n\t\n\t        // use rc-slider's props.marks format\n\t        acc[k] = { style: targetStyles, label: Handle };\n\t\n\t        return acc;\n\t      }, {});\n\t    }\n\t  }, {\n\t    key: 'calcLabelOffset',\n\t    value: function calcLabelOffset(_ref4) {\n\t      var vertical = _ref4.vertical,\n\t          labelPosition = _ref4.labelPosition,\n\t          marks = _ref4.marks,\n\t          targets = _ref4.targets,\n\t          handleLabel = _ref4.handleLabel;\n\t\n\t      if (vertical) return null;\n\t\n\t      if (labelPosition === 'bottom') {\n\t        return 'transform: translateY(' + (marks ? 20 : 0) + 'px);';\n\t      }\n\t\n\t      var showingCurrentValue = false;\n\t      Object.values(targets).map(function (target) {\n\t        if (target.showCurrentValue) showingCurrentValue = true;\n\t      });\n\t\n\t      if (handleLabel && handleLabel.showCurrentValue) {\n\t        showingCurrentValue = true;\n\t      }\n\t\n\t      return 'transform: translateY(' + (showingCurrentValue ? -38 : -16) + 'px);';\n\t    }\n\t  }, {\n\t    key: 'render',\n\t    value: function render() {\n\t      var value = this.state.value;\n\t\n\t\n\t      return React.createElement(\n\t        'div',\n\t        { id: this.props.id, style: this.props.style, className: this.props.className },\n\t        React.createElement(\n\t          LabelContainer,\n\t          _extends({\n\t            labelCSS: this.props.label ? this.calcLabelOffset(this.props) : null\n\t          }, this.props),\n\t          React.createElement(\n\t            SliderContainer,\n\t            { size: this.props.size, vertical: this.props.vertical },\n\t            React.createElement(ReactSlider, _extends({\n\t              onChange: this.onChange,\n\t              onAfterChange: this.onAfterChange,\n\t              value: value,\n\t              handle: this.renderSliderHandle,\n\t              marks: _extends({}, this.props.marks, this.renderTargets())\n\t            }, this.state.trackStyle, omit(['setProps', 'updatemode', 'value', 'marks'], this.props)))\n\t          )\n\t        )\n\t      );\n\t    }\n\t  }]);\n\t\n\t  return Slider;\n\t}(Component);\n\t\n\tSlider.defaultProps = {\n\t  theme: light,\n\t  targets: {},\n\t  updatemode: 'mouseup',\n\t  color: colors.DARKER_PRIMARY,\n\t  min: 0,\n\t  size: 265,\n\t  labelPosition: 'bottom'\n\t};\n\t\n\tSlider.propTypes = {\n\t  /**\n\t   * The ID used to identify this component in Dash callbacks\n\t   */\n\t  id: PropTypes.string,\n\t\n\t  /**\n\t   * Marks on the slider.\n\t   * The key determines the position,\n\t   * and the value determines what will show.\n\t   * If you want to set the style of a specific mark point,\n\t   * the value should be an object which\n\t   * contains style and label properties.\n\t   */\n\t  marks: PropTypes.shape({\n\t    number: PropTypes.oneOfType([\n\t    /**\n\t     * The label of the mark\n\t     */\n\t    PropTypes.string,\n\t\n\t    /**\n\t     * The style and label of the mark\n\t     */\n\t    PropTypes.shape({\n\t      style: PropTypes.object,\n\t      label: PropTypes.string\n\t    })])\n\t  }),\n\t\n\t  /**\n\t   * Color configuration for the slider's track.\n\t   */\n\t  color: PropTypes.oneOfType([\n\t  /**\n\t   * Color used for slider's track/indicator\n\t   */\n\t  PropTypes.string,\n\t  /**\n\t   * Color ranges configuration.\n\t   */\n\t  PropTypes.shape({\n\t    /**\n\t     * Fallback color to use when color.ranges\n\t     * has gaps.\n\t     */\n\t    default: PropTypes.string,\n\t    /**\n\t     * Display ranges as a gradient between given colors.\n\t     * Requires color.ranges to be contiguous along\n\t     * the entirety of the gauge's range of values.\n\t     */\n\t    gradient: PropTypes.bool,\n\t    /**\n\t     * Define multiple color ranges on the slider's track.\n\t     * The key determines the color of the range and\n\t     * the value is the start,end of the range itself.\n\t     */\n\t    ranges: PropTypes.shape({\n\t      color: PropTypes.arrayOf(PropTypes.number)\n\t    })\n\t  })]),\n\t\n\t  /**\n\t   * The value of the input.\n\t   */\n\t  value: PropTypes.number,\n\t\n\t  /**\n\t   * Additional CSS class for the root DOM node.\n\t   */\n\t  className: PropTypes.string,\n\t\n\t  /**\n\t   * Where the component label is positioned.\n\t   */\n\t  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\t\n\t  /**\n\t   * If true, the handles can't be moved.\n\t   */\n\t  disabled: PropTypes.bool,\n\t\n\t  /**\n\t   * When the step value is greater than 1,\n\t   * you can set the dots to true if you want to\n\t   * render the slider with dots.\n\t   *\n\t   * Note: dots are disabled automatically when\n\t   * using color.ranges\n\t   */\n\t  dots: PropTypes.bool,\n\t\n\t  /**\n\t   * If the value is true, it means a continuous\n\t   * value is included. Otherwise, it is an independent value.\n\t   */\n\t  included: PropTypes.bool,\n\t\n\t  /**\n\t   * Minimum allowed value of the slider.\n\t   */\n\t  min: PropTypes.number,\n\t\n\t  /**\n\t   * Maximum allowed value of the slider.\n\t   */\n\t  max: PropTypes.number,\n\t\n\t  /**\n\t   * Value by which increments or decrements are made.\n\t   */\n\t  step: PropTypes.number,\n\t\n\t  /**\n\t   * If true, the slider will be vertical.\n\t   */\n\t  vertical: PropTypes.bool,\n\t\n\t  /**\n\t   * Size of the slider in pixels.\n\t   */\n\t  size: PropTypes.number,\n\t\n\t  /**\n\t   * Targets on the slider.\n\t   * The key determines the position,\n\t   * and the value determines what will show.\n\t   * If you want to set the style of a specific target point,\n\t   * the value should be an object which\n\t   * contains style and label properties.\n\t   */\n\t  targets: PropTypes.shape({\n\t    number: PropTypes.oneOfType([\n\t    /**\n\t     * The label of the mark\n\t     */\n\t    PropTypes.string,\n\t\n\t    /**\n\t     * The style and label of the mark\n\t     */\n\t    PropTypes.shape({\n\t      showCurrentValue: PropTypes.bool,\n\t      label: PropTypes.string,\n\t      color: PropTypes.string,\n\t      style: PropTypes.object\n\t    })])\n\t  }),\n\t\n\t  /**\n\t   * Theme configuration to be set by a ThemeProvider\n\t   */\n\t  theme: PropTypes.object,\n\t\n\t  /**\n\t   * Configuration of the slider handle's label.\n\t   * Passing falsy value will disable the label.\n\t   */\n\t  handleLabel: PropTypes.oneOfType([\n\t  /**\n\t   * The label of the handle\n\t   */\n\t  PropTypes.string,\n\t\n\t  /**\n\t   * The style and label of the handle\n\t   */\n\t  PropTypes.shape({\n\t    showCurrentValue: PropTypes.bool,\n\t    label: PropTypes.string,\n\t    color: PropTypes.string,\n\t    style: PropTypes.object\n\t  })]),\n\t\n\t  /**\n\t   * Determines when the component should update\n\t   * its value. If `mouseup`, then the slider\n\t   * will only trigger its value when the user has\n\t   * finished dragging the slider. If `drag`, then\n\t   * the slider will update its value continuously\n\t   * as it is being dragged.\n\t   * Only use `drag` if your updates are fast.\n\t   */\n\t  updatemode: PropTypes.oneOf(['mouseup', 'drag']),\n\t\n\t  /**\n\t   * Dash-assigned callback that gets fired when the value changes.\n\t   */\n\t  setProps: PropTypes.func\n\t};\n\t\n\texports.default = withTheme(Slider);\n\n/***/ }),\n/* 444 */\n/*!***********************************!*\\\n  !*** ../~/rc-slider/lib/index.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.createSliderWithTooltip = exports.Handle = exports.Range = undefined;\n\t\n\tvar _Slider = __webpack_require__(/*! ./Slider */ 445);\n\t\n\tvar _Slider2 = _interopRequireDefault(_Slider);\n\t\n\tvar _Range = __webpack_require__(/*! ./Range */ 566);\n\t\n\tvar _Range2 = _interopRequireDefault(_Range);\n\t\n\tvar _Handle = __webpack_require__(/*! ./Handle */ 553);\n\t\n\tvar _Handle2 = _interopRequireDefault(_Handle);\n\t\n\tvar _createSliderWithTooltip = __webpack_require__(/*! ./createSliderWithTooltip */ 568);\n\t\n\tvar _createSliderWithTooltip2 = _interopRequireDefault(_createSliderWithTooltip);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\t_Slider2['default'].Range = _Range2['default'];\n\t_Slider2['default'].Handle = _Handle2['default'];\n\t_Slider2['default'].createSliderWithTooltip = _createSliderWithTooltip2['default'];\n\texports['default'] = _Slider2['default'];\n\texports.Range = _Range2['default'];\n\texports.Handle = _Handle2['default'];\n\texports.createSliderWithTooltip = _createSliderWithTooltip2['default'];\n\n/***/ }),\n/* 445 */\n/*!************************************!*\\\n  !*** ../~/rc-slider/lib/Slider.js ***!\n  \\************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _extends2 = __webpack_require__(/*! babel-runtime/helpers/extends */ 446);\n\t\n\tvar _extends3 = _interopRequireDefault(_extends2);\n\t\n\tvar _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ 485);\n\t\n\tvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\t\n\tvar _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ 486);\n\t\n\tvar _createClass3 = _interopRequireDefault(_createClass2);\n\t\n\tvar _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ 490);\n\t\n\tvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\t\n\tvar _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ 524);\n\t\n\tvar _inherits3 = _interopRequireDefault(_inherits2);\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _warning = __webpack_require__(/*! warning */ 532);\n\t\n\tvar _warning2 = _interopRequireDefault(_warning);\n\t\n\tvar _Track = __webpack_require__(/*! ./common/Track */ 533);\n\t\n\tvar _Track2 = _interopRequireDefault(_Track);\n\t\n\tvar _createSlider = __webpack_require__(/*! ./common/createSlider */ 534);\n\t\n\tvar _createSlider2 = _interopRequireDefault(_createSlider);\n\t\n\tvar _utils = __webpack_require__(/*! ./utils */ 554);\n\t\n\tvar utils = _interopRequireWildcard(_utils);\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\t/* eslint-disable react/prop-types */\n\tvar Slider = function (_React$Component) {\n\t  (0, _inherits3['default'])(Slider, _React$Component);\n\t\n\t  function Slider(props) {\n\t    (0, _classCallCheck3['default'])(this, Slider);\n\t\n\t    var _this = (0, _possibleConstructorReturn3['default'])(this, (Slider.__proto__ || Object.getPrototypeOf(Slider)).call(this, props));\n\t\n\t    _this.onEnd = function (force) {\n\t      var dragging = _this.state.dragging;\n\t\n\t      _this.removeDocumentEvents();\n\t      if (dragging || force) {\n\t        _this.props.onAfterChange(_this.getValue());\n\t      }\n\t      _this.setState({ dragging: false });\n\t    };\n\t\n\t    var defaultValue = props.defaultValue !== undefined ? props.defaultValue : props.min;\n\t    var value = props.value !== undefined ? props.value : defaultValue;\n\t\n\t    _this.state = {\n\t      value: _this.trimAlignValue(value),\n\t      dragging: false\n\t    };\n\t    if (utils.isDev()) {\n\t      (0, _warning2['default'])(!('minimumTrackStyle' in props), 'minimumTrackStyle will be deprecated, please use trackStyle instead.');\n\t      (0, _warning2['default'])(!('maximumTrackStyle' in props), 'maximumTrackStyle will be deprecated, please use railStyle instead.');\n\t    }\n\t    return _this;\n\t  }\n\t\n\t  (0, _createClass3['default'])(Slider, [{\n\t    key: 'componentDidMount',\n\t    value: function componentDidMount() {\n\t      var _props = this.props,\n\t          autoFocus = _props.autoFocus,\n\t          disabled = _props.disabled;\n\t\n\t      if (autoFocus && !disabled) {\n\t        this.focus();\n\t      }\n\t    }\n\t  }, {\n\t    key: 'componentWillReceiveProps',\n\t    value: function componentWillReceiveProps(nextProps) {\n\t      if (!('value' in nextProps || 'min' in nextProps || 'max' in nextProps)) return;\n\t\n\t      var prevValue = this.state.value;\n\t      var value = nextProps.value !== undefined ? nextProps.value : prevValue;\n\t      var nextValue = this.trimAlignValue(value, nextProps);\n\t      if (nextValue === prevValue) return;\n\t\n\t      this.setState({ value: nextValue });\n\t      if (utils.isValueOutOfRange(value, nextProps)) {\n\t        this.props.onChange(nextValue);\n\t      }\n\t    }\n\t  }, {\n\t    key: 'onChange',\n\t    value: function onChange(state) {\n\t      var props = this.props;\n\t      var isNotControlled = !('value' in props);\n\t      var nextState = state.value > this.props.max ? (0, _extends3['default'])({}, state, { value: this.props.max }) : state;\n\t      if (isNotControlled) {\n\t        this.setState(nextState);\n\t      }\n\t\n\t      var changedValue = nextState.value;\n\t      props.onChange(changedValue);\n\t    }\n\t  }, {\n\t    key: 'onStart',\n\t    value: function onStart(position) {\n\t      this.setState({ dragging: true });\n\t      var props = this.props;\n\t      var prevValue = this.getValue();\n\t      props.onBeforeChange(prevValue);\n\t\n\t      var value = this.calcValueByPos(position);\n\t      this.startValue = value;\n\t      this.startPosition = position;\n\t\n\t      if (value === prevValue) return;\n\t\n\t      this.prevMovedHandleIndex = 0;\n\t\n\t      this.onChange({ value: value });\n\t    }\n\t  }, {\n\t    key: 'onMove',\n\t    value: function onMove(e, position) {\n\t      utils.pauseEvent(e);\n\t      var oldValue = this.state.value;\n\t\n\t      var value = this.calcValueByPos(position);\n\t      if (value === oldValue) return;\n\t\n\t      this.onChange({ value: value });\n\t    }\n\t  }, {\n\t    key: 'onKeyboard',\n\t    value: function onKeyboard(e) {\n\t      var valueMutator = utils.getKeyboardValueMutator(e);\n\t\n\t      if (valueMutator) {\n\t        utils.pauseEvent(e);\n\t        var state = this.state;\n\t        var oldValue = state.value;\n\t        var mutatedValue = valueMutator(oldValue, this.props);\n\t        var value = this.trimAlignValue(mutatedValue);\n\t        if (value === oldValue) return;\n\t\n\t        this.onChange({ value: value });\n\t        this.props.onAfterChange(value);\n\t        this.onEnd();\n\t      }\n\t    }\n\t  }, {\n\t    key: 'getValue',\n\t    value: function getValue() {\n\t      return this.state.value;\n\t    }\n\t  }, {\n\t    key: 'getLowerBound',\n\t    value: function getLowerBound() {\n\t      return this.props.min;\n\t    }\n\t  }, {\n\t    key: 'getUpperBound',\n\t    value: function getUpperBound() {\n\t      return this.state.value;\n\t    }\n\t  }, {\n\t    key: 'trimAlignValue',\n\t    value: function trimAlignValue(v) {\n\t      var nextProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t      if (v === null) {\n\t        return null;\n\t      }\n\t\n\t      var mergedProps = (0, _extends3['default'])({}, this.props, nextProps);\n\t      var val = utils.ensureValueInRange(v, mergedProps);\n\t      return utils.ensureValuePrecision(val, mergedProps);\n\t    }\n\t  }, {\n\t    key: 'render',\n\t    value: function render() {\n\t      var _this2 = this;\n\t\n\t      var _props2 = this.props,\n\t          prefixCls = _props2.prefixCls,\n\t          vertical = _props2.vertical,\n\t          included = _props2.included,\n\t          disabled = _props2.disabled,\n\t          minimumTrackStyle = _props2.minimumTrackStyle,\n\t          trackStyle = _props2.trackStyle,\n\t          handleStyle = _props2.handleStyle,\n\t          tabIndex = _props2.tabIndex,\n\t          min = _props2.min,\n\t          max = _props2.max,\n\t          handleGenerator = _props2.handle;\n\t      var _state = this.state,\n\t          value = _state.value,\n\t          dragging = _state.dragging;\n\t\n\t      var offset = this.calcOffset(value);\n\t      var handle = handleGenerator({\n\t        className: prefixCls + '-handle',\n\t        prefixCls: prefixCls,\n\t        vertical: vertical,\n\t        offset: offset,\n\t        value: value,\n\t        dragging: dragging,\n\t        disabled: disabled,\n\t        min: min,\n\t        max: max,\n\t        index: 0,\n\t        tabIndex: tabIndex,\n\t        style: handleStyle[0] || handleStyle,\n\t        ref: function ref(h) {\n\t          return _this2.saveHandle(0, h);\n\t        }\n\t      });\n\t\n\t      var _trackStyle = trackStyle[0] || trackStyle;\n\t      var track = _react2['default'].createElement(_Track2['default'], {\n\t        className: prefixCls + '-track',\n\t        vertical: vertical,\n\t        included: included,\n\t        offset: 0,\n\t        length: offset,\n\t        style: (0, _extends3['default'])({}, minimumTrackStyle, _trackStyle)\n\t      });\n\t\n\t      return { tracks: track, handles: handle };\n\t    }\n\t  }]);\n\t  return Slider;\n\t}(_react2['default'].Component);\n\t\n\tSlider.propTypes = {\n\t  defaultValue: _propTypes2['default'].number,\n\t  value: _propTypes2['default'].number,\n\t  disabled: _propTypes2['default'].bool,\n\t  autoFocus: _propTypes2['default'].bool,\n\t  tabIndex: _propTypes2['default'].number,\n\t  min: _propTypes2['default'].number,\n\t  max: _propTypes2['default'].number\n\t};\n\texports['default'] = (0, _createSlider2['default'])(Slider);\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 446 */\n/*!*********************************************!*\\\n  !*** ../~/babel-runtime/helpers/extends.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _assign = __webpack_require__(/*! ../core-js/object/assign */ 447);\n\t\n\tvar _assign2 = _interopRequireDefault(_assign);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = _assign2.default || function (target) {\n\t  for (var i = 1; i < arguments.length; i++) {\n\t    var source = arguments[i];\n\t\n\t    for (var key in source) {\n\t      if (Object.prototype.hasOwnProperty.call(source, key)) {\n\t        target[key] = source[key];\n\t      }\n\t    }\n\t  }\n\t\n\t  return target;\n\t};\n\n/***/ }),\n/* 447 */\n/*!***************************************************!*\\\n  !*** ../~/babel-runtime/core-js/object/assign.js ***!\n  \\***************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/object/assign */ 448), __esModule: true };\n\n/***/ }),\n/* 448 */\n/*!************************************************!*\\\n  !*** ../~/core-js/library/fn/object/assign.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(/*! ../../modules/es6.object.assign */ 449);\n\tmodule.exports = __webpack_require__(/*! ../../modules/_core */ 452).Object.assign;\n\n\n/***/ }),\n/* 449 */\n/*!*********************************************************!*\\\n  !*** ../~/core-js/library/modules/es6.object.assign.js ***!\n  \\*********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.3.1 Object.assign(target, source)\n\tvar $export = __webpack_require__(/*! ./_export */ 450);\n\t\n\t$export($export.S + $export.F, 'Object', { assign: __webpack_require__(/*! ./_object-assign */ 466) });\n\n\n/***/ }),\n/* 450 */\n/*!***********************************************!*\\\n  !*** ../~/core-js/library/modules/_export.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(/*! ./_global */ 451);\n\tvar core = __webpack_require__(/*! ./_core */ 452);\n\tvar ctx = __webpack_require__(/*! ./_ctx */ 453);\n\tvar hide = __webpack_require__(/*! ./_hide */ 455);\n\tvar has = __webpack_require__(/*! ./_has */ 465);\n\tvar PROTOTYPE = 'prototype';\n\t\n\tvar $export = function (type, name, source) {\n\t  var IS_FORCED = type & $export.F;\n\t  var IS_GLOBAL = type & $export.G;\n\t  var IS_STATIC = type & $export.S;\n\t  var IS_PROTO = type & $export.P;\n\t  var IS_BIND = type & $export.B;\n\t  var IS_WRAP = type & $export.W;\n\t  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n\t  var expProto = exports[PROTOTYPE];\n\t  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n\t  var key, own, out;\n\t  if (IS_GLOBAL) source = name;\n\t  for (key in source) {\n\t    // contains in native\n\t    own = !IS_FORCED && target && target[key] !== undefined;\n\t    if (own && has(exports, key)) continue;\n\t    // export native or passed\n\t    out = own ? target[key] : source[key];\n\t    // prevent global pollution for namespaces\n\t    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n\t    // bind timers to global for call from export context\n\t    : IS_BIND && own ? ctx(out, global)\n\t    // wrap global constructors for prevent change them in library\n\t    : IS_WRAP && target[key] == out ? (function (C) {\n\t      var F = function (a, b, c) {\n\t        if (this instanceof C) {\n\t          switch (arguments.length) {\n\t            case 0: return new C();\n\t            case 1: return new C(a);\n\t            case 2: return new C(a, b);\n\t          } return new C(a, b, c);\n\t        } return C.apply(this, arguments);\n\t      };\n\t      F[PROTOTYPE] = C[PROTOTYPE];\n\t      return F;\n\t    // make static versions for prototype methods\n\t    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n\t    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n\t    if (IS_PROTO) {\n\t      (exports.virtual || (exports.virtual = {}))[key] = out;\n\t      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n\t      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n\t    }\n\t  }\n\t};\n\t// type bitmap\n\t$export.F = 1;   // forced\n\t$export.G = 2;   // global\n\t$export.S = 4;   // static\n\t$export.P = 8;   // proto\n\t$export.B = 16;  // bind\n\t$export.W = 32;  // wrap\n\t$export.U = 64;  // safe\n\t$export.R = 128; // real proto method for `library`\n\tmodule.exports = $export;\n\n\n/***/ }),\n/* 451 */\n/*!***********************************************!*\\\n  !*** ../~/core-js/library/modules/_global.js ***!\n  \\***********************************************/\n/***/ (function(module, exports) {\n\n\t// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\n\tvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n\t  ? window : typeof self != 'undefined' && self.Math == Math ? self\n\t  // eslint-disable-next-line no-new-func\n\t  : Function('return this')();\n\tif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 452 */\n/*!*********************************************!*\\\n  !*** ../~/core-js/library/modules/_core.js ***!\n  \\*********************************************/\n/***/ (function(module, exports) {\n\n\tvar core = module.exports = { version: '2.6.5' };\n\tif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 453 */\n/*!********************************************!*\\\n  !*** ../~/core-js/library/modules/_ctx.js ***!\n  \\********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// optional / simple context binding\n\tvar aFunction = __webpack_require__(/*! ./_a-function */ 454);\n\tmodule.exports = function (fn, that, length) {\n\t  aFunction(fn);\n\t  if (that === undefined) return fn;\n\t  switch (length) {\n\t    case 1: return function (a) {\n\t      return fn.call(that, a);\n\t    };\n\t    case 2: return function (a, b) {\n\t      return fn.call(that, a, b);\n\t    };\n\t    case 3: return function (a, b, c) {\n\t      return fn.call(that, a, b, c);\n\t    };\n\t  }\n\t  return function (/* ...args */) {\n\t    return fn.apply(that, arguments);\n\t  };\n\t};\n\n\n/***/ }),\n/* 454 */\n/*!***************************************************!*\\\n  !*** ../~/core-js/library/modules/_a-function.js ***!\n  \\***************************************************/\n/***/ (function(module, exports) {\n\n\tmodule.exports = function (it) {\n\t  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n\t  return it;\n\t};\n\n\n/***/ }),\n/* 455 */\n/*!*********************************************!*\\\n  !*** ../~/core-js/library/modules/_hide.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar dP = __webpack_require__(/*! ./_object-dp */ 456);\n\tvar createDesc = __webpack_require__(/*! ./_property-desc */ 464);\n\tmodule.exports = __webpack_require__(/*! ./_descriptors */ 460) ? function (object, key, value) {\n\t  return dP.f(object, key, createDesc(1, value));\n\t} : function (object, key, value) {\n\t  object[key] = value;\n\t  return object;\n\t};\n\n\n/***/ }),\n/* 456 */\n/*!**************************************************!*\\\n  !*** ../~/core-js/library/modules/_object-dp.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar anObject = __webpack_require__(/*! ./_an-object */ 457);\n\tvar IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ 459);\n\tvar toPrimitive = __webpack_require__(/*! ./_to-primitive */ 463);\n\tvar dP = Object.defineProperty;\n\t\n\texports.f = __webpack_require__(/*! ./_descriptors */ 460) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n\t  anObject(O);\n\t  P = toPrimitive(P, true);\n\t  anObject(Attributes);\n\t  if (IE8_DOM_DEFINE) try {\n\t    return dP(O, P, Attributes);\n\t  } catch (e) { /* empty */ }\n\t  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n\t  if ('value' in Attributes) O[P] = Attributes.value;\n\t  return O;\n\t};\n\n\n/***/ }),\n/* 457 */\n/*!**************************************************!*\\\n  !*** ../~/core-js/library/modules/_an-object.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(/*! ./_is-object */ 458);\n\tmodule.exports = function (it) {\n\t  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n\t  return it;\n\t};\n\n\n/***/ }),\n/* 458 */\n/*!**************************************************!*\\\n  !*** ../~/core-js/library/modules/_is-object.js ***!\n  \\**************************************************/\n/***/ (function(module, exports) {\n\n\tmodule.exports = function (it) {\n\t  return typeof it === 'object' ? it !== null : typeof it === 'function';\n\t};\n\n\n/***/ }),\n/* 459 */\n/*!*******************************************************!*\\\n  !*** ../~/core-js/library/modules/_ie8-dom-define.js ***!\n  \\*******************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = !__webpack_require__(/*! ./_descriptors */ 460) && !__webpack_require__(/*! ./_fails */ 461)(function () {\n\t  return Object.defineProperty(__webpack_require__(/*! ./_dom-create */ 462)('div'), 'a', { get: function () { return 7; } }).a != 7;\n\t});\n\n\n/***/ }),\n/* 460 */\n/*!****************************************************!*\\\n  !*** ../~/core-js/library/modules/_descriptors.js ***!\n  \\****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// Thank's IE8 for his funny defineProperty\n\tmodule.exports = !__webpack_require__(/*! ./_fails */ 461)(function () {\n\t  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n\t});\n\n\n/***/ }),\n/* 461 */\n/*!**********************************************!*\\\n  !*** ../~/core-js/library/modules/_fails.js ***!\n  \\**********************************************/\n/***/ (function(module, exports) {\n\n\tmodule.exports = function (exec) {\n\t  try {\n\t    return !!exec();\n\t  } catch (e) {\n\t    return true;\n\t  }\n\t};\n\n\n/***/ }),\n/* 462 */\n/*!***************************************************!*\\\n  !*** ../~/core-js/library/modules/_dom-create.js ***!\n  \\***************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(/*! ./_is-object */ 458);\n\tvar document = __webpack_require__(/*! ./_global */ 451).document;\n\t// typeof document.createElement is 'object' in old IE\n\tvar is = isObject(document) && isObject(document.createElement);\n\tmodule.exports = function (it) {\n\t  return is ? document.createElement(it) : {};\n\t};\n\n\n/***/ }),\n/* 463 */\n/*!*****************************************************!*\\\n  !*** ../~/core-js/library/modules/_to-primitive.js ***!\n  \\*****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 7.1.1 ToPrimitive(input [, PreferredType])\n\tvar isObject = __webpack_require__(/*! ./_is-object */ 458);\n\t// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n\t// and the second argument - flag - preferred type is a string\n\tmodule.exports = function (it, S) {\n\t  if (!isObject(it)) return it;\n\t  var fn, val;\n\t  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n\t  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n\t  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n\t  throw TypeError(\"Can't convert object to primitive value\");\n\t};\n\n\n/***/ }),\n/* 464 */\n/*!******************************************************!*\\\n  !*** ../~/core-js/library/modules/_property-desc.js ***!\n  \\******************************************************/\n/***/ (function(module, exports) {\n\n\tmodule.exports = function (bitmap, value) {\n\t  return {\n\t    enumerable: !(bitmap & 1),\n\t    configurable: !(bitmap & 2),\n\t    writable: !(bitmap & 4),\n\t    value: value\n\t  };\n\t};\n\n\n/***/ }),\n/* 465 */\n/*!********************************************!*\\\n  !*** ../~/core-js/library/modules/_has.js ***!\n  \\********************************************/\n/***/ (function(module, exports) {\n\n\tvar hasOwnProperty = {}.hasOwnProperty;\n\tmodule.exports = function (it, key) {\n\t  return hasOwnProperty.call(it, key);\n\t};\n\n\n/***/ }),\n/* 466 */\n/*!******************************************************!*\\\n  !*** ../~/core-js/library/modules/_object-assign.js ***!\n  \\******************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// 19.1.2.1 Object.assign(target, source, ...)\n\tvar getKeys = __webpack_require__(/*! ./_object-keys */ 467);\n\tvar gOPS = __webpack_require__(/*! ./_object-gops */ 482);\n\tvar pIE = __webpack_require__(/*! ./_object-pie */ 483);\n\tvar toObject = __webpack_require__(/*! ./_to-object */ 484);\n\tvar IObject = __webpack_require__(/*! ./_iobject */ 470);\n\tvar $assign = Object.assign;\n\t\n\t// should work with symbols and should have deterministic property order (V8 bug)\n\tmodule.exports = !$assign || __webpack_require__(/*! ./_fails */ 461)(function () {\n\t  var A = {};\n\t  var B = {};\n\t  // eslint-disable-next-line no-undef\n\t  var S = Symbol();\n\t  var K = 'abcdefghijklmnopqrst';\n\t  A[S] = 7;\n\t  K.split('').forEach(function (k) { B[k] = k; });\n\t  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n\t}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n\t  var T = toObject(target);\n\t  var aLen = arguments.length;\n\t  var index = 1;\n\t  var getSymbols = gOPS.f;\n\t  var isEnum = pIE.f;\n\t  while (aLen > index) {\n\t    var S = IObject(arguments[index++]);\n\t    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n\t    var length = keys.length;\n\t    var j = 0;\n\t    var key;\n\t    while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n\t  } return T;\n\t} : $assign;\n\n\n/***/ }),\n/* 467 */\n/*!****************************************************!*\\\n  !*** ../~/core-js/library/modules/_object-keys.js ***!\n  \\****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.14 / 15.2.3.14 Object.keys(O)\n\tvar $keys = __webpack_require__(/*! ./_object-keys-internal */ 468);\n\tvar enumBugKeys = __webpack_require__(/*! ./_enum-bug-keys */ 481);\n\t\n\tmodule.exports = Object.keys || function keys(O) {\n\t  return $keys(O, enumBugKeys);\n\t};\n\n\n/***/ }),\n/* 468 */\n/*!*************************************************************!*\\\n  !*** ../~/core-js/library/modules/_object-keys-internal.js ***!\n  \\*************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar has = __webpack_require__(/*! ./_has */ 465);\n\tvar toIObject = __webpack_require__(/*! ./_to-iobject */ 469);\n\tvar arrayIndexOf = __webpack_require__(/*! ./_array-includes */ 473)(false);\n\tvar IE_PROTO = __webpack_require__(/*! ./_shared-key */ 477)('IE_PROTO');\n\t\n\tmodule.exports = function (object, names) {\n\t  var O = toIObject(object);\n\t  var i = 0;\n\t  var result = [];\n\t  var key;\n\t  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n\t  // Don't enum bug & hidden keys\n\t  while (names.length > i) if (has(O, key = names[i++])) {\n\t    ~arrayIndexOf(result, key) || result.push(key);\n\t  }\n\t  return result;\n\t};\n\n\n/***/ }),\n/* 469 */\n/*!***************************************************!*\\\n  !*** ../~/core-js/library/modules/_to-iobject.js ***!\n  \\***************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// to indexed object, toObject with fallback for non-array-like ES3 strings\n\tvar IObject = __webpack_require__(/*! ./_iobject */ 470);\n\tvar defined = __webpack_require__(/*! ./_defined */ 472);\n\tmodule.exports = function (it) {\n\t  return IObject(defined(it));\n\t};\n\n\n/***/ }),\n/* 470 */\n/*!************************************************!*\\\n  !*** ../~/core-js/library/modules/_iobject.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// fallback for non-array-like ES3 and non-enumerable old V8 strings\n\tvar cof = __webpack_require__(/*! ./_cof */ 471);\n\t// eslint-disable-next-line no-prototype-builtins\n\tmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n\t  return cof(it) == 'String' ? it.split('') : Object(it);\n\t};\n\n\n/***/ }),\n/* 471 */\n/*!********************************************!*\\\n  !*** ../~/core-js/library/modules/_cof.js ***!\n  \\********************************************/\n/***/ (function(module, exports) {\n\n\tvar toString = {}.toString;\n\t\n\tmodule.exports = function (it) {\n\t  return toString.call(it).slice(8, -1);\n\t};\n\n\n/***/ }),\n/* 472 */\n/*!************************************************!*\\\n  !*** ../~/core-js/library/modules/_defined.js ***!\n  \\************************************************/\n/***/ (function(module, exports) {\n\n\t// 7.2.1 RequireObjectCoercible(argument)\n\tmodule.exports = function (it) {\n\t  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n\t  return it;\n\t};\n\n\n/***/ }),\n/* 473 */\n/*!*******************************************************!*\\\n  !*** ../~/core-js/library/modules/_array-includes.js ***!\n  \\*******************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// false -> Array#indexOf\n\t// true  -> Array#includes\n\tvar toIObject = __webpack_require__(/*! ./_to-iobject */ 469);\n\tvar toLength = __webpack_require__(/*! ./_to-length */ 474);\n\tvar toAbsoluteIndex = __webpack_require__(/*! ./_to-absolute-index */ 476);\n\tmodule.exports = function (IS_INCLUDES) {\n\t  return function ($this, el, fromIndex) {\n\t    var O = toIObject($this);\n\t    var length = toLength(O.length);\n\t    var index = toAbsoluteIndex(fromIndex, length);\n\t    var value;\n\t    // Array#includes uses SameValueZero equality algorithm\n\t    // eslint-disable-next-line no-self-compare\n\t    if (IS_INCLUDES && el != el) while (length > index) {\n\t      value = O[index++];\n\t      // eslint-disable-next-line no-self-compare\n\t      if (value != value) return true;\n\t    // Array#indexOf ignores holes, Array#includes - not\n\t    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n\t      if (O[index] === el) return IS_INCLUDES || index || 0;\n\t    } return !IS_INCLUDES && -1;\n\t  };\n\t};\n\n\n/***/ }),\n/* 474 */\n/*!**************************************************!*\\\n  !*** ../~/core-js/library/modules/_to-length.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 7.1.15 ToLength\n\tvar toInteger = __webpack_require__(/*! ./_to-integer */ 475);\n\tvar min = Math.min;\n\tmodule.exports = function (it) {\n\t  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n\t};\n\n\n/***/ }),\n/* 475 */\n/*!***************************************************!*\\\n  !*** ../~/core-js/library/modules/_to-integer.js ***!\n  \\***************************************************/\n/***/ (function(module, exports) {\n\n\t// 7.1.4 ToInteger\n\tvar ceil = Math.ceil;\n\tvar floor = Math.floor;\n\tmodule.exports = function (it) {\n\t  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n\t};\n\n\n/***/ }),\n/* 476 */\n/*!**********************************************************!*\\\n  !*** ../~/core-js/library/modules/_to-absolute-index.js ***!\n  \\**********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar toInteger = __webpack_require__(/*! ./_to-integer */ 475);\n\tvar max = Math.max;\n\tvar min = Math.min;\n\tmodule.exports = function (index, length) {\n\t  index = toInteger(index);\n\t  return index < 0 ? max(index + length, 0) : min(index, length);\n\t};\n\n\n/***/ }),\n/* 477 */\n/*!***************************************************!*\\\n  !*** ../~/core-js/library/modules/_shared-key.js ***!\n  \\***************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar shared = __webpack_require__(/*! ./_shared */ 478)('keys');\n\tvar uid = __webpack_require__(/*! ./_uid */ 480);\n\tmodule.exports = function (key) {\n\t  return shared[key] || (shared[key] = uid(key));\n\t};\n\n\n/***/ }),\n/* 478 */\n/*!***********************************************!*\\\n  !*** ../~/core-js/library/modules/_shared.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar core = __webpack_require__(/*! ./_core */ 452);\n\tvar global = __webpack_require__(/*! ./_global */ 451);\n\tvar SHARED = '__core-js_shared__';\n\tvar store = global[SHARED] || (global[SHARED] = {});\n\t\n\t(module.exports = function (key, value) {\n\t  return store[key] || (store[key] = value !== undefined ? value : {});\n\t})('versions', []).push({\n\t  version: core.version,\n\t  mode: __webpack_require__(/*! ./_library */ 479) ? 'pure' : 'global',\n\t  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n\t});\n\n\n/***/ }),\n/* 479 */\n/*!************************************************!*\\\n  !*** ../~/core-js/library/modules/_library.js ***!\n  \\************************************************/\n/***/ (function(module, exports) {\n\n\tmodule.exports = true;\n\n\n/***/ }),\n/* 480 */\n/*!********************************************!*\\\n  !*** ../~/core-js/library/modules/_uid.js ***!\n  \\********************************************/\n/***/ (function(module, exports) {\n\n\tvar id = 0;\n\tvar px = Math.random();\n\tmodule.exports = function (key) {\n\t  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n\t};\n\n\n/***/ }),\n/* 481 */\n/*!******************************************************!*\\\n  !*** ../~/core-js/library/modules/_enum-bug-keys.js ***!\n  \\******************************************************/\n/***/ (function(module, exports) {\n\n\t// IE 8- don't enum bug keys\n\tmodule.exports = (\n\t  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n\t).split(',');\n\n\n/***/ }),\n/* 482 */\n/*!****************************************************!*\\\n  !*** ../~/core-js/library/modules/_object-gops.js ***!\n  \\****************************************************/\n/***/ (function(module, exports) {\n\n\texports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 483 */\n/*!***************************************************!*\\\n  !*** ../~/core-js/library/modules/_object-pie.js ***!\n  \\***************************************************/\n/***/ (function(module, exports) {\n\n\texports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 484 */\n/*!**************************************************!*\\\n  !*** ../~/core-js/library/modules/_to-object.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 7.1.13 ToObject(argument)\n\tvar defined = __webpack_require__(/*! ./_defined */ 472);\n\tmodule.exports = function (it) {\n\t  return Object(defined(it));\n\t};\n\n\n/***/ }),\n/* 485 */\n/*!****************************************************!*\\\n  !*** ../~/babel-runtime/helpers/classCallCheck.js ***!\n  \\****************************************************/\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\texports.default = function (instance, Constructor) {\n\t  if (!(instance instanceof Constructor)) {\n\t    throw new TypeError(\"Cannot call a class as a function\");\n\t  }\n\t};\n\n/***/ }),\n/* 486 */\n/*!*************************************************!*\\\n  !*** ../~/babel-runtime/helpers/createClass.js ***!\n  \\*************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _defineProperty = __webpack_require__(/*! ../core-js/object/define-property */ 487);\n\t\n\tvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = function () {\n\t  function defineProperties(target, props) {\n\t    for (var i = 0; i < props.length; i++) {\n\t      var descriptor = props[i];\n\t      descriptor.enumerable = descriptor.enumerable || false;\n\t      descriptor.configurable = true;\n\t      if (\"value\" in descriptor) descriptor.writable = true;\n\t      (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n\t    }\n\t  }\n\t\n\t  return function (Constructor, protoProps, staticProps) {\n\t    if (protoProps) defineProperties(Constructor.prototype, protoProps);\n\t    if (staticProps) defineProperties(Constructor, staticProps);\n\t    return Constructor;\n\t  };\n\t}();\n\n/***/ }),\n/* 487 */\n/*!************************************************************!*\\\n  !*** ../~/babel-runtime/core-js/object/define-property.js ***!\n  \\************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/object/define-property */ 488), __esModule: true };\n\n/***/ }),\n/* 488 */\n/*!*********************************************************!*\\\n  !*** ../~/core-js/library/fn/object/define-property.js ***!\n  \\*********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(/*! ../../modules/es6.object.define-property */ 489);\n\tvar $Object = __webpack_require__(/*! ../../modules/_core */ 452).Object;\n\tmodule.exports = function defineProperty(it, key, desc) {\n\t  return $Object.defineProperty(it, key, desc);\n\t};\n\n\n/***/ }),\n/* 489 */\n/*!******************************************************************!*\\\n  !*** ../~/core-js/library/modules/es6.object.define-property.js ***!\n  \\******************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(/*! ./_export */ 450);\n\t// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n\t$export($export.S + $export.F * !__webpack_require__(/*! ./_descriptors */ 460), 'Object', { defineProperty: __webpack_require__(/*! ./_object-dp */ 456).f });\n\n\n/***/ }),\n/* 490 */\n/*!***************************************************************!*\\\n  !*** ../~/babel-runtime/helpers/possibleConstructorReturn.js ***!\n  \\***************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _typeof2 = __webpack_require__(/*! ../helpers/typeof */ 491);\n\t\n\tvar _typeof3 = _interopRequireDefault(_typeof2);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = function (self, call) {\n\t  if (!self) {\n\t    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n\t  }\n\t\n\t  return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n\t};\n\n/***/ }),\n/* 491 */\n/*!********************************************!*\\\n  !*** ../~/babel-runtime/helpers/typeof.js ***!\n  \\********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _iterator = __webpack_require__(/*! ../core-js/symbol/iterator */ 492);\n\t\n\tvar _iterator2 = _interopRequireDefault(_iterator);\n\t\n\tvar _symbol = __webpack_require__(/*! ../core-js/symbol */ 511);\n\t\n\tvar _symbol2 = _interopRequireDefault(_symbol);\n\t\n\tvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n\t  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n\t} : function (obj) {\n\t  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n\t};\n\n/***/ }),\n/* 492 */\n/*!*****************************************************!*\\\n  !*** ../~/babel-runtime/core-js/symbol/iterator.js ***!\n  \\*****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/symbol/iterator */ 493), __esModule: true };\n\n/***/ }),\n/* 493 */\n/*!**************************************************!*\\\n  !*** ../~/core-js/library/fn/symbol/iterator.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(/*! ../../modules/es6.string.iterator */ 494);\n\t__webpack_require__(/*! ../../modules/web.dom.iterable */ 506);\n\tmodule.exports = __webpack_require__(/*! ../../modules/_wks-ext */ 510).f('iterator');\n\n\n/***/ }),\n/* 494 */\n/*!***********************************************************!*\\\n  !*** ../~/core-js/library/modules/es6.string.iterator.js ***!\n  \\***********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $at = __webpack_require__(/*! ./_string-at */ 495)(true);\n\t\n\t// 21.1.3.27 String.prototype[@@iterator]()\n\t__webpack_require__(/*! ./_iter-define */ 496)(String, 'String', function (iterated) {\n\t  this._t = String(iterated); // target\n\t  this._i = 0;                // next index\n\t// 21.1.5.2.1 %StringIteratorPrototype%.next()\n\t}, function () {\n\t  var O = this._t;\n\t  var index = this._i;\n\t  var point;\n\t  if (index >= O.length) return { value: undefined, done: true };\n\t  point = $at(O, index);\n\t  this._i += point.length;\n\t  return { value: point, done: false };\n\t});\n\n\n/***/ }),\n/* 495 */\n/*!**************************************************!*\\\n  !*** ../~/core-js/library/modules/_string-at.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar toInteger = __webpack_require__(/*! ./_to-integer */ 475);\n\tvar defined = __webpack_require__(/*! ./_defined */ 472);\n\t// true  -> String#at\n\t// false -> String#codePointAt\n\tmodule.exports = function (TO_STRING) {\n\t  return function (that, pos) {\n\t    var s = String(defined(that));\n\t    var i = toInteger(pos);\n\t    var l = s.length;\n\t    var a, b;\n\t    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n\t    a = s.charCodeAt(i);\n\t    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n\t      ? TO_STRING ? s.charAt(i) : a\n\t      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n\t  };\n\t};\n\n\n/***/ }),\n/* 496 */\n/*!****************************************************!*\\\n  !*** ../~/core-js/library/modules/_iter-define.js ***!\n  \\****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar LIBRARY = __webpack_require__(/*! ./_library */ 479);\n\tvar $export = __webpack_require__(/*! ./_export */ 450);\n\tvar redefine = __webpack_require__(/*! ./_redefine */ 497);\n\tvar hide = __webpack_require__(/*! ./_hide */ 455);\n\tvar Iterators = __webpack_require__(/*! ./_iterators */ 498);\n\tvar $iterCreate = __webpack_require__(/*! ./_iter-create */ 499);\n\tvar setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ 503);\n\tvar getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ 505);\n\tvar ITERATOR = __webpack_require__(/*! ./_wks */ 504)('iterator');\n\tvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\n\tvar FF_ITERATOR = '@@iterator';\n\tvar KEYS = 'keys';\n\tvar VALUES = 'values';\n\t\n\tvar returnThis = function () { return this; };\n\t\n\tmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n\t  $iterCreate(Constructor, NAME, next);\n\t  var getMethod = function (kind) {\n\t    if (!BUGGY && kind in proto) return proto[kind];\n\t    switch (kind) {\n\t      case KEYS: return function keys() { return new Constructor(this, kind); };\n\t      case VALUES: return function values() { return new Constructor(this, kind); };\n\t    } return function entries() { return new Constructor(this, kind); };\n\t  };\n\t  var TAG = NAME + ' Iterator';\n\t  var DEF_VALUES = DEFAULT == VALUES;\n\t  var VALUES_BUG = false;\n\t  var proto = Base.prototype;\n\t  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n\t  var $default = $native || getMethod(DEFAULT);\n\t  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n\t  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n\t  var methods, key, IteratorPrototype;\n\t  // Fix native\n\t  if ($anyNative) {\n\t    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n\t    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n\t      // Set @@toStringTag to native iterators\n\t      setToStringTag(IteratorPrototype, TAG, true);\n\t      // fix for some old engines\n\t      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n\t    }\n\t  }\n\t  // fix Array#{values, @@iterator}.name in V8 / FF\n\t  if (DEF_VALUES && $native && $native.name !== VALUES) {\n\t    VALUES_BUG = true;\n\t    $default = function values() { return $native.call(this); };\n\t  }\n\t  // Define iterator\n\t  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n\t    hide(proto, ITERATOR, $default);\n\t  }\n\t  // Plug for library\n\t  Iterators[NAME] = $default;\n\t  Iterators[TAG] = returnThis;\n\t  if (DEFAULT) {\n\t    methods = {\n\t      values: DEF_VALUES ? $default : getMethod(VALUES),\n\t      keys: IS_SET ? $default : getMethod(KEYS),\n\t      entries: $entries\n\t    };\n\t    if (FORCED) for (key in methods) {\n\t      if (!(key in proto)) redefine(proto, key, methods[key]);\n\t    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n\t  }\n\t  return methods;\n\t};\n\n\n/***/ }),\n/* 497 */\n/*!*************************************************!*\\\n  !*** ../~/core-js/library/modules/_redefine.js ***!\n  \\*************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(/*! ./_hide */ 455);\n\n\n/***/ }),\n/* 498 */\n/*!**************************************************!*\\\n  !*** ../~/core-js/library/modules/_iterators.js ***!\n  \\**************************************************/\n/***/ (function(module, exports) {\n\n\tmodule.exports = {};\n\n\n/***/ }),\n/* 499 */\n/*!****************************************************!*\\\n  !*** ../~/core-js/library/modules/_iter-create.js ***!\n  \\****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar create = __webpack_require__(/*! ./_object-create */ 500);\n\tvar descriptor = __webpack_require__(/*! ./_property-desc */ 464);\n\tvar setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ 503);\n\tvar IteratorPrototype = {};\n\t\n\t// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n\t__webpack_require__(/*! ./_hide */ 455)(IteratorPrototype, __webpack_require__(/*! ./_wks */ 504)('iterator'), function () { return this; });\n\t\n\tmodule.exports = function (Constructor, NAME, next) {\n\t  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n\t  setToStringTag(Constructor, NAME + ' Iterator');\n\t};\n\n\n/***/ }),\n/* 500 */\n/*!******************************************************!*\\\n  !*** ../~/core-js/library/modules/_object-create.js ***!\n  \\******************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n\tvar anObject = __webpack_require__(/*! ./_an-object */ 457);\n\tvar dPs = __webpack_require__(/*! ./_object-dps */ 501);\n\tvar enumBugKeys = __webpack_require__(/*! ./_enum-bug-keys */ 481);\n\tvar IE_PROTO = __webpack_require__(/*! ./_shared-key */ 477)('IE_PROTO');\n\tvar Empty = function () { /* empty */ };\n\tvar PROTOTYPE = 'prototype';\n\t\n\t// Create object with fake `null` prototype: use iframe Object with cleared prototype\n\tvar createDict = function () {\n\t  // Thrash, waste and sodomy: IE GC bug\n\t  var iframe = __webpack_require__(/*! ./_dom-create */ 462)('iframe');\n\t  var i = enumBugKeys.length;\n\t  var lt = '<';\n\t  var gt = '>';\n\t  var iframeDocument;\n\t  iframe.style.display = 'none';\n\t  __webpack_require__(/*! ./_html */ 502).appendChild(iframe);\n\t  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n\t  // createDict = iframe.contentWindow.Object;\n\t  // html.removeChild(iframe);\n\t  iframeDocument = iframe.contentWindow.document;\n\t  iframeDocument.open();\n\t  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n\t  iframeDocument.close();\n\t  createDict = iframeDocument.F;\n\t  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n\t  return createDict();\n\t};\n\t\n\tmodule.exports = Object.create || function create(O, Properties) {\n\t  var result;\n\t  if (O !== null) {\n\t    Empty[PROTOTYPE] = anObject(O);\n\t    result = new Empty();\n\t    Empty[PROTOTYPE] = null;\n\t    // add \"__proto__\" for Object.getPrototypeOf polyfill\n\t    result[IE_PROTO] = O;\n\t  } else result = createDict();\n\t  return Properties === undefined ? result : dPs(result, Properties);\n\t};\n\n\n/***/ }),\n/* 501 */\n/*!***************************************************!*\\\n  !*** ../~/core-js/library/modules/_object-dps.js ***!\n  \\***************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar dP = __webpack_require__(/*! ./_object-dp */ 456);\n\tvar anObject = __webpack_require__(/*! ./_an-object */ 457);\n\tvar getKeys = __webpack_require__(/*! ./_object-keys */ 467);\n\t\n\tmodule.exports = __webpack_require__(/*! ./_descriptors */ 460) ? Object.defineProperties : function defineProperties(O, Properties) {\n\t  anObject(O);\n\t  var keys = getKeys(Properties);\n\t  var length = keys.length;\n\t  var i = 0;\n\t  var P;\n\t  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n\t  return O;\n\t};\n\n\n/***/ }),\n/* 502 */\n/*!*********************************************!*\\\n  !*** ../~/core-js/library/modules/_html.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar document = __webpack_require__(/*! ./_global */ 451).document;\n\tmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 503 */\n/*!**********************************************************!*\\\n  !*** ../~/core-js/library/modules/_set-to-string-tag.js ***!\n  \\**********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar def = __webpack_require__(/*! ./_object-dp */ 456).f;\n\tvar has = __webpack_require__(/*! ./_has */ 465);\n\tvar TAG = __webpack_require__(/*! ./_wks */ 504)('toStringTag');\n\t\n\tmodule.exports = function (it, tag, stat) {\n\t  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n\t};\n\n\n/***/ }),\n/* 504 */\n/*!********************************************!*\\\n  !*** ../~/core-js/library/modules/_wks.js ***!\n  \\********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar store = __webpack_require__(/*! ./_shared */ 478)('wks');\n\tvar uid = __webpack_require__(/*! ./_uid */ 480);\n\tvar Symbol = __webpack_require__(/*! ./_global */ 451).Symbol;\n\tvar USE_SYMBOL = typeof Symbol == 'function';\n\t\n\tvar $exports = module.exports = function (name) {\n\t  return store[name] || (store[name] =\n\t    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n\t};\n\t\n\t$exports.store = store;\n\n\n/***/ }),\n/* 505 */\n/*!***************************************************!*\\\n  !*** ../~/core-js/library/modules/_object-gpo.js ***!\n  \\***************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\n\tvar has = __webpack_require__(/*! ./_has */ 465);\n\tvar toObject = __webpack_require__(/*! ./_to-object */ 484);\n\tvar IE_PROTO = __webpack_require__(/*! ./_shared-key */ 477)('IE_PROTO');\n\tvar ObjectProto = Object.prototype;\n\t\n\tmodule.exports = Object.getPrototypeOf || function (O) {\n\t  O = toObject(O);\n\t  if (has(O, IE_PROTO)) return O[IE_PROTO];\n\t  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n\t    return O.constructor.prototype;\n\t  } return O instanceof Object ? ObjectProto : null;\n\t};\n\n\n/***/ }),\n/* 506 */\n/*!********************************************************!*\\\n  !*** ../~/core-js/library/modules/web.dom.iterable.js ***!\n  \\********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(/*! ./es6.array.iterator */ 507);\n\tvar global = __webpack_require__(/*! ./_global */ 451);\n\tvar hide = __webpack_require__(/*! ./_hide */ 455);\n\tvar Iterators = __webpack_require__(/*! ./_iterators */ 498);\n\tvar TO_STRING_TAG = __webpack_require__(/*! ./_wks */ 504)('toStringTag');\n\t\n\tvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n\t  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n\t  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n\t  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n\t  'TextTrackList,TouchList').split(',');\n\t\n\tfor (var i = 0; i < DOMIterables.length; i++) {\n\t  var NAME = DOMIterables[i];\n\t  var Collection = global[NAME];\n\t  var proto = Collection && Collection.prototype;\n\t  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n\t  Iterators[NAME] = Iterators.Array;\n\t}\n\n\n/***/ }),\n/* 507 */\n/*!**********************************************************!*\\\n  !*** ../~/core-js/library/modules/es6.array.iterator.js ***!\n  \\**********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar addToUnscopables = __webpack_require__(/*! ./_add-to-unscopables */ 508);\n\tvar step = __webpack_require__(/*! ./_iter-step */ 509);\n\tvar Iterators = __webpack_require__(/*! ./_iterators */ 498);\n\tvar toIObject = __webpack_require__(/*! ./_to-iobject */ 469);\n\t\n\t// 22.1.3.4 Array.prototype.entries()\n\t// 22.1.3.13 Array.prototype.keys()\n\t// 22.1.3.29 Array.prototype.values()\n\t// 22.1.3.30 Array.prototype[@@iterator]()\n\tmodule.exports = __webpack_require__(/*! ./_iter-define */ 496)(Array, 'Array', function (iterated, kind) {\n\t  this._t = toIObject(iterated); // target\n\t  this._i = 0;                   // next index\n\t  this._k = kind;                // kind\n\t// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n\t}, function () {\n\t  var O = this._t;\n\t  var kind = this._k;\n\t  var index = this._i++;\n\t  if (!O || index >= O.length) {\n\t    this._t = undefined;\n\t    return step(1);\n\t  }\n\t  if (kind == 'keys') return step(0, index);\n\t  if (kind == 'values') return step(0, O[index]);\n\t  return step(0, [index, O[index]]);\n\t}, 'values');\n\t\n\t// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\n\tIterators.Arguments = Iterators.Array;\n\t\n\taddToUnscopables('keys');\n\taddToUnscopables('values');\n\taddToUnscopables('entries');\n\n\n/***/ }),\n/* 508 */\n/*!***********************************************************!*\\\n  !*** ../~/core-js/library/modules/_add-to-unscopables.js ***!\n  \\***********************************************************/\n/***/ (function(module, exports) {\n\n\tmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 509 */\n/*!**************************************************!*\\\n  !*** ../~/core-js/library/modules/_iter-step.js ***!\n  \\**************************************************/\n/***/ (function(module, exports) {\n\n\tmodule.exports = function (done, value) {\n\t  return { value: value, done: !!done };\n\t};\n\n\n/***/ }),\n/* 510 */\n/*!************************************************!*\\\n  !*** ../~/core-js/library/modules/_wks-ext.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\texports.f = __webpack_require__(/*! ./_wks */ 504);\n\n\n/***/ }),\n/* 511 */\n/*!********************************************!*\\\n  !*** ../~/babel-runtime/core-js/symbol.js ***!\n  \\********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/symbol */ 512), __esModule: true };\n\n/***/ }),\n/* 512 */\n/*!***********************************************!*\\\n  !*** ../~/core-js/library/fn/symbol/index.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(/*! ../../modules/es6.symbol */ 513);\n\t__webpack_require__(/*! ../../modules/es6.object.to-string */ 521);\n\t__webpack_require__(/*! ../../modules/es7.symbol.async-iterator */ 522);\n\t__webpack_require__(/*! ../../modules/es7.symbol.observable */ 523);\n\tmodule.exports = __webpack_require__(/*! ../../modules/_core */ 452).Symbol;\n\n\n/***/ }),\n/* 513 */\n/*!**************************************************!*\\\n  !*** ../~/core-js/library/modules/es6.symbol.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// ECMAScript 6 symbols shim\n\tvar global = __webpack_require__(/*! ./_global */ 451);\n\tvar has = __webpack_require__(/*! ./_has */ 465);\n\tvar DESCRIPTORS = __webpack_require__(/*! ./_descriptors */ 460);\n\tvar $export = __webpack_require__(/*! ./_export */ 450);\n\tvar redefine = __webpack_require__(/*! ./_redefine */ 497);\n\tvar META = __webpack_require__(/*! ./_meta */ 514).KEY;\n\tvar $fails = __webpack_require__(/*! ./_fails */ 461);\n\tvar shared = __webpack_require__(/*! ./_shared */ 478);\n\tvar setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ 503);\n\tvar uid = __webpack_require__(/*! ./_uid */ 480);\n\tvar wks = __webpack_require__(/*! ./_wks */ 504);\n\tvar wksExt = __webpack_require__(/*! ./_wks-ext */ 510);\n\tvar wksDefine = __webpack_require__(/*! ./_wks-define */ 515);\n\tvar enumKeys = __webpack_require__(/*! ./_enum-keys */ 516);\n\tvar isArray = __webpack_require__(/*! ./_is-array */ 517);\n\tvar anObject = __webpack_require__(/*! ./_an-object */ 457);\n\tvar isObject = __webpack_require__(/*! ./_is-object */ 458);\n\tvar toIObject = __webpack_require__(/*! ./_to-iobject */ 469);\n\tvar toPrimitive = __webpack_require__(/*! ./_to-primitive */ 463);\n\tvar createDesc = __webpack_require__(/*! ./_property-desc */ 464);\n\tvar _create = __webpack_require__(/*! ./_object-create */ 500);\n\tvar gOPNExt = __webpack_require__(/*! ./_object-gopn-ext */ 518);\n\tvar $GOPD = __webpack_require__(/*! ./_object-gopd */ 520);\n\tvar $DP = __webpack_require__(/*! ./_object-dp */ 456);\n\tvar $keys = __webpack_require__(/*! ./_object-keys */ 467);\n\tvar gOPD = $GOPD.f;\n\tvar dP = $DP.f;\n\tvar gOPN = gOPNExt.f;\n\tvar $Symbol = global.Symbol;\n\tvar $JSON = global.JSON;\n\tvar _stringify = $JSON && $JSON.stringify;\n\tvar PROTOTYPE = 'prototype';\n\tvar HIDDEN = wks('_hidden');\n\tvar TO_PRIMITIVE = wks('toPrimitive');\n\tvar isEnum = {}.propertyIsEnumerable;\n\tvar SymbolRegistry = shared('symbol-registry');\n\tvar AllSymbols = shared('symbols');\n\tvar OPSymbols = shared('op-symbols');\n\tvar ObjectProto = Object[PROTOTYPE];\n\tvar USE_NATIVE = typeof $Symbol == 'function';\n\tvar QObject = global.QObject;\n\t// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\n\tvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\t\n\t// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\n\tvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n\t  return _create(dP({}, 'a', {\n\t    get: function () { return dP(this, 'a', { value: 7 }).a; }\n\t  })).a != 7;\n\t}) ? function (it, key, D) {\n\t  var protoDesc = gOPD(ObjectProto, key);\n\t  if (protoDesc) delete ObjectProto[key];\n\t  dP(it, key, D);\n\t  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n\t} : dP;\n\t\n\tvar wrap = function (tag) {\n\t  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n\t  sym._k = tag;\n\t  return sym;\n\t};\n\t\n\tvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n\t  return typeof it == 'symbol';\n\t} : function (it) {\n\t  return it instanceof $Symbol;\n\t};\n\t\n\tvar $defineProperty = function defineProperty(it, key, D) {\n\t  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n\t  anObject(it);\n\t  key = toPrimitive(key, true);\n\t  anObject(D);\n\t  if (has(AllSymbols, key)) {\n\t    if (!D.enumerable) {\n\t      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n\t      it[HIDDEN][key] = true;\n\t    } else {\n\t      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n\t      D = _create(D, { enumerable: createDesc(0, false) });\n\t    } return setSymbolDesc(it, key, D);\n\t  } return dP(it, key, D);\n\t};\n\tvar $defineProperties = function defineProperties(it, P) {\n\t  anObject(it);\n\t  var keys = enumKeys(P = toIObject(P));\n\t  var i = 0;\n\t  var l = keys.length;\n\t  var key;\n\t  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n\t  return it;\n\t};\n\tvar $create = function create(it, P) {\n\t  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n\t};\n\tvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n\t  var E = isEnum.call(this, key = toPrimitive(key, true));\n\t  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n\t  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n\t};\n\tvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n\t  it = toIObject(it);\n\t  key = toPrimitive(key, true);\n\t  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n\t  var D = gOPD(it, key);\n\t  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n\t  return D;\n\t};\n\tvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n\t  var names = gOPN(toIObject(it));\n\t  var result = [];\n\t  var i = 0;\n\t  var key;\n\t  while (names.length > i) {\n\t    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n\t  } return result;\n\t};\n\tvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n\t  var IS_OP = it === ObjectProto;\n\t  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n\t  var result = [];\n\t  var i = 0;\n\t  var key;\n\t  while (names.length > i) {\n\t    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n\t  } return result;\n\t};\n\t\n\t// 19.4.1.1 Symbol([description])\n\tif (!USE_NATIVE) {\n\t  $Symbol = function Symbol() {\n\t    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n\t    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n\t    var $set = function (value) {\n\t      if (this === ObjectProto) $set.call(OPSymbols, value);\n\t      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n\t      setSymbolDesc(this, tag, createDesc(1, value));\n\t    };\n\t    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n\t    return wrap(tag);\n\t  };\n\t  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n\t    return this._k;\n\t  });\n\t\n\t  $GOPD.f = $getOwnPropertyDescriptor;\n\t  $DP.f = $defineProperty;\n\t  __webpack_require__(/*! ./_object-gopn */ 519).f = gOPNExt.f = $getOwnPropertyNames;\n\t  __webpack_require__(/*! ./_object-pie */ 483).f = $propertyIsEnumerable;\n\t  __webpack_require__(/*! ./_object-gops */ 482).f = $getOwnPropertySymbols;\n\t\n\t  if (DESCRIPTORS && !__webpack_require__(/*! ./_library */ 479)) {\n\t    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n\t  }\n\t\n\t  wksExt.f = function (name) {\n\t    return wrap(wks(name));\n\t  };\n\t}\n\t\n\t$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\t\n\tfor (var es6Symbols = (\n\t  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n\t  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n\t).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\t\n\tfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\t\n\t$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n\t  // 19.4.2.1 Symbol.for(key)\n\t  'for': function (key) {\n\t    return has(SymbolRegistry, key += '')\n\t      ? SymbolRegistry[key]\n\t      : SymbolRegistry[key] = $Symbol(key);\n\t  },\n\t  // 19.4.2.5 Symbol.keyFor(sym)\n\t  keyFor: function keyFor(sym) {\n\t    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n\t    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n\t  },\n\t  useSetter: function () { setter = true; },\n\t  useSimple: function () { setter = false; }\n\t});\n\t\n\t$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n\t  // 19.1.2.2 Object.create(O [, Properties])\n\t  create: $create,\n\t  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n\t  defineProperty: $defineProperty,\n\t  // 19.1.2.3 Object.defineProperties(O, Properties)\n\t  defineProperties: $defineProperties,\n\t  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n\t  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n\t  // 19.1.2.7 Object.getOwnPropertyNames(O)\n\t  getOwnPropertyNames: $getOwnPropertyNames,\n\t  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n\t  getOwnPropertySymbols: $getOwnPropertySymbols\n\t});\n\t\n\t// 24.3.2 JSON.stringify(value [, replacer [, space]])\n\t$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n\t  var S = $Symbol();\n\t  // MS Edge converts symbol values to JSON as {}\n\t  // WebKit converts symbol values to JSON as null\n\t  // V8 throws on boxed symbols\n\t  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n\t})), 'JSON', {\n\t  stringify: function stringify(it) {\n\t    var args = [it];\n\t    var i = 1;\n\t    var replacer, $replacer;\n\t    while (arguments.length > i) args.push(arguments[i++]);\n\t    $replacer = replacer = args[1];\n\t    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n\t    if (!isArray(replacer)) replacer = function (key, value) {\n\t      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n\t      if (!isSymbol(value)) return value;\n\t    };\n\t    args[1] = replacer;\n\t    return _stringify.apply($JSON, args);\n\t  }\n\t});\n\t\n\t// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n\t$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(/*! ./_hide */ 455)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n\t// 19.4.3.5 Symbol.prototype[@@toStringTag]\n\tsetToStringTag($Symbol, 'Symbol');\n\t// 20.2.1.9 Math[@@toStringTag]\n\tsetToStringTag(Math, 'Math', true);\n\t// 24.3.3 JSON[@@toStringTag]\n\tsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 514 */\n/*!*********************************************!*\\\n  !*** ../~/core-js/library/modules/_meta.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar META = __webpack_require__(/*! ./_uid */ 480)('meta');\n\tvar isObject = __webpack_require__(/*! ./_is-object */ 458);\n\tvar has = __webpack_require__(/*! ./_has */ 465);\n\tvar setDesc = __webpack_require__(/*! ./_object-dp */ 456).f;\n\tvar id = 0;\n\tvar isExtensible = Object.isExtensible || function () {\n\t  return true;\n\t};\n\tvar FREEZE = !__webpack_require__(/*! ./_fails */ 461)(function () {\n\t  return isExtensible(Object.preventExtensions({}));\n\t});\n\tvar setMeta = function (it) {\n\t  setDesc(it, META, { value: {\n\t    i: 'O' + ++id, // object ID\n\t    w: {}          // weak collections IDs\n\t  } });\n\t};\n\tvar fastKey = function (it, create) {\n\t  // return primitive with prefix\n\t  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n\t  if (!has(it, META)) {\n\t    // can't set metadata to uncaught frozen object\n\t    if (!isExtensible(it)) return 'F';\n\t    // not necessary to add metadata\n\t    if (!create) return 'E';\n\t    // add missing metadata\n\t    setMeta(it);\n\t  // return object ID\n\t  } return it[META].i;\n\t};\n\tvar getWeak = function (it, create) {\n\t  if (!has(it, META)) {\n\t    // can't set metadata to uncaught frozen object\n\t    if (!isExtensible(it)) return true;\n\t    // not necessary to add metadata\n\t    if (!create) return false;\n\t    // add missing metadata\n\t    setMeta(it);\n\t  // return hash weak collections IDs\n\t  } return it[META].w;\n\t};\n\t// add metadata on freeze-family methods calling\n\tvar onFreeze = function (it) {\n\t  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n\t  return it;\n\t};\n\tvar meta = module.exports = {\n\t  KEY: META,\n\t  NEED: false,\n\t  fastKey: fastKey,\n\t  getWeak: getWeak,\n\t  onFreeze: onFreeze\n\t};\n\n\n/***/ }),\n/* 515 */\n/*!***************************************************!*\\\n  !*** ../~/core-js/library/modules/_wks-define.js ***!\n  \\***************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(/*! ./_global */ 451);\n\tvar core = __webpack_require__(/*! ./_core */ 452);\n\tvar LIBRARY = __webpack_require__(/*! ./_library */ 479);\n\tvar wksExt = __webpack_require__(/*! ./_wks-ext */ 510);\n\tvar defineProperty = __webpack_require__(/*! ./_object-dp */ 456).f;\n\tmodule.exports = function (name) {\n\t  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n\t  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n\t};\n\n\n/***/ }),\n/* 516 */\n/*!**************************************************!*\\\n  !*** ../~/core-js/library/modules/_enum-keys.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// all enumerable object keys, includes symbols\n\tvar getKeys = __webpack_require__(/*! ./_object-keys */ 467);\n\tvar gOPS = __webpack_require__(/*! ./_object-gops */ 482);\n\tvar pIE = __webpack_require__(/*! ./_object-pie */ 483);\n\tmodule.exports = function (it) {\n\t  var result = getKeys(it);\n\t  var getSymbols = gOPS.f;\n\t  if (getSymbols) {\n\t    var symbols = getSymbols(it);\n\t    var isEnum = pIE.f;\n\t    var i = 0;\n\t    var key;\n\t    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n\t  } return result;\n\t};\n\n\n/***/ }),\n/* 517 */\n/*!*************************************************!*\\\n  !*** ../~/core-js/library/modules/_is-array.js ***!\n  \\*************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 7.2.2 IsArray(argument)\n\tvar cof = __webpack_require__(/*! ./_cof */ 471);\n\tmodule.exports = Array.isArray || function isArray(arg) {\n\t  return cof(arg) == 'Array';\n\t};\n\n\n/***/ }),\n/* 518 */\n/*!********************************************************!*\\\n  !*** ../~/core-js/library/modules/_object-gopn-ext.js ***!\n  \\********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\n\tvar toIObject = __webpack_require__(/*! ./_to-iobject */ 469);\n\tvar gOPN = __webpack_require__(/*! ./_object-gopn */ 519).f;\n\tvar toString = {}.toString;\n\t\n\tvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n\t  ? Object.getOwnPropertyNames(window) : [];\n\t\n\tvar getWindowNames = function (it) {\n\t  try {\n\t    return gOPN(it);\n\t  } catch (e) {\n\t    return windowNames.slice();\n\t  }\n\t};\n\t\n\tmodule.exports.f = function getOwnPropertyNames(it) {\n\t  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n\t};\n\n\n/***/ }),\n/* 519 */\n/*!****************************************************!*\\\n  !*** ../~/core-js/library/modules/_object-gopn.js ***!\n  \\****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\n\tvar $keys = __webpack_require__(/*! ./_object-keys-internal */ 468);\n\tvar hiddenKeys = __webpack_require__(/*! ./_enum-bug-keys */ 481).concat('length', 'prototype');\n\t\n\texports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n\t  return $keys(O, hiddenKeys);\n\t};\n\n\n/***/ }),\n/* 520 */\n/*!****************************************************!*\\\n  !*** ../~/core-js/library/modules/_object-gopd.js ***!\n  \\****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar pIE = __webpack_require__(/*! ./_object-pie */ 483);\n\tvar createDesc = __webpack_require__(/*! ./_property-desc */ 464);\n\tvar toIObject = __webpack_require__(/*! ./_to-iobject */ 469);\n\tvar toPrimitive = __webpack_require__(/*! ./_to-primitive */ 463);\n\tvar has = __webpack_require__(/*! ./_has */ 465);\n\tvar IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ 459);\n\tvar gOPD = Object.getOwnPropertyDescriptor;\n\t\n\texports.f = __webpack_require__(/*! ./_descriptors */ 460) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n\t  O = toIObject(O);\n\t  P = toPrimitive(P, true);\n\t  if (IE8_DOM_DEFINE) try {\n\t    return gOPD(O, P);\n\t  } catch (e) { /* empty */ }\n\t  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n\t};\n\n\n/***/ }),\n/* 521 */\n/*!************************************************************!*\\\n  !*** ../~/core-js/library/modules/es6.object.to-string.js ***!\n  \\************************************************************/\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 522 */\n/*!*****************************************************************!*\\\n  !*** ../~/core-js/library/modules/es7.symbol.async-iterator.js ***!\n  \\*****************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(/*! ./_wks-define */ 515)('asyncIterator');\n\n\n/***/ }),\n/* 523 */\n/*!*************************************************************!*\\\n  !*** ../~/core-js/library/modules/es7.symbol.observable.js ***!\n  \\*************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(/*! ./_wks-define */ 515)('observable');\n\n\n/***/ }),\n/* 524 */\n/*!**********************************************!*\\\n  !*** ../~/babel-runtime/helpers/inherits.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _setPrototypeOf = __webpack_require__(/*! ../core-js/object/set-prototype-of */ 525);\n\t\n\tvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\t\n\tvar _create = __webpack_require__(/*! ../core-js/object/create */ 529);\n\t\n\tvar _create2 = _interopRequireDefault(_create);\n\t\n\tvar _typeof2 = __webpack_require__(/*! ../helpers/typeof */ 491);\n\t\n\tvar _typeof3 = _interopRequireDefault(_typeof2);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = function (subClass, superClass) {\n\t  if (typeof superClass !== \"function\" && superClass !== null) {\n\t    throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n\t  }\n\t\n\t  subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n\t    constructor: {\n\t      value: subClass,\n\t      enumerable: false,\n\t      writable: true,\n\t      configurable: true\n\t    }\n\t  });\n\t  if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n\t};\n\n/***/ }),\n/* 525 */\n/*!*************************************************************!*\\\n  !*** ../~/babel-runtime/core-js/object/set-prototype-of.js ***!\n  \\*************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/object/set-prototype-of */ 526), __esModule: true };\n\n/***/ }),\n/* 526 */\n/*!**********************************************************!*\\\n  !*** ../~/core-js/library/fn/object/set-prototype-of.js ***!\n  \\**********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(/*! ../../modules/es6.object.set-prototype-of */ 527);\n\tmodule.exports = __webpack_require__(/*! ../../modules/_core */ 452).Object.setPrototypeOf;\n\n\n/***/ }),\n/* 527 */\n/*!*******************************************************************!*\\\n  !*** ../~/core-js/library/modules/es6.object.set-prototype-of.js ***!\n  \\*******************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.3.19 Object.setPrototypeOf(O, proto)\n\tvar $export = __webpack_require__(/*! ./_export */ 450);\n\t$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(/*! ./_set-proto */ 528).set });\n\n\n/***/ }),\n/* 528 */\n/*!**************************************************!*\\\n  !*** ../~/core-js/library/modules/_set-proto.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// Works with __proto__ only. Old v8 can't work with null proto objects.\n\t/* eslint-disable no-proto */\n\tvar isObject = __webpack_require__(/*! ./_is-object */ 458);\n\tvar anObject = __webpack_require__(/*! ./_an-object */ 457);\n\tvar check = function (O, proto) {\n\t  anObject(O);\n\t  if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n\t};\n\tmodule.exports = {\n\t  set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n\t    function (test, buggy, set) {\n\t      try {\n\t        set = __webpack_require__(/*! ./_ctx */ 453)(Function.call, __webpack_require__(/*! ./_object-gopd */ 520).f(Object.prototype, '__proto__').set, 2);\n\t        set(test, []);\n\t        buggy = !(test instanceof Array);\n\t      } catch (e) { buggy = true; }\n\t      return function setPrototypeOf(O, proto) {\n\t        check(O, proto);\n\t        if (buggy) O.__proto__ = proto;\n\t        else set(O, proto);\n\t        return O;\n\t      };\n\t    }({}, false) : undefined),\n\t  check: check\n\t};\n\n\n/***/ }),\n/* 529 */\n/*!***************************************************!*\\\n  !*** ../~/babel-runtime/core-js/object/create.js ***!\n  \\***************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/object/create */ 530), __esModule: true };\n\n/***/ }),\n/* 530 */\n/*!************************************************!*\\\n  !*** ../~/core-js/library/fn/object/create.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(/*! ../../modules/es6.object.create */ 531);\n\tvar $Object = __webpack_require__(/*! ../../modules/_core */ 452).Object;\n\tmodule.exports = function create(P, D) {\n\t  return $Object.create(P, D);\n\t};\n\n\n/***/ }),\n/* 531 */\n/*!*********************************************************!*\\\n  !*** ../~/core-js/library/modules/es6.object.create.js ***!\n  \\*********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(/*! ./_export */ 450);\n\t// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n\t$export($export.S, 'Object', { create: __webpack_require__(/*! ./_object-create */ 500) });\n\n\n/***/ }),\n/* 532 */\n/*!*******************************!*\\\n  !*** ../~/warning/warning.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright (c) 2014-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * Similar to invariant but only logs a warning if the condition is not met.\n\t * This can be used to log issues in development environments in critical\n\t * paths. Removing the logging code for production environments will keep the\n\t * same logic and follow the same code paths.\n\t */\n\t\n\tvar __DEV__ = (\"development\") !== 'production';\n\t\n\tvar warning = function() {};\n\t\n\tif (__DEV__) {\n\t  var printWarning = function printWarning(format, args) {\n\t    var len = arguments.length;\n\t    args = new Array(len > 1 ? len - 1 : 0);\n\t    for (var key = 1; key < len; key++) {\n\t      args[key - 1] = arguments[key];\n\t    }\n\t    var argIndex = 0;\n\t    var message = 'Warning: ' +\n\t      format.replace(/%s/g, function() {\n\t        return args[argIndex++];\n\t      });\n\t    if (typeof console !== 'undefined') {\n\t      console.error(message);\n\t    }\n\t    try {\n\t      // --- Welcome to debugging React ---\n\t      // This error was thrown as a convenience so that you can use this stack\n\t      // to find the callsite that caused this warning to fire.\n\t      throw new Error(message);\n\t    } catch (x) {}\n\t  }\n\t\n\t  warning = function(condition, format, args) {\n\t    var len = arguments.length;\n\t    args = new Array(len > 2 ? len - 2 : 0);\n\t    for (var key = 2; key < len; key++) {\n\t      args[key - 2] = arguments[key];\n\t    }\n\t    if (format === undefined) {\n\t      throw new Error(\n\t          '`warning(condition, format, ...args)` requires a warning ' +\n\t          'message argument'\n\t      );\n\t    }\n\t    if (!condition) {\n\t      printWarning.apply(null, [format].concat(args));\n\t    }\n\t  };\n\t}\n\t\n\tmodule.exports = warning;\n\n\n/***/ }),\n/* 533 */\n/*!******************************************!*\\\n  !*** ../~/rc-slider/lib/common/Track.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _extends2 = __webpack_require__(/*! babel-runtime/helpers/extends */ 446);\n\t\n\tvar _extends3 = _interopRequireDefault(_extends2);\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar Track = function Track(props) {\n\t  var className = props.className,\n\t      included = props.included,\n\t      vertical = props.vertical,\n\t      offset = props.offset,\n\t      length = props.length,\n\t      style = props.style;\n\t\n\t\n\t  var positonStyle = vertical ? {\n\t    bottom: offset + '%',\n\t    height: length + '%'\n\t  } : {\n\t    left: offset + '%',\n\t    width: length + '%'\n\t  };\n\t\n\t  var elStyle = (0, _extends3['default'])({}, style, positonStyle);\n\t  return included ? _react2['default'].createElement('div', { className: className, style: elStyle }) : null;\n\t}; /* eslint-disable react/prop-types */\n\texports['default'] = Track;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 534 */\n/*!*************************************************!*\\\n  !*** ../~/rc-slider/lib/common/createSlider.js ***!\n  \\*************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _objectWithoutProperties2 = __webpack_require__(/*! babel-runtime/helpers/objectWithoutProperties */ 535);\n\t\n\tvar _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);\n\t\n\tvar _extends2 = __webpack_require__(/*! babel-runtime/helpers/extends */ 446);\n\t\n\tvar _extends3 = _interopRequireDefault(_extends2);\n\t\n\tvar _defineProperty2 = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ 536);\n\t\n\tvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\t\n\tvar _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ 485);\n\t\n\tvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\t\n\tvar _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ 486);\n\t\n\tvar _createClass3 = _interopRequireDefault(_createClass2);\n\t\n\tvar _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ 490);\n\t\n\tvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\t\n\tvar _get2 = __webpack_require__(/*! babel-runtime/helpers/get */ 537);\n\t\n\tvar _get3 = _interopRequireDefault(_get2);\n\t\n\tvar _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ 524);\n\t\n\tvar _inherits3 = _interopRequireDefault(_inherits2);\n\t\n\texports['default'] = createSlider;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _addEventListener = __webpack_require__(/*! rc-util/lib/Dom/addEventListener */ 545);\n\t\n\tvar _addEventListener2 = _interopRequireDefault(_addEventListener);\n\t\n\tvar _classnames = __webpack_require__(/*! classnames */ 550);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _warning = __webpack_require__(/*! warning */ 532);\n\t\n\tvar _warning2 = _interopRequireDefault(_warning);\n\t\n\tvar _Steps = __webpack_require__(/*! ./Steps */ 551);\n\t\n\tvar _Steps2 = _interopRequireDefault(_Steps);\n\t\n\tvar _Marks = __webpack_require__(/*! ./Marks */ 552);\n\t\n\tvar _Marks2 = _interopRequireDefault(_Marks);\n\t\n\tvar _Handle = __webpack_require__(/*! ../Handle */ 553);\n\t\n\tvar _Handle2 = _interopRequireDefault(_Handle);\n\t\n\tvar _utils = __webpack_require__(/*! ../utils */ 554);\n\t\n\tvar utils = _interopRequireWildcard(_utils);\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction noop() {}\n\t\n\tfunction createSlider(Component) {\n\t  var _class, _temp;\n\t\n\t  return _temp = _class = function (_Component) {\n\t    (0, _inherits3['default'])(ComponentEnhancer, _Component);\n\t\n\t    function ComponentEnhancer(props) {\n\t      (0, _classCallCheck3['default'])(this, ComponentEnhancer);\n\t\n\t      var _this = (0, _possibleConstructorReturn3['default'])(this, (ComponentEnhancer.__proto__ || Object.getPrototypeOf(ComponentEnhancer)).call(this, props));\n\t\n\t      _this.onMouseDown = function (e) {\n\t        if (e.button !== 0) {\n\t          return;\n\t        }\n\t\n\t        var isVertical = _this.props.vertical;\n\t        var position = utils.getMousePosition(isVertical, e);\n\t        if (!utils.isEventFromHandle(e, _this.handlesRefs)) {\n\t          _this.dragOffset = 0;\n\t        } else {\n\t          var handlePosition = utils.getHandleCenterPosition(isVertical, e.target);\n\t          _this.dragOffset = position - handlePosition;\n\t          position = handlePosition;\n\t        }\n\t        _this.removeDocumentEvents();\n\t        _this.onStart(position);\n\t        _this.addDocumentMouseEvents();\n\t      };\n\t\n\t      _this.onTouchStart = function (e) {\n\t        if (utils.isNotTouchEvent(e)) return;\n\t\n\t        var isVertical = _this.props.vertical;\n\t        var position = utils.getTouchPosition(isVertical, e);\n\t        if (!utils.isEventFromHandle(e, _this.handlesRefs)) {\n\t          _this.dragOffset = 0;\n\t        } else {\n\t          var handlePosition = utils.getHandleCenterPosition(isVertical, e.target);\n\t          _this.dragOffset = position - handlePosition;\n\t          position = handlePosition;\n\t        }\n\t        _this.onStart(position);\n\t        _this.addDocumentTouchEvents();\n\t        utils.pauseEvent(e);\n\t      };\n\t\n\t      _this.onFocus = function (e) {\n\t        var _this$props = _this.props,\n\t            onFocus = _this$props.onFocus,\n\t            vertical = _this$props.vertical;\n\t\n\t        if (utils.isEventFromHandle(e, _this.handlesRefs)) {\n\t          var handlePosition = utils.getHandleCenterPosition(vertical, e.target);\n\t          _this.dragOffset = 0;\n\t          _this.onStart(handlePosition);\n\t          utils.pauseEvent(e);\n\t          if (onFocus) {\n\t            onFocus(e);\n\t          }\n\t        }\n\t      };\n\t\n\t      _this.onBlur = function (e) {\n\t        var onBlur = _this.props.onBlur;\n\t\n\t        _this.onEnd();\n\t        if (onBlur) {\n\t          onBlur(e);\n\t        }\n\t      };\n\t\n\t      _this.onMouseUp = function () {\n\t        if (_this.handlesRefs[_this.prevMovedHandleIndex]) {\n\t          _this.handlesRefs[_this.prevMovedHandleIndex].clickFocus();\n\t        }\n\t      };\n\t\n\t      _this.onMouseMove = function (e) {\n\t        if (!_this.sliderRef) {\n\t          _this.onEnd();\n\t          return;\n\t        }\n\t        var position = utils.getMousePosition(_this.props.vertical, e);\n\t        _this.onMove(e, position - _this.dragOffset);\n\t      };\n\t\n\t      _this.onTouchMove = function (e) {\n\t        if (utils.isNotTouchEvent(e) || !_this.sliderRef) {\n\t          _this.onEnd();\n\t          return;\n\t        }\n\t\n\t        var position = utils.getTouchPosition(_this.props.vertical, e);\n\t        _this.onMove(e, position - _this.dragOffset);\n\t      };\n\t\n\t      _this.onKeyDown = function (e) {\n\t        if (_this.sliderRef && utils.isEventFromHandle(e, _this.handlesRefs)) {\n\t          _this.onKeyboard(e);\n\t        }\n\t      };\n\t\n\t      _this.onClickMarkLabel = function (e, value) {\n\t        e.stopPropagation();\n\t        _this.onChange({ value: value });\n\t        _this.setState({ value: value }, function () {\n\t          return _this.onEnd(true);\n\t        });\n\t      };\n\t\n\t      _this.saveSlider = function (slider) {\n\t        _this.sliderRef = slider;\n\t      };\n\t\n\t      if (utils.isDev()) {\n\t        var step = props.step,\n\t            max = props.max,\n\t            min = props.min;\n\t\n\t        var isPointDiffEven = isFinite(max - min) ? (max - min) % step === 0 : true; // eslint-disable-line\n\t        (0, _warning2['default'])(step && Math.floor(step) === step ? isPointDiffEven : true, 'Slider[max] - Slider[min] (%s) should be a multiple of Slider[step] (%s)', max - min, step);\n\t      }\n\t      _this.handlesRefs = {};\n\t      return _this;\n\t    }\n\t\n\t    (0, _createClass3['default'])(ComponentEnhancer, [{\n\t      key: 'componentDidMount',\n\t      value: function componentDidMount() {\n\t        // Snapshot testing cannot handle refs, so be sure to null-check this.\n\t        this.document = this.sliderRef && this.sliderRef.ownerDocument;\n\t      }\n\t    }, {\n\t      key: 'componentWillUnmount',\n\t      value: function componentWillUnmount() {\n\t        if ((0, _get3['default'])(ComponentEnhancer.prototype.__proto__ || Object.getPrototypeOf(ComponentEnhancer.prototype), 'componentWillUnmount', this)) (0, _get3['default'])(ComponentEnhancer.prototype.__proto__ || Object.getPrototypeOf(ComponentEnhancer.prototype), 'componentWillUnmount', this).call(this);\n\t        this.removeDocumentEvents();\n\t      }\n\t    }, {\n\t      key: 'getSliderStart',\n\t      value: function getSliderStart() {\n\t        var slider = this.sliderRef;\n\t        var rect = slider.getBoundingClientRect();\n\t\n\t        return this.props.vertical ? rect.top : rect.left + window.pageXOffset;\n\t      }\n\t    }, {\n\t      key: 'getSliderLength',\n\t      value: function getSliderLength() {\n\t        var slider = this.sliderRef;\n\t        if (!slider) {\n\t          return 0;\n\t        }\n\t\n\t        var coords = slider.getBoundingClientRect();\n\t        return this.props.vertical ? coords.height : coords.width;\n\t      }\n\t    }, {\n\t      key: 'addDocumentTouchEvents',\n\t      value: function addDocumentTouchEvents() {\n\t        // just work for Chrome iOS Safari and Android Browser\n\t        this.onTouchMoveListener = (0, _addEventListener2['default'])(this.document, 'touchmove', this.onTouchMove);\n\t        this.onTouchUpListener = (0, _addEventListener2['default'])(this.document, 'touchend', this.onEnd);\n\t      }\n\t    }, {\n\t      key: 'addDocumentMouseEvents',\n\t      value: function addDocumentMouseEvents() {\n\t        this.onMouseMoveListener = (0, _addEventListener2['default'])(this.document, 'mousemove', this.onMouseMove);\n\t        this.onMouseUpListener = (0, _addEventListener2['default'])(this.document, 'mouseup', this.onEnd);\n\t      }\n\t    }, {\n\t      key: 'removeDocumentEvents',\n\t      value: function removeDocumentEvents() {\n\t        /* eslint-disable no-unused-expressions */\n\t        this.onTouchMoveListener && this.onTouchMoveListener.remove();\n\t        this.onTouchUpListener && this.onTouchUpListener.remove();\n\t\n\t        this.onMouseMoveListener && this.onMouseMoveListener.remove();\n\t        this.onMouseUpListener && this.onMouseUpListener.remove();\n\t        /* eslint-enable no-unused-expressions */\n\t      }\n\t    }, {\n\t      key: 'focus',\n\t      value: function focus() {\n\t        if (!this.props.disabled) {\n\t          this.handlesRefs[0].focus();\n\t        }\n\t      }\n\t    }, {\n\t      key: 'blur',\n\t      value: function blur() {\n\t        var _this2 = this;\n\t\n\t        if (!this.props.disabled) {\n\t          Object.keys(this.handlesRefs).forEach(function (key) {\n\t            if (_this2.handlesRefs[key] && _this2.handlesRefs[key].blur) {\n\t              _this2.handlesRefs[key].blur();\n\t            }\n\t          });\n\t        }\n\t      }\n\t    }, {\n\t      key: 'calcValue',\n\t      value: function calcValue(offset) {\n\t        var _props = this.props,\n\t            vertical = _props.vertical,\n\t            min = _props.min,\n\t            max = _props.max;\n\t\n\t        var ratio = Math.abs(Math.max(offset, 0) / this.getSliderLength());\n\t        var value = vertical ? (1 - ratio) * (max - min) + min : ratio * (max - min) + min;\n\t        return value;\n\t      }\n\t    }, {\n\t      key: 'calcValueByPos',\n\t      value: function calcValueByPos(position) {\n\t        var pixelOffset = position - this.getSliderStart();\n\t        var nextValue = this.trimAlignValue(this.calcValue(pixelOffset));\n\t        return nextValue;\n\t      }\n\t    }, {\n\t      key: 'calcOffset',\n\t      value: function calcOffset(value) {\n\t        var _props2 = this.props,\n\t            min = _props2.min,\n\t            max = _props2.max;\n\t\n\t        var ratio = (value - min) / (max - min);\n\t        return ratio * 100;\n\t      }\n\t    }, {\n\t      key: 'saveHandle',\n\t      value: function saveHandle(index, handle) {\n\t        this.handlesRefs[index] = handle;\n\t      }\n\t    }, {\n\t      key: 'render',\n\t      value: function render() {\n\t        var _classNames;\n\t\n\t        var _props3 = this.props,\n\t            prefixCls = _props3.prefixCls,\n\t            className = _props3.className,\n\t            marks = _props3.marks,\n\t            dots = _props3.dots,\n\t            step = _props3.step,\n\t            included = _props3.included,\n\t            disabled = _props3.disabled,\n\t            vertical = _props3.vertical,\n\t            min = _props3.min,\n\t            max = _props3.max,\n\t            children = _props3.children,\n\t            maximumTrackStyle = _props3.maximumTrackStyle,\n\t            style = _props3.style,\n\t            railStyle = _props3.railStyle,\n\t            dotStyle = _props3.dotStyle,\n\t            activeDotStyle = _props3.activeDotStyle;\n\t\n\t        var _get$call = (0, _get3['default'])(ComponentEnhancer.prototype.__proto__ || Object.getPrototypeOf(ComponentEnhancer.prototype), 'render', this).call(this),\n\t            tracks = _get$call.tracks,\n\t            handles = _get$call.handles;\n\t\n\t        var sliderClassName = (0, _classnames2['default'])(prefixCls, (_classNames = {}, (0, _defineProperty3['default'])(_classNames, prefixCls + '-with-marks', Object.keys(marks).length), (0, _defineProperty3['default'])(_classNames, prefixCls + '-disabled', disabled), (0, _defineProperty3['default'])(_classNames, prefixCls + '-vertical', vertical), (0, _defineProperty3['default'])(_classNames, className, className), _classNames));\n\t        return _react2['default'].createElement(\n\t          'div',\n\t          {\n\t            ref: this.saveSlider,\n\t            className: sliderClassName,\n\t            onTouchStart: disabled ? noop : this.onTouchStart,\n\t            onMouseDown: disabled ? noop : this.onMouseDown,\n\t            onMouseUp: disabled ? noop : this.onMouseUp,\n\t            onKeyDown: disabled ? noop : this.onKeyDown,\n\t            onFocus: disabled ? noop : this.onFocus,\n\t            onBlur: disabled ? noop : this.onBlur,\n\t            style: style\n\t          },\n\t          _react2['default'].createElement('div', {\n\t            className: prefixCls + '-rail',\n\t            style: (0, _extends3['default'])({}, maximumTrackStyle, railStyle)\n\t          }),\n\t          tracks,\n\t          _react2['default'].createElement(_Steps2['default'], {\n\t            prefixCls: prefixCls,\n\t            vertical: vertical,\n\t            marks: marks,\n\t            dots: dots,\n\t            step: step,\n\t            included: included,\n\t            lowerBound: this.getLowerBound(),\n\t            upperBound: this.getUpperBound(),\n\t            max: max,\n\t            min: min,\n\t            dotStyle: dotStyle,\n\t            activeDotStyle: activeDotStyle\n\t          }),\n\t          handles,\n\t          _react2['default'].createElement(_Marks2['default'], {\n\t            className: prefixCls + '-mark',\n\t            onClickLabel: disabled ? noop : this.onClickMarkLabel,\n\t            vertical: vertical,\n\t            marks: marks,\n\t            included: included,\n\t            lowerBound: this.getLowerBound(),\n\t            upperBound: this.getUpperBound(),\n\t            max: max,\n\t            min: min\n\t          }),\n\t          children\n\t        );\n\t      }\n\t    }]);\n\t    return ComponentEnhancer;\n\t  }(Component), _class.displayName = 'ComponentEnhancer(' + Component.displayName + ')', _class.propTypes = (0, _extends3['default'])({}, Component.propTypes, {\n\t    min: _propTypes2['default'].number,\n\t    max: _propTypes2['default'].number,\n\t    step: _propTypes2['default'].number,\n\t    marks: _propTypes2['default'].object,\n\t    included: _propTypes2['default'].bool,\n\t    className: _propTypes2['default'].string,\n\t    prefixCls: _propTypes2['default'].string,\n\t    disabled: _propTypes2['default'].bool,\n\t    children: _propTypes2['default'].any,\n\t    onBeforeChange: _propTypes2['default'].func,\n\t    onChange: _propTypes2['default'].func,\n\t    onAfterChange: _propTypes2['default'].func,\n\t    handle: _propTypes2['default'].func,\n\t    dots: _propTypes2['default'].bool,\n\t    vertical: _propTypes2['default'].bool,\n\t    style: _propTypes2['default'].object,\n\t    minimumTrackStyle: _propTypes2['default'].object, // just for compatibility, will be deperecate\n\t    maximumTrackStyle: _propTypes2['default'].object, // just for compatibility, will be deperecate\n\t    handleStyle: _propTypes2['default'].oneOfType([_propTypes2['default'].object, _propTypes2['default'].arrayOf(_propTypes2['default'].object)]),\n\t    trackStyle: _propTypes2['default'].oneOfType([_propTypes2['default'].object, _propTypes2['default'].arrayOf(_propTypes2['default'].object)]),\n\t    railStyle: _propTypes2['default'].object,\n\t    dotStyle: _propTypes2['default'].object,\n\t    activeDotStyle: _propTypes2['default'].object,\n\t    autoFocus: _propTypes2['default'].bool,\n\t    onFocus: _propTypes2['default'].func,\n\t    onBlur: _propTypes2['default'].func\n\t  }), _class.defaultProps = (0, _extends3['default'])({}, Component.defaultProps, {\n\t    prefixCls: 'rc-slider',\n\t    className: '',\n\t    min: 0,\n\t    max: 100,\n\t    step: 1,\n\t    marks: {},\n\t    handle: function handle(_ref) {\n\t      var index = _ref.index,\n\t          restProps = (0, _objectWithoutProperties3['default'])(_ref, ['index']);\n\t\n\t      delete restProps.dragging;\n\t      if (restProps.value === null) {\n\t        return null;\n\t      }\n\t\n\t      return _react2['default'].createElement(_Handle2['default'], (0, _extends3['default'])({}, restProps, { key: index }));\n\t    },\n\t\n\t    onBeforeChange: noop,\n\t    onChange: noop,\n\t    onAfterChange: noop,\n\t    included: true,\n\t    disabled: false,\n\t    dots: false,\n\t    vertical: false,\n\t    trackStyle: [{}],\n\t    handleStyle: [{}],\n\t    railStyle: {},\n\t    dotStyle: {},\n\t    activeDotStyle: {}\n\t  }), _temp;\n\t}\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 535 */\n/*!*************************************************************!*\\\n  !*** ../~/babel-runtime/helpers/objectWithoutProperties.js ***!\n  \\*************************************************************/\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\texports.default = function (obj, keys) {\n\t  var target = {};\n\t\n\t  for (var i in obj) {\n\t    if (keys.indexOf(i) >= 0) continue;\n\t    if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n\t    target[i] = obj[i];\n\t  }\n\t\n\t  return target;\n\t};\n\n/***/ }),\n/* 536 */\n/*!****************************************************!*\\\n  !*** ../~/babel-runtime/helpers/defineProperty.js ***!\n  \\****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _defineProperty = __webpack_require__(/*! ../core-js/object/define-property */ 487);\n\t\n\tvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = function (obj, key, value) {\n\t  if (key in obj) {\n\t    (0, _defineProperty2.default)(obj, key, {\n\t      value: value,\n\t      enumerable: true,\n\t      configurable: true,\n\t      writable: true\n\t    });\n\t  } else {\n\t    obj[key] = value;\n\t  }\n\t\n\t  return obj;\n\t};\n\n/***/ }),\n/* 537 */\n/*!*****************************************!*\\\n  !*** ../~/babel-runtime/helpers/get.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _getPrototypeOf = __webpack_require__(/*! ../core-js/object/get-prototype-of */ 538);\n\t\n\tvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\t\n\tvar _getOwnPropertyDescriptor = __webpack_require__(/*! ../core-js/object/get-own-property-descriptor */ 542);\n\t\n\tvar _getOwnPropertyDescriptor2 = _interopRequireDefault(_getOwnPropertyDescriptor);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = function get(object, property, receiver) {\n\t  if (object === null) object = Function.prototype;\n\t  var desc = (0, _getOwnPropertyDescriptor2.default)(object, property);\n\t\n\t  if (desc === undefined) {\n\t    var parent = (0, _getPrototypeOf2.default)(object);\n\t\n\t    if (parent === null) {\n\t      return undefined;\n\t    } else {\n\t      return get(parent, property, receiver);\n\t    }\n\t  } else if (\"value\" in desc) {\n\t    return desc.value;\n\t  } else {\n\t    var getter = desc.get;\n\t\n\t    if (getter === undefined) {\n\t      return undefined;\n\t    }\n\t\n\t    return getter.call(receiver);\n\t  }\n\t};\n\n/***/ }),\n/* 538 */\n/*!*************************************************************!*\\\n  !*** ../~/babel-runtime/core-js/object/get-prototype-of.js ***!\n  \\*************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/object/get-prototype-of */ 539), __esModule: true };\n\n/***/ }),\n/* 539 */\n/*!**********************************************************!*\\\n  !*** ../~/core-js/library/fn/object/get-prototype-of.js ***!\n  \\**********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(/*! ../../modules/es6.object.get-prototype-of */ 540);\n\tmodule.exports = __webpack_require__(/*! ../../modules/_core */ 452).Object.getPrototypeOf;\n\n\n/***/ }),\n/* 540 */\n/*!*******************************************************************!*\\\n  !*** ../~/core-js/library/modules/es6.object.get-prototype-of.js ***!\n  \\*******************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.9 Object.getPrototypeOf(O)\n\tvar toObject = __webpack_require__(/*! ./_to-object */ 484);\n\tvar $getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ 505);\n\t\n\t__webpack_require__(/*! ./_object-sap */ 541)('getPrototypeOf', function () {\n\t  return function getPrototypeOf(it) {\n\t    return $getPrototypeOf(toObject(it));\n\t  };\n\t});\n\n\n/***/ }),\n/* 541 */\n/*!***************************************************!*\\\n  !*** ../~/core-js/library/modules/_object-sap.js ***!\n  \\***************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// most Object methods by ES6 should accept primitives\n\tvar $export = __webpack_require__(/*! ./_export */ 450);\n\tvar core = __webpack_require__(/*! ./_core */ 452);\n\tvar fails = __webpack_require__(/*! ./_fails */ 461);\n\tmodule.exports = function (KEY, exec) {\n\t  var fn = (core.Object || {})[KEY] || Object[KEY];\n\t  var exp = {};\n\t  exp[KEY] = exec(fn);\n\t  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n\t};\n\n\n/***/ }),\n/* 542 */\n/*!************************************************************************!*\\\n  !*** ../~/babel-runtime/core-js/object/get-own-property-descriptor.js ***!\n  \\************************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/object/get-own-property-descriptor */ 543), __esModule: true };\n\n/***/ }),\n/* 543 */\n/*!*********************************************************************!*\\\n  !*** ../~/core-js/library/fn/object/get-own-property-descriptor.js ***!\n  \\*********************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(/*! ../../modules/es6.object.get-own-property-descriptor */ 544);\n\tvar $Object = __webpack_require__(/*! ../../modules/_core */ 452).Object;\n\tmodule.exports = function getOwnPropertyDescriptor(it, key) {\n\t  return $Object.getOwnPropertyDescriptor(it, key);\n\t};\n\n\n/***/ }),\n/* 544 */\n/*!******************************************************************************!*\\\n  !*** ../~/core-js/library/modules/es6.object.get-own-property-descriptor.js ***!\n  \\******************************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n\tvar toIObject = __webpack_require__(/*! ./_to-iobject */ 469);\n\tvar $getOwnPropertyDescriptor = __webpack_require__(/*! ./_object-gopd */ 520).f;\n\t\n\t__webpack_require__(/*! ./_object-sap */ 541)('getOwnPropertyDescriptor', function () {\n\t  return function getOwnPropertyDescriptor(it, key) {\n\t    return $getOwnPropertyDescriptor(toIObject(it), key);\n\t  };\n\t});\n\n\n/***/ }),\n/* 545 */\n/*!************************************************!*\\\n  !*** ../~/rc-util/lib/Dom/addEventListener.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports['default'] = addEventListenerWrap;\n\t\n\tvar _addDomEventListener = __webpack_require__(/*! add-dom-event-listener */ 546);\n\t\n\tvar _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);\n\t\n\tvar _reactDom = __webpack_require__(/*! react-dom */ 549);\n\t\n\tvar _reactDom2 = _interopRequireDefault(_reactDom);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction addEventListenerWrap(target, eventType, cb, option) {\n\t  /* eslint camelcase: 2 */\n\t  var callback = _reactDom2['default'].unstable_batchedUpdates ? function run(e) {\n\t    _reactDom2['default'].unstable_batchedUpdates(cb, e);\n\t  } : cb;\n\t  return (0, _addDomEventListener2['default'])(target, eventType, callback, option);\n\t}\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 546 */\n/*!************************************************!*\\\n  !*** ../~/add-dom-event-listener/lib/index.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t  value: true\n\t});\n\texports['default'] = addEventListener;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _EventObject = __webpack_require__(/*! ./EventObject */ 547);\n\t\n\tvar _EventObject2 = _interopRequireDefault(_EventObject);\n\t\n\tfunction addEventListener(target, eventType, callback, option) {\n\t  function wrapCallback(e) {\n\t    var ne = new _EventObject2['default'](e);\n\t    callback.call(target, ne);\n\t  }\n\t\n\t  if (target.addEventListener) {\n\t    var _ret = (function () {\n\t      var useCapture = false;\n\t      if (typeof option === 'object') {\n\t        useCapture = option.capture || false;\n\t      } else if (typeof option === 'boolean') {\n\t        useCapture = option;\n\t      }\n\t\n\t      target.addEventListener(eventType, wrapCallback, option || false);\n\t\n\t      return {\n\t        v: {\n\t          remove: function remove() {\n\t            target.removeEventListener(eventType, wrapCallback, useCapture);\n\t          }\n\t        }\n\t      };\n\t    })();\n\t\n\t    if (typeof _ret === 'object') return _ret.v;\n\t  } else if (target.attachEvent) {\n\t    target.attachEvent('on' + eventType, wrapCallback);\n\t    return {\n\t      remove: function remove() {\n\t        target.detachEvent('on' + eventType, wrapCallback);\n\t      }\n\t    };\n\t  }\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 547 */\n/*!******************************************************!*\\\n  !*** ../~/add-dom-event-listener/lib/EventObject.js ***!\n  \\******************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/**\n\t * @ignore\n\t * event object for dom\n\t * @author yiminghe@gmail.com\n\t */\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t  value: true\n\t});\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _EventBaseObject = __webpack_require__(/*! ./EventBaseObject */ 548);\n\t\n\tvar _EventBaseObject2 = _interopRequireDefault(_EventBaseObject);\n\t\n\tvar _objectAssign = __webpack_require__(/*! object-assign */ 7);\n\t\n\tvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\t\n\tvar TRUE = true;\n\tvar FALSE = false;\n\tvar commonProps = ['altKey', 'bubbles', 'cancelable', 'ctrlKey', 'currentTarget', 'eventPhase', 'metaKey', 'shiftKey', 'target', 'timeStamp', 'view', 'type'];\n\t\n\tfunction isNullOrUndefined(w) {\n\t  return w === null || w === undefined;\n\t}\n\t\n\tvar eventNormalizers = [{\n\t  reg: /^key/,\n\t  props: ['char', 'charCode', 'key', 'keyCode', 'which'],\n\t  fix: function fix(event, nativeEvent) {\n\t    if (isNullOrUndefined(event.which)) {\n\t      event.which = !isNullOrUndefined(nativeEvent.charCode) ? nativeEvent.charCode : nativeEvent.keyCode;\n\t    }\n\t\n\t    // add metaKey to non-Mac browsers (use ctrl for PC 's and Meta for Macs)\n\t    if (event.metaKey === undefined) {\n\t      event.metaKey = event.ctrlKey;\n\t    }\n\t  }\n\t}, {\n\t  reg: /^touch/,\n\t  props: ['touches', 'changedTouches', 'targetTouches']\n\t}, {\n\t  reg: /^hashchange$/,\n\t  props: ['newURL', 'oldURL']\n\t}, {\n\t  reg: /^gesturechange$/i,\n\t  props: ['rotation', 'scale']\n\t}, {\n\t  reg: /^(mousewheel|DOMMouseScroll)$/,\n\t  props: [],\n\t  fix: function fix(event, nativeEvent) {\n\t    var deltaX = undefined;\n\t    var deltaY = undefined;\n\t    var delta = undefined;\n\t    var wheelDelta = nativeEvent.wheelDelta;\n\t    var axis = nativeEvent.axis;\n\t    var wheelDeltaY = nativeEvent.wheelDeltaY;\n\t    var wheelDeltaX = nativeEvent.wheelDeltaX;\n\t    var detail = nativeEvent.detail;\n\t\n\t    // ie/webkit\n\t    if (wheelDelta) {\n\t      delta = wheelDelta / 120;\n\t    }\n\t\n\t    // gecko\n\t    if (detail) {\n\t      // press control e.detail == 1 else e.detail == 3\n\t      delta = 0 - (detail % 3 === 0 ? detail / 3 : detail);\n\t    }\n\t\n\t    // Gecko\n\t    if (axis !== undefined) {\n\t      if (axis === event.HORIZONTAL_AXIS) {\n\t        deltaY = 0;\n\t        deltaX = 0 - delta;\n\t      } else if (axis === event.VERTICAL_AXIS) {\n\t        deltaX = 0;\n\t        deltaY = delta;\n\t      }\n\t    }\n\t\n\t    // Webkit\n\t    if (wheelDeltaY !== undefined) {\n\t      deltaY = wheelDeltaY / 120;\n\t    }\n\t    if (wheelDeltaX !== undefined) {\n\t      deltaX = -1 * wheelDeltaX / 120;\n\t    }\n\t\n\t    // 默认 deltaY (ie)\n\t    if (!deltaX && !deltaY) {\n\t      deltaY = delta;\n\t    }\n\t\n\t    if (deltaX !== undefined) {\n\t      /**\n\t       * deltaX of mousewheel event\n\t       * @property deltaX\n\t       * @member Event.DomEvent.Object\n\t       */\n\t      event.deltaX = deltaX;\n\t    }\n\t\n\t    if (deltaY !== undefined) {\n\t      /**\n\t       * deltaY of mousewheel event\n\t       * @property deltaY\n\t       * @member Event.DomEvent.Object\n\t       */\n\t      event.deltaY = deltaY;\n\t    }\n\t\n\t    if (delta !== undefined) {\n\t      /**\n\t       * delta of mousewheel event\n\t       * @property delta\n\t       * @member Event.DomEvent.Object\n\t       */\n\t      event.delta = delta;\n\t    }\n\t  }\n\t}, {\n\t  reg: /^mouse|contextmenu|click|mspointer|(^DOMMouseScroll$)/i,\n\t  props: ['buttons', 'clientX', 'clientY', 'button', 'offsetX', 'relatedTarget', 'which', 'fromElement', 'toElement', 'offsetY', 'pageX', 'pageY', 'screenX', 'screenY'],\n\t  fix: function fix(event, nativeEvent) {\n\t    var eventDoc = undefined;\n\t    var doc = undefined;\n\t    var body = undefined;\n\t    var target = event.target;\n\t    var button = nativeEvent.button;\n\t\n\t    // Calculate pageX/Y if missing and clientX/Y available\n\t    if (target && isNullOrUndefined(event.pageX) && !isNullOrUndefined(nativeEvent.clientX)) {\n\t      eventDoc = target.ownerDocument || document;\n\t      doc = eventDoc.documentElement;\n\t      body = eventDoc.body;\n\t      event.pageX = nativeEvent.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);\n\t      event.pageY = nativeEvent.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);\n\t    }\n\t\n\t    // which for click: 1 === left; 2 === middle; 3 === right\n\t    // do not use button\n\t    if (!event.which && button !== undefined) {\n\t      if (button & 1) {\n\t        event.which = 1;\n\t      } else if (button & 2) {\n\t        event.which = 3;\n\t      } else if (button & 4) {\n\t        event.which = 2;\n\t      } else {\n\t        event.which = 0;\n\t      }\n\t    }\n\t\n\t    // add relatedTarget, if necessary\n\t    if (!event.relatedTarget && event.fromElement) {\n\t      event.relatedTarget = event.fromElement === target ? event.toElement : event.fromElement;\n\t    }\n\t\n\t    return event;\n\t  }\n\t}];\n\t\n\tfunction retTrue() {\n\t  return TRUE;\n\t}\n\t\n\tfunction retFalse() {\n\t  return FALSE;\n\t}\n\t\n\tfunction DomEventObject(nativeEvent) {\n\t  var type = nativeEvent.type;\n\t\n\t  var isNative = typeof nativeEvent.stopPropagation === 'function' || typeof nativeEvent.cancelBubble === 'boolean';\n\t\n\t  _EventBaseObject2['default'].call(this);\n\t\n\t  this.nativeEvent = nativeEvent;\n\t\n\t  // in case dom event has been mark as default prevented by lower dom node\n\t  var isDefaultPrevented = retFalse;\n\t  if ('defaultPrevented' in nativeEvent) {\n\t    isDefaultPrevented = nativeEvent.defaultPrevented ? retTrue : retFalse;\n\t  } else if ('getPreventDefault' in nativeEvent) {\n\t    // https://bugzilla.mozilla.org/show_bug.cgi?id=691151\n\t    isDefaultPrevented = nativeEvent.getPreventDefault() ? retTrue : retFalse;\n\t  } else if ('returnValue' in nativeEvent) {\n\t    isDefaultPrevented = nativeEvent.returnValue === FALSE ? retTrue : retFalse;\n\t  }\n\t\n\t  this.isDefaultPrevented = isDefaultPrevented;\n\t\n\t  var fixFns = [];\n\t  var fixFn = undefined;\n\t  var l = undefined;\n\t  var prop = undefined;\n\t  var props = commonProps.concat();\n\t\n\t  eventNormalizers.forEach(function (normalizer) {\n\t    if (type.match(normalizer.reg)) {\n\t      props = props.concat(normalizer.props);\n\t      if (normalizer.fix) {\n\t        fixFns.push(normalizer.fix);\n\t      }\n\t    }\n\t  });\n\t\n\t  l = props.length;\n\t\n\t  // clone properties of the original event object\n\t  while (l) {\n\t    prop = props[--l];\n\t    this[prop] = nativeEvent[prop];\n\t  }\n\t\n\t  // fix target property, if necessary\n\t  if (!this.target && isNative) {\n\t    this.target = nativeEvent.srcElement || document; // srcElement might not be defined either\n\t  }\n\t\n\t  // check if target is a text node (safari)\n\t  if (this.target && this.target.nodeType === 3) {\n\t    this.target = this.target.parentNode;\n\t  }\n\t\n\t  l = fixFns.length;\n\t\n\t  while (l) {\n\t    fixFn = fixFns[--l];\n\t    fixFn(this, nativeEvent);\n\t  }\n\t\n\t  this.timeStamp = nativeEvent.timeStamp || Date.now();\n\t}\n\t\n\tvar EventBaseObjectProto = _EventBaseObject2['default'].prototype;\n\t\n\t(0, _objectAssign2['default'])(DomEventObject.prototype, EventBaseObjectProto, {\n\t  constructor: DomEventObject,\n\t\n\t  preventDefault: function preventDefault() {\n\t    var e = this.nativeEvent;\n\t\n\t    // if preventDefault exists run it on the original event\n\t    if (e.preventDefault) {\n\t      e.preventDefault();\n\t    } else {\n\t      // otherwise set the returnValue property of the original event to FALSE (IE)\n\t      e.returnValue = FALSE;\n\t    }\n\t\n\t    EventBaseObjectProto.preventDefault.call(this);\n\t  },\n\t\n\t  stopPropagation: function stopPropagation() {\n\t    var e = this.nativeEvent;\n\t\n\t    // if stopPropagation exists run it on the original event\n\t    if (e.stopPropagation) {\n\t      e.stopPropagation();\n\t    } else {\n\t      // otherwise set the cancelBubble property of the original event to TRUE (IE)\n\t      e.cancelBubble = TRUE;\n\t    }\n\t\n\t    EventBaseObjectProto.stopPropagation.call(this);\n\t  }\n\t});\n\t\n\texports['default'] = DomEventObject;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 548 */\n/*!**********************************************************!*\\\n  !*** ../~/add-dom-event-listener/lib/EventBaseObject.js ***!\n  \\**********************************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * @ignore\n\t * base event object for custom and dom event.\n\t * @author yiminghe@gmail.com\n\t */\n\t\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\tfunction returnFalse() {\n\t  return false;\n\t}\n\t\n\tfunction returnTrue() {\n\t  return true;\n\t}\n\t\n\tfunction EventBaseObject() {\n\t  this.timeStamp = Date.now();\n\t  this.target = undefined;\n\t  this.currentTarget = undefined;\n\t}\n\t\n\tEventBaseObject.prototype = {\n\t  isEventObject: 1,\n\t\n\t  constructor: EventBaseObject,\n\t\n\t  isDefaultPrevented: returnFalse,\n\t\n\t  isPropagationStopped: returnFalse,\n\t\n\t  isImmediatePropagationStopped: returnFalse,\n\t\n\t  preventDefault: function preventDefault() {\n\t    this.isDefaultPrevented = returnTrue;\n\t  },\n\t\n\t  stopPropagation: function stopPropagation() {\n\t    this.isPropagationStopped = returnTrue;\n\t  },\n\t\n\t  stopImmediatePropagation: function stopImmediatePropagation() {\n\t    this.isImmediatePropagationStopped = returnTrue;\n\t    // fixed 1.2\n\t    // call stopPropagation implicitly\n\t    this.stopPropagation();\n\t  },\n\t\n\t  halt: function halt(immediate) {\n\t    if (immediate) {\n\t      this.stopImmediatePropagation();\n\t    } else {\n\t      this.stopPropagation();\n\t    }\n\t    this.preventDefault();\n\t  }\n\t};\n\t\n\texports[\"default\"] = EventBaseObject;\n\tmodule.exports = exports[\"default\"];\n\n/***/ }),\n/* 549 */\n/*!***************************!*\\\n  !*** external \"ReactDOM\" ***!\n  \\***************************/\n/***/ (function(module, exports) {\n\n\t(function() { module.exports = this[\"ReactDOM\"]; }());\n\n/***/ }),\n/* 550 */\n/*!********************************!*\\\n  !*** ../~/classnames/index.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n\t  Copyright (c) 2017 Jed Watson.\n\t  Licensed under the MIT License (MIT), see\n\t  http://jedwatson.github.io/classnames\n\t*/\n\t/* global define */\n\t\n\t(function () {\n\t\t'use strict';\n\t\n\t\tvar hasOwn = {}.hasOwnProperty;\n\t\n\t\tfunction classNames () {\n\t\t\tvar classes = [];\n\t\n\t\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\t\tvar arg = arguments[i];\n\t\t\t\tif (!arg) continue;\n\t\n\t\t\t\tvar argType = typeof arg;\n\t\n\t\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\t\tclasses.push(arg);\n\t\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t} else if (argType === 'object') {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn classes.join(' ');\n\t\t}\n\t\n\t\tif (typeof module !== 'undefined' && module.exports) {\n\t\t\tclassNames.default = classNames;\n\t\t\tmodule.exports = classNames;\n\t\t} else if (true) {\n\t\t\t// register as 'classnames', consistent with npm package name\n\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () {\n\t\t\t\treturn classNames;\n\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\t} else {\n\t\t\twindow.classNames = classNames;\n\t\t}\n\t}());\n\n\n/***/ }),\n/* 551 */\n/*!******************************************!*\\\n  !*** ../~/rc-slider/lib/common/Steps.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _defineProperty2 = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ 536);\n\t\n\tvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\t\n\tvar _extends2 = __webpack_require__(/*! babel-runtime/helpers/extends */ 446);\n\t\n\tvar _extends3 = _interopRequireDefault(_extends2);\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _classnames = __webpack_require__(/*! classnames */ 550);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _warning = __webpack_require__(/*! warning */ 532);\n\t\n\tvar _warning2 = _interopRequireDefault(_warning);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar calcPoints = function calcPoints(vertical, marks, dots, step, min, max) {\n\t  (0, _warning2['default'])(dots ? step > 0 : true, '`Slider[step]` should be a positive number in order to make Slider[dots] work.');\n\t  var points = Object.keys(marks).map(parseFloat).sort(function (a, b) {\n\t    return a - b;\n\t  });\n\t  if (dots) {\n\t    for (var i = min; i <= max; i += step) {\n\t      if (points.indexOf(i) === -1) {\n\t        points.push(i);\n\t      }\n\t    }\n\t  }\n\t  return points;\n\t};\n\t\n\tvar Steps = function Steps(_ref) {\n\t  var prefixCls = _ref.prefixCls,\n\t      vertical = _ref.vertical,\n\t      marks = _ref.marks,\n\t      dots = _ref.dots,\n\t      step = _ref.step,\n\t      included = _ref.included,\n\t      lowerBound = _ref.lowerBound,\n\t      upperBound = _ref.upperBound,\n\t      max = _ref.max,\n\t      min = _ref.min,\n\t      dotStyle = _ref.dotStyle,\n\t      activeDotStyle = _ref.activeDotStyle;\n\t\n\t  var range = max - min;\n\t  var elements = calcPoints(vertical, marks, dots, step, min, max).map(function (point) {\n\t    var _classNames;\n\t\n\t    var offset = Math.abs(point - min) / range * 100 + '%';\n\t\n\t    var isActived = !included && point === upperBound || included && point <= upperBound && point >= lowerBound;\n\t    var style = vertical ? (0, _extends3['default'])({ bottom: offset }, dotStyle) : (0, _extends3['default'])({ left: offset }, dotStyle);\n\t    if (isActived) {\n\t      style = (0, _extends3['default'])({}, style, activeDotStyle);\n\t    }\n\t\n\t    var pointClassName = (0, _classnames2['default'])((_classNames = {}, (0, _defineProperty3['default'])(_classNames, prefixCls + '-dot', true), (0, _defineProperty3['default'])(_classNames, prefixCls + '-dot-active', isActived), _classNames));\n\t\n\t    return _react2['default'].createElement('span', { className: pointClassName, style: style, key: point });\n\t  });\n\t\n\t  return _react2['default'].createElement(\n\t    'div',\n\t    { className: prefixCls + '-step' },\n\t    elements\n\t  );\n\t};\n\t\n\tSteps.propTypes = {\n\t  prefixCls: _propTypes2['default'].string,\n\t  activeDotStyle: _propTypes2['default'].object,\n\t  dotStyle: _propTypes2['default'].object,\n\t  min: _propTypes2['default'].number,\n\t  max: _propTypes2['default'].number,\n\t  upperBound: _propTypes2['default'].number,\n\t  lowerBound: _propTypes2['default'].number,\n\t  included: _propTypes2['default'].bool,\n\t  dots: _propTypes2['default'].bool,\n\t  step: _propTypes2['default'].number,\n\t  marks: _propTypes2['default'].object,\n\t  vertical: _propTypes2['default'].bool\n\t};\n\t\n\texports['default'] = Steps;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 552 */\n/*!******************************************!*\\\n  !*** ../~/rc-slider/lib/common/Marks.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _extends2 = __webpack_require__(/*! babel-runtime/helpers/extends */ 446);\n\t\n\tvar _extends3 = _interopRequireDefault(_extends2);\n\t\n\tvar _defineProperty2 = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ 536);\n\t\n\tvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _classnames = __webpack_require__(/*! classnames */ 550);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar Marks = function Marks(_ref) {\n\t  var className = _ref.className,\n\t      vertical = _ref.vertical,\n\t      marks = _ref.marks,\n\t      included = _ref.included,\n\t      upperBound = _ref.upperBound,\n\t      lowerBound = _ref.lowerBound,\n\t      max = _ref.max,\n\t      min = _ref.min,\n\t      onClickLabel = _ref.onClickLabel;\n\t\n\t  var marksKeys = Object.keys(marks);\n\t\n\t  var range = max - min;\n\t  var elements = marksKeys.map(parseFloat).sort(function (a, b) {\n\t    return a - b;\n\t  }).map(function (point) {\n\t    var _classNames;\n\t\n\t    var markPoint = marks[point];\n\t    var markPointIsObject = typeof markPoint === 'object' && !_react2['default'].isValidElement(markPoint);\n\t    var markLabel = markPointIsObject ? markPoint.label : markPoint;\n\t    if (!markLabel && markLabel !== 0) {\n\t      return null;\n\t    }\n\t\n\t    var isActive = !included && point === upperBound || included && point <= upperBound && point >= lowerBound;\n\t    var markClassName = (0, _classnames2['default'])((_classNames = {}, (0, _defineProperty3['default'])(_classNames, className + '-text', true), (0, _defineProperty3['default'])(_classNames, className + '-text-active', isActive), _classNames));\n\t\n\t    var bottomStyle = {\n\t      marginBottom: '-50%',\n\t      bottom: (point - min) / range * 100 + '%'\n\t    };\n\t\n\t    var leftStyle = {\n\t      left: (point - min) / range * 100 + '%',\n\t      transform: 'translateX(-50%)',\n\t      msTransform: 'translateX(-50%)'\n\t    };\n\t\n\t    var style = vertical ? bottomStyle : leftStyle;\n\t    var markStyle = markPointIsObject ? (0, _extends3['default'])({}, style, markPoint.style) : style;\n\t    return _react2['default'].createElement(\n\t      'span',\n\t      {\n\t        className: markClassName,\n\t        style: markStyle,\n\t        key: point,\n\t        onMouseDown: function onMouseDown(e) {\n\t          return onClickLabel(e, point);\n\t        },\n\t        onTouchStart: function onTouchStart(e) {\n\t          return onClickLabel(e, point);\n\t        }\n\t      },\n\t      markLabel\n\t    );\n\t  });\n\t\n\t  return _react2['default'].createElement(\n\t    'div',\n\t    { className: className },\n\t    elements\n\t  );\n\t};\n\t\n\tMarks.propTypes = {\n\t  className: _propTypes2['default'].string,\n\t  vertical: _propTypes2['default'].bool,\n\t  marks: _propTypes2['default'].object,\n\t  included: _propTypes2['default'].bool,\n\t  upperBound: _propTypes2['default'].number,\n\t  lowerBound: _propTypes2['default'].number,\n\t  max: _propTypes2['default'].number,\n\t  min: _propTypes2['default'].number,\n\t  onClickLabel: _propTypes2['default'].func\n\t};\n\t\n\texports['default'] = Marks;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 553 */\n/*!************************************!*\\\n  !*** ../~/rc-slider/lib/Handle.js ***!\n  \\************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _extends2 = __webpack_require__(/*! babel-runtime/helpers/extends */ 446);\n\t\n\tvar _extends3 = _interopRequireDefault(_extends2);\n\t\n\tvar _defineProperty2 = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ 536);\n\t\n\tvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\t\n\tvar _objectWithoutProperties2 = __webpack_require__(/*! babel-runtime/helpers/objectWithoutProperties */ 535);\n\t\n\tvar _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);\n\t\n\tvar _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ 485);\n\t\n\tvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\t\n\tvar _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ 486);\n\t\n\tvar _createClass3 = _interopRequireDefault(_createClass2);\n\t\n\tvar _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ 490);\n\t\n\tvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\t\n\tvar _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ 524);\n\t\n\tvar _inherits3 = _interopRequireDefault(_inherits2);\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _classnames = __webpack_require__(/*! classnames */ 550);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _addEventListener = __webpack_require__(/*! rc-util/lib/Dom/addEventListener */ 545);\n\t\n\tvar _addEventListener2 = _interopRequireDefault(_addEventListener);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar Handle = function (_React$Component) {\n\t  (0, _inherits3['default'])(Handle, _React$Component);\n\t\n\t  function Handle() {\n\t    var _ref;\n\t\n\t    var _temp, _this, _ret;\n\t\n\t    (0, _classCallCheck3['default'])(this, Handle);\n\t\n\t    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t      args[_key] = arguments[_key];\n\t    }\n\t\n\t    return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, (_ref = Handle.__proto__ || Object.getPrototypeOf(Handle)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n\t      clickFocused: false\n\t    }, _this.setHandleRef = function (node) {\n\t      _this.handle = node;\n\t    }, _this.handleMouseUp = function () {\n\t      if (document.activeElement === _this.handle) {\n\t        _this.setClickFocus(true);\n\t      }\n\t    }, _this.handleMouseDown = function () {\n\t      // fix https://github.com/ant-design/ant-design/issues/15324\n\t      _this.focus();\n\t    }, _this.handleBlur = function () {\n\t      _this.setClickFocus(false);\n\t    }, _this.handleKeyDown = function () {\n\t      _this.setClickFocus(false);\n\t    }, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);\n\t  }\n\t\n\t  (0, _createClass3['default'])(Handle, [{\n\t    key: 'componentDidMount',\n\t    value: function componentDidMount() {\n\t      // mouseup won't trigger if mouse moved out of handle,\n\t      // so we listen on document here.\n\t      this.onMouseUpListener = (0, _addEventListener2['default'])(document, 'mouseup', this.handleMouseUp);\n\t    }\n\t  }, {\n\t    key: 'componentWillUnmount',\n\t    value: function componentWillUnmount() {\n\t      if (this.onMouseUpListener) {\n\t        this.onMouseUpListener.remove();\n\t      }\n\t    }\n\t  }, {\n\t    key: 'setClickFocus',\n\t    value: function setClickFocus(focused) {\n\t      this.setState({ clickFocused: focused });\n\t    }\n\t  }, {\n\t    key: 'clickFocus',\n\t    value: function clickFocus() {\n\t      this.setClickFocus(true);\n\t      this.focus();\n\t    }\n\t  }, {\n\t    key: 'focus',\n\t    value: function focus() {\n\t      this.handle.focus();\n\t    }\n\t  }, {\n\t    key: 'blur',\n\t    value: function blur() {\n\t      this.handle.blur();\n\t    }\n\t  }, {\n\t    key: 'render',\n\t    value: function render() {\n\t      var _props = this.props,\n\t          prefixCls = _props.prefixCls,\n\t          vertical = _props.vertical,\n\t          offset = _props.offset,\n\t          style = _props.style,\n\t          disabled = _props.disabled,\n\t          min = _props.min,\n\t          max = _props.max,\n\t          value = _props.value,\n\t          tabIndex = _props.tabIndex,\n\t          restProps = (0, _objectWithoutProperties3['default'])(_props, ['prefixCls', 'vertical', 'offset', 'style', 'disabled', 'min', 'max', 'value', 'tabIndex']);\n\t\n\t\n\t      var className = (0, _classnames2['default'])(this.props.className, (0, _defineProperty3['default'])({}, prefixCls + '-handle-click-focused', this.state.clickFocused));\n\t\n\t      var postionStyle = vertical ? { bottom: offset + '%' } : { left: offset + '%' };\n\t      var elStyle = (0, _extends3['default'])({}, style, postionStyle);\n\t\n\t      var _tabIndex = tabIndex || 0;\n\t      if (disabled || tabIndex === null) {\n\t        _tabIndex = null;\n\t      }\n\t\n\t      return _react2['default'].createElement('div', (0, _extends3['default'])({\n\t        ref: this.setHandleRef,\n\t        tabIndex: _tabIndex\n\t      }, restProps, {\n\t        className: className,\n\t        style: elStyle,\n\t        onBlur: this.handleBlur,\n\t        onKeyDown: this.handleKeyDown,\n\t        onMouseDown: this.handleMouseDown\n\t\n\t        // aria attribute\n\t        , role: 'slider',\n\t        'aria-valuemin': min,\n\t        'aria-valuemax': max,\n\t        'aria-valuenow': value,\n\t        'aria-disabled': !!disabled\n\t      }));\n\t    }\n\t  }]);\n\t  return Handle;\n\t}(_react2['default'].Component);\n\t\n\texports['default'] = Handle;\n\t\n\t\n\tHandle.propTypes = {\n\t  prefixCls: _propTypes2['default'].string,\n\t  className: _propTypes2['default'].string,\n\t  vertical: _propTypes2['default'].bool,\n\t  offset: _propTypes2['default'].number,\n\t  style: _propTypes2['default'].object,\n\t  disabled: _propTypes2['default'].bool,\n\t  min: _propTypes2['default'].number,\n\t  max: _propTypes2['default'].number,\n\t  value: _propTypes2['default'].number,\n\t  tabIndex: _propTypes2['default'].number\n\t};\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 554 */\n/*!***********************************!*\\\n  !*** ../~/rc-slider/lib/utils.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _toConsumableArray2 = __webpack_require__(/*! babel-runtime/helpers/toConsumableArray */ 555);\n\t\n\tvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\t\n\texports.isDev = isDev;\n\texports.isEventFromHandle = isEventFromHandle;\n\texports.isValueOutOfRange = isValueOutOfRange;\n\texports.isNotTouchEvent = isNotTouchEvent;\n\texports.getClosestPoint = getClosestPoint;\n\texports.getPrecision = getPrecision;\n\texports.getMousePosition = getMousePosition;\n\texports.getTouchPosition = getTouchPosition;\n\texports.getHandleCenterPosition = getHandleCenterPosition;\n\texports.ensureValueInRange = ensureValueInRange;\n\texports.ensureValuePrecision = ensureValuePrecision;\n\texports.pauseEvent = pauseEvent;\n\texports.calculateNextValue = calculateNextValue;\n\texports.getKeyboardValueMutator = getKeyboardValueMutator;\n\t\n\tvar _reactDom = __webpack_require__(/*! react-dom */ 549);\n\t\n\tvar _KeyCode = __webpack_require__(/*! rc-util/lib/KeyCode */ 565);\n\t\n\tvar _KeyCode2 = _interopRequireDefault(_KeyCode);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction isDev() {\n\t  return (\"development\") !== 'production';\n\t}\n\t\n\tfunction isEventFromHandle(e, handles) {\n\t  try {\n\t    return Object.keys(handles).some(function (key) {\n\t      return e.target === (0, _reactDom.findDOMNode)(handles[key]);\n\t    });\n\t  } catch (error) {\n\t    return false;\n\t  }\n\t}\n\t\n\tfunction isValueOutOfRange(value, _ref) {\n\t  var min = _ref.min,\n\t      max = _ref.max;\n\t\n\t  return value < min || value > max;\n\t}\n\t\n\tfunction isNotTouchEvent(e) {\n\t  return e.touches.length > 1 || e.type.toLowerCase() === 'touchend' && e.touches.length > 0;\n\t}\n\t\n\tfunction getClosestPoint(val, _ref2) {\n\t  var marks = _ref2.marks,\n\t      step = _ref2.step,\n\t      min = _ref2.min,\n\t      max = _ref2.max;\n\t\n\t  var points = Object.keys(marks).map(parseFloat);\n\t  if (step !== null) {\n\t    var maxSteps = Math.floor((max - min) / step);\n\t    var steps = Math.min((val - min) / step, maxSteps);\n\t    var closestStep = Math.round(steps) * step + min;\n\t    points.push(closestStep);\n\t  }\n\t  var diffs = points.map(function (point) {\n\t    return Math.abs(val - point);\n\t  });\n\t  return points[diffs.indexOf(Math.min.apply(Math, (0, _toConsumableArray3['default'])(diffs)))];\n\t}\n\t\n\tfunction getPrecision(step) {\n\t  var stepString = step.toString();\n\t  var precision = 0;\n\t  if (stepString.indexOf('.') >= 0) {\n\t    precision = stepString.length - stepString.indexOf('.') - 1;\n\t  }\n\t  return precision;\n\t}\n\t\n\tfunction getMousePosition(vertical, e) {\n\t  return vertical ? e.clientY : e.pageX;\n\t}\n\t\n\tfunction getTouchPosition(vertical, e) {\n\t  return vertical ? e.touches[0].clientY : e.touches[0].pageX;\n\t}\n\t\n\tfunction getHandleCenterPosition(vertical, handle) {\n\t  var coords = handle.getBoundingClientRect();\n\t  return vertical ? coords.top + coords.height * 0.5 : window.pageXOffset + coords.left + coords.width * 0.5;\n\t}\n\t\n\tfunction ensureValueInRange(val, _ref3) {\n\t  var max = _ref3.max,\n\t      min = _ref3.min;\n\t\n\t  if (val <= min) {\n\t    return min;\n\t  }\n\t  if (val >= max) {\n\t    return max;\n\t  }\n\t  return val;\n\t}\n\t\n\tfunction ensureValuePrecision(val, props) {\n\t  var step = props.step;\n\t\n\t  var closestPoint = isFinite(getClosestPoint(val, props)) ? getClosestPoint(val, props) : 0; // eslint-disable-line\n\t  return step === null ? closestPoint : parseFloat(closestPoint.toFixed(getPrecision(step)));\n\t}\n\t\n\tfunction pauseEvent(e) {\n\t  e.stopPropagation();\n\t  e.preventDefault();\n\t}\n\t\n\tfunction calculateNextValue(func, value, props) {\n\t  var operations = {\n\t    increase: function increase(a, b) {\n\t      return a + b;\n\t    },\n\t    decrease: function decrease(a, b) {\n\t      return a - b;\n\t    }\n\t  };\n\t\n\t  var indexToGet = operations[func](Object.keys(props.marks).indexOf(JSON.stringify(value)), 1);\n\t  var keyToGet = Object.keys(props.marks)[indexToGet];\n\t\n\t  if (props.step) {\n\t    return operations[func](value, props.step);\n\t  } else if (!!Object.keys(props.marks).length && !!props.marks[keyToGet]) {\n\t    return props.marks[keyToGet];\n\t  }\n\t  return value;\n\t}\n\t\n\tfunction getKeyboardValueMutator(e) {\n\t  switch (e.keyCode) {\n\t    case _KeyCode2['default'].UP:\n\t    case _KeyCode2['default'].RIGHT:\n\t      return function (value, props) {\n\t        return calculateNextValue('increase', value, props);\n\t      };\n\t\n\t    case _KeyCode2['default'].DOWN:\n\t    case _KeyCode2['default'].LEFT:\n\t      return function (value, props) {\n\t        return calculateNextValue('decrease', value, props);\n\t      };\n\t\n\t    case _KeyCode2['default'].END:\n\t      return function (value, props) {\n\t        return props.max;\n\t      };\n\t    case _KeyCode2['default'].HOME:\n\t      return function (value, props) {\n\t        return props.min;\n\t      };\n\t    case _KeyCode2['default'].PAGE_UP:\n\t      return function (value, props) {\n\t        return value + props.step * 2;\n\t      };\n\t    case _KeyCode2['default'].PAGE_DOWN:\n\t      return function (value, props) {\n\t        return value - props.step * 2;\n\t      };\n\t\n\t    default:\n\t      return undefined;\n\t  }\n\t}\n\n/***/ }),\n/* 555 */\n/*!*******************************************************!*\\\n  !*** ../~/babel-runtime/helpers/toConsumableArray.js ***!\n  \\*******************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _from = __webpack_require__(/*! ../core-js/array/from */ 556);\n\t\n\tvar _from2 = _interopRequireDefault(_from);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = function (arr) {\n\t  if (Array.isArray(arr)) {\n\t    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n\t      arr2[i] = arr[i];\n\t    }\n\t\n\t    return arr2;\n\t  } else {\n\t    return (0, _from2.default)(arr);\n\t  }\n\t};\n\n/***/ }),\n/* 556 */\n/*!************************************************!*\\\n  !*** ../~/babel-runtime/core-js/array/from.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/array/from */ 557), __esModule: true };\n\n/***/ }),\n/* 557 */\n/*!*********************************************!*\\\n  !*** ../~/core-js/library/fn/array/from.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(/*! ../../modules/es6.string.iterator */ 494);\n\t__webpack_require__(/*! ../../modules/es6.array.from */ 558);\n\tmodule.exports = __webpack_require__(/*! ../../modules/_core */ 452).Array.from;\n\n\n/***/ }),\n/* 558 */\n/*!******************************************************!*\\\n  !*** ../~/core-js/library/modules/es6.array.from.js ***!\n  \\******************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar ctx = __webpack_require__(/*! ./_ctx */ 453);\n\tvar $export = __webpack_require__(/*! ./_export */ 450);\n\tvar toObject = __webpack_require__(/*! ./_to-object */ 484);\n\tvar call = __webpack_require__(/*! ./_iter-call */ 559);\n\tvar isArrayIter = __webpack_require__(/*! ./_is-array-iter */ 560);\n\tvar toLength = __webpack_require__(/*! ./_to-length */ 474);\n\tvar createProperty = __webpack_require__(/*! ./_create-property */ 561);\n\tvar getIterFn = __webpack_require__(/*! ./core.get-iterator-method */ 562);\n\t\n\t$export($export.S + $export.F * !__webpack_require__(/*! ./_iter-detect */ 564)(function (iter) { Array.from(iter); }), 'Array', {\n\t  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n\t  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n\t    var O = toObject(arrayLike);\n\t    var C = typeof this == 'function' ? this : Array;\n\t    var aLen = arguments.length;\n\t    var mapfn = aLen > 1 ? arguments[1] : undefined;\n\t    var mapping = mapfn !== undefined;\n\t    var index = 0;\n\t    var iterFn = getIterFn(O);\n\t    var length, result, step, iterator;\n\t    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n\t    // if object isn't iterable or it's array with default iterator - use simple case\n\t    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n\t      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n\t        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n\t      }\n\t    } else {\n\t      length = toLength(O.length);\n\t      for (result = new C(length); length > index; index++) {\n\t        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n\t      }\n\t    }\n\t    result.length = index;\n\t    return result;\n\t  }\n\t});\n\n\n/***/ }),\n/* 559 */\n/*!**************************************************!*\\\n  !*** ../~/core-js/library/modules/_iter-call.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// call something on iterator step with safe closing on error\n\tvar anObject = __webpack_require__(/*! ./_an-object */ 457);\n\tmodule.exports = function (iterator, fn, value, entries) {\n\t  try {\n\t    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n\t  // 7.4.6 IteratorClose(iterator, completion)\n\t  } catch (e) {\n\t    var ret = iterator['return'];\n\t    if (ret !== undefined) anObject(ret.call(iterator));\n\t    throw e;\n\t  }\n\t};\n\n\n/***/ }),\n/* 560 */\n/*!******************************************************!*\\\n  !*** ../~/core-js/library/modules/_is-array-iter.js ***!\n  \\******************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// check on default Array iterator\n\tvar Iterators = __webpack_require__(/*! ./_iterators */ 498);\n\tvar ITERATOR = __webpack_require__(/*! ./_wks */ 504)('iterator');\n\tvar ArrayProto = Array.prototype;\n\t\n\tmodule.exports = function (it) {\n\t  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n\t};\n\n\n/***/ }),\n/* 561 */\n/*!********************************************************!*\\\n  !*** ../~/core-js/library/modules/_create-property.js ***!\n  \\********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $defineProperty = __webpack_require__(/*! ./_object-dp */ 456);\n\tvar createDesc = __webpack_require__(/*! ./_property-desc */ 464);\n\t\n\tmodule.exports = function (object, index, value) {\n\t  if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n\t  else object[index] = value;\n\t};\n\n\n/***/ }),\n/* 562 */\n/*!****************************************************************!*\\\n  !*** ../~/core-js/library/modules/core.get-iterator-method.js ***!\n  \\****************************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar classof = __webpack_require__(/*! ./_classof */ 563);\n\tvar ITERATOR = __webpack_require__(/*! ./_wks */ 504)('iterator');\n\tvar Iterators = __webpack_require__(/*! ./_iterators */ 498);\n\tmodule.exports = __webpack_require__(/*! ./_core */ 452).getIteratorMethod = function (it) {\n\t  if (it != undefined) return it[ITERATOR]\n\t    || it['@@iterator']\n\t    || Iterators[classof(it)];\n\t};\n\n\n/***/ }),\n/* 563 */\n/*!************************************************!*\\\n  !*** ../~/core-js/library/modules/_classof.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// getting tag from 19.1.3.6 Object.prototype.toString()\n\tvar cof = __webpack_require__(/*! ./_cof */ 471);\n\tvar TAG = __webpack_require__(/*! ./_wks */ 504)('toStringTag');\n\t// ES3 wrong here\n\tvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\t\n\t// fallback for IE11 Script Access Denied error\n\tvar tryGet = function (it, key) {\n\t  try {\n\t    return it[key];\n\t  } catch (e) { /* empty */ }\n\t};\n\t\n\tmodule.exports = function (it) {\n\t  var O, T, B;\n\t  return it === undefined ? 'Undefined' : it === null ? 'Null'\n\t    // @@toStringTag case\n\t    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n\t    // builtinTag case\n\t    : ARG ? cof(O)\n\t    // ES3 arguments fallback\n\t    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n\t};\n\n\n/***/ }),\n/* 564 */\n/*!****************************************************!*\\\n  !*** ../~/core-js/library/modules/_iter-detect.js ***!\n  \\****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar ITERATOR = __webpack_require__(/*! ./_wks */ 504)('iterator');\n\tvar SAFE_CLOSING = false;\n\t\n\ttry {\n\t  var riter = [7][ITERATOR]();\n\t  riter['return'] = function () { SAFE_CLOSING = true; };\n\t  // eslint-disable-next-line no-throw-literal\n\t  Array.from(riter, function () { throw 2; });\n\t} catch (e) { /* empty */ }\n\t\n\tmodule.exports = function (exec, skipClosing) {\n\t  if (!skipClosing && !SAFE_CLOSING) return false;\n\t  var safe = false;\n\t  try {\n\t    var arr = [7];\n\t    var iter = arr[ITERATOR]();\n\t    iter.next = function () { return { done: safe = true }; };\n\t    arr[ITERATOR] = function () { return iter; };\n\t    exec(arr);\n\t  } catch (e) { /* empty */ }\n\t  return safe;\n\t};\n\n\n/***/ }),\n/* 565 */\n/*!***********************************!*\\\n  !*** ../~/rc-util/lib/KeyCode.js ***!\n  \\***********************************/\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t/**\n\t * @ignore\n\t * some key-codes definition and utils from closure-library\n\t * @author yiminghe@gmail.com\n\t */\n\t\n\tvar KeyCode = {\n\t  /**\n\t   * MAC_ENTER\n\t   */\n\t  MAC_ENTER: 3,\n\t  /**\n\t   * BACKSPACE\n\t   */\n\t  BACKSPACE: 8,\n\t  /**\n\t   * TAB\n\t   */\n\t  TAB: 9,\n\t  /**\n\t   * NUMLOCK on FF/Safari Mac\n\t   */\n\t  NUM_CENTER: 12, // NUMLOCK on FF/Safari Mac\n\t  /**\n\t   * ENTER\n\t   */\n\t  ENTER: 13,\n\t  /**\n\t   * SHIFT\n\t   */\n\t  SHIFT: 16,\n\t  /**\n\t   * CTRL\n\t   */\n\t  CTRL: 17,\n\t  /**\n\t   * ALT\n\t   */\n\t  ALT: 18,\n\t  /**\n\t   * PAUSE\n\t   */\n\t  PAUSE: 19,\n\t  /**\n\t   * CAPS_LOCK\n\t   */\n\t  CAPS_LOCK: 20,\n\t  /**\n\t   * ESC\n\t   */\n\t  ESC: 27,\n\t  /**\n\t   * SPACE\n\t   */\n\t  SPACE: 32,\n\t  /**\n\t   * PAGE_UP\n\t   */\n\t  PAGE_UP: 33, // also NUM_NORTH_EAST\n\t  /**\n\t   * PAGE_DOWN\n\t   */\n\t  PAGE_DOWN: 34, // also NUM_SOUTH_EAST\n\t  /**\n\t   * END\n\t   */\n\t  END: 35, // also NUM_SOUTH_WEST\n\t  /**\n\t   * HOME\n\t   */\n\t  HOME: 36, // also NUM_NORTH_WEST\n\t  /**\n\t   * LEFT\n\t   */\n\t  LEFT: 37, // also NUM_WEST\n\t  /**\n\t   * UP\n\t   */\n\t  UP: 38, // also NUM_NORTH\n\t  /**\n\t   * RIGHT\n\t   */\n\t  RIGHT: 39, // also NUM_EAST\n\t  /**\n\t   * DOWN\n\t   */\n\t  DOWN: 40, // also NUM_SOUTH\n\t  /**\n\t   * PRINT_SCREEN\n\t   */\n\t  PRINT_SCREEN: 44,\n\t  /**\n\t   * INSERT\n\t   */\n\t  INSERT: 45, // also NUM_INSERT\n\t  /**\n\t   * DELETE\n\t   */\n\t  DELETE: 46, // also NUM_DELETE\n\t  /**\n\t   * ZERO\n\t   */\n\t  ZERO: 48,\n\t  /**\n\t   * ONE\n\t   */\n\t  ONE: 49,\n\t  /**\n\t   * TWO\n\t   */\n\t  TWO: 50,\n\t  /**\n\t   * THREE\n\t   */\n\t  THREE: 51,\n\t  /**\n\t   * FOUR\n\t   */\n\t  FOUR: 52,\n\t  /**\n\t   * FIVE\n\t   */\n\t  FIVE: 53,\n\t  /**\n\t   * SIX\n\t   */\n\t  SIX: 54,\n\t  /**\n\t   * SEVEN\n\t   */\n\t  SEVEN: 55,\n\t  /**\n\t   * EIGHT\n\t   */\n\t  EIGHT: 56,\n\t  /**\n\t   * NINE\n\t   */\n\t  NINE: 57,\n\t  /**\n\t   * QUESTION_MARK\n\t   */\n\t  QUESTION_MARK: 63, // needs localization\n\t  /**\n\t   * A\n\t   */\n\t  A: 65,\n\t  /**\n\t   * B\n\t   */\n\t  B: 66,\n\t  /**\n\t   * C\n\t   */\n\t  C: 67,\n\t  /**\n\t   * D\n\t   */\n\t  D: 68,\n\t  /**\n\t   * E\n\t   */\n\t  E: 69,\n\t  /**\n\t   * F\n\t   */\n\t  F: 70,\n\t  /**\n\t   * G\n\t   */\n\t  G: 71,\n\t  /**\n\t   * H\n\t   */\n\t  H: 72,\n\t  /**\n\t   * I\n\t   */\n\t  I: 73,\n\t  /**\n\t   * J\n\t   */\n\t  J: 74,\n\t  /**\n\t   * K\n\t   */\n\t  K: 75,\n\t  /**\n\t   * L\n\t   */\n\t  L: 76,\n\t  /**\n\t   * M\n\t   */\n\t  M: 77,\n\t  /**\n\t   * N\n\t   */\n\t  N: 78,\n\t  /**\n\t   * O\n\t   */\n\t  O: 79,\n\t  /**\n\t   * P\n\t   */\n\t  P: 80,\n\t  /**\n\t   * Q\n\t   */\n\t  Q: 81,\n\t  /**\n\t   * R\n\t   */\n\t  R: 82,\n\t  /**\n\t   * S\n\t   */\n\t  S: 83,\n\t  /**\n\t   * T\n\t   */\n\t  T: 84,\n\t  /**\n\t   * U\n\t   */\n\t  U: 85,\n\t  /**\n\t   * V\n\t   */\n\t  V: 86,\n\t  /**\n\t   * W\n\t   */\n\t  W: 87,\n\t  /**\n\t   * X\n\t   */\n\t  X: 88,\n\t  /**\n\t   * Y\n\t   */\n\t  Y: 89,\n\t  /**\n\t   * Z\n\t   */\n\t  Z: 90,\n\t  /**\n\t   * META\n\t   */\n\t  META: 91, // WIN_KEY_LEFT\n\t  /**\n\t   * WIN_KEY_RIGHT\n\t   */\n\t  WIN_KEY_RIGHT: 92,\n\t  /**\n\t   * CONTEXT_MENU\n\t   */\n\t  CONTEXT_MENU: 93,\n\t  /**\n\t   * NUM_ZERO\n\t   */\n\t  NUM_ZERO: 96,\n\t  /**\n\t   * NUM_ONE\n\t   */\n\t  NUM_ONE: 97,\n\t  /**\n\t   * NUM_TWO\n\t   */\n\t  NUM_TWO: 98,\n\t  /**\n\t   * NUM_THREE\n\t   */\n\t  NUM_THREE: 99,\n\t  /**\n\t   * NUM_FOUR\n\t   */\n\t  NUM_FOUR: 100,\n\t  /**\n\t   * NUM_FIVE\n\t   */\n\t  NUM_FIVE: 101,\n\t  /**\n\t   * NUM_SIX\n\t   */\n\t  NUM_SIX: 102,\n\t  /**\n\t   * NUM_SEVEN\n\t   */\n\t  NUM_SEVEN: 103,\n\t  /**\n\t   * NUM_EIGHT\n\t   */\n\t  NUM_EIGHT: 104,\n\t  /**\n\t   * NUM_NINE\n\t   */\n\t  NUM_NINE: 105,\n\t  /**\n\t   * NUM_MULTIPLY\n\t   */\n\t  NUM_MULTIPLY: 106,\n\t  /**\n\t   * NUM_PLUS\n\t   */\n\t  NUM_PLUS: 107,\n\t  /**\n\t   * NUM_MINUS\n\t   */\n\t  NUM_MINUS: 109,\n\t  /**\n\t   * NUM_PERIOD\n\t   */\n\t  NUM_PERIOD: 110,\n\t  /**\n\t   * NUM_DIVISION\n\t   */\n\t  NUM_DIVISION: 111,\n\t  /**\n\t   * F1\n\t   */\n\t  F1: 112,\n\t  /**\n\t   * F2\n\t   */\n\t  F2: 113,\n\t  /**\n\t   * F3\n\t   */\n\t  F3: 114,\n\t  /**\n\t   * F4\n\t   */\n\t  F4: 115,\n\t  /**\n\t   * F5\n\t   */\n\t  F5: 116,\n\t  /**\n\t   * F6\n\t   */\n\t  F6: 117,\n\t  /**\n\t   * F7\n\t   */\n\t  F7: 118,\n\t  /**\n\t   * F8\n\t   */\n\t  F8: 119,\n\t  /**\n\t   * F9\n\t   */\n\t  F9: 120,\n\t  /**\n\t   * F10\n\t   */\n\t  F10: 121,\n\t  /**\n\t   * F11\n\t   */\n\t  F11: 122,\n\t  /**\n\t   * F12\n\t   */\n\t  F12: 123,\n\t  /**\n\t   * NUMLOCK\n\t   */\n\t  NUMLOCK: 144,\n\t  /**\n\t   * SEMICOLON\n\t   */\n\t  SEMICOLON: 186, // needs localization\n\t  /**\n\t   * DASH\n\t   */\n\t  DASH: 189, // needs localization\n\t  /**\n\t   * EQUALS\n\t   */\n\t  EQUALS: 187, // needs localization\n\t  /**\n\t   * COMMA\n\t   */\n\t  COMMA: 188, // needs localization\n\t  /**\n\t   * PERIOD\n\t   */\n\t  PERIOD: 190, // needs localization\n\t  /**\n\t   * SLASH\n\t   */\n\t  SLASH: 191, // needs localization\n\t  /**\n\t   * APOSTROPHE\n\t   */\n\t  APOSTROPHE: 192, // needs localization\n\t  /**\n\t   * SINGLE_QUOTE\n\t   */\n\t  SINGLE_QUOTE: 222, // needs localization\n\t  /**\n\t   * OPEN_SQUARE_BRACKET\n\t   */\n\t  OPEN_SQUARE_BRACKET: 219, // needs localization\n\t  /**\n\t   * BACKSLASH\n\t   */\n\t  BACKSLASH: 220, // needs localization\n\t  /**\n\t   * CLOSE_SQUARE_BRACKET\n\t   */\n\t  CLOSE_SQUARE_BRACKET: 221, // needs localization\n\t  /**\n\t   * WIN_KEY\n\t   */\n\t  WIN_KEY: 224,\n\t  /**\n\t   * MAC_FF_META\n\t   */\n\t  MAC_FF_META: 224, // Firefox (Gecko) fires this for the meta key instead of 91\n\t  /**\n\t   * WIN_IME\n\t   */\n\t  WIN_IME: 229\n\t};\n\t\n\t/*\n\t whether text and modified key is entered at the same time.\n\t */\n\tKeyCode.isTextModifyingKeyEvent = function isTextModifyingKeyEvent(e) {\n\t  var keyCode = e.keyCode;\n\t  if (e.altKey && !e.ctrlKey || e.metaKey ||\n\t  // Function keys don't generate text\n\t  keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {\n\t    return false;\n\t  }\n\t\n\t  // The following keys are quite harmless, even in combination with\n\t  // CTRL, ALT or SHIFT.\n\t  switch (keyCode) {\n\t    case KeyCode.ALT:\n\t    case KeyCode.CAPS_LOCK:\n\t    case KeyCode.CONTEXT_MENU:\n\t    case KeyCode.CTRL:\n\t    case KeyCode.DOWN:\n\t    case KeyCode.END:\n\t    case KeyCode.ESC:\n\t    case KeyCode.HOME:\n\t    case KeyCode.INSERT:\n\t    case KeyCode.LEFT:\n\t    case KeyCode.MAC_FF_META:\n\t    case KeyCode.META:\n\t    case KeyCode.NUMLOCK:\n\t    case KeyCode.NUM_CENTER:\n\t    case KeyCode.PAGE_DOWN:\n\t    case KeyCode.PAGE_UP:\n\t    case KeyCode.PAUSE:\n\t    case KeyCode.PRINT_SCREEN:\n\t    case KeyCode.RIGHT:\n\t    case KeyCode.SHIFT:\n\t    case KeyCode.UP:\n\t    case KeyCode.WIN_KEY:\n\t    case KeyCode.WIN_KEY_RIGHT:\n\t      return false;\n\t    default:\n\t      return true;\n\t  }\n\t};\n\t\n\t/*\n\t whether character is entered.\n\t */\n\tKeyCode.isCharacterKey = function isCharacterKey(keyCode) {\n\t  if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n\t    return true;\n\t  }\n\t\n\t  if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n\t    return true;\n\t  }\n\t\n\t  if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n\t    return true;\n\t  }\n\t\n\t  // Safari sends zero key code for non-latin characters.\n\t  if (window.navigation.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n\t    return true;\n\t  }\n\t\n\t  switch (keyCode) {\n\t    case KeyCode.SPACE:\n\t    case KeyCode.QUESTION_MARK:\n\t    case KeyCode.NUM_PLUS:\n\t    case KeyCode.NUM_MINUS:\n\t    case KeyCode.NUM_PERIOD:\n\t    case KeyCode.NUM_DIVISION:\n\t    case KeyCode.SEMICOLON:\n\t    case KeyCode.DASH:\n\t    case KeyCode.EQUALS:\n\t    case KeyCode.COMMA:\n\t    case KeyCode.PERIOD:\n\t    case KeyCode.SLASH:\n\t    case KeyCode.APOSTROPHE:\n\t    case KeyCode.SINGLE_QUOTE:\n\t    case KeyCode.OPEN_SQUARE_BRACKET:\n\t    case KeyCode.BACKSLASH:\n\t    case KeyCode.CLOSE_SQUARE_BRACKET:\n\t      return true;\n\t    default:\n\t      return false;\n\t  }\n\t};\n\t\n\texports['default'] = KeyCode;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 566 */\n/*!***********************************!*\\\n  !*** ../~/rc-slider/lib/Range.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _defineProperty2 = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ 536);\n\t\n\tvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\t\n\tvar _extends2 = __webpack_require__(/*! babel-runtime/helpers/extends */ 446);\n\t\n\tvar _extends3 = _interopRequireDefault(_extends2);\n\t\n\tvar _toConsumableArray2 = __webpack_require__(/*! babel-runtime/helpers/toConsumableArray */ 555);\n\t\n\tvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\t\n\tvar _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ 485);\n\t\n\tvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\t\n\tvar _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ 486);\n\t\n\tvar _createClass3 = _interopRequireDefault(_createClass2);\n\t\n\tvar _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ 490);\n\t\n\tvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\t\n\tvar _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ 524);\n\t\n\tvar _inherits3 = _interopRequireDefault(_inherits2);\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _classnames = __webpack_require__(/*! classnames */ 550);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _shallowequal = __webpack_require__(/*! shallowequal */ 567);\n\t\n\tvar _shallowequal2 = _interopRequireDefault(_shallowequal);\n\t\n\tvar _Track = __webpack_require__(/*! ./common/Track */ 533);\n\t\n\tvar _Track2 = _interopRequireDefault(_Track);\n\t\n\tvar _createSlider = __webpack_require__(/*! ./common/createSlider */ 534);\n\t\n\tvar _createSlider2 = _interopRequireDefault(_createSlider);\n\t\n\tvar _utils = __webpack_require__(/*! ./utils */ 554);\n\t\n\tvar utils = _interopRequireWildcard(_utils);\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar Range = function (_React$Component) {\n\t  (0, _inherits3['default'])(Range, _React$Component);\n\t\n\t  function Range(props) {\n\t    (0, _classCallCheck3['default'])(this, Range);\n\t\n\t    var _this = (0, _possibleConstructorReturn3['default'])(this, (Range.__proto__ || Object.getPrototypeOf(Range)).call(this, props));\n\t\n\t    _this.onEnd = function (force) {\n\t      var handle = _this.state.handle;\n\t\n\t      _this.removeDocumentEvents();\n\t\n\t      if (handle !== null || force) {\n\t        _this.props.onAfterChange(_this.getValue());\n\t      }\n\t\n\t      _this.setState({\n\t        handle: null\n\t      });\n\t    };\n\t\n\t    var count = props.count,\n\t        min = props.min,\n\t        max = props.max;\n\t\n\t    var initialValue = Array.apply(undefined, (0, _toConsumableArray3['default'])(Array(count + 1))).map(function () {\n\t      return min;\n\t    });\n\t    var defaultValue = 'defaultValue' in props ? props.defaultValue : initialValue;\n\t    var value = props.value !== undefined ? props.value : defaultValue;\n\t    var bounds = value.map(function (v, i) {\n\t      return _this.trimAlignValue(v, i);\n\t    });\n\t    var recent = bounds[0] === max ? 0 : bounds.length - 1;\n\t\n\t    _this.state = {\n\t      handle: null,\n\t      recent: recent,\n\t      bounds: bounds\n\t    };\n\t    return _this;\n\t  }\n\t\n\t  (0, _createClass3['default'])(Range, [{\n\t    key: 'componentWillReceiveProps',\n\t    value: function componentWillReceiveProps(nextProps) {\n\t      var _this2 = this;\n\t\n\t      if (!('value' in nextProps || 'min' in nextProps || 'max' in nextProps)) return;\n\t      if (this.props.min === nextProps.min && this.props.max === nextProps.max && (0, _shallowequal2['default'])(this.props.value, nextProps.value)) {\n\t        return;\n\t      }\n\t\n\t      var bounds = this.state.bounds;\n\t\n\t      var value = nextProps.value || bounds;\n\t      var nextBounds = value.map(function (v, i) {\n\t        return _this2.trimAlignValue(v, i, nextProps);\n\t      });\n\t      if (nextBounds.length === bounds.length && nextBounds.every(function (v, i) {\n\t        return v === bounds[i];\n\t      })) return;\n\t\n\t      this.setState({ bounds: nextBounds });\n\t\n\t      if (value.some(function (v) {\n\t        return utils.isValueOutOfRange(v, nextProps);\n\t      })) {\n\t        var newValues = value.map(function (v) {\n\t          return utils.ensureValueInRange(v, nextProps);\n\t        });\n\t        this.props.onChange(newValues);\n\t      }\n\t    }\n\t  }, {\n\t    key: 'onChange',\n\t    value: function onChange(state) {\n\t      var props = this.props;\n\t      var isNotControlled = !('value' in props);\n\t      if (isNotControlled) {\n\t        this.setState(state);\n\t      } else if (state.handle !== undefined) {\n\t        this.setState({ handle: state.handle });\n\t      }\n\t\n\t      var data = (0, _extends3['default'])({}, this.state, state);\n\t      var changedValue = data.bounds;\n\t      props.onChange(changedValue);\n\t    }\n\t  }, {\n\t    key: 'onStart',\n\t    value: function onStart(position) {\n\t      var props = this.props;\n\t      var state = this.state;\n\t      var bounds = this.getValue();\n\t      props.onBeforeChange(bounds);\n\t\n\t      var value = this.calcValueByPos(position);\n\t      this.startValue = value;\n\t      this.startPosition = position;\n\t\n\t      var closestBound = this.getClosestBound(value);\n\t      this.prevMovedHandleIndex = this.getBoundNeedMoving(value, closestBound);\n\t\n\t      this.setState({\n\t        handle: this.prevMovedHandleIndex,\n\t        recent: this.prevMovedHandleIndex\n\t      });\n\t\n\t      var prevValue = bounds[this.prevMovedHandleIndex];\n\t      if (value === prevValue) return;\n\t\n\t      var nextBounds = [].concat((0, _toConsumableArray3['default'])(state.bounds));\n\t      nextBounds[this.prevMovedHandleIndex] = value;\n\t      this.onChange({ bounds: nextBounds });\n\t    }\n\t  }, {\n\t    key: 'onMove',\n\t    value: function onMove(e, position) {\n\t      utils.pauseEvent(e);\n\t      var state = this.state;\n\t\n\t      var value = this.calcValueByPos(position);\n\t      var oldValue = state.bounds[state.handle];\n\t      if (value === oldValue) return;\n\t\n\t      this.moveTo(value);\n\t    }\n\t  }, {\n\t    key: 'onKeyboard',\n\t    value: function onKeyboard(e) {\n\t      var valueMutator = utils.getKeyboardValueMutator(e);\n\t\n\t      if (valueMutator) {\n\t        utils.pauseEvent(e);\n\t        var state = this.state,\n\t            props = this.props;\n\t        var bounds = state.bounds,\n\t            handle = state.handle;\n\t\n\t        var oldValue = bounds[handle === null ? state.recent : handle];\n\t        var mutatedValue = valueMutator(oldValue, props);\n\t        var value = this.trimAlignValue(mutatedValue);\n\t        if (value === oldValue) return;\n\t        var isFromKeyboardEvent = true;\n\t        this.moveTo(value, isFromKeyboardEvent);\n\t      }\n\t    }\n\t  }, {\n\t    key: 'getValue',\n\t    value: function getValue() {\n\t      return this.state.bounds;\n\t    }\n\t  }, {\n\t    key: 'getClosestBound',\n\t    value: function getClosestBound(value) {\n\t      var bounds = this.state.bounds;\n\t\n\t      var closestBound = 0;\n\t      for (var i = 1; i < bounds.length - 1; ++i) {\n\t        if (value > bounds[i]) {\n\t          closestBound = i;\n\t        }\n\t      }\n\t      if (Math.abs(bounds[closestBound + 1] - value) < Math.abs(bounds[closestBound] - value)) {\n\t        closestBound += 1;\n\t      }\n\t      return closestBound;\n\t    }\n\t  }, {\n\t    key: 'getBoundNeedMoving',\n\t    value: function getBoundNeedMoving(value, closestBound) {\n\t      var _state = this.state,\n\t          bounds = _state.bounds,\n\t          recent = _state.recent;\n\t\n\t      var boundNeedMoving = closestBound;\n\t      var isAtTheSamePoint = bounds[closestBound + 1] === bounds[closestBound];\n\t\n\t      if (isAtTheSamePoint && bounds[recent] === bounds[closestBound]) {\n\t        boundNeedMoving = recent;\n\t      }\n\t\n\t      if (isAtTheSamePoint && value !== bounds[closestBound + 1]) {\n\t        boundNeedMoving = value < bounds[closestBound + 1] ? closestBound : closestBound + 1;\n\t      }\n\t      return boundNeedMoving;\n\t    }\n\t  }, {\n\t    key: 'getLowerBound',\n\t    value: function getLowerBound() {\n\t      return this.state.bounds[0];\n\t    }\n\t  }, {\n\t    key: 'getUpperBound',\n\t    value: function getUpperBound() {\n\t      var bounds = this.state.bounds;\n\t\n\t      return bounds[bounds.length - 1];\n\t    }\n\t\n\t    /**\n\t     * Returns an array of possible slider points, taking into account both\n\t     * `marks` and `step`. The result is cached.\n\t     */\n\t\n\t  }, {\n\t    key: 'getPoints',\n\t    value: function getPoints() {\n\t      var _props = this.props,\n\t          marks = _props.marks,\n\t          step = _props.step,\n\t          min = _props.min,\n\t          max = _props.max;\n\t\n\t      var cache = this._getPointsCache;\n\t      if (!cache || cache.marks !== marks || cache.step !== step) {\n\t        var pointsObject = (0, _extends3['default'])({}, marks);\n\t        if (step !== null) {\n\t          for (var point = min; point <= max; point += step) {\n\t            pointsObject[point] = point;\n\t          }\n\t        }\n\t        var points = Object.keys(pointsObject).map(parseFloat);\n\t        points.sort(function (a, b) {\n\t          return a - b;\n\t        });\n\t        this._getPointsCache = { marks: marks, step: step, points: points };\n\t      }\n\t      return this._getPointsCache.points;\n\t    }\n\t  }, {\n\t    key: 'moveTo',\n\t    value: function moveTo(value, isFromKeyboardEvent) {\n\t      var _this3 = this;\n\t\n\t      var state = this.state,\n\t          props = this.props;\n\t\n\t      var nextBounds = [].concat((0, _toConsumableArray3['default'])(state.bounds));\n\t      var handle = state.handle === null ? state.recent : state.handle;\n\t      nextBounds[handle] = value;\n\t      var nextHandle = handle;\n\t      if (props.pushable !== false) {\n\t        this.pushSurroundingHandles(nextBounds, nextHandle);\n\t      } else if (props.allowCross) {\n\t        nextBounds.sort(function (a, b) {\n\t          return a - b;\n\t        });\n\t        nextHandle = nextBounds.indexOf(value);\n\t      }\n\t      this.onChange({\n\t        handle: nextHandle,\n\t        bounds: nextBounds\n\t      });\n\t      if (isFromKeyboardEvent) {\n\t        // known problem: because setState is async,\n\t        // so trigger focus will invoke handler's onEnd and another handler's onStart too early,\n\t        // cause onBeforeChange and onAfterChange receive wrong value.\n\t        // here use setState callback to hack，but not elegant\n\t        this.props.onAfterChange(nextBounds);\n\t        this.setState({}, function () {\n\t          _this3.handlesRefs[nextHandle].focus();\n\t        });\n\t        this.onEnd();\n\t      }\n\t    }\n\t  }, {\n\t    key: 'pushSurroundingHandles',\n\t    value: function pushSurroundingHandles(bounds, handle) {\n\t      var value = bounds[handle];\n\t      var threshold = this.props.pushable;\n\t\n\t      threshold = Number(threshold);\n\t\n\t      var direction = 0;\n\t      if (bounds[handle + 1] - value < threshold) {\n\t        direction = +1; // push to right\n\t      }\n\t      if (value - bounds[handle - 1] < threshold) {\n\t        direction = -1; // push to left\n\t      }\n\t\n\t      if (direction === 0) {\n\t        return;\n\t      }\n\t\n\t      var nextHandle = handle + direction;\n\t      var diffToNext = direction * (bounds[nextHandle] - value);\n\t      if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) {\n\t        // revert to original value if pushing is impossible\n\t        bounds[handle] = bounds[nextHandle] - direction * threshold;\n\t      }\n\t    }\n\t  }, {\n\t    key: 'pushHandle',\n\t    value: function pushHandle(bounds, handle, direction, amount) {\n\t      var originalValue = bounds[handle];\n\t      var currentValue = bounds[handle];\n\t      while (direction * (currentValue - originalValue) < amount) {\n\t        if (!this.pushHandleOnePoint(bounds, handle, direction)) {\n\t          // can't push handle enough to create the needed `amount` gap, so we\n\t          // revert its position to the original value\n\t          bounds[handle] = originalValue;\n\t          return false;\n\t        }\n\t        currentValue = bounds[handle];\n\t      }\n\t      // the handle was pushed enough to create the needed `amount` gap\n\t      return true;\n\t    }\n\t  }, {\n\t    key: 'pushHandleOnePoint',\n\t    value: function pushHandleOnePoint(bounds, handle, direction) {\n\t      var points = this.getPoints();\n\t      var pointIndex = points.indexOf(bounds[handle]);\n\t      var nextPointIndex = pointIndex + direction;\n\t      if (nextPointIndex >= points.length || nextPointIndex < 0) {\n\t        // reached the minimum or maximum available point, can't push anymore\n\t        return false;\n\t      }\n\t      var nextHandle = handle + direction;\n\t      var nextValue = points[nextPointIndex];\n\t      var threshold = this.props.pushable;\n\t\n\t      var diffToNext = direction * (bounds[nextHandle] - nextValue);\n\t      if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) {\n\t        // couldn't push next handle, so we won't push this one either\n\t        return false;\n\t      }\n\t      // push the handle\n\t      bounds[handle] = nextValue;\n\t      return true;\n\t    }\n\t  }, {\n\t    key: 'trimAlignValue',\n\t    value: function trimAlignValue(v, handle) {\n\t      var nextProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\t\n\t      var mergedProps = (0, _extends3['default'])({}, this.props, nextProps);\n\t      var valInRange = utils.ensureValueInRange(v, mergedProps);\n\t      var valNotConflict = this.ensureValueNotConflict(handle, valInRange, mergedProps);\n\t      return utils.ensureValuePrecision(valNotConflict, mergedProps);\n\t    }\n\t  }, {\n\t    key: 'ensureValueNotConflict',\n\t    value: function ensureValueNotConflict(handle, val, _ref) {\n\t      var allowCross = _ref.allowCross,\n\t          thershold = _ref.pushable;\n\t\n\t      var state = this.state || {};\n\t      var bounds = state.bounds;\n\t\n\t      handle = handle === undefined ? state.handle : handle;\n\t      thershold = Number(thershold);\n\t      /* eslint-disable eqeqeq */\n\t      if (!allowCross && handle != null && bounds !== undefined) {\n\t        if (handle > 0 && val <= bounds[handle - 1] + thershold) {\n\t          return bounds[handle - 1] + thershold;\n\t        }\n\t        if (handle < bounds.length - 1 && val >= bounds[handle + 1] - thershold) {\n\t          return bounds[handle + 1] - thershold;\n\t        }\n\t      }\n\t      /* eslint-enable eqeqeq */\n\t      return val;\n\t    }\n\t  }, {\n\t    key: 'render',\n\t    value: function render() {\n\t      var _this4 = this;\n\t\n\t      var _state2 = this.state,\n\t          handle = _state2.handle,\n\t          bounds = _state2.bounds;\n\t      var _props2 = this.props,\n\t          prefixCls = _props2.prefixCls,\n\t          vertical = _props2.vertical,\n\t          included = _props2.included,\n\t          disabled = _props2.disabled,\n\t          min = _props2.min,\n\t          max = _props2.max,\n\t          handleGenerator = _props2.handle,\n\t          trackStyle = _props2.trackStyle,\n\t          handleStyle = _props2.handleStyle,\n\t          tabIndex = _props2.tabIndex;\n\t\n\t\n\t      var offsets = bounds.map(function (v) {\n\t        return _this4.calcOffset(v);\n\t      });\n\t\n\t      var handleClassName = prefixCls + '-handle';\n\t      var handles = bounds.map(function (v, i) {\n\t        var _classNames;\n\t\n\t        var _tabIndex = tabIndex[i] || 0;\n\t        if (disabled || tabIndex[i] === null) {\n\t          _tabIndex = null;\n\t        }\n\t        return handleGenerator({\n\t          className: (0, _classnames2['default'])((_classNames = {}, (0, _defineProperty3['default'])(_classNames, handleClassName, true), (0, _defineProperty3['default'])(_classNames, handleClassName + '-' + (i + 1), true), _classNames)),\n\t          prefixCls: prefixCls,\n\t          vertical: vertical,\n\t          offset: offsets[i],\n\t          value: v,\n\t          dragging: handle === i,\n\t          index: i,\n\t          tabIndex: _tabIndex,\n\t          min: min,\n\t          max: max,\n\t          disabled: disabled,\n\t          style: handleStyle[i],\n\t          ref: function ref(h) {\n\t            return _this4.saveHandle(i, h);\n\t          }\n\t        });\n\t      });\n\t\n\t      var tracks = bounds.slice(0, -1).map(function (_, index) {\n\t        var _classNames2;\n\t\n\t        var i = index + 1;\n\t        var trackClassName = (0, _classnames2['default'])((_classNames2 = {}, (0, _defineProperty3['default'])(_classNames2, prefixCls + '-track', true), (0, _defineProperty3['default'])(_classNames2, prefixCls + '-track-' + i, true), _classNames2));\n\t        return _react2['default'].createElement(_Track2['default'], {\n\t          className: trackClassName,\n\t          vertical: vertical,\n\t          included: included,\n\t          offset: offsets[i - 1],\n\t          length: offsets[i] - offsets[i - 1],\n\t          style: trackStyle[index],\n\t          key: i\n\t        });\n\t      });\n\t\n\t      return { tracks: tracks, handles: handles };\n\t    }\n\t  }]);\n\t  return Range;\n\t}(_react2['default'].Component); /* eslint-disable react/prop-types */\n\t\n\t\n\tRange.displayName = 'Range';\n\tRange.propTypes = {\n\t  defaultValue: _propTypes2['default'].arrayOf(_propTypes2['default'].number),\n\t  value: _propTypes2['default'].arrayOf(_propTypes2['default'].number),\n\t  count: _propTypes2['default'].number,\n\t  pushable: _propTypes2['default'].oneOfType([_propTypes2['default'].bool, _propTypes2['default'].number]),\n\t  allowCross: _propTypes2['default'].bool,\n\t  disabled: _propTypes2['default'].bool,\n\t  tabIndex: _propTypes2['default'].arrayOf(_propTypes2['default'].number),\n\t  min: _propTypes2['default'].number,\n\t  max: _propTypes2['default'].number\n\t};\n\tRange.defaultProps = {\n\t  count: 1,\n\t  allowCross: true,\n\t  pushable: false,\n\t  tabIndex: []\n\t};\n\texports['default'] = (0, _createSlider2['default'])(Range);\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 567 */\n/*!**********************************!*\\\n  !*** ../~/shallowequal/index.js ***!\n  \\**********************************/\n/***/ (function(module, exports) {\n\n\t//\n\t\n\tmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n\t  var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\t\n\t  if (ret !== void 0) {\n\t    return !!ret;\n\t  }\n\t\n\t  if (objA === objB) {\n\t    return true;\n\t  }\n\t\n\t  if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n\t    return false;\n\t  }\n\t\n\t  var keysA = Object.keys(objA);\n\t  var keysB = Object.keys(objB);\n\t\n\t  if (keysA.length !== keysB.length) {\n\t    return false;\n\t  }\n\t\n\t  var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\t\n\t  // Test for A's keys different from B.\n\t  for (var idx = 0; idx < keysA.length; idx++) {\n\t    var key = keysA[idx];\n\t\n\t    if (!bHasOwnProperty(key)) {\n\t      return false;\n\t    }\n\t\n\t    var valueA = objA[key];\n\t    var valueB = objB[key];\n\t\n\t    ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\t\n\t    if (ret === false || (ret === void 0 && valueA !== valueB)) {\n\t      return false;\n\t    }\n\t  }\n\t\n\t  return true;\n\t};\n\n\n/***/ }),\n/* 568 */\n/*!*****************************************************!*\\\n  !*** ../~/rc-slider/lib/createSliderWithTooltip.js ***!\n  \\*****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _objectWithoutProperties2 = __webpack_require__(/*! babel-runtime/helpers/objectWithoutProperties */ 535);\n\t\n\tvar _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);\n\t\n\tvar _defineProperty2 = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ 536);\n\t\n\tvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\t\n\tvar _extends3 = __webpack_require__(/*! babel-runtime/helpers/extends */ 446);\n\t\n\tvar _extends4 = _interopRequireDefault(_extends3);\n\t\n\tvar _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ 485);\n\t\n\tvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\t\n\tvar _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ 486);\n\t\n\tvar _createClass3 = _interopRequireDefault(_createClass2);\n\t\n\tvar _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ 490);\n\t\n\tvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\t\n\tvar _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ 524);\n\t\n\tvar _inherits3 = _interopRequireDefault(_inherits2);\n\t\n\texports['default'] = createSliderWithTooltip;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _rcTooltip = __webpack_require__(/*! rc-tooltip */ 569);\n\t\n\tvar _rcTooltip2 = _interopRequireDefault(_rcTooltip);\n\t\n\tvar _Handle = __webpack_require__(/*! ./Handle */ 553);\n\t\n\tvar _Handle2 = _interopRequireDefault(_Handle);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction createSliderWithTooltip(Component) {\n\t  var _class, _temp;\n\t\n\t  return _temp = _class = function (_React$Component) {\n\t    (0, _inherits3['default'])(ComponentWrapper, _React$Component);\n\t\n\t    function ComponentWrapper(props) {\n\t      (0, _classCallCheck3['default'])(this, ComponentWrapper);\n\t\n\t      var _this = (0, _possibleConstructorReturn3['default'])(this, (ComponentWrapper.__proto__ || Object.getPrototypeOf(ComponentWrapper)).call(this, props));\n\t\n\t      _this.handleTooltipVisibleChange = function (index, visible) {\n\t        _this.setState(function (prevState) {\n\t          return {\n\t            visibles: (0, _extends4['default'])({}, prevState.visibles, (0, _defineProperty3['default'])({}, index, visible))\n\t          };\n\t        });\n\t      };\n\t\n\t      _this.handleWithTooltip = function (_ref) {\n\t        var value = _ref.value,\n\t            dragging = _ref.dragging,\n\t            index = _ref.index,\n\t            disabled = _ref.disabled,\n\t            restProps = (0, _objectWithoutProperties3['default'])(_ref, ['value', 'dragging', 'index', 'disabled']);\n\t        var _this$props = _this.props,\n\t            tipFormatter = _this$props.tipFormatter,\n\t            tipProps = _this$props.tipProps,\n\t            handleStyle = _this$props.handleStyle;\n\t        var _tipProps$prefixCls = tipProps.prefixCls,\n\t            prefixCls = _tipProps$prefixCls === undefined ? 'rc-slider-tooltip' : _tipProps$prefixCls,\n\t            _tipProps$overlay = tipProps.overlay,\n\t            overlay = _tipProps$overlay === undefined ? tipFormatter(value) : _tipProps$overlay,\n\t            _tipProps$placement = tipProps.placement,\n\t            placement = _tipProps$placement === undefined ? 'top' : _tipProps$placement,\n\t            _tipProps$visible = tipProps.visible,\n\t            visible = _tipProps$visible === undefined ? false : _tipProps$visible,\n\t            restTooltipProps = (0, _objectWithoutProperties3['default'])(tipProps, ['prefixCls', 'overlay', 'placement', 'visible']);\n\t\n\t\n\t        var handleStyleWithIndex = void 0;\n\t        if (Array.isArray(handleStyle)) {\n\t          handleStyleWithIndex = handleStyle[index] || handleStyle[0];\n\t        } else {\n\t          handleStyleWithIndex = handleStyle;\n\t        }\n\t\n\t        return _react2['default'].createElement(\n\t          _rcTooltip2['default'],\n\t          (0, _extends4['default'])({}, restTooltipProps, {\n\t            prefixCls: prefixCls,\n\t            overlay: overlay,\n\t            placement: placement,\n\t            visible: !disabled && (_this.state.visibles[index] || dragging) || visible,\n\t            key: index\n\t          }),\n\t          _react2['default'].createElement(_Handle2['default'], (0, _extends4['default'])({}, restProps, {\n\t            style: (0, _extends4['default'])({}, handleStyleWithIndex),\n\t            value: value,\n\t            onMouseEnter: function onMouseEnter() {\n\t              return _this.handleTooltipVisibleChange(index, true);\n\t            },\n\t            onMouseLeave: function onMouseLeave() {\n\t              return _this.handleTooltipVisibleChange(index, false);\n\t            }\n\t          }))\n\t        );\n\t      };\n\t\n\t      _this.state = { visibles: {} };\n\t      return _this;\n\t    }\n\t\n\t    (0, _createClass3['default'])(ComponentWrapper, [{\n\t      key: 'render',\n\t      value: function render() {\n\t        return _react2['default'].createElement(Component, (0, _extends4['default'])({}, this.props, { handle: this.handleWithTooltip }));\n\t      }\n\t    }]);\n\t    return ComponentWrapper;\n\t  }(_react2['default'].Component), _class.propTypes = {\n\t    tipFormatter: _propTypes2['default'].func,\n\t    handleStyle: _propTypes2['default'].oneOfType([_propTypes2['default'].object, _propTypes2['default'].arrayOf(_propTypes2['default'].object)]),\n\t    tipProps: _propTypes2['default'].object\n\t  }, _class.defaultProps = {\n\t    tipFormatter: function tipFormatter(value) {\n\t      return value;\n\t    },\n\t\n\t    handleStyle: [{}],\n\t    tipProps: {}\n\t  }, _temp;\n\t}\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 569 */\n/*!************************************!*\\\n  !*** ../~/rc-tooltip/lib/index.js ***!\n  \\************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _Tooltip = __webpack_require__(/*! ./Tooltip */ 570);\n\t\n\tvar _Tooltip2 = _interopRequireDefault(_Tooltip);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\texports['default'] = _Tooltip2['default'];\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 570 */\n/*!**************************************!*\\\n  !*** ../~/rc-tooltip/lib/Tooltip.js ***!\n  \\**************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends2 = __webpack_require__(/*! babel-runtime/helpers/extends */ 446);\n\t\n\tvar _extends3 = _interopRequireDefault(_extends2);\n\t\n\tvar _objectWithoutProperties2 = __webpack_require__(/*! babel-runtime/helpers/objectWithoutProperties */ 535);\n\t\n\tvar _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);\n\t\n\tvar _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ 485);\n\t\n\tvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\t\n\tvar _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ 490);\n\t\n\tvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\t\n\tvar _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ 524);\n\t\n\tvar _inherits3 = _interopRequireDefault(_inherits2);\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _rcTrigger = __webpack_require__(/*! rc-trigger */ 571);\n\t\n\tvar _rcTrigger2 = _interopRequireDefault(_rcTrigger);\n\t\n\tvar _placements = __webpack_require__(/*! ./placements */ 603);\n\t\n\tvar _Content = __webpack_require__(/*! ./Content */ 604);\n\t\n\tvar _Content2 = _interopRequireDefault(_Content);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar Tooltip = function (_Component) {\n\t  (0, _inherits3['default'])(Tooltip, _Component);\n\t\n\t  function Tooltip() {\n\t    var _temp, _this, _ret;\n\t\n\t    (0, _classCallCheck3['default'])(this, Tooltip);\n\t\n\t    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t      args[_key] = arguments[_key];\n\t    }\n\t\n\t    return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.getPopupElement = function () {\n\t      var _this$props = _this.props,\n\t          arrowContent = _this$props.arrowContent,\n\t          overlay = _this$props.overlay,\n\t          prefixCls = _this$props.prefixCls,\n\t          id = _this$props.id;\n\t\n\t      return [_react2['default'].createElement(\n\t        'div',\n\t        { className: prefixCls + '-arrow', key: 'arrow' },\n\t        arrowContent\n\t      ), _react2['default'].createElement(_Content2['default'], {\n\t        key: 'content',\n\t        trigger: _this.trigger,\n\t        prefixCls: prefixCls,\n\t        id: id,\n\t        overlay: overlay\n\t      })];\n\t    }, _this.saveTrigger = function (node) {\n\t      _this.trigger = node;\n\t    }, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);\n\t  }\n\t\n\t  Tooltip.prototype.getPopupDomNode = function getPopupDomNode() {\n\t    return this.trigger.getPopupDomNode();\n\t  };\n\t\n\t  Tooltip.prototype.render = function render() {\n\t    var _props = this.props,\n\t        overlayClassName = _props.overlayClassName,\n\t        trigger = _props.trigger,\n\t        mouseEnterDelay = _props.mouseEnterDelay,\n\t        mouseLeaveDelay = _props.mouseLeaveDelay,\n\t        overlayStyle = _props.overlayStyle,\n\t        prefixCls = _props.prefixCls,\n\t        children = _props.children,\n\t        onVisibleChange = _props.onVisibleChange,\n\t        afterVisibleChange = _props.afterVisibleChange,\n\t        transitionName = _props.transitionName,\n\t        animation = _props.animation,\n\t        placement = _props.placement,\n\t        align = _props.align,\n\t        destroyTooltipOnHide = _props.destroyTooltipOnHide,\n\t        defaultVisible = _props.defaultVisible,\n\t        getTooltipContainer = _props.getTooltipContainer,\n\t        restProps = (0, _objectWithoutProperties3['default'])(_props, ['overlayClassName', 'trigger', 'mouseEnterDelay', 'mouseLeaveDelay', 'overlayStyle', 'prefixCls', 'children', 'onVisibleChange', 'afterVisibleChange', 'transitionName', 'animation', 'placement', 'align', 'destroyTooltipOnHide', 'defaultVisible', 'getTooltipContainer']);\n\t\n\t    var extraProps = (0, _extends3['default'])({}, restProps);\n\t    if ('visible' in this.props) {\n\t      extraProps.popupVisible = this.props.visible;\n\t    }\n\t    return _react2['default'].createElement(\n\t      _rcTrigger2['default'],\n\t      (0, _extends3['default'])({\n\t        popupClassName: overlayClassName,\n\t        ref: this.saveTrigger,\n\t        prefixCls: prefixCls,\n\t        popup: this.getPopupElement,\n\t        action: trigger,\n\t        builtinPlacements: _placements.placements,\n\t        popupPlacement: placement,\n\t        popupAlign: align,\n\t        getPopupContainer: getTooltipContainer,\n\t        onPopupVisibleChange: onVisibleChange,\n\t        afterPopupVisibleChange: afterVisibleChange,\n\t        popupTransitionName: transitionName,\n\t        popupAnimation: animation,\n\t        defaultPopupVisible: defaultVisible,\n\t        destroyPopupOnHide: destroyTooltipOnHide,\n\t        mouseLeaveDelay: mouseLeaveDelay,\n\t        popupStyle: overlayStyle,\n\t        mouseEnterDelay: mouseEnterDelay\n\t      }, extraProps),\n\t      children\n\t    );\n\t  };\n\t\n\t  return Tooltip;\n\t}(_react.Component);\n\t\n\tTooltip.propTypes = {\n\t  trigger: _propTypes2['default'].any,\n\t  children: _propTypes2['default'].any,\n\t  defaultVisible: _propTypes2['default'].bool,\n\t  visible: _propTypes2['default'].bool,\n\t  placement: _propTypes2['default'].string,\n\t  transitionName: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].object]),\n\t  animation: _propTypes2['default'].any,\n\t  onVisibleChange: _propTypes2['default'].func,\n\t  afterVisibleChange: _propTypes2['default'].func,\n\t  overlay: _propTypes2['default'].oneOfType([_propTypes2['default'].node, _propTypes2['default'].func]).isRequired,\n\t  overlayStyle: _propTypes2['default'].object,\n\t  overlayClassName: _propTypes2['default'].string,\n\t  prefixCls: _propTypes2['default'].string,\n\t  mouseEnterDelay: _propTypes2['default'].number,\n\t  mouseLeaveDelay: _propTypes2['default'].number,\n\t  getTooltipContainer: _propTypes2['default'].func,\n\t  destroyTooltipOnHide: _propTypes2['default'].bool,\n\t  align: _propTypes2['default'].object,\n\t  arrowContent: _propTypes2['default'].any,\n\t  id: _propTypes2['default'].string\n\t};\n\tTooltip.defaultProps = {\n\t  prefixCls: 'rc-tooltip',\n\t  mouseEnterDelay: 0,\n\t  destroyTooltipOnHide: false,\n\t  mouseLeaveDelay: 0.1,\n\t  align: {},\n\t  placement: 'right',\n\t  trigger: ['hover'],\n\t  arrowContent: null\n\t};\n\texports['default'] = Tooltip;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 571 */\n/*!************************************!*\\\n  !*** ../~/rc-trigger/lib/index.js ***!\n  \\************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends2 = __webpack_require__(/*! babel-runtime/helpers/extends */ 446);\n\t\n\tvar _extends3 = _interopRequireDefault(_extends2);\n\t\n\tvar _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ 485);\n\t\n\tvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\t\n\tvar _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ 490);\n\t\n\tvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\t\n\tvar _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ 524);\n\t\n\tvar _inherits3 = _interopRequireDefault(_inherits2);\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _reactDom = __webpack_require__(/*! react-dom */ 549);\n\t\n\tvar _contains = __webpack_require__(/*! rc-util/lib/Dom/contains */ 572);\n\t\n\tvar _contains2 = _interopRequireDefault(_contains);\n\t\n\tvar _addEventListener = __webpack_require__(/*! rc-util/lib/Dom/addEventListener */ 545);\n\t\n\tvar _addEventListener2 = _interopRequireDefault(_addEventListener);\n\t\n\tvar _ContainerRender = __webpack_require__(/*! rc-util/lib/ContainerRender */ 573);\n\t\n\tvar _ContainerRender2 = _interopRequireDefault(_ContainerRender);\n\t\n\tvar _Portal = __webpack_require__(/*! rc-util/lib/Portal */ 574);\n\t\n\tvar _Portal2 = _interopRequireDefault(_Portal);\n\t\n\tvar _classnames = __webpack_require__(/*! classnames */ 550);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _utils = __webpack_require__(/*! ./utils */ 575);\n\t\n\tvar _Popup = __webpack_require__(/*! ./Popup */ 576);\n\t\n\tvar _Popup2 = _interopRequireDefault(_Popup);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction noop() {}\n\t\n\tfunction returnEmptyString() {\n\t  return '';\n\t}\n\t\n\tfunction returnDocument() {\n\t  return window.document;\n\t}\n\t\n\tvar ALL_HANDLERS = ['onClick', 'onMouseDown', 'onTouchStart', 'onMouseEnter', 'onMouseLeave', 'onFocus', 'onBlur', 'onContextMenu'];\n\t\n\tvar IS_REACT_16 = !!_reactDom.createPortal;\n\t\n\tvar contextTypes = {\n\t  rcTrigger: _propTypes2['default'].shape({\n\t    onPopupMouseDown: _propTypes2['default'].func\n\t  })\n\t};\n\t\n\tvar Trigger = function (_React$Component) {\n\t  (0, _inherits3['default'])(Trigger, _React$Component);\n\t\n\t  function Trigger(props) {\n\t    (0, _classCallCheck3['default'])(this, Trigger);\n\t\n\t    var _this = (0, _possibleConstructorReturn3['default'])(this, _React$Component.call(this, props));\n\t\n\t    _initialiseProps.call(_this);\n\t\n\t    var popupVisible = void 0;\n\t    if ('popupVisible' in props) {\n\t      popupVisible = !!props.popupVisible;\n\t    } else {\n\t      popupVisible = !!props.defaultPopupVisible;\n\t    }\n\t\n\t    _this.prevPopupVisible = popupVisible;\n\t\n\t    _this.state = {\n\t      popupVisible: popupVisible\n\t    };\n\t    return _this;\n\t  }\n\t\n\t  Trigger.prototype.getChildContext = function getChildContext() {\n\t    return {\n\t      rcTrigger: {\n\t        onPopupMouseDown: this.onPopupMouseDown\n\t      }\n\t    };\n\t  };\n\t\n\t  Trigger.prototype.componentWillMount = function componentWillMount() {\n\t    var _this2 = this;\n\t\n\t    ALL_HANDLERS.forEach(function (h) {\n\t      _this2['fire' + h] = function (e) {\n\t        _this2.fireEvents(h, e);\n\t      };\n\t    });\n\t  };\n\t\n\t  Trigger.prototype.componentDidMount = function componentDidMount() {\n\t    this.componentDidUpdate({}, {\n\t      popupVisible: this.state.popupVisible\n\t    });\n\t  };\n\t\n\t  Trigger.prototype.componentWillReceiveProps = function componentWillReceiveProps(_ref) {\n\t    var popupVisible = _ref.popupVisible;\n\t\n\t    if (popupVisible !== undefined) {\n\t      this.setState({\n\t        popupVisible: popupVisible\n\t      });\n\t    }\n\t  };\n\t\n\t  Trigger.prototype.componentDidUpdate = function componentDidUpdate(_, prevState) {\n\t    var props = this.props;\n\t    var state = this.state;\n\t    var triggerAfterPopupVisibleChange = function triggerAfterPopupVisibleChange() {\n\t      if (prevState.popupVisible !== state.popupVisible) {\n\t        props.afterPopupVisibleChange(state.popupVisible);\n\t      }\n\t    };\n\t    if (!IS_REACT_16) {\n\t      this.renderComponent(null, triggerAfterPopupVisibleChange);\n\t    }\n\t\n\t    this.prevPopupVisible = prevState.popupVisible;\n\t\n\t    // We must listen to `mousedown` or `touchstart`, edge case:\n\t    // https://github.com/ant-design/ant-design/issues/5804\n\t    // https://github.com/react-component/calendar/issues/250\n\t    // https://github.com/react-component/trigger/issues/50\n\t    if (state.popupVisible) {\n\t      var currentDocument = void 0;\n\t      if (!this.clickOutsideHandler && (this.isClickToHide() || this.isContextMenuToShow())) {\n\t        currentDocument = props.getDocument();\n\t        this.clickOutsideHandler = (0, _addEventListener2['default'])(currentDocument, 'mousedown', this.onDocumentClick);\n\t      }\n\t      // always hide on mobile\n\t      if (!this.touchOutsideHandler) {\n\t        currentDocument = currentDocument || props.getDocument();\n\t        this.touchOutsideHandler = (0, _addEventListener2['default'])(currentDocument, 'touchstart', this.onDocumentClick);\n\t      }\n\t      // close popup when trigger type contains 'onContextMenu' and document is scrolling.\n\t      if (!this.contextMenuOutsideHandler1 && this.isContextMenuToShow()) {\n\t        currentDocument = currentDocument || props.getDocument();\n\t        this.contextMenuOutsideHandler1 = (0, _addEventListener2['default'])(currentDocument, 'scroll', this.onContextMenuClose);\n\t      }\n\t      // close popup when trigger type contains 'onContextMenu' and window is blur.\n\t      if (!this.contextMenuOutsideHandler2 && this.isContextMenuToShow()) {\n\t        this.contextMenuOutsideHandler2 = (0, _addEventListener2['default'])(window, 'blur', this.onContextMenuClose);\n\t      }\n\t      return;\n\t    }\n\t\n\t    this.clearOutsideHandler();\n\t  };\n\t\n\t  Trigger.prototype.componentWillUnmount = function componentWillUnmount() {\n\t    this.clearDelayTimer();\n\t    this.clearOutsideHandler();\n\t    clearTimeout(this.mouseDownTimeout);\n\t  };\n\t\n\t  Trigger.prototype.getPopupDomNode = function getPopupDomNode() {\n\t    // for test\n\t    if (this._component && this._component.getPopupDomNode) {\n\t      return this._component.getPopupDomNode();\n\t    }\n\t    return null;\n\t  };\n\t\n\t  Trigger.prototype.getPopupAlign = function getPopupAlign() {\n\t    var props = this.props;\n\t    var popupPlacement = props.popupPlacement,\n\t        popupAlign = props.popupAlign,\n\t        builtinPlacements = props.builtinPlacements;\n\t\n\t    if (popupPlacement && builtinPlacements) {\n\t      return (0, _utils.getAlignFromPlacement)(builtinPlacements, popupPlacement, popupAlign);\n\t    }\n\t    return popupAlign;\n\t  };\n\t\n\t  /**\n\t   * @param popupVisible    Show or not the popup element\n\t   * @param event           SyntheticEvent, used for `pointAlign`\n\t   */\n\t  Trigger.prototype.setPopupVisible = function setPopupVisible(popupVisible, event) {\n\t    var alignPoint = this.props.alignPoint;\n\t\n\t\n\t    this.clearDelayTimer();\n\t\n\t    if (this.state.popupVisible !== popupVisible) {\n\t      if (!('popupVisible' in this.props)) {\n\t        this.setState({ popupVisible: popupVisible });\n\t      }\n\t      this.props.onPopupVisibleChange(popupVisible);\n\t    }\n\t\n\t    // Always record the point position since mouseEnterDelay will delay the show\n\t    if (alignPoint && event) {\n\t      this.setPoint(event);\n\t    }\n\t  };\n\t\n\t  Trigger.prototype.delaySetPopupVisible = function delaySetPopupVisible(visible, delayS, event) {\n\t    var _this3 = this;\n\t\n\t    var delay = delayS * 1000;\n\t    this.clearDelayTimer();\n\t    if (delay) {\n\t      var point = event ? { pageX: event.pageX, pageY: event.pageY } : null;\n\t      this.delayTimer = setTimeout(function () {\n\t        _this3.setPopupVisible(visible, point);\n\t        _this3.clearDelayTimer();\n\t      }, delay);\n\t    } else {\n\t      this.setPopupVisible(visible, event);\n\t    }\n\t  };\n\t\n\t  Trigger.prototype.clearDelayTimer = function clearDelayTimer() {\n\t    if (this.delayTimer) {\n\t      clearTimeout(this.delayTimer);\n\t      this.delayTimer = null;\n\t    }\n\t  };\n\t\n\t  Trigger.prototype.clearOutsideHandler = function clearOutsideHandler() {\n\t    if (this.clickOutsideHandler) {\n\t      this.clickOutsideHandler.remove();\n\t      this.clickOutsideHandler = null;\n\t    }\n\t\n\t    if (this.contextMenuOutsideHandler1) {\n\t      this.contextMenuOutsideHandler1.remove();\n\t      this.contextMenuOutsideHandler1 = null;\n\t    }\n\t\n\t    if (this.contextMenuOutsideHandler2) {\n\t      this.contextMenuOutsideHandler2.remove();\n\t      this.contextMenuOutsideHandler2 = null;\n\t    }\n\t\n\t    if (this.touchOutsideHandler) {\n\t      this.touchOutsideHandler.remove();\n\t      this.touchOutsideHandler = null;\n\t    }\n\t  };\n\t\n\t  Trigger.prototype.createTwoChains = function createTwoChains(event) {\n\t    var childPros = this.props.children.props;\n\t    var props = this.props;\n\t    if (childPros[event] && props[event]) {\n\t      return this['fire' + event];\n\t    }\n\t    return childPros[event] || props[event];\n\t  };\n\t\n\t  Trigger.prototype.isClickToShow = function isClickToShow() {\n\t    var _props = this.props,\n\t        action = _props.action,\n\t        showAction = _props.showAction;\n\t\n\t    return action.indexOf('click') !== -1 || showAction.indexOf('click') !== -1;\n\t  };\n\t\n\t  Trigger.prototype.isContextMenuToShow = function isContextMenuToShow() {\n\t    var _props2 = this.props,\n\t        action = _props2.action,\n\t        showAction = _props2.showAction;\n\t\n\t    return action.indexOf('contextMenu') !== -1 || showAction.indexOf('contextMenu') !== -1;\n\t  };\n\t\n\t  Trigger.prototype.isClickToHide = function isClickToHide() {\n\t    var _props3 = this.props,\n\t        action = _props3.action,\n\t        hideAction = _props3.hideAction;\n\t\n\t    return action.indexOf('click') !== -1 || hideAction.indexOf('click') !== -1;\n\t  };\n\t\n\t  Trigger.prototype.isMouseEnterToShow = function isMouseEnterToShow() {\n\t    var _props4 = this.props,\n\t        action = _props4.action,\n\t        showAction = _props4.showAction;\n\t\n\t    return action.indexOf('hover') !== -1 || showAction.indexOf('mouseEnter') !== -1;\n\t  };\n\t\n\t  Trigger.prototype.isMouseLeaveToHide = function isMouseLeaveToHide() {\n\t    var _props5 = this.props,\n\t        action = _props5.action,\n\t        hideAction = _props5.hideAction;\n\t\n\t    return action.indexOf('hover') !== -1 || hideAction.indexOf('mouseLeave') !== -1;\n\t  };\n\t\n\t  Trigger.prototype.isFocusToShow = function isFocusToShow() {\n\t    var _props6 = this.props,\n\t        action = _props6.action,\n\t        showAction = _props6.showAction;\n\t\n\t    return action.indexOf('focus') !== -1 || showAction.indexOf('focus') !== -1;\n\t  };\n\t\n\t  Trigger.prototype.isBlurToHide = function isBlurToHide() {\n\t    var _props7 = this.props,\n\t        action = _props7.action,\n\t        hideAction = _props7.hideAction;\n\t\n\t    return action.indexOf('focus') !== -1 || hideAction.indexOf('blur') !== -1;\n\t  };\n\t\n\t  Trigger.prototype.forcePopupAlign = function forcePopupAlign() {\n\t    if (this.state.popupVisible && this._component && this._component.alignInstance) {\n\t      this._component.alignInstance.forceAlign();\n\t    }\n\t  };\n\t\n\t  Trigger.prototype.fireEvents = function fireEvents(type, e) {\n\t    var childCallback = this.props.children.props[type];\n\t    if (childCallback) {\n\t      childCallback(e);\n\t    }\n\t    var callback = this.props[type];\n\t    if (callback) {\n\t      callback(e);\n\t    }\n\t  };\n\t\n\t  Trigger.prototype.close = function close() {\n\t    this.setPopupVisible(false);\n\t  };\n\t\n\t  Trigger.prototype.render = function render() {\n\t    var _this4 = this;\n\t\n\t    var popupVisible = this.state.popupVisible;\n\t    var _props8 = this.props,\n\t        children = _props8.children,\n\t        forceRender = _props8.forceRender,\n\t        alignPoint = _props8.alignPoint,\n\t        className = _props8.className;\n\t\n\t    var child = _react2['default'].Children.only(children);\n\t    var newChildProps = { key: 'trigger' };\n\t\n\t    if (this.isContextMenuToShow()) {\n\t      newChildProps.onContextMenu = this.onContextMenu;\n\t    } else {\n\t      newChildProps.onContextMenu = this.createTwoChains('onContextMenu');\n\t    }\n\t\n\t    if (this.isClickToHide() || this.isClickToShow()) {\n\t      newChildProps.onClick = this.onClick;\n\t      newChildProps.onMouseDown = this.onMouseDown;\n\t      newChildProps.onTouchStart = this.onTouchStart;\n\t    } else {\n\t      newChildProps.onClick = this.createTwoChains('onClick');\n\t      newChildProps.onMouseDown = this.createTwoChains('onMouseDown');\n\t      newChildProps.onTouchStart = this.createTwoChains('onTouchStart');\n\t    }\n\t    if (this.isMouseEnterToShow()) {\n\t      newChildProps.onMouseEnter = this.onMouseEnter;\n\t      if (alignPoint) {\n\t        newChildProps.onMouseMove = this.onMouseMove;\n\t      }\n\t    } else {\n\t      newChildProps.onMouseEnter = this.createTwoChains('onMouseEnter');\n\t    }\n\t    if (this.isMouseLeaveToHide()) {\n\t      newChildProps.onMouseLeave = this.onMouseLeave;\n\t    } else {\n\t      newChildProps.onMouseLeave = this.createTwoChains('onMouseLeave');\n\t    }\n\t    if (this.isFocusToShow() || this.isBlurToHide()) {\n\t      newChildProps.onFocus = this.onFocus;\n\t      newChildProps.onBlur = this.onBlur;\n\t    } else {\n\t      newChildProps.onFocus = this.createTwoChains('onFocus');\n\t      newChildProps.onBlur = this.createTwoChains('onBlur');\n\t    }\n\t\n\t    var childrenClassName = (0, _classnames2['default'])(child && child.props && child.props.className, className);\n\t    if (childrenClassName) {\n\t      newChildProps.className = childrenClassName;\n\t    }\n\t    var trigger = _react2['default'].cloneElement(child, newChildProps);\n\t\n\t    if (!IS_REACT_16) {\n\t      return _react2['default'].createElement(\n\t        _ContainerRender2['default'],\n\t        {\n\t          parent: this,\n\t          visible: popupVisible,\n\t          autoMount: false,\n\t          forceRender: forceRender,\n\t          getComponent: this.getComponent,\n\t          getContainer: this.getContainer\n\t        },\n\t        function (_ref2) {\n\t          var renderComponent = _ref2.renderComponent;\n\t\n\t          _this4.renderComponent = renderComponent;\n\t          return trigger;\n\t        }\n\t      );\n\t    }\n\t\n\t    var portal = void 0;\n\t    // prevent unmounting after it's rendered\n\t    if (popupVisible || this._component || forceRender) {\n\t      portal = _react2['default'].createElement(\n\t        _Portal2['default'],\n\t        {\n\t          key: 'portal',\n\t          getContainer: this.getContainer,\n\t          didUpdate: this.handlePortalUpdate\n\t        },\n\t        this.getComponent()\n\t      );\n\t    }\n\t\n\t    return [trigger, portal];\n\t  };\n\t\n\t  return Trigger;\n\t}(_react2['default'].Component);\n\t\n\tTrigger.propTypes = {\n\t  children: _propTypes2['default'].any,\n\t  action: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].arrayOf(_propTypes2['default'].string)]),\n\t  showAction: _propTypes2['default'].any,\n\t  hideAction: _propTypes2['default'].any,\n\t  getPopupClassNameFromAlign: _propTypes2['default'].any,\n\t  onPopupVisibleChange: _propTypes2['default'].func,\n\t  afterPopupVisibleChange: _propTypes2['default'].func,\n\t  popup: _propTypes2['default'].oneOfType([_propTypes2['default'].node, _propTypes2['default'].func]).isRequired,\n\t  popupStyle: _propTypes2['default'].object,\n\t  prefixCls: _propTypes2['default'].string,\n\t  popupClassName: _propTypes2['default'].string,\n\t  className: _propTypes2['default'].string,\n\t  popupPlacement: _propTypes2['default'].string,\n\t  builtinPlacements: _propTypes2['default'].object,\n\t  popupTransitionName: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].object]),\n\t  popupAnimation: _propTypes2['default'].any,\n\t  mouseEnterDelay: _propTypes2['default'].number,\n\t  mouseLeaveDelay: _propTypes2['default'].number,\n\t  zIndex: _propTypes2['default'].number,\n\t  focusDelay: _propTypes2['default'].number,\n\t  blurDelay: _propTypes2['default'].number,\n\t  getPopupContainer: _propTypes2['default'].func,\n\t  getDocument: _propTypes2['default'].func,\n\t  forceRender: _propTypes2['default'].bool,\n\t  destroyPopupOnHide: _propTypes2['default'].bool,\n\t  mask: _propTypes2['default'].bool,\n\t  maskClosable: _propTypes2['default'].bool,\n\t  onPopupAlign: _propTypes2['default'].func,\n\t  popupAlign: _propTypes2['default'].object,\n\t  popupVisible: _propTypes2['default'].bool,\n\t  defaultPopupVisible: _propTypes2['default'].bool,\n\t  maskTransitionName: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].object]),\n\t  maskAnimation: _propTypes2['default'].string,\n\t  stretch: _propTypes2['default'].string,\n\t  alignPoint: _propTypes2['default'].bool // Maybe we can support user pass position in the future\n\t};\n\tTrigger.contextTypes = contextTypes;\n\tTrigger.childContextTypes = contextTypes;\n\tTrigger.defaultProps = {\n\t  prefixCls: 'rc-trigger-popup',\n\t  getPopupClassNameFromAlign: returnEmptyString,\n\t  getDocument: returnDocument,\n\t  onPopupVisibleChange: noop,\n\t  afterPopupVisibleChange: noop,\n\t  onPopupAlign: noop,\n\t  popupClassName: '',\n\t  mouseEnterDelay: 0,\n\t  mouseLeaveDelay: 0.1,\n\t  focusDelay: 0,\n\t  blurDelay: 0.15,\n\t  popupStyle: {},\n\t  destroyPopupOnHide: false,\n\t  popupAlign: {},\n\t  defaultPopupVisible: false,\n\t  mask: false,\n\t  maskClosable: true,\n\t  action: [],\n\t  showAction: [],\n\t  hideAction: []\n\t};\n\t\n\tvar _initialiseProps = function _initialiseProps() {\n\t  var _this5 = this;\n\t\n\t  this.onMouseEnter = function (e) {\n\t    var mouseEnterDelay = _this5.props.mouseEnterDelay;\n\t\n\t    _this5.fireEvents('onMouseEnter', e);\n\t    _this5.delaySetPopupVisible(true, mouseEnterDelay, mouseEnterDelay ? null : e);\n\t  };\n\t\n\t  this.onMouseMove = function (e) {\n\t    _this5.fireEvents('onMouseMove', e);\n\t    _this5.setPoint(e);\n\t  };\n\t\n\t  this.onMouseLeave = function (e) {\n\t    _this5.fireEvents('onMouseLeave', e);\n\t    _this5.delaySetPopupVisible(false, _this5.props.mouseLeaveDelay);\n\t  };\n\t\n\t  this.onPopupMouseEnter = function () {\n\t    _this5.clearDelayTimer();\n\t  };\n\t\n\t  this.onPopupMouseLeave = function (e) {\n\t    // https://github.com/react-component/trigger/pull/13\n\t    // react bug?\n\t    if (e.relatedTarget && !e.relatedTarget.setTimeout && _this5._component && _this5._component.getPopupDomNode && (0, _contains2['default'])(_this5._component.getPopupDomNode(), e.relatedTarget)) {\n\t      return;\n\t    }\n\t    _this5.delaySetPopupVisible(false, _this5.props.mouseLeaveDelay);\n\t  };\n\t\n\t  this.onFocus = function (e) {\n\t    _this5.fireEvents('onFocus', e);\n\t    // incase focusin and focusout\n\t    _this5.clearDelayTimer();\n\t    if (_this5.isFocusToShow()) {\n\t      _this5.focusTime = Date.now();\n\t      _this5.delaySetPopupVisible(true, _this5.props.focusDelay);\n\t    }\n\t  };\n\t\n\t  this.onMouseDown = function (e) {\n\t    _this5.fireEvents('onMouseDown', e);\n\t    _this5.preClickTime = Date.now();\n\t  };\n\t\n\t  this.onTouchStart = function (e) {\n\t    _this5.fireEvents('onTouchStart', e);\n\t    _this5.preTouchTime = Date.now();\n\t  };\n\t\n\t  this.onBlur = function (e) {\n\t    _this5.fireEvents('onBlur', e);\n\t    _this5.clearDelayTimer();\n\t    if (_this5.isBlurToHide()) {\n\t      _this5.delaySetPopupVisible(false, _this5.props.blurDelay);\n\t    }\n\t  };\n\t\n\t  this.onContextMenu = function (e) {\n\t    e.preventDefault();\n\t    _this5.fireEvents('onContextMenu', e);\n\t    _this5.setPopupVisible(true, e);\n\t  };\n\t\n\t  this.onContextMenuClose = function () {\n\t    if (_this5.isContextMenuToShow()) {\n\t      _this5.close();\n\t    }\n\t  };\n\t\n\t  this.onClick = function (event) {\n\t    _this5.fireEvents('onClick', event);\n\t    // focus will trigger click\n\t    if (_this5.focusTime) {\n\t      var preTime = void 0;\n\t      if (_this5.preClickTime && _this5.preTouchTime) {\n\t        preTime = Math.min(_this5.preClickTime, _this5.preTouchTime);\n\t      } else if (_this5.preClickTime) {\n\t        preTime = _this5.preClickTime;\n\t      } else if (_this5.preTouchTime) {\n\t        preTime = _this5.preTouchTime;\n\t      }\n\t      if (Math.abs(preTime - _this5.focusTime) < 20) {\n\t        return;\n\t      }\n\t      _this5.focusTime = 0;\n\t    }\n\t    _this5.preClickTime = 0;\n\t    _this5.preTouchTime = 0;\n\t    if (event && event.preventDefault) {\n\t      event.preventDefault();\n\t    }\n\t    var nextVisible = !_this5.state.popupVisible;\n\t    if (_this5.isClickToHide() && !nextVisible || nextVisible && _this5.isClickToShow()) {\n\t      _this5.setPopupVisible(!_this5.state.popupVisible, event);\n\t    }\n\t  };\n\t\n\t  this.onPopupMouseDown = function () {\n\t    var _context$rcTrigger = _this5.context.rcTrigger,\n\t        rcTrigger = _context$rcTrigger === undefined ? {} : _context$rcTrigger;\n\t\n\t    _this5.hasPopupMouseDown = true;\n\t\n\t    clearTimeout(_this5.mouseDownTimeout);\n\t    _this5.mouseDownTimeout = setTimeout(function () {\n\t      _this5.hasPopupMouseDown = false;\n\t    }, 0);\n\t\n\t    if (rcTrigger.onPopupMouseDown) {\n\t      rcTrigger.onPopupMouseDown.apply(rcTrigger, arguments);\n\t    }\n\t  };\n\t\n\t  this.onDocumentClick = function (event) {\n\t    if (_this5.props.mask && !_this5.props.maskClosable) {\n\t      return;\n\t    }\n\t\n\t    var target = event.target;\n\t    var root = (0, _reactDom.findDOMNode)(_this5);\n\t    if (!(0, _contains2['default'])(root, target) && !_this5.hasPopupMouseDown) {\n\t      _this5.close();\n\t    }\n\t  };\n\t\n\t  this.getRootDomNode = function () {\n\t    return (0, _reactDom.findDOMNode)(_this5);\n\t  };\n\t\n\t  this.getPopupClassNameFromAlign = function (align) {\n\t    var className = [];\n\t    var _props9 = _this5.props,\n\t        popupPlacement = _props9.popupPlacement,\n\t        builtinPlacements = _props9.builtinPlacements,\n\t        prefixCls = _props9.prefixCls,\n\t        alignPoint = _props9.alignPoint,\n\t        getPopupClassNameFromAlign = _props9.getPopupClassNameFromAlign;\n\t\n\t    if (popupPlacement && builtinPlacements) {\n\t      className.push((0, _utils.getAlignPopupClassName)(builtinPlacements, prefixCls, align, alignPoint));\n\t    }\n\t    if (getPopupClassNameFromAlign) {\n\t      className.push(getPopupClassNameFromAlign(align));\n\t    }\n\t    return className.join(' ');\n\t  };\n\t\n\t  this.getComponent = function () {\n\t    var _props10 = _this5.props,\n\t        prefixCls = _props10.prefixCls,\n\t        destroyPopupOnHide = _props10.destroyPopupOnHide,\n\t        popupClassName = _props10.popupClassName,\n\t        action = _props10.action,\n\t        onPopupAlign = _props10.onPopupAlign,\n\t        popupAnimation = _props10.popupAnimation,\n\t        popupTransitionName = _props10.popupTransitionName,\n\t        popupStyle = _props10.popupStyle,\n\t        mask = _props10.mask,\n\t        maskAnimation = _props10.maskAnimation,\n\t        maskTransitionName = _props10.maskTransitionName,\n\t        zIndex = _props10.zIndex,\n\t        popup = _props10.popup,\n\t        stretch = _props10.stretch,\n\t        alignPoint = _props10.alignPoint;\n\t    var _state = _this5.state,\n\t        popupVisible = _state.popupVisible,\n\t        point = _state.point;\n\t\n\t\n\t    var align = _this5.getPopupAlign();\n\t\n\t    var mouseProps = {};\n\t    if (_this5.isMouseEnterToShow()) {\n\t      mouseProps.onMouseEnter = _this5.onPopupMouseEnter;\n\t    }\n\t    if (_this5.isMouseLeaveToHide()) {\n\t      mouseProps.onMouseLeave = _this5.onPopupMouseLeave;\n\t    }\n\t\n\t    mouseProps.onMouseDown = _this5.onPopupMouseDown;\n\t    mouseProps.onTouchStart = _this5.onPopupMouseDown;\n\t\n\t    return _react2['default'].createElement(\n\t      _Popup2['default'],\n\t      (0, _extends3['default'])({\n\t        prefixCls: prefixCls,\n\t        destroyPopupOnHide: destroyPopupOnHide,\n\t        visible: popupVisible,\n\t        point: alignPoint && point,\n\t        className: popupClassName,\n\t        action: action,\n\t        align: align,\n\t        onAlign: onPopupAlign,\n\t        animation: popupAnimation,\n\t        getClassNameFromAlign: _this5.getPopupClassNameFromAlign\n\t      }, mouseProps, {\n\t        stretch: stretch,\n\t        getRootDomNode: _this5.getRootDomNode,\n\t        style: popupStyle,\n\t        mask: mask,\n\t        zIndex: zIndex,\n\t        transitionName: popupTransitionName,\n\t        maskAnimation: maskAnimation,\n\t        maskTransitionName: maskTransitionName,\n\t        ref: _this5.savePopup\n\t      }),\n\t      typeof popup === 'function' ? popup() : popup\n\t    );\n\t  };\n\t\n\t  this.getContainer = function () {\n\t    var props = _this5.props;\n\t\n\t    var popupContainer = document.createElement('div');\n\t    // Make sure default popup container will never cause scrollbar appearing\n\t    // https://github.com/react-component/trigger/issues/41\n\t    popupContainer.style.position = 'absolute';\n\t    popupContainer.style.top = '0';\n\t    popupContainer.style.left = '0';\n\t    popupContainer.style.width = '100%';\n\t    var mountNode = props.getPopupContainer ? props.getPopupContainer((0, _reactDom.findDOMNode)(_this5)) : props.getDocument().body;\n\t    mountNode.appendChild(popupContainer);\n\t    return popupContainer;\n\t  };\n\t\n\t  this.setPoint = function (point) {\n\t    var alignPoint = _this5.props.alignPoint;\n\t\n\t    if (!alignPoint || !point) return;\n\t\n\t    _this5.setState({\n\t      point: {\n\t        pageX: point.pageX,\n\t        pageY: point.pageY\n\t      }\n\t    });\n\t  };\n\t\n\t  this.handlePortalUpdate = function () {\n\t    if (_this5.prevPopupVisible !== _this5.state.popupVisible) {\n\t      _this5.props.afterPopupVisibleChange(_this5.state.popupVisible);\n\t    }\n\t  };\n\t\n\t  this.savePopup = function (node) {\n\t    _this5._component = node;\n\t  };\n\t};\n\t\n\texports['default'] = Trigger;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 572 */\n/*!****************************************!*\\\n  !*** ../~/rc-util/lib/Dom/contains.js ***!\n  \\****************************************/\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports[\"default\"] = contains;\n\tfunction contains(root, n) {\n\t  var node = n;\n\t  while (node) {\n\t    if (node === root) {\n\t      return true;\n\t    }\n\t    node = node.parentNode;\n\t  }\n\t\n\t  return false;\n\t}\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 573 */\n/*!*******************************************!*\\\n  !*** ../~/rc-util/lib/ContainerRender.js ***!\n  \\*******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ 485);\n\t\n\tvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\t\n\tvar _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ 486);\n\t\n\tvar _createClass3 = _interopRequireDefault(_createClass2);\n\t\n\tvar _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ 490);\n\t\n\tvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\t\n\tvar _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ 524);\n\t\n\tvar _inherits3 = _interopRequireDefault(_inherits2);\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDom = __webpack_require__(/*! react-dom */ 549);\n\t\n\tvar _reactDom2 = _interopRequireDefault(_reactDom);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar ContainerRender = function (_React$Component) {\n\t  (0, _inherits3['default'])(ContainerRender, _React$Component);\n\t\n\t  function ContainerRender() {\n\t    var _ref;\n\t\n\t    var _temp, _this, _ret;\n\t\n\t    (0, _classCallCheck3['default'])(this, ContainerRender);\n\t\n\t    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t      args[_key] = arguments[_key];\n\t    }\n\t\n\t    return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, (_ref = ContainerRender.__proto__ || Object.getPrototypeOf(ContainerRender)).call.apply(_ref, [this].concat(args))), _this), _this.removeContainer = function () {\n\t      if (_this.container) {\n\t        _reactDom2['default'].unmountComponentAtNode(_this.container);\n\t        _this.container.parentNode.removeChild(_this.container);\n\t        _this.container = null;\n\t      }\n\t    }, _this.renderComponent = function (props, ready) {\n\t      var _this$props = _this.props,\n\t          visible = _this$props.visible,\n\t          getComponent = _this$props.getComponent,\n\t          forceRender = _this$props.forceRender,\n\t          getContainer = _this$props.getContainer,\n\t          parent = _this$props.parent;\n\t\n\t      if (visible || parent._component || forceRender) {\n\t        if (!_this.container) {\n\t          _this.container = getContainer();\n\t        }\n\t        _reactDom2['default'].unstable_renderSubtreeIntoContainer(parent, getComponent(props), _this.container, function callback() {\n\t          if (ready) {\n\t            ready.call(this);\n\t          }\n\t        });\n\t      }\n\t    }, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);\n\t  }\n\t\n\t  (0, _createClass3['default'])(ContainerRender, [{\n\t    key: 'componentDidMount',\n\t    value: function componentDidMount() {\n\t      if (this.props.autoMount) {\n\t        this.renderComponent();\n\t      }\n\t    }\n\t  }, {\n\t    key: 'componentDidUpdate',\n\t    value: function componentDidUpdate() {\n\t      if (this.props.autoMount) {\n\t        this.renderComponent();\n\t      }\n\t    }\n\t  }, {\n\t    key: 'componentWillUnmount',\n\t    value: function componentWillUnmount() {\n\t      if (this.props.autoDestroy) {\n\t        this.removeContainer();\n\t      }\n\t    }\n\t  }, {\n\t    key: 'render',\n\t    value: function render() {\n\t      return this.props.children({\n\t        renderComponent: this.renderComponent,\n\t        removeContainer: this.removeContainer\n\t      });\n\t    }\n\t  }]);\n\t  return ContainerRender;\n\t}(_react2['default'].Component);\n\t\n\tContainerRender.propTypes = {\n\t  autoMount: _propTypes2['default'].bool,\n\t  autoDestroy: _propTypes2['default'].bool,\n\t  visible: _propTypes2['default'].bool,\n\t  forceRender: _propTypes2['default'].bool,\n\t  parent: _propTypes2['default'].any,\n\t  getComponent: _propTypes2['default'].func.isRequired,\n\t  getContainer: _propTypes2['default'].func.isRequired,\n\t  children: _propTypes2['default'].func.isRequired\n\t};\n\tContainerRender.defaultProps = {\n\t  autoMount: true,\n\t  autoDestroy: true,\n\t  forceRender: false\n\t};\n\texports['default'] = ContainerRender;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 574 */\n/*!**********************************!*\\\n  !*** ../~/rc-util/lib/Portal.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ 485);\n\t\n\tvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\t\n\tvar _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ 486);\n\t\n\tvar _createClass3 = _interopRequireDefault(_createClass2);\n\t\n\tvar _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ 490);\n\t\n\tvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\t\n\tvar _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ 524);\n\t\n\tvar _inherits3 = _interopRequireDefault(_inherits2);\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDom = __webpack_require__(/*! react-dom */ 549);\n\t\n\tvar _reactDom2 = _interopRequireDefault(_reactDom);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar Portal = function (_React$Component) {\n\t  (0, _inherits3['default'])(Portal, _React$Component);\n\t\n\t  function Portal() {\n\t    (0, _classCallCheck3['default'])(this, Portal);\n\t    return (0, _possibleConstructorReturn3['default'])(this, (Portal.__proto__ || Object.getPrototypeOf(Portal)).apply(this, arguments));\n\t  }\n\t\n\t  (0, _createClass3['default'])(Portal, [{\n\t    key: 'componentDidMount',\n\t    value: function componentDidMount() {\n\t      this.createContainer();\n\t    }\n\t  }, {\n\t    key: 'componentDidUpdate',\n\t    value: function componentDidUpdate(prevProps) {\n\t      var didUpdate = this.props.didUpdate;\n\t\n\t      if (didUpdate) {\n\t        didUpdate(prevProps);\n\t      }\n\t    }\n\t  }, {\n\t    key: 'componentWillUnmount',\n\t    value: function componentWillUnmount() {\n\t      this.removeContainer();\n\t    }\n\t  }, {\n\t    key: 'createContainer',\n\t    value: function createContainer() {\n\t      this._container = this.props.getContainer();\n\t      this.forceUpdate();\n\t    }\n\t  }, {\n\t    key: 'removeContainer',\n\t    value: function removeContainer() {\n\t      if (this._container) {\n\t        this._container.parentNode.removeChild(this._container);\n\t      }\n\t    }\n\t  }, {\n\t    key: 'render',\n\t    value: function render() {\n\t      if (this._container) {\n\t        return _reactDom2['default'].createPortal(this.props.children, this._container);\n\t      }\n\t      return null;\n\t    }\n\t  }]);\n\t  return Portal;\n\t}(_react2['default'].Component);\n\t\n\tPortal.propTypes = {\n\t  getContainer: _propTypes2['default'].func.isRequired,\n\t  children: _propTypes2['default'].node.isRequired,\n\t  didUpdate: _propTypes2['default'].func\n\t};\n\texports['default'] = Portal;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 575 */\n/*!************************************!*\\\n  !*** ../~/rc-trigger/lib/utils.js ***!\n  \\************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends2 = __webpack_require__(/*! babel-runtime/helpers/extends */ 446);\n\t\n\tvar _extends3 = _interopRequireDefault(_extends2);\n\t\n\texports.getAlignFromPlacement = getAlignFromPlacement;\n\texports.getAlignPopupClassName = getAlignPopupClassName;\n\texports.saveRef = saveRef;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction isPointsEq(a1, a2, isAlignPoint) {\n\t  if (isAlignPoint) {\n\t    return a1[0] === a2[0];\n\t  }\n\t  return a1[0] === a2[0] && a1[1] === a2[1];\n\t}\n\t\n\tfunction getAlignFromPlacement(builtinPlacements, placementStr, align) {\n\t  var baseAlign = builtinPlacements[placementStr] || {};\n\t  return (0, _extends3['default'])({}, baseAlign, align);\n\t}\n\t\n\tfunction getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {\n\t  var points = align.points;\n\t  for (var placement in builtinPlacements) {\n\t    if (builtinPlacements.hasOwnProperty(placement)) {\n\t      if (isPointsEq(builtinPlacements[placement].points, points, isAlignPoint)) {\n\t        return prefixCls + '-placement-' + placement;\n\t      }\n\t    }\n\t  }\n\t  return '';\n\t}\n\t\n\tfunction saveRef(name, component) {\n\t  this[name] = component;\n\t}\n\n/***/ }),\n/* 576 */\n/*!************************************!*\\\n  !*** ../~/rc-trigger/lib/Popup.js ***!\n  \\************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends2 = __webpack_require__(/*! babel-runtime/helpers/extends */ 446);\n\t\n\tvar _extends3 = _interopRequireDefault(_extends2);\n\t\n\tvar _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ 485);\n\t\n\tvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\t\n\tvar _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ 490);\n\t\n\tvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\t\n\tvar _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ 524);\n\t\n\tvar _inherits3 = _interopRequireDefault(_inherits2);\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _reactDom = __webpack_require__(/*! react-dom */ 549);\n\t\n\tvar _reactDom2 = _interopRequireDefault(_reactDom);\n\t\n\tvar _rcAlign = __webpack_require__(/*! rc-align */ 577);\n\t\n\tvar _rcAlign2 = _interopRequireDefault(_rcAlign);\n\t\n\tvar _rcAnimate = __webpack_require__(/*! rc-animate */ 593);\n\t\n\tvar _rcAnimate2 = _interopRequireDefault(_rcAnimate);\n\t\n\tvar _PopupInner = __webpack_require__(/*! ./PopupInner */ 601);\n\t\n\tvar _PopupInner2 = _interopRequireDefault(_PopupInner);\n\t\n\tvar _LazyRenderBox = __webpack_require__(/*! ./LazyRenderBox */ 602);\n\t\n\tvar _LazyRenderBox2 = _interopRequireDefault(_LazyRenderBox);\n\t\n\tvar _utils = __webpack_require__(/*! ./utils */ 575);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar Popup = function (_Component) {\n\t  (0, _inherits3['default'])(Popup, _Component);\n\t\n\t  function Popup(props) {\n\t    (0, _classCallCheck3['default'])(this, Popup);\n\t\n\t    var _this = (0, _possibleConstructorReturn3['default'])(this, _Component.call(this, props));\n\t\n\t    _initialiseProps.call(_this);\n\t\n\t    _this.state = {\n\t      // Used for stretch\n\t      stretchChecked: false,\n\t      targetWidth: undefined,\n\t      targetHeight: undefined\n\t    };\n\t\n\t    _this.savePopupRef = _utils.saveRef.bind(_this, 'popupInstance');\n\t    _this.saveAlignRef = _utils.saveRef.bind(_this, 'alignInstance');\n\t    return _this;\n\t  }\n\t\n\t  Popup.prototype.componentDidMount = function componentDidMount() {\n\t    this.rootNode = this.getPopupDomNode();\n\t    this.setStretchSize();\n\t  };\n\t\n\t  Popup.prototype.componentDidUpdate = function componentDidUpdate() {\n\t    this.setStretchSize();\n\t  };\n\t\n\t  // Record size if stretch needed\n\t\n\t\n\t  Popup.prototype.getPopupDomNode = function getPopupDomNode() {\n\t    return _reactDom2['default'].findDOMNode(this.popupInstance);\n\t  };\n\t\n\t  // `target` on `rc-align` can accept as a function to get the bind element or a point.\n\t  // ref: https://www.npmjs.com/package/rc-align\n\t\n\t\n\t  Popup.prototype.getMaskTransitionName = function getMaskTransitionName() {\n\t    var props = this.props;\n\t    var transitionName = props.maskTransitionName;\n\t    var animation = props.maskAnimation;\n\t    if (!transitionName && animation) {\n\t      transitionName = props.prefixCls + '-' + animation;\n\t    }\n\t    return transitionName;\n\t  };\n\t\n\t  Popup.prototype.getTransitionName = function getTransitionName() {\n\t    var props = this.props;\n\t    var transitionName = props.transitionName;\n\t    if (!transitionName && props.animation) {\n\t      transitionName = props.prefixCls + '-' + props.animation;\n\t    }\n\t    return transitionName;\n\t  };\n\t\n\t  Popup.prototype.getClassName = function getClassName(currentAlignClassName) {\n\t    return this.props.prefixCls + ' ' + this.props.className + ' ' + currentAlignClassName;\n\t  };\n\t\n\t  Popup.prototype.getPopupElement = function getPopupElement() {\n\t    var _this2 = this;\n\t\n\t    var savePopupRef = this.savePopupRef;\n\t    var _state = this.state,\n\t        stretchChecked = _state.stretchChecked,\n\t        targetHeight = _state.targetHeight,\n\t        targetWidth = _state.targetWidth;\n\t    var _props = this.props,\n\t        align = _props.align,\n\t        visible = _props.visible,\n\t        prefixCls = _props.prefixCls,\n\t        style = _props.style,\n\t        getClassNameFromAlign = _props.getClassNameFromAlign,\n\t        destroyPopupOnHide = _props.destroyPopupOnHide,\n\t        stretch = _props.stretch,\n\t        children = _props.children,\n\t        onMouseEnter = _props.onMouseEnter,\n\t        onMouseLeave = _props.onMouseLeave,\n\t        onMouseDown = _props.onMouseDown,\n\t        onTouchStart = _props.onTouchStart;\n\t\n\t    var className = this.getClassName(this.currentAlignClassName || getClassNameFromAlign(align));\n\t    var hiddenClassName = prefixCls + '-hidden';\n\t\n\t    if (!visible) {\n\t      this.currentAlignClassName = null;\n\t    }\n\t\n\t    var sizeStyle = {};\n\t    if (stretch) {\n\t      // Stretch with target\n\t      if (stretch.indexOf('height') !== -1) {\n\t        sizeStyle.height = targetHeight;\n\t      } else if (stretch.indexOf('minHeight') !== -1) {\n\t        sizeStyle.minHeight = targetHeight;\n\t      }\n\t      if (stretch.indexOf('width') !== -1) {\n\t        sizeStyle.width = targetWidth;\n\t      } else if (stretch.indexOf('minWidth') !== -1) {\n\t        sizeStyle.minWidth = targetWidth;\n\t      }\n\t\n\t      // Delay force align to makes ui smooth\n\t      if (!stretchChecked) {\n\t        sizeStyle.visibility = 'hidden';\n\t        setTimeout(function () {\n\t          if (_this2.alignInstance) {\n\t            _this2.alignInstance.forceAlign();\n\t          }\n\t        }, 0);\n\t      }\n\t    }\n\t\n\t    var newStyle = (0, _extends3['default'])({}, sizeStyle, style, this.getZIndexStyle());\n\t\n\t    var popupInnerProps = {\n\t      className: className,\n\t      prefixCls: prefixCls,\n\t      ref: savePopupRef,\n\t      onMouseEnter: onMouseEnter,\n\t      onMouseLeave: onMouseLeave,\n\t      onMouseDown: onMouseDown,\n\t      onTouchStart: onTouchStart,\n\t      style: newStyle\n\t    };\n\t    if (destroyPopupOnHide) {\n\t      return _react2['default'].createElement(\n\t        _rcAnimate2['default'],\n\t        {\n\t          component: '',\n\t          exclusive: true,\n\t          transitionAppear: true,\n\t          transitionName: this.getTransitionName()\n\t        },\n\t        visible ? _react2['default'].createElement(\n\t          _rcAlign2['default'],\n\t          {\n\t            target: this.getAlignTarget(),\n\t            key: 'popup',\n\t            ref: this.saveAlignRef,\n\t            monitorWindowResize: true,\n\t            align: align,\n\t            onAlign: this.onAlign\n\t          },\n\t          _react2['default'].createElement(\n\t            _PopupInner2['default'],\n\t            (0, _extends3['default'])({\n\t              visible: true\n\t            }, popupInnerProps),\n\t            children\n\t          )\n\t        ) : null\n\t      );\n\t    }\n\t\n\t    return _react2['default'].createElement(\n\t      _rcAnimate2['default'],\n\t      {\n\t        component: '',\n\t        exclusive: true,\n\t        transitionAppear: true,\n\t        transitionName: this.getTransitionName(),\n\t        showProp: 'xVisible'\n\t      },\n\t      _react2['default'].createElement(\n\t        _rcAlign2['default'],\n\t        {\n\t          target: this.getAlignTarget(),\n\t          key: 'popup',\n\t          ref: this.saveAlignRef,\n\t          monitorWindowResize: true,\n\t          xVisible: visible,\n\t          childrenProps: { visible: 'xVisible' },\n\t          disabled: !visible,\n\t          align: align,\n\t          onAlign: this.onAlign\n\t        },\n\t        _react2['default'].createElement(\n\t          _PopupInner2['default'],\n\t          (0, _extends3['default'])({\n\t            hiddenClassName: hiddenClassName\n\t          }, popupInnerProps),\n\t          children\n\t        )\n\t      )\n\t    );\n\t  };\n\t\n\t  Popup.prototype.getZIndexStyle = function getZIndexStyle() {\n\t    var style = {};\n\t    var props = this.props;\n\t    if (props.zIndex !== undefined) {\n\t      style.zIndex = props.zIndex;\n\t    }\n\t    return style;\n\t  };\n\t\n\t  Popup.prototype.getMaskElement = function getMaskElement() {\n\t    var props = this.props;\n\t    var maskElement = void 0;\n\t    if (props.mask) {\n\t      var maskTransition = this.getMaskTransitionName();\n\t      maskElement = _react2['default'].createElement(_LazyRenderBox2['default'], {\n\t        style: this.getZIndexStyle(),\n\t        key: 'mask',\n\t        className: props.prefixCls + '-mask',\n\t        hiddenClassName: props.prefixCls + '-mask-hidden',\n\t        visible: props.visible\n\t      });\n\t      if (maskTransition) {\n\t        maskElement = _react2['default'].createElement(\n\t          _rcAnimate2['default'],\n\t          {\n\t            key: 'mask',\n\t            showProp: 'visible',\n\t            transitionAppear: true,\n\t            component: '',\n\t            transitionName: maskTransition\n\t          },\n\t          maskElement\n\t        );\n\t      }\n\t    }\n\t    return maskElement;\n\t  };\n\t\n\t  Popup.prototype.render = function render() {\n\t    return _react2['default'].createElement(\n\t      'div',\n\t      null,\n\t      this.getMaskElement(),\n\t      this.getPopupElement()\n\t    );\n\t  };\n\t\n\t  return Popup;\n\t}(_react.Component);\n\t\n\tPopup.propTypes = {\n\t  visible: _propTypes2['default'].bool,\n\t  style: _propTypes2['default'].object,\n\t  getClassNameFromAlign: _propTypes2['default'].func,\n\t  onAlign: _propTypes2['default'].func,\n\t  getRootDomNode: _propTypes2['default'].func,\n\t  align: _propTypes2['default'].any,\n\t  destroyPopupOnHide: _propTypes2['default'].bool,\n\t  className: _propTypes2['default'].string,\n\t  prefixCls: _propTypes2['default'].string,\n\t  onMouseEnter: _propTypes2['default'].func,\n\t  onMouseLeave: _propTypes2['default'].func,\n\t  onMouseDown: _propTypes2['default'].func,\n\t  onTouchStart: _propTypes2['default'].func,\n\t  stretch: _propTypes2['default'].string,\n\t  children: _propTypes2['default'].node,\n\t  point: _propTypes2['default'].shape({\n\t    pageX: _propTypes2['default'].number,\n\t    pageY: _propTypes2['default'].number\n\t  })\n\t};\n\t\n\tvar _initialiseProps = function _initialiseProps() {\n\t  var _this3 = this;\n\t\n\t  this.onAlign = function (popupDomNode, align) {\n\t    var props = _this3.props;\n\t    var currentAlignClassName = props.getClassNameFromAlign(align);\n\t    // FIX: https://github.com/react-component/trigger/issues/56\n\t    // FIX: https://github.com/react-component/tooltip/issues/79\n\t    if (_this3.currentAlignClassName !== currentAlignClassName) {\n\t      _this3.currentAlignClassName = currentAlignClassName;\n\t      popupDomNode.className = _this3.getClassName(currentAlignClassName);\n\t    }\n\t    props.onAlign(popupDomNode, align);\n\t  };\n\t\n\t  this.setStretchSize = function () {\n\t    var _props2 = _this3.props,\n\t        stretch = _props2.stretch,\n\t        getRootDomNode = _props2.getRootDomNode,\n\t        visible = _props2.visible;\n\t    var _state2 = _this3.state,\n\t        stretchChecked = _state2.stretchChecked,\n\t        targetHeight = _state2.targetHeight,\n\t        targetWidth = _state2.targetWidth;\n\t\n\t\n\t    if (!stretch || !visible) {\n\t      if (stretchChecked) {\n\t        _this3.setState({ stretchChecked: false });\n\t      }\n\t      return;\n\t    }\n\t\n\t    var $ele = getRootDomNode();\n\t    if (!$ele) return;\n\t\n\t    var height = $ele.offsetHeight;\n\t    var width = $ele.offsetWidth;\n\t\n\t    if (targetHeight !== height || targetWidth !== width || !stretchChecked) {\n\t      _this3.setState({\n\t        stretchChecked: true,\n\t        targetHeight: height,\n\t        targetWidth: width\n\t      });\n\t    }\n\t  };\n\t\n\t  this.getTargetElement = function () {\n\t    return _this3.props.getRootDomNode();\n\t  };\n\t\n\t  this.getAlignTarget = function () {\n\t    var point = _this3.props.point;\n\t\n\t    if (point) {\n\t      return point;\n\t    }\n\t    return _this3.getTargetElement;\n\t  };\n\t};\n\t\n\texports['default'] = Popup;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 577 */\n/*!**********************************!*\\\n  !*** ../~/rc-align/lib/index.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _Align = __webpack_require__(/*! ./Align */ 578);\n\t\n\tvar _Align2 = _interopRequireDefault(_Align);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\texports['default'] = _Align2['default']; // export this package's api\n\t\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 578 */\n/*!**********************************!*\\\n  !*** ../~/rc-align/lib/Align.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ 485);\n\t\n\tvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\t\n\tvar _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ 486);\n\t\n\tvar _createClass3 = _interopRequireDefault(_createClass2);\n\t\n\tvar _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ 490);\n\t\n\tvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\t\n\tvar _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ 524);\n\t\n\tvar _inherits3 = _interopRequireDefault(_inherits2);\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _reactDom = __webpack_require__(/*! react-dom */ 549);\n\t\n\tvar _reactDom2 = _interopRequireDefault(_reactDom);\n\t\n\tvar _domAlign = __webpack_require__(/*! dom-align */ 579);\n\t\n\tvar _addEventListener = __webpack_require__(/*! rc-util/lib/Dom/addEventListener */ 545);\n\t\n\tvar _addEventListener2 = _interopRequireDefault(_addEventListener);\n\t\n\tvar _util = __webpack_require__(/*! ./util */ 592);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction getElement(func) {\n\t  if (typeof func !== 'function' || !func) return null;\n\t  return func();\n\t}\n\t\n\tfunction getPoint(point) {\n\t  if (typeof point !== 'object' || !point) return null;\n\t  return point;\n\t}\n\t\n\tvar Align = function (_Component) {\n\t  (0, _inherits3['default'])(Align, _Component);\n\t\n\t  function Align() {\n\t    var _ref;\n\t\n\t    var _temp, _this, _ret;\n\t\n\t    (0, _classCallCheck3['default'])(this, Align);\n\t\n\t    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t      args[_key] = arguments[_key];\n\t    }\n\t\n\t    return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, (_ref = Align.__proto__ || Object.getPrototypeOf(Align)).call.apply(_ref, [this].concat(args))), _this), _this.forceAlign = function () {\n\t      var _this$props = _this.props,\n\t          disabled = _this$props.disabled,\n\t          target = _this$props.target,\n\t          align = _this$props.align,\n\t          onAlign = _this$props.onAlign;\n\t\n\t      if (!disabled && target) {\n\t        var source = _reactDom2['default'].findDOMNode(_this);\n\t\n\t        var result = void 0;\n\t        var element = getElement(target);\n\t        var point = getPoint(target);\n\t\n\t        // IE lose focus after element realign\n\t        // We should record activeElement and restore later\n\t        var activeElement = document.activeElement;\n\t\n\t        if (element) {\n\t          result = (0, _domAlign.alignElement)(source, element, align);\n\t        } else if (point) {\n\t          result = (0, _domAlign.alignPoint)(source, point, align);\n\t        }\n\t\n\t        (0, _util.restoreFocus)(activeElement, source);\n\t\n\t        if (onAlign) {\n\t          onAlign(source, result);\n\t        }\n\t      }\n\t    }, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);\n\t  }\n\t\n\t  (0, _createClass3['default'])(Align, [{\n\t    key: 'componentDidMount',\n\t    value: function componentDidMount() {\n\t      var props = this.props;\n\t      // if parent ref not attached .... use document.getElementById\n\t      this.forceAlign();\n\t      if (!props.disabled && props.monitorWindowResize) {\n\t        this.startMonitorWindowResize();\n\t      }\n\t    }\n\t  }, {\n\t    key: 'componentDidUpdate',\n\t    value: function componentDidUpdate(prevProps) {\n\t      var reAlign = false;\n\t      var props = this.props;\n\t\n\t      if (!props.disabled) {\n\t        var source = _reactDom2['default'].findDOMNode(this);\n\t        var sourceRect = source ? source.getBoundingClientRect() : null;\n\t\n\t        if (prevProps.disabled) {\n\t          reAlign = true;\n\t        } else {\n\t          var lastElement = getElement(prevProps.target);\n\t          var currentElement = getElement(props.target);\n\t          var lastPoint = getPoint(prevProps.target);\n\t          var currentPoint = getPoint(props.target);\n\t\n\t          if ((0, _util.isWindow)(lastElement) && (0, _util.isWindow)(currentElement)) {\n\t            // Skip if is window\n\t            reAlign = false;\n\t          } else if (lastElement !== currentElement || // Element change\n\t          lastElement && !currentElement && currentPoint || // Change from element to point\n\t          lastPoint && currentPoint && currentElement || // Change from point to element\n\t          currentPoint && !(0, _util.isSamePoint)(lastPoint, currentPoint)) {\n\t            reAlign = true;\n\t          }\n\t\n\t          // If source element size changed\n\t          var preRect = this.sourceRect || {};\n\t          if (!reAlign && source && (!(0, _util.isSimilarValue)(preRect.width, sourceRect.width) || !(0, _util.isSimilarValue)(preRect.height, sourceRect.height))) {\n\t            reAlign = true;\n\t          }\n\t        }\n\t\n\t        this.sourceRect = sourceRect;\n\t      }\n\t\n\t      if (reAlign) {\n\t        this.forceAlign();\n\t      }\n\t\n\t      if (props.monitorWindowResize && !props.disabled) {\n\t        this.startMonitorWindowResize();\n\t      } else {\n\t        this.stopMonitorWindowResize();\n\t      }\n\t    }\n\t  }, {\n\t    key: 'componentWillUnmount',\n\t    value: function componentWillUnmount() {\n\t      this.stopMonitorWindowResize();\n\t    }\n\t  }, {\n\t    key: 'startMonitorWindowResize',\n\t    value: function startMonitorWindowResize() {\n\t      if (!this.resizeHandler) {\n\t        this.bufferMonitor = (0, _util.buffer)(this.forceAlign, this.props.monitorBufferTime);\n\t        this.resizeHandler = (0, _addEventListener2['default'])(window, 'resize', this.bufferMonitor);\n\t      }\n\t    }\n\t  }, {\n\t    key: 'stopMonitorWindowResize',\n\t    value: function stopMonitorWindowResize() {\n\t      if (this.resizeHandler) {\n\t        this.bufferMonitor.clear();\n\t        this.resizeHandler.remove();\n\t        this.resizeHandler = null;\n\t      }\n\t    }\n\t  }, {\n\t    key: 'render',\n\t    value: function render() {\n\t      var _this2 = this;\n\t\n\t      var _props = this.props,\n\t          childrenProps = _props.childrenProps,\n\t          children = _props.children;\n\t\n\t      var child = _react2['default'].Children.only(children);\n\t      if (childrenProps) {\n\t        var newProps = {};\n\t        var propList = Object.keys(childrenProps);\n\t        propList.forEach(function (prop) {\n\t          newProps[prop] = _this2.props[childrenProps[prop]];\n\t        });\n\t\n\t        return _react2['default'].cloneElement(child, newProps);\n\t      }\n\t      return child;\n\t    }\n\t  }]);\n\t  return Align;\n\t}(_react.Component);\n\t\n\tAlign.propTypes = {\n\t  childrenProps: _propTypes2['default'].object,\n\t  align: _propTypes2['default'].object.isRequired,\n\t  target: _propTypes2['default'].oneOfType([_propTypes2['default'].func, _propTypes2['default'].shape({\n\t    clientX: _propTypes2['default'].number,\n\t    clientY: _propTypes2['default'].number,\n\t    pageX: _propTypes2['default'].number,\n\t    pageY: _propTypes2['default'].number\n\t  })]),\n\t  onAlign: _propTypes2['default'].func,\n\t  monitorBufferTime: _propTypes2['default'].number,\n\t  monitorWindowResize: _propTypes2['default'].bool,\n\t  disabled: _propTypes2['default'].bool,\n\t  children: _propTypes2['default'].any\n\t};\n\tAlign.defaultProps = {\n\t  target: function target() {\n\t    return window;\n\t  },\n\t  monitorBufferTime: 50,\n\t  monitorWindowResize: false,\n\t  disabled: false\n\t};\n\texports['default'] = Align;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 579 */\n/*!***********************************!*\\\n  !*** ../~/dom-align/lib/index.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.alignPoint = exports.alignElement = undefined;\n\t\n\tvar _alignElement = __webpack_require__(/*! ./align/alignElement */ 580);\n\t\n\tvar _alignElement2 = _interopRequireDefault(_alignElement);\n\t\n\tvar _alignPoint = __webpack_require__(/*! ./align/alignPoint */ 591);\n\t\n\tvar _alignPoint2 = _interopRequireDefault(_alignPoint);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\texports.alignElement = _alignElement2['default'];\n\texports.alignPoint = _alignPoint2['default'];\n\texports['default'] = _alignElement2['default'];\n\n/***/ }),\n/* 580 */\n/*!************************************************!*\\\n  !*** ../~/dom-align/lib/align/alignElement.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _align = __webpack_require__(/*! ./align */ 581);\n\t\n\tvar _align2 = _interopRequireDefault(_align);\n\t\n\tvar _getOffsetParent = __webpack_require__(/*! ../getOffsetParent */ 585);\n\t\n\tvar _getOffsetParent2 = _interopRequireDefault(_getOffsetParent);\n\t\n\tvar _getVisibleRectForElement = __webpack_require__(/*! ../getVisibleRectForElement */ 584);\n\t\n\tvar _getVisibleRectForElement2 = _interopRequireDefault(_getVisibleRectForElement);\n\t\n\tvar _getRegion = __webpack_require__(/*! ../getRegion */ 588);\n\t\n\tvar _getRegion2 = _interopRequireDefault(_getRegion);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction isOutOfVisibleRect(target) {\n\t  var visibleRect = (0, _getVisibleRectForElement2['default'])(target);\n\t  var targetRegion = (0, _getRegion2['default'])(target);\n\t\n\t  return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;\n\t}\n\t\n\tfunction alignElement(el, refNode, align) {\n\t  var target = align.target || refNode;\n\t  var refNodeRegion = (0, _getRegion2['default'])(target);\n\t\n\t  var isTargetNotOutOfVisible = !isOutOfVisibleRect(target);\n\t\n\t  return (0, _align2['default'])(el, refNodeRegion, align, isTargetNotOutOfVisible);\n\t}\n\t\n\talignElement.__getOffsetParent = _getOffsetParent2['default'];\n\t\n\talignElement.__getVisibleRectForElement = _getVisibleRectForElement2['default'];\n\t\n\texports['default'] = alignElement;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 581 */\n/*!*****************************************!*\\\n  !*** ../~/dom-align/lib/align/align.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _utils = __webpack_require__(/*! ../utils */ 582);\n\t\n\tvar _utils2 = _interopRequireDefault(_utils);\n\t\n\tvar _getVisibleRectForElement = __webpack_require__(/*! ../getVisibleRectForElement */ 584);\n\t\n\tvar _getVisibleRectForElement2 = _interopRequireDefault(_getVisibleRectForElement);\n\t\n\tvar _adjustForViewport = __webpack_require__(/*! ../adjustForViewport */ 587);\n\t\n\tvar _adjustForViewport2 = _interopRequireDefault(_adjustForViewport);\n\t\n\tvar _getRegion = __webpack_require__(/*! ../getRegion */ 588);\n\t\n\tvar _getRegion2 = _interopRequireDefault(_getRegion);\n\t\n\tvar _getElFuturePos = __webpack_require__(/*! ../getElFuturePos */ 589);\n\t\n\tvar _getElFuturePos2 = _interopRequireDefault(_getElFuturePos);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\t// http://yiminghe.iteye.com/blog/1124720\n\t\n\tfunction isFailX(elFuturePos, elRegion, visibleRect) {\n\t  return elFuturePos.left < visibleRect.left || elFuturePos.left + elRegion.width > visibleRect.right;\n\t} /**\n\t   * align dom node flexibly\n\t   * @author yiminghe@gmail.com\n\t   */\n\t\n\tfunction isFailY(elFuturePos, elRegion, visibleRect) {\n\t  return elFuturePos.top < visibleRect.top || elFuturePos.top + elRegion.height > visibleRect.bottom;\n\t}\n\t\n\tfunction isCompleteFailX(elFuturePos, elRegion, visibleRect) {\n\t  return elFuturePos.left > visibleRect.right || elFuturePos.left + elRegion.width < visibleRect.left;\n\t}\n\t\n\tfunction isCompleteFailY(elFuturePos, elRegion, visibleRect) {\n\t  return elFuturePos.top > visibleRect.bottom || elFuturePos.top + elRegion.height < visibleRect.top;\n\t}\n\t\n\tfunction flip(points, reg, map) {\n\t  var ret = [];\n\t  _utils2['default'].each(points, function (p) {\n\t    ret.push(p.replace(reg, function (m) {\n\t      return map[m];\n\t    }));\n\t  });\n\t  return ret;\n\t}\n\t\n\tfunction flipOffset(offset, index) {\n\t  offset[index] = -offset[index];\n\t  return offset;\n\t}\n\t\n\tfunction convertOffset(str, offsetLen) {\n\t  var n = void 0;\n\t  if (/%$/.test(str)) {\n\t    n = parseInt(str.substring(0, str.length - 1), 10) / 100 * offsetLen;\n\t  } else {\n\t    n = parseInt(str, 10);\n\t  }\n\t  return n || 0;\n\t}\n\t\n\tfunction normalizeOffset(offset, el) {\n\t  offset[0] = convertOffset(offset[0], el.width);\n\t  offset[1] = convertOffset(offset[1], el.height);\n\t}\n\t\n\t/**\n\t * @param el\n\t * @param tgtRegion 参照节点所占的区域: { left, top, width, height }\n\t * @param align\n\t */\n\tfunction doAlign(el, tgtRegion, align, isTgtRegionVisible) {\n\t  var points = align.points;\n\t  var offset = align.offset || [0, 0];\n\t  var targetOffset = align.targetOffset || [0, 0];\n\t  var overflow = align.overflow;\n\t  var source = align.source || el;\n\t  offset = [].concat(offset);\n\t  targetOffset = [].concat(targetOffset);\n\t  overflow = overflow || {};\n\t  var newOverflowCfg = {};\n\t  var fail = 0;\n\t  // 当前节点可以被放置的显示区域\n\t  var visibleRect = (0, _getVisibleRectForElement2['default'])(source);\n\t  // 当前节点所占的区域, left/top/width/height\n\t  var elRegion = (0, _getRegion2['default'])(source);\n\t  // 将 offset 转换成数值，支持百分比\n\t  normalizeOffset(offset, elRegion);\n\t  normalizeOffset(targetOffset, tgtRegion);\n\t  // 当前节点将要被放置的位置\n\t  var elFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, points, offset, targetOffset);\n\t  // 当前节点将要所处的区域\n\t  var newElRegion = _utils2['default'].merge(elRegion, elFuturePos);\n\t\n\t  // 如果可视区域不能完全放置当前节点时允许调整\n\t  if (visibleRect && (overflow.adjustX || overflow.adjustY) && isTgtRegionVisible) {\n\t    if (overflow.adjustX) {\n\t      // 如果横向不能放下\n\t      if (isFailX(elFuturePos, elRegion, visibleRect)) {\n\t        // 对齐位置反下\n\t        var newPoints = flip(points, /[lr]/ig, {\n\t          l: 'r',\n\t          r: 'l'\n\t        });\n\t        // 偏移量也反下\n\t        var newOffset = flipOffset(offset, 0);\n\t        var newTargetOffset = flipOffset(targetOffset, 0);\n\t        var newElFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, newPoints, newOffset, newTargetOffset);\n\t\n\t        if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) {\n\t          fail = 1;\n\t          points = newPoints;\n\t          offset = newOffset;\n\t          targetOffset = newTargetOffset;\n\t        }\n\t      }\n\t    }\n\t\n\t    if (overflow.adjustY) {\n\t      // 如果纵向不能放下\n\t      if (isFailY(elFuturePos, elRegion, visibleRect)) {\n\t        // 对齐位置反下\n\t        var _newPoints = flip(points, /[tb]/ig, {\n\t          t: 'b',\n\t          b: 't'\n\t        });\n\t        // 偏移量也反下\n\t        var _newOffset = flipOffset(offset, 1);\n\t        var _newTargetOffset = flipOffset(targetOffset, 1);\n\t        var _newElFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, _newPoints, _newOffset, _newTargetOffset);\n\t\n\t        if (!isCompleteFailY(_newElFuturePos, elRegion, visibleRect)) {\n\t          fail = 1;\n\t          points = _newPoints;\n\t          offset = _newOffset;\n\t          targetOffset = _newTargetOffset;\n\t        }\n\t      }\n\t    }\n\t\n\t    // 如果失败，重新计算当前节点将要被放置的位置\n\t    if (fail) {\n\t      elFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, points, offset, targetOffset);\n\t      _utils2['default'].mix(newElRegion, elFuturePos);\n\t    }\n\t    var isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);\n\t    var isStillFailY = isFailY(elFuturePos, elRegion, visibleRect);\n\t    // 检查反下后的位置是否可以放下了，如果仍然放不下：\n\t    // 1. 复原修改过的定位参数\n\t    if (isStillFailX || isStillFailY) {\n\t      points = align.points;\n\t      offset = align.offset || [0, 0];\n\t      targetOffset = align.targetOffset || [0, 0];\n\t    }\n\t    // 2. 只有指定了可以调整当前方向才调整\n\t    newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;\n\t    newOverflowCfg.adjustY = overflow.adjustY && isStillFailY;\n\t\n\t    // 确实要调整，甚至可能会调整高度宽度\n\t    if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {\n\t      newElRegion = (0, _adjustForViewport2['default'])(elFuturePos, elRegion, visibleRect, newOverflowCfg);\n\t    }\n\t  }\n\t\n\t  // need judge to in case set fixed with in css on height auto element\n\t  if (newElRegion.width !== elRegion.width) {\n\t    _utils2['default'].css(source, 'width', _utils2['default'].width(source) + newElRegion.width - elRegion.width);\n\t  }\n\t\n\t  if (newElRegion.height !== elRegion.height) {\n\t    _utils2['default'].css(source, 'height', _utils2['default'].height(source) + newElRegion.height - elRegion.height);\n\t  }\n\t\n\t  // https://github.com/kissyteam/kissy/issues/190\n\t  // 相对于屏幕位置没变，而 left/top 变了\n\t  // 例如 <div 'relative'><el absolute></div>\n\t  _utils2['default'].offset(source, {\n\t    left: newElRegion.left,\n\t    top: newElRegion.top\n\t  }, {\n\t    useCssRight: align.useCssRight,\n\t    useCssBottom: align.useCssBottom,\n\t    useCssTransform: align.useCssTransform,\n\t    ignoreShake: align.ignoreShake\n\t  });\n\t\n\t  return {\n\t    points: points,\n\t    offset: offset,\n\t    targetOffset: targetOffset,\n\t    overflow: newOverflowCfg\n\t  };\n\t}\n\t\n\texports['default'] = doAlign;\n\t/**\n\t *  2012-04-26 yiminghe@gmail.com\n\t *   - 优化智能对齐算法\n\t *   - 慎用 resizeXX\n\t *\n\t *  2011-07-13 yiminghe@gmail.com note:\n\t *   - 增加智能对齐，以及大小调整选项\n\t **/\n\t\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 582 */\n/*!***********************************!*\\\n  !*** ../~/dom-align/lib/utils.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tvar _propertyUtils = __webpack_require__(/*! ./propertyUtils */ 583);\n\t\n\tvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\t\n\tvar getComputedStyleX = void 0;\n\t\n\t// https://stackoverflow.com/a/3485654/3040605\n\tfunction forceRelayout(elem) {\n\t  var originalStyle = elem.style.display;\n\t  elem.style.display = 'none';\n\t  elem.offsetHeight; // eslint-disable-line\n\t  elem.style.display = originalStyle;\n\t}\n\t\n\tfunction css(el, name, v) {\n\t  var value = v;\n\t  if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n\t    for (var i in name) {\n\t      if (name.hasOwnProperty(i)) {\n\t        css(el, i, name[i]);\n\t      }\n\t    }\n\t    return undefined;\n\t  }\n\t  if (typeof value !== 'undefined') {\n\t    if (typeof value === 'number') {\n\t      value = value + 'px';\n\t    }\n\t    el.style[name] = value;\n\t    return undefined;\n\t  }\n\t  return getComputedStyleX(el, name);\n\t}\n\t\n\tfunction getClientPosition(elem) {\n\t  var box = void 0;\n\t  var x = void 0;\n\t  var y = void 0;\n\t  var doc = elem.ownerDocument;\n\t  var body = doc.body;\n\t  var docElem = doc && doc.documentElement;\n\t  // 根据 GBS 最新数据，A-Grade Browsers 都已支持 getBoundingClientRect 方法，不用再考虑传统的实现方式\n\t  box = elem.getBoundingClientRect();\n\t\n\t  // 注：jQuery 还考虑减去 docElem.clientLeft/clientTop\n\t  // 但测试发现，这样反而会导致当 html 和 body 有边距/边框样式时，获取的值不正确\n\t  // 此外，ie6 会忽略 html 的 margin 值，幸运地是没有谁会去设置 html 的 margin\n\t\n\t  x = box.left;\n\t  y = box.top;\n\t\n\t  // In IE, most of the time, 2 extra pixels are added to the top and left\n\t  // due to the implicit 2-pixel inset border.  In IE6/7 quirks mode and\n\t  // IE6 standards mode, this border can be overridden by setting the\n\t  // document element's border to zero -- thus, we cannot rely on the\n\t  // offset always being 2 pixels.\n\t\n\t  // In quirks mode, the offset can be determined by querying the body's\n\t  // clientLeft/clientTop, but in standards mode, it is found by querying\n\t  // the document element's clientLeft/clientTop.  Since we already called\n\t  // getClientBoundingRect we have already forced a reflow, so it is not\n\t  // too expensive just to query them all.\n\t\n\t  // ie 下应该减去窗口的边框吧，毕竟默认 absolute 都是相对窗口定位的\n\t  // 窗口边框标准是设 documentElement ,quirks 时设置 body\n\t  // 最好禁止在 body 和 html 上边框 ，但 ie < 9 html 默认有 2px ，减去\n\t  // 但是非 ie 不可能设置窗口边框，body html 也不是窗口 ,ie 可以通过 html,body 设置\n\t  // 标准 ie 下 docElem.clientTop 就是 border-top\n\t  // ie7 html 即窗口边框改变不了。永远为 2\n\t  // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框，即使设了 border-top 也为 0\n\t\n\t  x -= docElem.clientLeft || body.clientLeft || 0;\n\t  y -= docElem.clientTop || body.clientTop || 0;\n\t\n\t  return {\n\t    left: x,\n\t    top: y\n\t  };\n\t}\n\t\n\tfunction getScroll(w, top) {\n\t  var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];\n\t  var method = 'scroll' + (top ? 'Top' : 'Left');\n\t  if (typeof ret !== 'number') {\n\t    var d = w.document;\n\t    // ie6,7,8 standard mode\n\t    ret = d.documentElement[method];\n\t    if (typeof ret !== 'number') {\n\t      // quirks mode\n\t      ret = d.body[method];\n\t    }\n\t  }\n\t  return ret;\n\t}\n\t\n\tfunction getScrollLeft(w) {\n\t  return getScroll(w);\n\t}\n\t\n\tfunction getScrollTop(w) {\n\t  return getScroll(w, true);\n\t}\n\t\n\tfunction getOffset(el) {\n\t  var pos = getClientPosition(el);\n\t  var doc = el.ownerDocument;\n\t  var w = doc.defaultView || doc.parentWindow;\n\t  pos.left += getScrollLeft(w);\n\t  pos.top += getScrollTop(w);\n\t  return pos;\n\t}\n\t\n\t/**\n\t * A crude way of determining if an object is a window\n\t * @member util\n\t */\n\tfunction isWindow(obj) {\n\t  // must use == for ie8\n\t  /* eslint eqeqeq:0 */\n\t  return obj !== null && obj !== undefined && obj == obj.window;\n\t}\n\t\n\tfunction getDocument(node) {\n\t  if (isWindow(node)) {\n\t    return node.document;\n\t  }\n\t  if (node.nodeType === 9) {\n\t    return node;\n\t  }\n\t  return node.ownerDocument;\n\t}\n\t\n\tfunction _getComputedStyle(elem, name, cs) {\n\t  var computedStyle = cs;\n\t  var val = '';\n\t  var d = getDocument(elem);\n\t  computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null);\n\t\n\t  // https://github.com/kissyteam/kissy/issues/61\n\t  if (computedStyle) {\n\t    val = computedStyle.getPropertyValue(name) || computedStyle[name];\n\t  }\n\t\n\t  return val;\n\t}\n\t\n\tvar _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');\n\tvar RE_POS = /^(top|right|bottom|left)$/;\n\tvar CURRENT_STYLE = 'currentStyle';\n\tvar RUNTIME_STYLE = 'runtimeStyle';\n\tvar LEFT = 'left';\n\tvar PX = 'px';\n\t\n\tfunction _getComputedStyleIE(elem, name) {\n\t  // currentStyle maybe null\n\t  // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n\t  var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];\n\t\n\t  // 当 width/height 设置为百分比时，通过 pixelLeft 方式转换的 width/height 值\n\t  // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n\t  // 在 ie 下不对，需要直接用 offset 方式\n\t  // borderWidth 等值也有问题，但考虑到 borderWidth 设为百分比的概率很小，这里就不考虑了\n\t\n\t  // From the awesome hack by Dean Edwards\n\t  // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n\t  // If we're not dealing with a regular pixel number\n\t  // but a number that has a weird ending, we need to convert it to pixels\n\t  // exclude left right for relativity\n\t  if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n\t    // Remember the original values\n\t    var style = elem.style;\n\t    var left = style[LEFT];\n\t    var rsLeft = elem[RUNTIME_STYLE][LEFT];\n\t\n\t    // prevent flashing of content\n\t    elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\t\n\t    // Put in the new values to get a computed value out\n\t    style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n\t    ret = style.pixelLeft + PX;\n\t\n\t    // Revert the changed values\n\t    style[LEFT] = left;\n\t\n\t    elem[RUNTIME_STYLE][LEFT] = rsLeft;\n\t  }\n\t  return ret === '' ? 'auto' : ret;\n\t}\n\t\n\tif (typeof window !== 'undefined') {\n\t  getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n\t}\n\t\n\tfunction getOffsetDirection(dir, option) {\n\t  if (dir === 'left') {\n\t    return option.useCssRight ? 'right' : dir;\n\t  }\n\t  return option.useCssBottom ? 'bottom' : dir;\n\t}\n\t\n\tfunction oppositeOffsetDirection(dir) {\n\t  if (dir === 'left') {\n\t    return 'right';\n\t  } else if (dir === 'right') {\n\t    return 'left';\n\t  } else if (dir === 'top') {\n\t    return 'bottom';\n\t  } else if (dir === 'bottom') {\n\t    return 'top';\n\t  }\n\t}\n\t\n\t// 设置 elem 相对 elem.ownerDocument 的坐标\n\tfunction setLeftTop(elem, offset, option) {\n\t  // set position first, in-case top/left are set even on static elem\n\t  if (css(elem, 'position') === 'static') {\n\t    elem.style.position = 'relative';\n\t  }\n\t  var presetH = -999;\n\t  var presetV = -999;\n\t  var horizontalProperty = getOffsetDirection('left', option);\n\t  var verticalProperty = getOffsetDirection('top', option);\n\t  var oppositeHorizontalProperty = oppositeOffsetDirection(horizontalProperty);\n\t  var oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);\n\t\n\t  if (horizontalProperty !== 'left') {\n\t    presetH = 999;\n\t  }\n\t\n\t  if (verticalProperty !== 'top') {\n\t    presetV = 999;\n\t  }\n\t  var originalTransition = '';\n\t  var originalOffset = getOffset(elem);\n\t  if ('left' in offset || 'top' in offset) {\n\t    originalTransition = (0, _propertyUtils.getTransitionProperty)(elem) || '';\n\t    (0, _propertyUtils.setTransitionProperty)(elem, 'none');\n\t  }\n\t  if ('left' in offset) {\n\t    elem.style[oppositeHorizontalProperty] = '';\n\t    elem.style[horizontalProperty] = presetH + 'px';\n\t  }\n\t  if ('top' in offset) {\n\t    elem.style[oppositeVerticalProperty] = '';\n\t    elem.style[verticalProperty] = presetV + 'px';\n\t  }\n\t  // force relayout\n\t  forceRelayout(elem);\n\t  var old = getOffset(elem);\n\t  var originalStyle = {};\n\t  for (var key in offset) {\n\t    if (offset.hasOwnProperty(key)) {\n\t      var dir = getOffsetDirection(key, option);\n\t      var preset = key === 'left' ? presetH : presetV;\n\t      var off = originalOffset[key] - old[key];\n\t      if (dir === key) {\n\t        originalStyle[dir] = preset + off;\n\t      } else {\n\t        originalStyle[dir] = preset - off;\n\t      }\n\t    }\n\t  }\n\t  css(elem, originalStyle);\n\t  // force relayout\n\t  forceRelayout(elem);\n\t  if ('left' in offset || 'top' in offset) {\n\t    (0, _propertyUtils.setTransitionProperty)(elem, originalTransition);\n\t  }\n\t  var ret = {};\n\t  for (var _key in offset) {\n\t    if (offset.hasOwnProperty(_key)) {\n\t      var _dir = getOffsetDirection(_key, option);\n\t      var _off = offset[_key] - originalOffset[_key];\n\t      if (_key === _dir) {\n\t        ret[_dir] = originalStyle[_dir] + _off;\n\t      } else {\n\t        ret[_dir] = originalStyle[_dir] - _off;\n\t      }\n\t    }\n\t  }\n\t  css(elem, ret);\n\t}\n\t\n\tfunction setTransform(elem, offset) {\n\t  var originalOffset = getOffset(elem);\n\t  var originalXY = (0, _propertyUtils.getTransformXY)(elem);\n\t  var resultXY = { x: originalXY.x, y: originalXY.y };\n\t  if ('left' in offset) {\n\t    resultXY.x = originalXY.x + offset.left - originalOffset.left;\n\t  }\n\t  if ('top' in offset) {\n\t    resultXY.y = originalXY.y + offset.top - originalOffset.top;\n\t  }\n\t  (0, _propertyUtils.setTransformXY)(elem, resultXY);\n\t}\n\t\n\tfunction setOffset(elem, offset, option) {\n\t  if (option.ignoreShake) {\n\t    var oriOffset = getOffset(elem);\n\t\n\t    var oLeft = oriOffset.left.toFixed(0);\n\t    var oTop = oriOffset.top.toFixed(0);\n\t    var tLeft = offset.left.toFixed(0);\n\t    var tTop = offset.top.toFixed(0);\n\t\n\t    if (oLeft === tLeft && oTop === tTop) {\n\t      return;\n\t    }\n\t  }\n\t\n\t  if (option.useCssRight || option.useCssBottom) {\n\t    setLeftTop(elem, offset, option);\n\t  } else if (option.useCssTransform && (0, _propertyUtils.getTransformName)() in document.body.style) {\n\t    setTransform(elem, offset, option);\n\t  } else {\n\t    setLeftTop(elem, offset, option);\n\t  }\n\t}\n\t\n\tfunction each(arr, fn) {\n\t  for (var i = 0; i < arr.length; i++) {\n\t    fn(arr[i]);\n\t  }\n\t}\n\t\n\tfunction isBorderBoxFn(elem) {\n\t  return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n\t}\n\t\n\tvar BOX_MODELS = ['margin', 'border', 'padding'];\n\tvar CONTENT_INDEX = -1;\n\tvar PADDING_INDEX = 2;\n\tvar BORDER_INDEX = 1;\n\tvar MARGIN_INDEX = 0;\n\t\n\tfunction swap(elem, options, callback) {\n\t  var old = {};\n\t  var style = elem.style;\n\t  var name = void 0;\n\t\n\t  // Remember the old values, and insert the new ones\n\t  for (name in options) {\n\t    if (options.hasOwnProperty(name)) {\n\t      old[name] = style[name];\n\t      style[name] = options[name];\n\t    }\n\t  }\n\t\n\t  callback.call(elem);\n\t\n\t  // Revert the old values\n\t  for (name in options) {\n\t    if (options.hasOwnProperty(name)) {\n\t      style[name] = old[name];\n\t    }\n\t  }\n\t}\n\t\n\tfunction getPBMWidth(elem, props, which) {\n\t  var value = 0;\n\t  var prop = void 0;\n\t  var j = void 0;\n\t  var i = void 0;\n\t  for (j = 0; j < props.length; j++) {\n\t    prop = props[j];\n\t    if (prop) {\n\t      for (i = 0; i < which.length; i++) {\n\t        var cssProp = void 0;\n\t        if (prop === 'border') {\n\t          cssProp = '' + prop + which[i] + 'Width';\n\t        } else {\n\t          cssProp = prop + which[i];\n\t        }\n\t        value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n\t      }\n\t    }\n\t  }\n\t  return value;\n\t}\n\t\n\tvar domUtils = {};\n\t\n\teach(['Width', 'Height'], function (name) {\n\t  domUtils['doc' + name] = function (refWin) {\n\t    var d = refWin.document;\n\t    return Math.max(\n\t    // firefox chrome documentElement.scrollHeight< body.scrollHeight\n\t    // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n\t    d.documentElement['scroll' + name],\n\t    // quirks : documentElement.scrollHeight 最大等于可视窗口多一点？\n\t    d.body['scroll' + name], domUtils['viewport' + name](d));\n\t  };\n\t\n\t  domUtils['viewport' + name] = function (win) {\n\t    // pc browser includes scrollbar in window.innerWidth\n\t    var prop = 'client' + name;\n\t    var doc = win.document;\n\t    var body = doc.body;\n\t    var documentElement = doc.documentElement;\n\t    var documentElementProp = documentElement[prop];\n\t    // 标准模式取 documentElement\n\t    // backcompat 取 body\n\t    return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n\t  };\n\t});\n\t\n\t/*\n\t 得到元素的大小信息\n\t @param elem\n\t @param name\n\t @param {String} [extra]  'padding' : (css width) + padding\n\t 'border' : (css width) + padding + border\n\t 'margin' : (css width) + padding + border + margin\n\t */\n\tfunction getWH(elem, name, ex) {\n\t  var extra = ex;\n\t  if (isWindow(elem)) {\n\t    return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n\t  } else if (elem.nodeType === 9) {\n\t    return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n\t  }\n\t  var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\t  var borderBoxValue = name === 'width' ? elem.getBoundingClientRect().width : elem.getBoundingClientRect().height;\n\t  var computedStyle = getComputedStyleX(elem);\n\t  var isBorderBox = isBorderBoxFn(elem, computedStyle);\n\t  var cssBoxValue = 0;\n\t  if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {\n\t    borderBoxValue = undefined;\n\t    // Fall back to computed then un computed css if necessary\n\t    cssBoxValue = getComputedStyleX(elem, name);\n\t    if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {\n\t      cssBoxValue = elem.style[name] || 0;\n\t    }\n\t    // Normalize '', auto, and prepare for extra\n\t    cssBoxValue = parseFloat(cssBoxValue) || 0;\n\t  }\n\t  if (extra === undefined) {\n\t    extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n\t  }\n\t  var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n\t  var val = borderBoxValue || cssBoxValue;\n\t  if (extra === CONTENT_INDEX) {\n\t    if (borderBoxValueOrIsBorderBox) {\n\t      return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle);\n\t    }\n\t    return cssBoxValue;\n\t  } else if (borderBoxValueOrIsBorderBox) {\n\t    if (extra === BORDER_INDEX) {\n\t      return val;\n\t    }\n\t    return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle));\n\t  }\n\t  return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle);\n\t}\n\t\n\tvar cssShow = {\n\t  position: 'absolute',\n\t  visibility: 'hidden',\n\t  display: 'block'\n\t};\n\t\n\t// fix #119 : https://github.com/kissyteam/kissy/issues/119\n\tfunction getWHIgnoreDisplay() {\n\t  for (var _len = arguments.length, args = Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n\t    args[_key2] = arguments[_key2];\n\t  }\n\t\n\t  var val = void 0;\n\t  var elem = args[0];\n\t  // in case elem is window\n\t  // elem.offsetWidth === undefined\n\t  if (elem.offsetWidth !== 0) {\n\t    val = getWH.apply(undefined, args);\n\t  } else {\n\t    swap(elem, cssShow, function () {\n\t      val = getWH.apply(undefined, args);\n\t    });\n\t  }\n\t  return val;\n\t}\n\t\n\teach(['width', 'height'], function (name) {\n\t  var first = name.charAt(0).toUpperCase() + name.slice(1);\n\t  domUtils['outer' + first] = function (el, includeMargin) {\n\t    return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n\t  };\n\t  var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\t\n\t  domUtils[name] = function (elem, v) {\n\t    var val = v;\n\t    if (val !== undefined) {\n\t      if (elem) {\n\t        var computedStyle = getComputedStyleX(elem);\n\t        var isBorderBox = isBorderBoxFn(elem);\n\t        if (isBorderBox) {\n\t          val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);\n\t        }\n\t        return css(elem, name, val);\n\t      }\n\t      return undefined;\n\t    }\n\t    return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n\t  };\n\t});\n\t\n\tfunction mix(to, from) {\n\t  for (var i in from) {\n\t    if (from.hasOwnProperty(i)) {\n\t      to[i] = from[i];\n\t    }\n\t  }\n\t  return to;\n\t}\n\t\n\tvar utils = {\n\t  getWindow: function getWindow(node) {\n\t    if (node && node.document && node.setTimeout) {\n\t      return node;\n\t    }\n\t    var doc = node.ownerDocument || node;\n\t    return doc.defaultView || doc.parentWindow;\n\t  },\n\t\n\t  getDocument: getDocument,\n\t  offset: function offset(el, value, option) {\n\t    if (typeof value !== 'undefined') {\n\t      setOffset(el, value, option || {});\n\t    } else {\n\t      return getOffset(el);\n\t    }\n\t  },\n\t\n\t  isWindow: isWindow,\n\t  each: each,\n\t  css: css,\n\t  clone: function clone(obj) {\n\t    var i = void 0;\n\t    var ret = {};\n\t    for (i in obj) {\n\t      if (obj.hasOwnProperty(i)) {\n\t        ret[i] = obj[i];\n\t      }\n\t    }\n\t    var overflow = obj.overflow;\n\t    if (overflow) {\n\t      for (i in obj) {\n\t        if (obj.hasOwnProperty(i)) {\n\t          ret.overflow[i] = obj.overflow[i];\n\t        }\n\t      }\n\t    }\n\t    return ret;\n\t  },\n\t\n\t  mix: mix,\n\t  getWindowScrollLeft: function getWindowScrollLeft(w) {\n\t    return getScrollLeft(w);\n\t  },\n\t  getWindowScrollTop: function getWindowScrollTop(w) {\n\t    return getScrollTop(w);\n\t  },\n\t  merge: function merge() {\n\t    var ret = {};\n\t\n\t    for (var _len2 = arguments.length, args = Array(_len2), _key3 = 0; _key3 < _len2; _key3++) {\n\t      args[_key3] = arguments[_key3];\n\t    }\n\t\n\t    for (var i = 0; i < args.length; i++) {\n\t      utils.mix(ret, args[i]);\n\t    }\n\t    return ret;\n\t  },\n\t\n\t  viewportWidth: 0,\n\t  viewportHeight: 0\n\t};\n\t\n\tmix(utils, domUtils);\n\t\n\texports['default'] = utils;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 583 */\n/*!*******************************************!*\\\n  !*** ../~/dom-align/lib/propertyUtils.js ***!\n  \\*******************************************/\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.getTransformName = getTransformName;\n\texports.setTransitionProperty = setTransitionProperty;\n\texports.getTransitionProperty = getTransitionProperty;\n\texports.getTransformXY = getTransformXY;\n\texports.setTransformXY = setTransformXY;\n\tvar vendorPrefix = void 0;\n\t\n\tvar jsCssMap = {\n\t  Webkit: '-webkit-',\n\t  Moz: '-moz-',\n\t  // IE did it wrong again ...\n\t  ms: '-ms-',\n\t  O: '-o-'\n\t};\n\t\n\tfunction getVendorPrefix() {\n\t  if (vendorPrefix !== undefined) {\n\t    return vendorPrefix;\n\t  }\n\t  vendorPrefix = '';\n\t  var style = document.createElement('p').style;\n\t  var testProp = 'Transform';\n\t  for (var key in jsCssMap) {\n\t    if (key + testProp in style) {\n\t      vendorPrefix = key;\n\t    }\n\t  }\n\t  return vendorPrefix;\n\t}\n\t\n\tfunction getTransitionName() {\n\t  return getVendorPrefix() ? getVendorPrefix() + 'TransitionProperty' : 'transitionProperty';\n\t}\n\t\n\tfunction getTransformName() {\n\t  return getVendorPrefix() ? getVendorPrefix() + 'Transform' : 'transform';\n\t}\n\t\n\tfunction setTransitionProperty(node, value) {\n\t  var name = getTransitionName();\n\t  if (name) {\n\t    node.style[name] = value;\n\t    if (name !== 'transitionProperty') {\n\t      node.style.transitionProperty = value;\n\t    }\n\t  }\n\t}\n\t\n\tfunction setTransform(node, value) {\n\t  var name = getTransformName();\n\t  if (name) {\n\t    node.style[name] = value;\n\t    if (name !== 'transform') {\n\t      node.style.transform = value;\n\t    }\n\t  }\n\t}\n\t\n\tfunction getTransitionProperty(node) {\n\t  return node.style.transitionProperty || node.style[getTransitionName()];\n\t}\n\t\n\tfunction getTransformXY(node) {\n\t  var style = window.getComputedStyle(node, null);\n\t  var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n\t  if (transform && transform !== 'none') {\n\t    var matrix = transform.replace(/[^0-9\\-.,]/g, '').split(',');\n\t    return { x: parseFloat(matrix[12] || matrix[4], 0), y: parseFloat(matrix[13] || matrix[5], 0) };\n\t  }\n\t  return {\n\t    x: 0,\n\t    y: 0\n\t  };\n\t}\n\t\n\tvar matrix2d = /matrix\\((.*)\\)/;\n\tvar matrix3d = /matrix3d\\((.*)\\)/;\n\t\n\tfunction setTransformXY(node, xy) {\n\t  var style = window.getComputedStyle(node, null);\n\t  var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n\t  if (transform && transform !== 'none') {\n\t    var arr = void 0;\n\t    var match2d = transform.match(matrix2d);\n\t    if (match2d) {\n\t      match2d = match2d[1];\n\t      arr = match2d.split(',').map(function (item) {\n\t        return parseFloat(item, 10);\n\t      });\n\t      arr[4] = xy.x;\n\t      arr[5] = xy.y;\n\t      setTransform(node, 'matrix(' + arr.join(',') + ')');\n\t    } else {\n\t      var match3d = transform.match(matrix3d)[1];\n\t      arr = match3d.split(',').map(function (item) {\n\t        return parseFloat(item, 10);\n\t      });\n\t      arr[12] = xy.x;\n\t      arr[13] = xy.y;\n\t      setTransform(node, 'matrix3d(' + arr.join(',') + ')');\n\t    }\n\t  } else {\n\t    setTransform(node, 'translateX(' + xy.x + 'px) translateY(' + xy.y + 'px) translateZ(0)');\n\t  }\n\t}\n\n/***/ }),\n/* 584 */\n/*!******************************************************!*\\\n  !*** ../~/dom-align/lib/getVisibleRectForElement.js ***!\n  \\******************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _utils = __webpack_require__(/*! ./utils */ 582);\n\t\n\tvar _utils2 = _interopRequireDefault(_utils);\n\t\n\tvar _getOffsetParent = __webpack_require__(/*! ./getOffsetParent */ 585);\n\t\n\tvar _getOffsetParent2 = _interopRequireDefault(_getOffsetParent);\n\t\n\tvar _isAncestorFixed = __webpack_require__(/*! ./isAncestorFixed */ 586);\n\t\n\tvar _isAncestorFixed2 = _interopRequireDefault(_isAncestorFixed);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\t/**\n\t * 获得元素的显示部分的区域\n\t */\n\tfunction getVisibleRectForElement(element) {\n\t  var visibleRect = {\n\t    left: 0,\n\t    right: Infinity,\n\t    top: 0,\n\t    bottom: Infinity\n\t  };\n\t  var el = (0, _getOffsetParent2['default'])(element);\n\t  var doc = _utils2['default'].getDocument(element);\n\t  var win = doc.defaultView || doc.parentWindow;\n\t  var body = doc.body;\n\t  var documentElement = doc.documentElement;\n\t\n\t  // Determine the size of the visible rect by climbing the dom accounting for\n\t  // all scrollable containers.\n\t  while (el) {\n\t    // clientWidth is zero for inline block elements in ie.\n\t    if ((navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) &&\n\t    // body may have overflow set on it, yet we still get the entire\n\t    // viewport. In some browsers, el.offsetParent may be\n\t    // document.documentElement, so check for that too.\n\t    el !== body && el !== documentElement && _utils2['default'].css(el, 'overflow') !== 'visible') {\n\t      var pos = _utils2['default'].offset(el);\n\t      // add border\n\t      pos.left += el.clientLeft;\n\t      pos.top += el.clientTop;\n\t      visibleRect.top = Math.max(visibleRect.top, pos.top);\n\t      visibleRect.right = Math.min(visibleRect.right,\n\t      // consider area without scrollBar\n\t      pos.left + el.clientWidth);\n\t      visibleRect.bottom = Math.min(visibleRect.bottom, pos.top + el.clientHeight);\n\t      visibleRect.left = Math.max(visibleRect.left, pos.left);\n\t    } else if (el === body || el === documentElement) {\n\t      break;\n\t    }\n\t    el = (0, _getOffsetParent2['default'])(el);\n\t  }\n\t\n\t  // Set element position to fixed\n\t  // make sure absolute element itself don't affect it's visible area\n\t  // https://github.com/ant-design/ant-design/issues/7601\n\t  var originalPosition = null;\n\t  if (!_utils2['default'].isWindow(element) && element.nodeType !== 9) {\n\t    originalPosition = element.style.position;\n\t    var position = _utils2['default'].css(element, 'position');\n\t    if (position === 'absolute') {\n\t      element.style.position = 'fixed';\n\t    }\n\t  }\n\t\n\t  var scrollX = _utils2['default'].getWindowScrollLeft(win);\n\t  var scrollY = _utils2['default'].getWindowScrollTop(win);\n\t  var viewportWidth = _utils2['default'].viewportWidth(win);\n\t  var viewportHeight = _utils2['default'].viewportHeight(win);\n\t  var documentWidth = documentElement.scrollWidth;\n\t  var documentHeight = documentElement.scrollHeight;\n\t\n\t  // scrollXXX on html is sync with body which means overflow: hidden on body gets wrong scrollXXX.\n\t  // We should cut this ourself.\n\t  var bodyStyle = window.getComputedStyle(body);\n\t  if (bodyStyle.overflowX === 'hidden') {\n\t    documentWidth = win.innerWidth;\n\t  }\n\t  if (bodyStyle.overflowY === 'hidden') {\n\t    documentHeight = win.innerHeight;\n\t  }\n\t\n\t  // Reset element position after calculate the visible area\n\t  if (element.style) {\n\t    element.style.position = originalPosition;\n\t  }\n\t\n\t  if ((0, _isAncestorFixed2['default'])(element)) {\n\t    // Clip by viewport's size.\n\t    visibleRect.left = Math.max(visibleRect.left, scrollX);\n\t    visibleRect.top = Math.max(visibleRect.top, scrollY);\n\t    visibleRect.right = Math.min(visibleRect.right, scrollX + viewportWidth);\n\t    visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + viewportHeight);\n\t  } else {\n\t    // Clip by document's size.\n\t    var maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth);\n\t    visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth);\n\t\n\t    var maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight);\n\t    visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight);\n\t  }\n\t\n\t  return visibleRect.top >= 0 && visibleRect.left >= 0 && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null;\n\t}\n\t\n\texports['default'] = getVisibleRectForElement;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 585 */\n/*!*********************************************!*\\\n  !*** ../~/dom-align/lib/getOffsetParent.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _utils = __webpack_require__(/*! ./utils */ 582);\n\t\n\tvar _utils2 = _interopRequireDefault(_utils);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\t/**\n\t * 得到会导致元素显示不全的祖先元素\n\t */\n\t\n\tfunction getOffsetParent(element) {\n\t  if (_utils2['default'].isWindow(element) || element.nodeType === 9) {\n\t    return null;\n\t  }\n\t  // ie 这个也不是完全可行\n\t  /*\n\t   <div style=\"width: 50px;height: 100px;overflow: hidden\">\n\t   <div style=\"width: 50px;height: 100px;position: relative;\" id=\"d6\">\n\t   元素 6 高 100px 宽 50px<br/>\n\t   </div>\n\t   </div>\n\t   */\n\t  // element.offsetParent does the right thing in ie7 and below. Return parent with layout!\n\t  //  In other browsers it only includes elements with position absolute, relative or\n\t  // fixed, not elements with overflow set to auto or scroll.\n\t  //        if (UA.ie && ieMode < 8) {\n\t  //            return element.offsetParent;\n\t  //        }\n\t  // 统一的 offsetParent 方法\n\t  var doc = _utils2['default'].getDocument(element);\n\t  var body = doc.body;\n\t  var parent = void 0;\n\t  var positionStyle = _utils2['default'].css(element, 'position');\n\t  var skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';\n\t\n\t  if (!skipStatic) {\n\t    return element.nodeName.toLowerCase() === 'html' ? null : element.parentNode;\n\t  }\n\t\n\t  for (parent = element.parentNode; parent && parent !== body; parent = parent.parentNode) {\n\t    positionStyle = _utils2['default'].css(parent, 'position');\n\t    if (positionStyle !== 'static') {\n\t      return parent;\n\t    }\n\t  }\n\t  return null;\n\t}\n\t\n\texports['default'] = getOffsetParent;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 586 */\n/*!*********************************************!*\\\n  !*** ../~/dom-align/lib/isAncestorFixed.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports['default'] = isAncestorFixed;\n\t\n\tvar _utils = __webpack_require__(/*! ./utils */ 582);\n\t\n\tvar _utils2 = _interopRequireDefault(_utils);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction isAncestorFixed(element) {\n\t  if (_utils2['default'].isWindow(element) || element.nodeType === 9) {\n\t    return false;\n\t  }\n\t\n\t  var doc = _utils2['default'].getDocument(element);\n\t  var body = doc.body;\n\t  var parent = null;\n\t  for (parent = element.parentNode; parent && parent !== body; parent = parent.parentNode) {\n\t    var positionStyle = _utils2['default'].css(parent, 'position');\n\t    if (positionStyle === 'fixed') {\n\t      return true;\n\t    }\n\t  }\n\t  return false;\n\t}\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 587 */\n/*!***********************************************!*\\\n  !*** ../~/dom-align/lib/adjustForViewport.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _utils = __webpack_require__(/*! ./utils */ 582);\n\t\n\tvar _utils2 = _interopRequireDefault(_utils);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {\n\t  var pos = _utils2['default'].clone(elFuturePos);\n\t  var size = {\n\t    width: elRegion.width,\n\t    height: elRegion.height\n\t  };\n\t\n\t  if (overflow.adjustX && pos.left < visibleRect.left) {\n\t    pos.left = visibleRect.left;\n\t  }\n\t\n\t  // Left edge inside and right edge outside viewport, try to resize it.\n\t  if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {\n\t    size.width -= pos.left + size.width - visibleRect.right;\n\t  }\n\t\n\t  // Right edge outside viewport, try to move it.\n\t  if (overflow.adjustX && pos.left + size.width > visibleRect.right) {\n\t    // 保证左边界和可视区域左边界对齐\n\t    pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);\n\t  }\n\t\n\t  // Top edge outside viewport, try to move it.\n\t  if (overflow.adjustY && pos.top < visibleRect.top) {\n\t    pos.top = visibleRect.top;\n\t  }\n\t\n\t  // Top edge inside and bottom edge outside viewport, try to resize it.\n\t  if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {\n\t    size.height -= pos.top + size.height - visibleRect.bottom;\n\t  }\n\t\n\t  // Bottom edge outside viewport, try to move it.\n\t  if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {\n\t    // 保证上边界和可视区域上边界对齐\n\t    pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);\n\t  }\n\t\n\t  return _utils2['default'].mix(pos, size);\n\t}\n\t\n\texports['default'] = adjustForViewport;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 588 */\n/*!***************************************!*\\\n  !*** ../~/dom-align/lib/getRegion.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _utils = __webpack_require__(/*! ./utils */ 582);\n\t\n\tvar _utils2 = _interopRequireDefault(_utils);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction getRegion(node) {\n\t  var offset = void 0;\n\t  var w = void 0;\n\t  var h = void 0;\n\t  if (!_utils2['default'].isWindow(node) && node.nodeType !== 9) {\n\t    offset = _utils2['default'].offset(node);\n\t    w = _utils2['default'].outerWidth(node);\n\t    h = _utils2['default'].outerHeight(node);\n\t  } else {\n\t    var win = _utils2['default'].getWindow(node);\n\t    offset = {\n\t      left: _utils2['default'].getWindowScrollLeft(win),\n\t      top: _utils2['default'].getWindowScrollTop(win)\n\t    };\n\t    w = _utils2['default'].viewportWidth(win);\n\t    h = _utils2['default'].viewportHeight(win);\n\t  }\n\t  offset.width = w;\n\t  offset.height = h;\n\t  return offset;\n\t}\n\t\n\texports['default'] = getRegion;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 589 */\n/*!********************************************!*\\\n  !*** ../~/dom-align/lib/getElFuturePos.js ***!\n  \\********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _getAlignOffset = __webpack_require__(/*! ./getAlignOffset */ 590);\n\t\n\tvar _getAlignOffset2 = _interopRequireDefault(_getAlignOffset);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {\n\t  var p1 = (0, _getAlignOffset2['default'])(refNodeRegion, points[1]);\n\t  var p2 = (0, _getAlignOffset2['default'])(elRegion, points[0]);\n\t  var diff = [p2.left - p1.left, p2.top - p1.top];\n\t\n\t  return {\n\t    left: elRegion.left - diff[0] + offset[0] - targetOffset[0],\n\t    top: elRegion.top - diff[1] + offset[1] - targetOffset[1]\n\t  };\n\t}\n\t\n\texports['default'] = getElFuturePos;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 590 */\n/*!********************************************!*\\\n  !*** ../~/dom-align/lib/getAlignOffset.js ***!\n  \\********************************************/\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t/**\n\t * 获取 node 上的 align 对齐点 相对于页面的坐标\n\t */\n\t\n\tfunction getAlignOffset(region, align) {\n\t  var V = align.charAt(0);\n\t  var H = align.charAt(1);\n\t  var w = region.width;\n\t  var h = region.height;\n\t\n\t  var x = region.left;\n\t  var y = region.top;\n\t\n\t  if (V === 'c') {\n\t    y += h / 2;\n\t  } else if (V === 'b') {\n\t    y += h;\n\t  }\n\t\n\t  if (H === 'c') {\n\t    x += w / 2;\n\t  } else if (H === 'r') {\n\t    x += w;\n\t  }\n\t\n\t  return {\n\t    left: x,\n\t    top: y\n\t  };\n\t}\n\t\n\texports['default'] = getAlignOffset;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 591 */\n/*!**********************************************!*\\\n  !*** ../~/dom-align/lib/align/alignPoint.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _utils = __webpack_require__(/*! ../utils */ 582);\n\t\n\tvar _utils2 = _interopRequireDefault(_utils);\n\t\n\tvar _align = __webpack_require__(/*! ./align */ 581);\n\t\n\tvar _align2 = _interopRequireDefault(_align);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\t/**\n\t * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.\n\t * If client position provided, will internal convert to page position.\n\t */\n\t\n\tfunction alignPoint(el, tgtPoint, align) {\n\t  var pageX = void 0;\n\t  var pageY = void 0;\n\t\n\t  var doc = _utils2['default'].getDocument(el);\n\t  var win = doc.defaultView || doc.parentWindow;\n\t\n\t  var scrollX = _utils2['default'].getWindowScrollLeft(win);\n\t  var scrollY = _utils2['default'].getWindowScrollTop(win);\n\t  var viewportWidth = _utils2['default'].viewportWidth(win);\n\t  var viewportHeight = _utils2['default'].viewportHeight(win);\n\t\n\t  if ('pageX' in tgtPoint) {\n\t    pageX = tgtPoint.pageX;\n\t  } else {\n\t    pageX = scrollX + tgtPoint.clientX;\n\t  }\n\t\n\t  if ('pageY' in tgtPoint) {\n\t    pageY = tgtPoint.pageY;\n\t  } else {\n\t    pageY = scrollY + tgtPoint.clientY;\n\t  }\n\t\n\t  var tgtRegion = {\n\t    left: pageX,\n\t    top: pageY,\n\t    width: 0,\n\t    height: 0\n\t  };\n\t\n\t  var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight;\n\t\n\t  // Provide default target point\n\t  var points = [align.points[0], 'cc'];\n\t\n\t  return (0, _align2['default'])(el, tgtRegion, _extends({}, align, { points: points }), pointInView);\n\t}\n\t\n\texports['default'] = alignPoint;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 592 */\n/*!*********************************!*\\\n  !*** ../~/rc-align/lib/util.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.buffer = buffer;\n\texports.isSamePoint = isSamePoint;\n\texports.isWindow = isWindow;\n\texports.isSimilarValue = isSimilarValue;\n\texports.restoreFocus = restoreFocus;\n\t\n\tvar _contains = __webpack_require__(/*! rc-util/lib/Dom/contains */ 572);\n\t\n\tvar _contains2 = _interopRequireDefault(_contains);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction buffer(fn, ms) {\n\t  var timer = void 0;\n\t\n\t  function clear() {\n\t    if (timer) {\n\t      clearTimeout(timer);\n\t      timer = null;\n\t    }\n\t  }\n\t\n\t  function bufferFn() {\n\t    clear();\n\t    timer = setTimeout(fn, ms);\n\t  }\n\t\n\t  bufferFn.clear = clear;\n\t\n\t  return bufferFn;\n\t}\n\t\n\tfunction isSamePoint(prev, next) {\n\t  if (prev === next) return true;\n\t  if (!prev || !next) return false;\n\t\n\t  if ('pageX' in next && 'pageY' in next) {\n\t    return prev.pageX === next.pageX && prev.pageY === next.pageY;\n\t  }\n\t\n\t  if ('clientX' in next && 'clientY' in next) {\n\t    return prev.clientX === next.clientX && prev.clientY === next.clientY;\n\t  }\n\t\n\t  return false;\n\t}\n\t\n\tfunction isWindow(obj) {\n\t  return obj && typeof obj === 'object' && obj.window === obj;\n\t}\n\t\n\tfunction isSimilarValue(val1, val2) {\n\t  var int1 = Math.floor(val1);\n\t  var int2 = Math.floor(val2);\n\t  return Math.abs(int1 - int2) <= 1;\n\t}\n\t\n\tfunction restoreFocus(activeElement, container) {\n\t  // Focus back if is in the container\n\t  if (activeElement !== document.activeElement && (0, _contains2['default'])(container, activeElement)) {\n\t    activeElement.focus();\n\t  }\n\t}\n\n/***/ }),\n/* 593 */\n/*!**************************************!*\\\n  !*** ../~/rc-animate/lib/Animate.js ***!\n  \\**************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _extends2 = __webpack_require__(/*! babel-runtime/helpers/extends */ 446);\n\t\n\tvar _extends3 = _interopRequireDefault(_extends2);\n\t\n\tvar _defineProperty2 = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ 536);\n\t\n\tvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\t\n\tvar _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ 485);\n\t\n\tvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\t\n\tvar _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ 486);\n\t\n\tvar _createClass3 = _interopRequireDefault(_createClass2);\n\t\n\tvar _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ 490);\n\t\n\tvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\t\n\tvar _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ 524);\n\t\n\tvar _inherits3 = _interopRequireDefault(_inherits2);\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _ChildrenUtils = __webpack_require__(/*! ./ChildrenUtils */ 594);\n\t\n\tvar _AnimateChild = __webpack_require__(/*! ./AnimateChild */ 595);\n\t\n\tvar _AnimateChild2 = _interopRequireDefault(_AnimateChild);\n\t\n\tvar _animate = __webpack_require__(/*! ./util/animate */ 600);\n\t\n\tvar _animate2 = _interopRequireDefault(_animate);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar defaultKey = 'rc_animate_' + Date.now();\n\t\n\tfunction getChildrenFromProps(props) {\n\t  var children = props.children;\n\t  if (_react2['default'].isValidElement(children)) {\n\t    if (!children.key) {\n\t      return _react2['default'].cloneElement(children, {\n\t        key: defaultKey\n\t      });\n\t    }\n\t  }\n\t  return children;\n\t}\n\t\n\tfunction noop() {}\n\t\n\tvar Animate = function (_React$Component) {\n\t  (0, _inherits3['default'])(Animate, _React$Component);\n\t\n\t  // eslint-disable-line\n\t\n\t  function Animate(props) {\n\t    (0, _classCallCheck3['default'])(this, Animate);\n\t\n\t    var _this = (0, _possibleConstructorReturn3['default'])(this, (Animate.__proto__ || Object.getPrototypeOf(Animate)).call(this, props));\n\t\n\t    _initialiseProps.call(_this);\n\t\n\t    _this.currentlyAnimatingKeys = {};\n\t    _this.keysToEnter = [];\n\t    _this.keysToLeave = [];\n\t\n\t    _this.state = {\n\t      children: (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props))\n\t    };\n\t\n\t    _this.childrenRefs = {};\n\t    return _this;\n\t  }\n\t\n\t  (0, _createClass3['default'])(Animate, [{\n\t    key: 'componentDidMount',\n\t    value: function componentDidMount() {\n\t      var _this2 = this;\n\t\n\t      var showProp = this.props.showProp;\n\t      var children = this.state.children;\n\t      if (showProp) {\n\t        children = children.filter(function (child) {\n\t          return !!child.props[showProp];\n\t        });\n\t      }\n\t      children.forEach(function (child) {\n\t        if (child) {\n\t          _this2.performAppear(child.key);\n\t        }\n\t      });\n\t    }\n\t  }, {\n\t    key: 'componentWillReceiveProps',\n\t    value: function componentWillReceiveProps(nextProps) {\n\t      var _this3 = this;\n\t\n\t      this.nextProps = nextProps;\n\t      var nextChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(nextProps));\n\t      var props = this.props;\n\t      // exclusive needs immediate response\n\t      if (props.exclusive) {\n\t        Object.keys(this.currentlyAnimatingKeys).forEach(function (key) {\n\t          _this3.stop(key);\n\t        });\n\t      }\n\t      var showProp = props.showProp;\n\t      var currentlyAnimatingKeys = this.currentlyAnimatingKeys;\n\t      // last props children if exclusive\n\t      var currentChildren = props.exclusive ? (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props)) : this.state.children;\n\t      // in case destroy in showProp mode\n\t      var newChildren = [];\n\t      if (showProp) {\n\t        currentChildren.forEach(function (currentChild) {\n\t          var nextChild = currentChild && (0, _ChildrenUtils.findChildInChildrenByKey)(nextChildren, currentChild.key);\n\t          var newChild = void 0;\n\t          if ((!nextChild || !nextChild.props[showProp]) && currentChild.props[showProp]) {\n\t            newChild = _react2['default'].cloneElement(nextChild || currentChild, (0, _defineProperty3['default'])({}, showProp, true));\n\t          } else {\n\t            newChild = nextChild;\n\t          }\n\t          if (newChild) {\n\t            newChildren.push(newChild);\n\t          }\n\t        });\n\t        nextChildren.forEach(function (nextChild) {\n\t          if (!nextChild || !(0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, nextChild.key)) {\n\t            newChildren.push(nextChild);\n\t          }\n\t        });\n\t      } else {\n\t        newChildren = (0, _ChildrenUtils.mergeChildren)(currentChildren, nextChildren);\n\t      }\n\t\n\t      // need render to avoid update\n\t      this.setState({\n\t        children: newChildren\n\t      });\n\t\n\t      nextChildren.forEach(function (child) {\n\t        var key = child && child.key;\n\t        if (child && currentlyAnimatingKeys[key]) {\n\t          return;\n\t        }\n\t        var hasPrev = child && (0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, key);\n\t        if (showProp) {\n\t          var showInNext = child.props[showProp];\n\t          if (hasPrev) {\n\t            var showInNow = (0, _ChildrenUtils.findShownChildInChildrenByKey)(currentChildren, key, showProp);\n\t            if (!showInNow && showInNext) {\n\t              _this3.keysToEnter.push(key);\n\t            }\n\t          } else if (showInNext) {\n\t            _this3.keysToEnter.push(key);\n\t          }\n\t        } else if (!hasPrev) {\n\t          _this3.keysToEnter.push(key);\n\t        }\n\t      });\n\t\n\t      currentChildren.forEach(function (child) {\n\t        var key = child && child.key;\n\t        if (child && currentlyAnimatingKeys[key]) {\n\t          return;\n\t        }\n\t        var hasNext = child && (0, _ChildrenUtils.findChildInChildrenByKey)(nextChildren, key);\n\t        if (showProp) {\n\t          var showInNow = child.props[showProp];\n\t          if (hasNext) {\n\t            var showInNext = (0, _ChildrenUtils.findShownChildInChildrenByKey)(nextChildren, key, showProp);\n\t            if (!showInNext && showInNow) {\n\t              _this3.keysToLeave.push(key);\n\t            }\n\t          } else if (showInNow) {\n\t            _this3.keysToLeave.push(key);\n\t          }\n\t        } else if (!hasNext) {\n\t          _this3.keysToLeave.push(key);\n\t        }\n\t      });\n\t    }\n\t  }, {\n\t    key: 'componentDidUpdate',\n\t    value: function componentDidUpdate() {\n\t      var keysToEnter = this.keysToEnter;\n\t      this.keysToEnter = [];\n\t      keysToEnter.forEach(this.performEnter);\n\t      var keysToLeave = this.keysToLeave;\n\t      this.keysToLeave = [];\n\t      keysToLeave.forEach(this.performLeave);\n\t    }\n\t  }, {\n\t    key: 'isValidChildByKey',\n\t    value: function isValidChildByKey(currentChildren, key) {\n\t      var showProp = this.props.showProp;\n\t      if (showProp) {\n\t        return (0, _ChildrenUtils.findShownChildInChildrenByKey)(currentChildren, key, showProp);\n\t      }\n\t      return (0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, key);\n\t    }\n\t  }, {\n\t    key: 'stop',\n\t    value: function stop(key) {\n\t      delete this.currentlyAnimatingKeys[key];\n\t      var component = this.childrenRefs[key];\n\t      if (component) {\n\t        component.stop();\n\t      }\n\t    }\n\t  }, {\n\t    key: 'render',\n\t    value: function render() {\n\t      var _this4 = this;\n\t\n\t      var props = this.props;\n\t      this.nextProps = props;\n\t      var stateChildren = this.state.children;\n\t      var children = null;\n\t      if (stateChildren) {\n\t        children = stateChildren.map(function (child) {\n\t          if (child === null || child === undefined) {\n\t            return child;\n\t          }\n\t          if (!child.key) {\n\t            throw new Error('must set key for <rc-animate> children');\n\t          }\n\t          return _react2['default'].createElement(\n\t            _AnimateChild2['default'],\n\t            {\n\t              key: child.key,\n\t              ref: function ref(node) {\n\t                _this4.childrenRefs[child.key] = node;\n\t              },\n\t              animation: props.animation,\n\t              transitionName: props.transitionName,\n\t              transitionEnter: props.transitionEnter,\n\t              transitionAppear: props.transitionAppear,\n\t              transitionLeave: props.transitionLeave\n\t            },\n\t            child\n\t          );\n\t        });\n\t      }\n\t      var Component = props.component;\n\t      if (Component) {\n\t        var passedProps = props;\n\t        if (typeof Component === 'string') {\n\t          passedProps = (0, _extends3['default'])({\n\t            className: props.className,\n\t            style: props.style\n\t          }, props.componentProps);\n\t        }\n\t        return _react2['default'].createElement(\n\t          Component,\n\t          passedProps,\n\t          children\n\t        );\n\t      }\n\t      return children[0] || null;\n\t    }\n\t  }]);\n\t  return Animate;\n\t}(_react2['default'].Component);\n\t\n\tAnimate.isAnimate = true;\n\tAnimate.propTypes = {\n\t  component: _propTypes2['default'].any,\n\t  componentProps: _propTypes2['default'].object,\n\t  animation: _propTypes2['default'].object,\n\t  transitionName: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].object]),\n\t  transitionEnter: _propTypes2['default'].bool,\n\t  transitionAppear: _propTypes2['default'].bool,\n\t  exclusive: _propTypes2['default'].bool,\n\t  transitionLeave: _propTypes2['default'].bool,\n\t  onEnd: _propTypes2['default'].func,\n\t  onEnter: _propTypes2['default'].func,\n\t  onLeave: _propTypes2['default'].func,\n\t  onAppear: _propTypes2['default'].func,\n\t  showProp: _propTypes2['default'].string,\n\t  children: _propTypes2['default'].node\n\t};\n\tAnimate.defaultProps = {\n\t  animation: {},\n\t  component: 'span',\n\t  componentProps: {},\n\t  transitionEnter: true,\n\t  transitionLeave: true,\n\t  transitionAppear: false,\n\t  onEnd: noop,\n\t  onEnter: noop,\n\t  onLeave: noop,\n\t  onAppear: noop\n\t};\n\t\n\tvar _initialiseProps = function _initialiseProps() {\n\t  var _this5 = this;\n\t\n\t  this.performEnter = function (key) {\n\t    // may already remove by exclusive\n\t    if (_this5.childrenRefs[key]) {\n\t      _this5.currentlyAnimatingKeys[key] = true;\n\t      _this5.childrenRefs[key].componentWillEnter(_this5.handleDoneAdding.bind(_this5, key, 'enter'));\n\t    }\n\t  };\n\t\n\t  this.performAppear = function (key) {\n\t    if (_this5.childrenRefs[key]) {\n\t      _this5.currentlyAnimatingKeys[key] = true;\n\t      _this5.childrenRefs[key].componentWillAppear(_this5.handleDoneAdding.bind(_this5, key, 'appear'));\n\t    }\n\t  };\n\t\n\t  this.handleDoneAdding = function (key, type) {\n\t    var props = _this5.props;\n\t    delete _this5.currentlyAnimatingKeys[key];\n\t    // if update on exclusive mode, skip check\n\t    if (props.exclusive && props !== _this5.nextProps) {\n\t      return;\n\t    }\n\t    var currentChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props));\n\t    if (!_this5.isValidChildByKey(currentChildren, key)) {\n\t      // exclusive will not need this\n\t      _this5.performLeave(key);\n\t    } else if (type === 'appear') {\n\t      if (_animate2['default'].allowAppearCallback(props)) {\n\t        props.onAppear(key);\n\t        props.onEnd(key, true);\n\t      }\n\t    } else if (_animate2['default'].allowEnterCallback(props)) {\n\t      props.onEnter(key);\n\t      props.onEnd(key, true);\n\t    }\n\t  };\n\t\n\t  this.performLeave = function (key) {\n\t    // may already remove by exclusive\n\t    if (_this5.childrenRefs[key]) {\n\t      _this5.currentlyAnimatingKeys[key] = true;\n\t      _this5.childrenRefs[key].componentWillLeave(_this5.handleDoneLeaving.bind(_this5, key));\n\t    }\n\t  };\n\t\n\t  this.handleDoneLeaving = function (key) {\n\t    var props = _this5.props;\n\t    delete _this5.currentlyAnimatingKeys[key];\n\t    // if update on exclusive mode, skip check\n\t    if (props.exclusive && props !== _this5.nextProps) {\n\t      return;\n\t    }\n\t    var currentChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props));\n\t    // in case state change is too fast\n\t    if (_this5.isValidChildByKey(currentChildren, key)) {\n\t      _this5.performEnter(key);\n\t    } else {\n\t      var end = function end() {\n\t        if (_animate2['default'].allowLeaveCallback(props)) {\n\t          props.onLeave(key);\n\t          props.onEnd(key, false);\n\t        }\n\t      };\n\t      if (!(0, _ChildrenUtils.isSameChildren)(_this5.state.children, currentChildren, props.showProp)) {\n\t        _this5.setState({\n\t          children: currentChildren\n\t        }, end);\n\t      } else {\n\t        end();\n\t      }\n\t    }\n\t  };\n\t};\n\t\n\texports['default'] = Animate;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 594 */\n/*!********************************************!*\\\n  !*** ../~/rc-animate/lib/ChildrenUtils.js ***!\n  \\********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.toArrayChildren = toArrayChildren;\n\texports.findChildInChildrenByKey = findChildInChildrenByKey;\n\texports.findShownChildInChildrenByKey = findShownChildInChildrenByKey;\n\texports.findHiddenChildInChildrenByKey = findHiddenChildInChildrenByKey;\n\texports.isSameChildren = isSameChildren;\n\texports.mergeChildren = mergeChildren;\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction toArrayChildren(children) {\n\t  var ret = [];\n\t  _react2['default'].Children.forEach(children, function (child) {\n\t    ret.push(child);\n\t  });\n\t  return ret;\n\t}\n\t\n\tfunction findChildInChildrenByKey(children, key) {\n\t  var ret = null;\n\t  if (children) {\n\t    children.forEach(function (child) {\n\t      if (ret) {\n\t        return;\n\t      }\n\t      if (child && child.key === key) {\n\t        ret = child;\n\t      }\n\t    });\n\t  }\n\t  return ret;\n\t}\n\t\n\tfunction findShownChildInChildrenByKey(children, key, showProp) {\n\t  var ret = null;\n\t  if (children) {\n\t    children.forEach(function (child) {\n\t      if (child && child.key === key && child.props[showProp]) {\n\t        if (ret) {\n\t          throw new Error('two child with same key for <rc-animate> children');\n\t        }\n\t        ret = child;\n\t      }\n\t    });\n\t  }\n\t  return ret;\n\t}\n\t\n\tfunction findHiddenChildInChildrenByKey(children, key, showProp) {\n\t  var found = 0;\n\t  if (children) {\n\t    children.forEach(function (child) {\n\t      if (found) {\n\t        return;\n\t      }\n\t      found = child && child.key === key && !child.props[showProp];\n\t    });\n\t  }\n\t  return found;\n\t}\n\t\n\tfunction isSameChildren(c1, c2, showProp) {\n\t  var same = c1.length === c2.length;\n\t  if (same) {\n\t    c1.forEach(function (child, index) {\n\t      var child2 = c2[index];\n\t      if (child && child2) {\n\t        if (child && !child2 || !child && child2) {\n\t          same = false;\n\t        } else if (child.key !== child2.key) {\n\t          same = false;\n\t        } else if (showProp && child.props[showProp] !== child2.props[showProp]) {\n\t          same = false;\n\t        }\n\t      }\n\t    });\n\t  }\n\t  return same;\n\t}\n\t\n\tfunction mergeChildren(prev, next) {\n\t  var ret = [];\n\t\n\t  // For each key of `next`, the list of keys to insert before that key in\n\t  // the combined list\n\t  var nextChildrenPending = {};\n\t  var pendingChildren = [];\n\t  prev.forEach(function (child) {\n\t    if (child && findChildInChildrenByKey(next, child.key)) {\n\t      if (pendingChildren.length) {\n\t        nextChildrenPending[child.key] = pendingChildren;\n\t        pendingChildren = [];\n\t      }\n\t    } else {\n\t      pendingChildren.push(child);\n\t    }\n\t  });\n\t\n\t  next.forEach(function (child) {\n\t    if (child && Object.prototype.hasOwnProperty.call(nextChildrenPending, child.key)) {\n\t      ret = ret.concat(nextChildrenPending[child.key]);\n\t    }\n\t    ret.push(child);\n\t  });\n\t\n\t  ret = ret.concat(pendingChildren);\n\t\n\t  return ret;\n\t}\n\n/***/ }),\n/* 595 */\n/*!*******************************************!*\\\n  !*** ../~/rc-animate/lib/AnimateChild.js ***!\n  \\*******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ 485);\n\t\n\tvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\t\n\tvar _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ 486);\n\t\n\tvar _createClass3 = _interopRequireDefault(_createClass2);\n\t\n\tvar _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ 490);\n\t\n\tvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\t\n\tvar _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ 524);\n\t\n\tvar _inherits3 = _interopRequireDefault(_inherits2);\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDom = __webpack_require__(/*! react-dom */ 549);\n\t\n\tvar _reactDom2 = _interopRequireDefault(_reactDom);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _cssAnimation = __webpack_require__(/*! css-animation */ 596);\n\t\n\tvar _cssAnimation2 = _interopRequireDefault(_cssAnimation);\n\t\n\tvar _animate = __webpack_require__(/*! ./util/animate */ 600);\n\t\n\tvar _animate2 = _interopRequireDefault(_animate);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar transitionMap = {\n\t  enter: 'transitionEnter',\n\t  appear: 'transitionAppear',\n\t  leave: 'transitionLeave'\n\t};\n\t\n\tvar AnimateChild = function (_React$Component) {\n\t  (0, _inherits3['default'])(AnimateChild, _React$Component);\n\t\n\t  function AnimateChild() {\n\t    (0, _classCallCheck3['default'])(this, AnimateChild);\n\t    return (0, _possibleConstructorReturn3['default'])(this, (AnimateChild.__proto__ || Object.getPrototypeOf(AnimateChild)).apply(this, arguments));\n\t  }\n\t\n\t  (0, _createClass3['default'])(AnimateChild, [{\n\t    key: 'componentWillUnmount',\n\t    value: function componentWillUnmount() {\n\t      this.stop();\n\t    }\n\t  }, {\n\t    key: 'componentWillEnter',\n\t    value: function componentWillEnter(done) {\n\t      if (_animate2['default'].isEnterSupported(this.props)) {\n\t        this.transition('enter', done);\n\t      } else {\n\t        done();\n\t      }\n\t    }\n\t  }, {\n\t    key: 'componentWillAppear',\n\t    value: function componentWillAppear(done) {\n\t      if (_animate2['default'].isAppearSupported(this.props)) {\n\t        this.transition('appear', done);\n\t      } else {\n\t        done();\n\t      }\n\t    }\n\t  }, {\n\t    key: 'componentWillLeave',\n\t    value: function componentWillLeave(done) {\n\t      if (_animate2['default'].isLeaveSupported(this.props)) {\n\t        this.transition('leave', done);\n\t      } else {\n\t        // always sync, do not interupt with react component life cycle\n\t        // update hidden -> animate hidden ->\n\t        // didUpdate -> animate leave -> unmount (if animate is none)\n\t        done();\n\t      }\n\t    }\n\t  }, {\n\t    key: 'transition',\n\t    value: function transition(animationType, finishCallback) {\n\t      var _this2 = this;\n\t\n\t      var node = _reactDom2['default'].findDOMNode(this);\n\t      var props = this.props;\n\t      var transitionName = props.transitionName;\n\t      var nameIsObj = typeof transitionName === 'object';\n\t      this.stop();\n\t      var end = function end() {\n\t        _this2.stopper = null;\n\t        finishCallback();\n\t      };\n\t      if ((_cssAnimation.isCssAnimationSupported || !props.animation[animationType]) && transitionName && props[transitionMap[animationType]]) {\n\t        var name = nameIsObj ? transitionName[animationType] : transitionName + '-' + animationType;\n\t        var activeName = name + '-active';\n\t        if (nameIsObj && transitionName[animationType + 'Active']) {\n\t          activeName = transitionName[animationType + 'Active'];\n\t        }\n\t        this.stopper = (0, _cssAnimation2['default'])(node, {\n\t          name: name,\n\t          active: activeName\n\t        }, end);\n\t      } else {\n\t        this.stopper = props.animation[animationType](node, end);\n\t      }\n\t    }\n\t  }, {\n\t    key: 'stop',\n\t    value: function stop() {\n\t      var stopper = this.stopper;\n\t      if (stopper) {\n\t        this.stopper = null;\n\t        stopper.stop();\n\t      }\n\t    }\n\t  }, {\n\t    key: 'render',\n\t    value: function render() {\n\t      return this.props.children;\n\t    }\n\t  }]);\n\t  return AnimateChild;\n\t}(_react2['default'].Component);\n\t\n\tAnimateChild.propTypes = {\n\t  children: _propTypes2['default'].any\n\t};\n\texports['default'] = AnimateChild;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 596 */\n/*!***************************************!*\\\n  !*** ../~/css-animation/lib/index.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.isCssAnimationSupported = undefined;\n\t\n\tvar _typeof2 = __webpack_require__(/*! babel-runtime/helpers/typeof */ 491);\n\t\n\tvar _typeof3 = _interopRequireDefault(_typeof2);\n\t\n\tvar _Event = __webpack_require__(/*! ./Event */ 597);\n\t\n\tvar _Event2 = _interopRequireDefault(_Event);\n\t\n\tvar _componentClasses = __webpack_require__(/*! component-classes */ 598);\n\t\n\tvar _componentClasses2 = _interopRequireDefault(_componentClasses);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar isCssAnimationSupported = _Event2['default'].endEvents.length !== 0;\n\tvar capitalPrefixes = ['Webkit', 'Moz', 'O',\n\t// ms is special .... !\n\t'ms'];\n\tvar prefixes = ['-webkit-', '-moz-', '-o-', 'ms-', ''];\n\t\n\tfunction getStyleProperty(node, name) {\n\t  // old ff need null, https://developer.mozilla.org/en-US/docs/Web/API/Window/getComputedStyle\n\t  var style = window.getComputedStyle(node, null);\n\t  var ret = '';\n\t  for (var i = 0; i < prefixes.length; i++) {\n\t    ret = style.getPropertyValue(prefixes[i] + name);\n\t    if (ret) {\n\t      break;\n\t    }\n\t  }\n\t  return ret;\n\t}\n\t\n\tfunction fixBrowserByTimeout(node) {\n\t  if (isCssAnimationSupported) {\n\t    var transitionDelay = parseFloat(getStyleProperty(node, 'transition-delay')) || 0;\n\t    var transitionDuration = parseFloat(getStyleProperty(node, 'transition-duration')) || 0;\n\t    var animationDelay = parseFloat(getStyleProperty(node, 'animation-delay')) || 0;\n\t    var animationDuration = parseFloat(getStyleProperty(node, 'animation-duration')) || 0;\n\t    var time = Math.max(transitionDuration + transitionDelay, animationDuration + animationDelay);\n\t    // sometimes, browser bug\n\t    node.rcEndAnimTimeout = setTimeout(function () {\n\t      node.rcEndAnimTimeout = null;\n\t      if (node.rcEndListener) {\n\t        node.rcEndListener();\n\t      }\n\t    }, time * 1000 + 200);\n\t  }\n\t}\n\t\n\tfunction clearBrowserBugTimeout(node) {\n\t  if (node.rcEndAnimTimeout) {\n\t    clearTimeout(node.rcEndAnimTimeout);\n\t    node.rcEndAnimTimeout = null;\n\t  }\n\t}\n\t\n\tvar cssAnimation = function cssAnimation(node, transitionName, endCallback) {\n\t  var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : (0, _typeof3['default'])(transitionName)) === 'object';\n\t  var className = nameIsObj ? transitionName.name : transitionName;\n\t  var activeClassName = nameIsObj ? transitionName.active : transitionName + '-active';\n\t  var end = endCallback;\n\t  var start = void 0;\n\t  var active = void 0;\n\t  var nodeClasses = (0, _componentClasses2['default'])(node);\n\t\n\t  if (endCallback && Object.prototype.toString.call(endCallback) === '[object Object]') {\n\t    end = endCallback.end;\n\t    start = endCallback.start;\n\t    active = endCallback.active;\n\t  }\n\t\n\t  if (node.rcEndListener) {\n\t    node.rcEndListener();\n\t  }\n\t\n\t  node.rcEndListener = function (e) {\n\t    if (e && e.target !== node) {\n\t      return;\n\t    }\n\t\n\t    if (node.rcAnimTimeout) {\n\t      clearTimeout(node.rcAnimTimeout);\n\t      node.rcAnimTimeout = null;\n\t    }\n\t\n\t    clearBrowserBugTimeout(node);\n\t\n\t    nodeClasses.remove(className);\n\t    nodeClasses.remove(activeClassName);\n\t\n\t    _Event2['default'].removeEndEventListener(node, node.rcEndListener);\n\t    node.rcEndListener = null;\n\t\n\t    // Usually this optional end is used for informing an owner of\n\t    // a leave animation and telling it to remove the child.\n\t    if (end) {\n\t      end();\n\t    }\n\t  };\n\t\n\t  _Event2['default'].addEndEventListener(node, node.rcEndListener);\n\t\n\t  if (start) {\n\t    start();\n\t  }\n\t  nodeClasses.add(className);\n\t\n\t  node.rcAnimTimeout = setTimeout(function () {\n\t    node.rcAnimTimeout = null;\n\t    nodeClasses.add(activeClassName);\n\t    if (active) {\n\t      setTimeout(active, 0);\n\t    }\n\t    fixBrowserByTimeout(node);\n\t    // 30ms for firefox\n\t  }, 30);\n\t\n\t  return {\n\t    stop: function stop() {\n\t      if (node.rcEndListener) {\n\t        node.rcEndListener();\n\t      }\n\t    }\n\t  };\n\t};\n\t\n\tcssAnimation.style = function (node, style, callback) {\n\t  if (node.rcEndListener) {\n\t    node.rcEndListener();\n\t  }\n\t\n\t  node.rcEndListener = function (e) {\n\t    if (e && e.target !== node) {\n\t      return;\n\t    }\n\t\n\t    if (node.rcAnimTimeout) {\n\t      clearTimeout(node.rcAnimTimeout);\n\t      node.rcAnimTimeout = null;\n\t    }\n\t\n\t    clearBrowserBugTimeout(node);\n\t\n\t    _Event2['default'].removeEndEventListener(node, node.rcEndListener);\n\t    node.rcEndListener = null;\n\t\n\t    // Usually this optional callback is used for informing an owner of\n\t    // a leave animation and telling it to remove the child.\n\t    if (callback) {\n\t      callback();\n\t    }\n\t  };\n\t\n\t  _Event2['default'].addEndEventListener(node, node.rcEndListener);\n\t\n\t  node.rcAnimTimeout = setTimeout(function () {\n\t    for (var s in style) {\n\t      if (style.hasOwnProperty(s)) {\n\t        node.style[s] = style[s];\n\t      }\n\t    }\n\t    node.rcAnimTimeout = null;\n\t    fixBrowserByTimeout(node);\n\t  }, 0);\n\t};\n\t\n\tcssAnimation.setTransition = function (node, p, value) {\n\t  var property = p;\n\t  var v = value;\n\t  if (value === undefined) {\n\t    v = property;\n\t    property = '';\n\t  }\n\t  property = property || '';\n\t  capitalPrefixes.forEach(function (prefix) {\n\t    node.style[prefix + 'Transition' + property] = v;\n\t  });\n\t};\n\t\n\tcssAnimation.isCssAnimationSupported = isCssAnimationSupported;\n\t\n\texports.isCssAnimationSupported = isCssAnimationSupported;\n\texports['default'] = cssAnimation;\n\n/***/ }),\n/* 597 */\n/*!***************************************!*\\\n  !*** ../~/css-animation/lib/Event.js ***!\n  \\***************************************/\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\tvar START_EVENT_NAME_MAP = {\n\t  transitionstart: {\n\t    transition: 'transitionstart',\n\t    WebkitTransition: 'webkitTransitionStart',\n\t    MozTransition: 'mozTransitionStart',\n\t    OTransition: 'oTransitionStart',\n\t    msTransition: 'MSTransitionStart'\n\t  },\n\t\n\t  animationstart: {\n\t    animation: 'animationstart',\n\t    WebkitAnimation: 'webkitAnimationStart',\n\t    MozAnimation: 'mozAnimationStart',\n\t    OAnimation: 'oAnimationStart',\n\t    msAnimation: 'MSAnimationStart'\n\t  }\n\t};\n\t\n\tvar END_EVENT_NAME_MAP = {\n\t  transitionend: {\n\t    transition: 'transitionend',\n\t    WebkitTransition: 'webkitTransitionEnd',\n\t    MozTransition: 'mozTransitionEnd',\n\t    OTransition: 'oTransitionEnd',\n\t    msTransition: 'MSTransitionEnd'\n\t  },\n\t\n\t  animationend: {\n\t    animation: 'animationend',\n\t    WebkitAnimation: 'webkitAnimationEnd',\n\t    MozAnimation: 'mozAnimationEnd',\n\t    OAnimation: 'oAnimationEnd',\n\t    msAnimation: 'MSAnimationEnd'\n\t  }\n\t};\n\t\n\tvar startEvents = [];\n\tvar endEvents = [];\n\t\n\tfunction detectEvents() {\n\t  var testEl = document.createElement('div');\n\t  var style = testEl.style;\n\t\n\t  if (!('AnimationEvent' in window)) {\n\t    delete START_EVENT_NAME_MAP.animationstart.animation;\n\t    delete END_EVENT_NAME_MAP.animationend.animation;\n\t  }\n\t\n\t  if (!('TransitionEvent' in window)) {\n\t    delete START_EVENT_NAME_MAP.transitionstart.transition;\n\t    delete END_EVENT_NAME_MAP.transitionend.transition;\n\t  }\n\t\n\t  function process(EVENT_NAME_MAP, events) {\n\t    for (var baseEventName in EVENT_NAME_MAP) {\n\t      if (EVENT_NAME_MAP.hasOwnProperty(baseEventName)) {\n\t        var baseEvents = EVENT_NAME_MAP[baseEventName];\n\t        for (var styleName in baseEvents) {\n\t          if (styleName in style) {\n\t            events.push(baseEvents[styleName]);\n\t            break;\n\t          }\n\t        }\n\t      }\n\t    }\n\t  }\n\t\n\t  process(START_EVENT_NAME_MAP, startEvents);\n\t  process(END_EVENT_NAME_MAP, endEvents);\n\t}\n\t\n\tif (typeof window !== 'undefined' && typeof document !== 'undefined') {\n\t  detectEvents();\n\t}\n\t\n\tfunction addEventListener(node, eventName, eventListener) {\n\t  node.addEventListener(eventName, eventListener, false);\n\t}\n\t\n\tfunction removeEventListener(node, eventName, eventListener) {\n\t  node.removeEventListener(eventName, eventListener, false);\n\t}\n\t\n\tvar TransitionEvents = {\n\t  // Start events\n\t  startEvents: startEvents,\n\t\n\t  addStartEventListener: function addStartEventListener(node, eventListener) {\n\t    if (startEvents.length === 0) {\n\t      window.setTimeout(eventListener, 0);\n\t      return;\n\t    }\n\t    startEvents.forEach(function (startEvent) {\n\t      addEventListener(node, startEvent, eventListener);\n\t    });\n\t  },\n\t  removeStartEventListener: function removeStartEventListener(node, eventListener) {\n\t    if (startEvents.length === 0) {\n\t      return;\n\t    }\n\t    startEvents.forEach(function (startEvent) {\n\t      removeEventListener(node, startEvent, eventListener);\n\t    });\n\t  },\n\t\n\t\n\t  // End events\n\t  endEvents: endEvents,\n\t\n\t  addEndEventListener: function addEndEventListener(node, eventListener) {\n\t    if (endEvents.length === 0) {\n\t      window.setTimeout(eventListener, 0);\n\t      return;\n\t    }\n\t    endEvents.forEach(function (endEvent) {\n\t      addEventListener(node, endEvent, eventListener);\n\t    });\n\t  },\n\t  removeEndEventListener: function removeEndEventListener(node, eventListener) {\n\t    if (endEvents.length === 0) {\n\t      return;\n\t    }\n\t    endEvents.forEach(function (endEvent) {\n\t      removeEventListener(node, endEvent, eventListener);\n\t    });\n\t  }\n\t};\n\t\n\texports['default'] = TransitionEvents;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 598 */\n/*!***************************************!*\\\n  !*** ../~/component-classes/index.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Module dependencies.\n\t */\n\t\n\ttry {\n\t  var index = __webpack_require__(/*! indexof */ 599);\n\t} catch (err) {\n\t  var index = __webpack_require__(/*! component-indexof */ 599);\n\t}\n\t\n\t/**\n\t * Whitespace regexp.\n\t */\n\t\n\tvar re = /\\s+/;\n\t\n\t/**\n\t * toString reference.\n\t */\n\t\n\tvar toString = Object.prototype.toString;\n\t\n\t/**\n\t * Wrap `el` in a `ClassList`.\n\t *\n\t * @param {Element} el\n\t * @return {ClassList}\n\t * @api public\n\t */\n\t\n\tmodule.exports = function(el){\n\t  return new ClassList(el);\n\t};\n\t\n\t/**\n\t * Initialize a new ClassList for `el`.\n\t *\n\t * @param {Element} el\n\t * @api private\n\t */\n\t\n\tfunction ClassList(el) {\n\t  if (!el || !el.nodeType) {\n\t    throw new Error('A DOM element reference is required');\n\t  }\n\t  this.el = el;\n\t  this.list = el.classList;\n\t}\n\t\n\t/**\n\t * Add class `name` if not already present.\n\t *\n\t * @param {String} name\n\t * @return {ClassList}\n\t * @api public\n\t */\n\t\n\tClassList.prototype.add = function(name){\n\t  // classList\n\t  if (this.list) {\n\t    this.list.add(name);\n\t    return this;\n\t  }\n\t\n\t  // fallback\n\t  var arr = this.array();\n\t  var i = index(arr, name);\n\t  if (!~i) arr.push(name);\n\t  this.el.className = arr.join(' ');\n\t  return this;\n\t};\n\t\n\t/**\n\t * Remove class `name` when present, or\n\t * pass a regular expression to remove\n\t * any which match.\n\t *\n\t * @param {String|RegExp} name\n\t * @return {ClassList}\n\t * @api public\n\t */\n\t\n\tClassList.prototype.remove = function(name){\n\t  if ('[object RegExp]' == toString.call(name)) {\n\t    return this.removeMatching(name);\n\t  }\n\t\n\t  // classList\n\t  if (this.list) {\n\t    this.list.remove(name);\n\t    return this;\n\t  }\n\t\n\t  // fallback\n\t  var arr = this.array();\n\t  var i = index(arr, name);\n\t  if (~i) arr.splice(i, 1);\n\t  this.el.className = arr.join(' ');\n\t  return this;\n\t};\n\t\n\t/**\n\t * Remove all classes matching `re`.\n\t *\n\t * @param {RegExp} re\n\t * @return {ClassList}\n\t * @api private\n\t */\n\t\n\tClassList.prototype.removeMatching = function(re){\n\t  var arr = this.array();\n\t  for (var i = 0; i < arr.length; i++) {\n\t    if (re.test(arr[i])) {\n\t      this.remove(arr[i]);\n\t    }\n\t  }\n\t  return this;\n\t};\n\t\n\t/**\n\t * Toggle class `name`, can force state via `force`.\n\t *\n\t * For browsers that support classList, but do not support `force` yet,\n\t * the mistake will be detected and corrected.\n\t *\n\t * @param {String} name\n\t * @param {Boolean} force\n\t * @return {ClassList}\n\t * @api public\n\t */\n\t\n\tClassList.prototype.toggle = function(name, force){\n\t  // classList\n\t  if (this.list) {\n\t    if (\"undefined\" !== typeof force) {\n\t      if (force !== this.list.toggle(name, force)) {\n\t        this.list.toggle(name); // toggle again to correct\n\t      }\n\t    } else {\n\t      this.list.toggle(name);\n\t    }\n\t    return this;\n\t  }\n\t\n\t  // fallback\n\t  if (\"undefined\" !== typeof force) {\n\t    if (!force) {\n\t      this.remove(name);\n\t    } else {\n\t      this.add(name);\n\t    }\n\t  } else {\n\t    if (this.has(name)) {\n\t      this.remove(name);\n\t    } else {\n\t      this.add(name);\n\t    }\n\t  }\n\t\n\t  return this;\n\t};\n\t\n\t/**\n\t * Return an array of classes.\n\t *\n\t * @return {Array}\n\t * @api public\n\t */\n\t\n\tClassList.prototype.array = function(){\n\t  var className = this.el.getAttribute('class') || '';\n\t  var str = className.replace(/^\\s+|\\s+$/g, '');\n\t  var arr = str.split(re);\n\t  if ('' === arr[0]) arr.shift();\n\t  return arr;\n\t};\n\t\n\t/**\n\t * Check if class `name` is present.\n\t *\n\t * @param {String} name\n\t * @return {ClassList}\n\t * @api public\n\t */\n\t\n\tClassList.prototype.has =\n\tClassList.prototype.contains = function(name){\n\t  return this.list\n\t    ? this.list.contains(name)\n\t    : !! ~index(this.array(), name);\n\t};\n\n\n/***/ }),\n/* 599 */\n/*!***************************************!*\\\n  !*** ../~/component-indexof/index.js ***!\n  \\***************************************/\n/***/ (function(module, exports) {\n\n\tmodule.exports = function(arr, obj){\n\t  if (arr.indexOf) return arr.indexOf(obj);\n\t  for (var i = 0; i < arr.length; ++i) {\n\t    if (arr[i] === obj) return i;\n\t  }\n\t  return -1;\n\t};\n\n/***/ }),\n/* 600 */\n/*!*******************************************!*\\\n  !*** ../~/rc-animate/lib/util/animate.js ***!\n  \\*******************************************/\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\tvar util = {\n\t  isAppearSupported: function isAppearSupported(props) {\n\t    return props.transitionName && props.transitionAppear || props.animation.appear;\n\t  },\n\t  isEnterSupported: function isEnterSupported(props) {\n\t    return props.transitionName && props.transitionEnter || props.animation.enter;\n\t  },\n\t  isLeaveSupported: function isLeaveSupported(props) {\n\t    return props.transitionName && props.transitionLeave || props.animation.leave;\n\t  },\n\t  allowAppearCallback: function allowAppearCallback(props) {\n\t    return props.transitionAppear || props.animation.appear;\n\t  },\n\t  allowEnterCallback: function allowEnterCallback(props) {\n\t    return props.transitionEnter || props.animation.enter;\n\t  },\n\t  allowLeaveCallback: function allowLeaveCallback(props) {\n\t    return props.transitionLeave || props.animation.leave;\n\t  }\n\t};\n\texports[\"default\"] = util;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 601 */\n/*!*****************************************!*\\\n  !*** ../~/rc-trigger/lib/PopupInner.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ 485);\n\t\n\tvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\t\n\tvar _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ 490);\n\t\n\tvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\t\n\tvar _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ 524);\n\t\n\tvar _inherits3 = _interopRequireDefault(_inherits2);\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _LazyRenderBox = __webpack_require__(/*! ./LazyRenderBox */ 602);\n\t\n\tvar _LazyRenderBox2 = _interopRequireDefault(_LazyRenderBox);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar PopupInner = function (_Component) {\n\t  (0, _inherits3['default'])(PopupInner, _Component);\n\t\n\t  function PopupInner() {\n\t    (0, _classCallCheck3['default'])(this, PopupInner);\n\t    return (0, _possibleConstructorReturn3['default'])(this, _Component.apply(this, arguments));\n\t  }\n\t\n\t  PopupInner.prototype.render = function render() {\n\t    var props = this.props;\n\t    var className = props.className;\n\t    if (!props.visible) {\n\t      className += ' ' + props.hiddenClassName;\n\t    }\n\t    return _react2['default'].createElement(\n\t      'div',\n\t      {\n\t        className: className,\n\t        onMouseEnter: props.onMouseEnter,\n\t        onMouseLeave: props.onMouseLeave,\n\t        onMouseDown: props.onMouseDown,\n\t        onTouchStart: props.onTouchStart,\n\t        style: props.style\n\t      },\n\t      _react2['default'].createElement(\n\t        _LazyRenderBox2['default'],\n\t        { className: props.prefixCls + '-content', visible: props.visible },\n\t        props.children\n\t      )\n\t    );\n\t  };\n\t\n\t  return PopupInner;\n\t}(_react.Component);\n\t\n\tPopupInner.propTypes = {\n\t  hiddenClassName: _propTypes2['default'].string,\n\t  className: _propTypes2['default'].string,\n\t  prefixCls: _propTypes2['default'].string,\n\t  onMouseEnter: _propTypes2['default'].func,\n\t  onMouseLeave: _propTypes2['default'].func,\n\t  onMouseDown: _propTypes2['default'].func,\n\t  onTouchStart: _propTypes2['default'].func,\n\t  children: _propTypes2['default'].any\n\t};\n\texports['default'] = PopupInner;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 602 */\n/*!********************************************!*\\\n  !*** ../~/rc-trigger/lib/LazyRenderBox.js ***!\n  \\********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _objectWithoutProperties2 = __webpack_require__(/*! babel-runtime/helpers/objectWithoutProperties */ 535);\n\t\n\tvar _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);\n\t\n\tvar _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ 485);\n\t\n\tvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\t\n\tvar _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ 490);\n\t\n\tvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\t\n\tvar _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ 524);\n\t\n\tvar _inherits3 = _interopRequireDefault(_inherits2);\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar LazyRenderBox = function (_Component) {\n\t  (0, _inherits3['default'])(LazyRenderBox, _Component);\n\t\n\t  function LazyRenderBox() {\n\t    (0, _classCallCheck3['default'])(this, LazyRenderBox);\n\t    return (0, _possibleConstructorReturn3['default'])(this, _Component.apply(this, arguments));\n\t  }\n\t\n\t  LazyRenderBox.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n\t    return nextProps.hiddenClassName || nextProps.visible;\n\t  };\n\t\n\t  LazyRenderBox.prototype.render = function render() {\n\t    var _props = this.props,\n\t        hiddenClassName = _props.hiddenClassName,\n\t        visible = _props.visible,\n\t        props = (0, _objectWithoutProperties3['default'])(_props, ['hiddenClassName', 'visible']);\n\t\n\t\n\t    if (hiddenClassName || _react2['default'].Children.count(props.children) > 1) {\n\t      if (!visible && hiddenClassName) {\n\t        props.className += ' ' + hiddenClassName;\n\t      }\n\t      return _react2['default'].createElement('div', props);\n\t    }\n\t\n\t    return _react2['default'].Children.only(props.children);\n\t  };\n\t\n\t  return LazyRenderBox;\n\t}(_react.Component);\n\t\n\tLazyRenderBox.propTypes = {\n\t  children: _propTypes2['default'].any,\n\t  className: _propTypes2['default'].string,\n\t  visible: _propTypes2['default'].bool,\n\t  hiddenClassName: _propTypes2['default'].string\n\t};\n\texports['default'] = LazyRenderBox;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 603 */\n/*!*****************************************!*\\\n  !*** ../~/rc-tooltip/lib/placements.js ***!\n  \\*****************************************/\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\tvar autoAdjustOverflow = {\n\t  adjustX: 1,\n\t  adjustY: 1\n\t};\n\t\n\tvar targetOffset = [0, 0];\n\t\n\tvar placements = exports.placements = {\n\t  left: {\n\t    points: ['cr', 'cl'],\n\t    overflow: autoAdjustOverflow,\n\t    offset: [-4, 0],\n\t    targetOffset: targetOffset\n\t  },\n\t  right: {\n\t    points: ['cl', 'cr'],\n\t    overflow: autoAdjustOverflow,\n\t    offset: [4, 0],\n\t    targetOffset: targetOffset\n\t  },\n\t  top: {\n\t    points: ['bc', 'tc'],\n\t    overflow: autoAdjustOverflow,\n\t    offset: [0, -4],\n\t    targetOffset: targetOffset\n\t  },\n\t  bottom: {\n\t    points: ['tc', 'bc'],\n\t    overflow: autoAdjustOverflow,\n\t    offset: [0, 4],\n\t    targetOffset: targetOffset\n\t  },\n\t  topLeft: {\n\t    points: ['bl', 'tl'],\n\t    overflow: autoAdjustOverflow,\n\t    offset: [0, -4],\n\t    targetOffset: targetOffset\n\t  },\n\t  leftTop: {\n\t    points: ['tr', 'tl'],\n\t    overflow: autoAdjustOverflow,\n\t    offset: [-4, 0],\n\t    targetOffset: targetOffset\n\t  },\n\t  topRight: {\n\t    points: ['br', 'tr'],\n\t    overflow: autoAdjustOverflow,\n\t    offset: [0, -4],\n\t    targetOffset: targetOffset\n\t  },\n\t  rightTop: {\n\t    points: ['tl', 'tr'],\n\t    overflow: autoAdjustOverflow,\n\t    offset: [4, 0],\n\t    targetOffset: targetOffset\n\t  },\n\t  bottomRight: {\n\t    points: ['tr', 'br'],\n\t    overflow: autoAdjustOverflow,\n\t    offset: [0, 4],\n\t    targetOffset: targetOffset\n\t  },\n\t  rightBottom: {\n\t    points: ['bl', 'br'],\n\t    overflow: autoAdjustOverflow,\n\t    offset: [4, 0],\n\t    targetOffset: targetOffset\n\t  },\n\t  bottomLeft: {\n\t    points: ['tl', 'bl'],\n\t    overflow: autoAdjustOverflow,\n\t    offset: [0, 4],\n\t    targetOffset: targetOffset\n\t  },\n\t  leftBottom: {\n\t    points: ['br', 'bl'],\n\t    overflow: autoAdjustOverflow,\n\t    offset: [-4, 0],\n\t    targetOffset: targetOffset\n\t  }\n\t};\n\t\n\texports['default'] = placements;\n\n/***/ }),\n/* 604 */\n/*!**************************************!*\\\n  !*** ../~/rc-tooltip/lib/Content.js ***!\n  \\**************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ 485);\n\t\n\tvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\t\n\tvar _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ 490);\n\t\n\tvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\t\n\tvar _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ 524);\n\t\n\tvar _inherits3 = _interopRequireDefault(_inherits2);\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar Content = function (_React$Component) {\n\t  (0, _inherits3['default'])(Content, _React$Component);\n\t\n\t  function Content() {\n\t    (0, _classCallCheck3['default'])(this, Content);\n\t    return (0, _possibleConstructorReturn3['default'])(this, _React$Component.apply(this, arguments));\n\t  }\n\t\n\t  Content.prototype.componentDidUpdate = function componentDidUpdate() {\n\t    var trigger = this.props.trigger;\n\t\n\t    if (trigger) {\n\t      trigger.forcePopupAlign();\n\t    }\n\t  };\n\t\n\t  Content.prototype.render = function render() {\n\t    var _props = this.props,\n\t        overlay = _props.overlay,\n\t        prefixCls = _props.prefixCls,\n\t        id = _props.id;\n\t\n\t    return _react2['default'].createElement(\n\t      'div',\n\t      { className: prefixCls + '-inner', id: id, role: 'tooltip' },\n\t      typeof overlay === 'function' ? overlay() : overlay\n\t    );\n\t  };\n\t\n\t  return Content;\n\t}(_react2['default'].Component);\n\t\n\tContent.propTypes = {\n\t  prefixCls: _propTypes2['default'].string,\n\t  overlay: _propTypes2['default'].oneOfType([_propTypes2['default'].node, _propTypes2['default'].func]).isRequired,\n\t  id: _propTypes2['default'].string,\n\t  trigger: _propTypes2['default'].any\n\t};\n\texports['default'] = Content;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 605 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/index.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = {};\n\tmodule.exports.F = /*#__PURE__*/__webpack_require__(/*! ./F */ 606);\n\tmodule.exports.T = /*#__PURE__*/__webpack_require__(/*! ./T */ 610);\n\tmodule.exports.__ = /*#__PURE__*/__webpack_require__(/*! ./__ */ 611);\n\tmodule.exports.add = /*#__PURE__*/__webpack_require__(/*! ./add */ 612);\n\tmodule.exports.addIndex = /*#__PURE__*/__webpack_require__(/*! ./addIndex */ 614);\n\tmodule.exports.adjust = /*#__PURE__*/__webpack_require__(/*! ./adjust */ 619);\n\tmodule.exports.all = /*#__PURE__*/__webpack_require__(/*! ./all */ 621);\n\tmodule.exports.allPass = /*#__PURE__*/__webpack_require__(/*! ./allPass */ 628);\n\tmodule.exports.always = /*#__PURE__*/__webpack_require__(/*! ./always */ 607);\n\tmodule.exports.and = /*#__PURE__*/__webpack_require__(/*! ./and */ 645);\n\tmodule.exports.any = /*#__PURE__*/__webpack_require__(/*! ./any */ 646);\n\tmodule.exports.anyPass = /*#__PURE__*/__webpack_require__(/*! ./anyPass */ 648);\n\tmodule.exports.ap = /*#__PURE__*/__webpack_require__(/*! ./ap */ 649);\n\tmodule.exports.aperture = /*#__PURE__*/__webpack_require__(/*! ./aperture */ 650);\n\tmodule.exports.append = /*#__PURE__*/__webpack_require__(/*! ./append */ 653);\n\tmodule.exports.apply = /*#__PURE__*/__webpack_require__(/*! ./apply */ 654);\n\tmodule.exports.applySpec = /*#__PURE__*/__webpack_require__(/*! ./applySpec */ 655);\n\tmodule.exports.applyTo = /*#__PURE__*/__webpack_require__(/*! ./applyTo */ 657);\n\tmodule.exports.ascend = /*#__PURE__*/__webpack_require__(/*! ./ascend */ 658);\n\tmodule.exports.assoc = /*#__PURE__*/__webpack_require__(/*! ./assoc */ 659);\n\tmodule.exports.assocPath = /*#__PURE__*/__webpack_require__(/*! ./assocPath */ 660);\n\tmodule.exports.binary = /*#__PURE__*/__webpack_require__(/*! ./binary */ 663);\n\tmodule.exports.bind = /*#__PURE__*/__webpack_require__(/*! ./bind */ 637);\n\tmodule.exports.both = /*#__PURE__*/__webpack_require__(/*! ./both */ 665);\n\tmodule.exports.call = /*#__PURE__*/__webpack_require__(/*! ./call */ 669);\n\tmodule.exports.chain = /*#__PURE__*/__webpack_require__(/*! ./chain */ 671);\n\tmodule.exports.clamp = /*#__PURE__*/__webpack_require__(/*! ./clamp */ 676);\n\tmodule.exports.clone = /*#__PURE__*/__webpack_require__(/*! ./clone */ 677);\n\tmodule.exports.comparator = /*#__PURE__*/__webpack_require__(/*! ./comparator */ 681);\n\tmodule.exports.complement = /*#__PURE__*/__webpack_require__(/*! ./complement */ 682);\n\tmodule.exports.compose = /*#__PURE__*/__webpack_require__(/*! ./compose */ 684);\n\tmodule.exports.composeK = /*#__PURE__*/__webpack_require__(/*! ./composeK */ 691);\n\tmodule.exports.composeP = /*#__PURE__*/__webpack_require__(/*! ./composeP */ 692);\n\tmodule.exports.concat = /*#__PURE__*/__webpack_require__(/*! ./concat */ 695);\n\tmodule.exports.cond = /*#__PURE__*/__webpack_require__(/*! ./cond */ 714);\n\tmodule.exports.construct = /*#__PURE__*/__webpack_require__(/*! ./construct */ 715);\n\tmodule.exports.constructN = /*#__PURE__*/__webpack_require__(/*! ./constructN */ 716);\n\tmodule.exports.contains = /*#__PURE__*/__webpack_require__(/*! ./contains */ 717);\n\tmodule.exports.converge = /*#__PURE__*/__webpack_require__(/*! ./converge */ 718);\n\tmodule.exports.countBy = /*#__PURE__*/__webpack_require__(/*! ./countBy */ 719);\n\tmodule.exports.curry = /*#__PURE__*/__webpack_require__(/*! ./curry */ 670);\n\tmodule.exports.curryN = /*#__PURE__*/__webpack_require__(/*! ./curryN */ 616);\n\tmodule.exports.dec = /*#__PURE__*/__webpack_require__(/*! ./dec */ 722);\n\tmodule.exports.defaultTo = /*#__PURE__*/__webpack_require__(/*! ./defaultTo */ 723);\n\tmodule.exports.descend = /*#__PURE__*/__webpack_require__(/*! ./descend */ 724);\n\tmodule.exports.difference = /*#__PURE__*/__webpack_require__(/*! ./difference */ 725);\n\tmodule.exports.differenceWith = /*#__PURE__*/__webpack_require__(/*! ./differenceWith */ 726);\n\tmodule.exports.dissoc = /*#__PURE__*/__webpack_require__(/*! ./dissoc */ 727);\n\tmodule.exports.dissocPath = /*#__PURE__*/__webpack_require__(/*! ./dissocPath */ 728);\n\tmodule.exports.divide = /*#__PURE__*/__webpack_require__(/*! ./divide */ 731);\n\tmodule.exports.drop = /*#__PURE__*/__webpack_require__(/*! ./drop */ 732);\n\tmodule.exports.dropLast = /*#__PURE__*/__webpack_require__(/*! ./dropLast */ 734);\n\tmodule.exports.dropLastWhile = /*#__PURE__*/__webpack_require__(/*! ./dropLastWhile */ 739);\n\tmodule.exports.dropRepeats = /*#__PURE__*/__webpack_require__(/*! ./dropRepeats */ 742);\n\tmodule.exports.dropRepeatsWith = /*#__PURE__*/__webpack_require__(/*! ./dropRepeatsWith */ 744);\n\tmodule.exports.dropWhile = /*#__PURE__*/__webpack_require__(/*! ./dropWhile */ 747);\n\tmodule.exports.either = /*#__PURE__*/__webpack_require__(/*! ./either */ 749);\n\tmodule.exports.empty = /*#__PURE__*/__webpack_require__(/*! ./empty */ 751);\n\tmodule.exports.endsWith = /*#__PURE__*/__webpack_require__(/*! ./endsWith */ 752);\n\tmodule.exports.eqBy = /*#__PURE__*/__webpack_require__(/*! ./eqBy */ 754);\n\tmodule.exports.eqProps = /*#__PURE__*/__webpack_require__(/*! ./eqProps */ 755);\n\tmodule.exports.equals = /*#__PURE__*/__webpack_require__(/*! ./equals */ 700);\n\tmodule.exports.evolve = /*#__PURE__*/__webpack_require__(/*! ./evolve */ 756);\n\tmodule.exports.filter = /*#__PURE__*/__webpack_require__(/*! ./filter */ 710);\n\tmodule.exports.find = /*#__PURE__*/__webpack_require__(/*! ./find */ 757);\n\tmodule.exports.findIndex = /*#__PURE__*/__webpack_require__(/*! ./findIndex */ 759);\n\tmodule.exports.findLast = /*#__PURE__*/__webpack_require__(/*! ./findLast */ 761);\n\tmodule.exports.findLastIndex = /*#__PURE__*/__webpack_require__(/*! ./findLastIndex */ 763);\n\tmodule.exports.flatten = /*#__PURE__*/__webpack_require__(/*! ./flatten */ 765);\n\tmodule.exports.flip = /*#__PURE__*/__webpack_require__(/*! ./flip */ 766);\n\tmodule.exports.forEach = /*#__PURE__*/__webpack_require__(/*! ./forEach */ 767);\n\tmodule.exports.forEachObjIndexed = /*#__PURE__*/__webpack_require__(/*! ./forEachObjIndexed */ 768);\n\tmodule.exports.fromPairs = /*#__PURE__*/__webpack_require__(/*! ./fromPairs */ 769);\n\tmodule.exports.groupBy = /*#__PURE__*/__webpack_require__(/*! ./groupBy */ 770);\n\tmodule.exports.groupWith = /*#__PURE__*/__webpack_require__(/*! ./groupWith */ 771);\n\tmodule.exports.gt = /*#__PURE__*/__webpack_require__(/*! ./gt */ 772);\n\tmodule.exports.gte = /*#__PURE__*/__webpack_require__(/*! ./gte */ 773);\n\tmodule.exports.has = /*#__PURE__*/__webpack_require__(/*! ./has */ 774);\n\tmodule.exports.hasIn = /*#__PURE__*/__webpack_require__(/*! ./hasIn */ 775);\n\tmodule.exports.head = /*#__PURE__*/__webpack_require__(/*! ./head */ 776);\n\tmodule.exports.identical = /*#__PURE__*/__webpack_require__(/*! ./identical */ 705);\n\tmodule.exports.identity = /*#__PURE__*/__webpack_require__(/*! ./identity */ 777);\n\tmodule.exports.ifElse = /*#__PURE__*/__webpack_require__(/*! ./ifElse */ 779);\n\tmodule.exports.inc = /*#__PURE__*/__webpack_require__(/*! ./inc */ 780);\n\tmodule.exports.indexBy = /*#__PURE__*/__webpack_require__(/*! ./indexBy */ 781);\n\tmodule.exports.indexOf = /*#__PURE__*/__webpack_require__(/*! ./indexOf */ 782);\n\tmodule.exports.init = /*#__PURE__*/__webpack_require__(/*! ./init */ 783);\n\tmodule.exports.innerJoin = /*#__PURE__*/__webpack_require__(/*! ./innerJoin */ 784);\n\tmodule.exports.insert = /*#__PURE__*/__webpack_require__(/*! ./insert */ 785);\n\tmodule.exports.insertAll = /*#__PURE__*/__webpack_require__(/*! ./insertAll */ 786);\n\tmodule.exports.intersection = /*#__PURE__*/__webpack_require__(/*! ./intersection */ 787);\n\tmodule.exports.intersperse = /*#__PURE__*/__webpack_require__(/*! ./intersperse */ 791);\n\tmodule.exports.into = /*#__PURE__*/__webpack_require__(/*! ./into */ 792);\n\tmodule.exports.invert = /*#__PURE__*/__webpack_require__(/*! ./invert */ 797);\n\tmodule.exports.invertObj = /*#__PURE__*/__webpack_require__(/*! ./invertObj */ 798);\n\tmodule.exports.invoker = /*#__PURE__*/__webpack_require__(/*! ./invoker */ 799);\n\tmodule.exports.is = /*#__PURE__*/__webpack_require__(/*! ./is */ 800);\n\tmodule.exports.isEmpty = /*#__PURE__*/__webpack_require__(/*! ./isEmpty */ 801);\n\tmodule.exports.isNil = /*#__PURE__*/__webpack_require__(/*! ./isNil */ 662);\n\tmodule.exports.join = /*#__PURE__*/__webpack_require__(/*! ./join */ 802);\n\tmodule.exports.juxt = /*#__PURE__*/__webpack_require__(/*! ./juxt */ 803);\n\tmodule.exports.keys = /*#__PURE__*/__webpack_require__(/*! ./keys */ 639);\n\tmodule.exports.keysIn = /*#__PURE__*/__webpack_require__(/*! ./keysIn */ 804);\n\tmodule.exports.last = /*#__PURE__*/__webpack_require__(/*! ./last */ 745);\n\tmodule.exports.lastIndexOf = /*#__PURE__*/__webpack_require__(/*! ./lastIndexOf */ 805);\n\tmodule.exports.length = /*#__PURE__*/__webpack_require__(/*! ./length */ 806);\n\tmodule.exports.lens = /*#__PURE__*/__webpack_require__(/*! ./lens */ 808);\n\tmodule.exports.lensIndex = /*#__PURE__*/__webpack_require__(/*! ./lensIndex */ 809);\n\tmodule.exports.lensPath = /*#__PURE__*/__webpack_require__(/*! ./lensPath */ 810);\n\tmodule.exports.lensProp = /*#__PURE__*/__webpack_require__(/*! ./lensProp */ 811);\n\tmodule.exports.lift = /*#__PURE__*/__webpack_require__(/*! ./lift */ 667);\n\tmodule.exports.liftN = /*#__PURE__*/__webpack_require__(/*! ./liftN */ 668);\n\tmodule.exports.lt = /*#__PURE__*/__webpack_require__(/*! ./lt */ 812);\n\tmodule.exports.lte = /*#__PURE__*/__webpack_require__(/*! ./lte */ 813);\n\tmodule.exports.map = /*#__PURE__*/__webpack_require__(/*! ./map */ 631);\n\tmodule.exports.mapAccum = /*#__PURE__*/__webpack_require__(/*! ./mapAccum */ 814);\n\tmodule.exports.mapAccumRight = /*#__PURE__*/__webpack_require__(/*! ./mapAccumRight */ 815);\n\tmodule.exports.mapObjIndexed = /*#__PURE__*/__webpack_require__(/*! ./mapObjIndexed */ 816);\n\tmodule.exports.match = /*#__PURE__*/__webpack_require__(/*! ./match */ 817);\n\tmodule.exports.mathMod = /*#__PURE__*/__webpack_require__(/*! ./mathMod */ 818);\n\tmodule.exports.max = /*#__PURE__*/__webpack_require__(/*! ./max */ 629);\n\tmodule.exports.maxBy = /*#__PURE__*/__webpack_require__(/*! ./maxBy */ 819);\n\tmodule.exports.mean = /*#__PURE__*/__webpack_require__(/*! ./mean */ 820);\n\tmodule.exports.median = /*#__PURE__*/__webpack_require__(/*! ./median */ 822);\n\tmodule.exports.memoize = /*#__PURE__*/__webpack_require__(/*! ./memoize */ 823);\n\tmodule.exports.memoizeWith = /*#__PURE__*/__webpack_require__(/*! ./memoizeWith */ 824);\n\tmodule.exports.merge = /*#__PURE__*/__webpack_require__(/*! ./merge */ 825);\n\tmodule.exports.mergeAll = /*#__PURE__*/__webpack_require__(/*! ./mergeAll */ 826);\n\tmodule.exports.mergeDeepLeft = /*#__PURE__*/__webpack_require__(/*! ./mergeDeepLeft */ 827);\n\tmodule.exports.mergeDeepRight = /*#__PURE__*/__webpack_require__(/*! ./mergeDeepRight */ 830);\n\tmodule.exports.mergeDeepWith = /*#__PURE__*/__webpack_require__(/*! ./mergeDeepWith */ 831);\n\tmodule.exports.mergeDeepWithKey = /*#__PURE__*/__webpack_require__(/*! ./mergeDeepWithKey */ 828);\n\tmodule.exports.mergeWith = /*#__PURE__*/__webpack_require__(/*! ./mergeWith */ 832);\n\tmodule.exports.mergeWithKey = /*#__PURE__*/__webpack_require__(/*! ./mergeWithKey */ 829);\n\tmodule.exports.min = /*#__PURE__*/__webpack_require__(/*! ./min */ 833);\n\tmodule.exports.minBy = /*#__PURE__*/__webpack_require__(/*! ./minBy */ 834);\n\tmodule.exports.modulo = /*#__PURE__*/__webpack_require__(/*! ./modulo */ 835);\n\tmodule.exports.multiply = /*#__PURE__*/__webpack_require__(/*! ./multiply */ 836);\n\tmodule.exports.nAry = /*#__PURE__*/__webpack_require__(/*! ./nAry */ 664);\n\tmodule.exports.negate = /*#__PURE__*/__webpack_require__(/*! ./negate */ 837);\n\tmodule.exports.none = /*#__PURE__*/__webpack_require__(/*! ./none */ 838);\n\tmodule.exports.not = /*#__PURE__*/__webpack_require__(/*! ./not */ 683);\n\tmodule.exports.nth = /*#__PURE__*/__webpack_require__(/*! ./nth */ 746);\n\tmodule.exports.nthArg = /*#__PURE__*/__webpack_require__(/*! ./nthArg */ 839);\n\tmodule.exports.o = /*#__PURE__*/__webpack_require__(/*! ./o */ 840);\n\tmodule.exports.objOf = /*#__PURE__*/__webpack_require__(/*! ./objOf */ 796);\n\tmodule.exports.of = /*#__PURE__*/__webpack_require__(/*! ./of */ 841);\n\tmodule.exports.omit = /*#__PURE__*/__webpack_require__(/*! ./omit */ 843);\n\tmodule.exports.once = /*#__PURE__*/__webpack_require__(/*! ./once */ 844);\n\tmodule.exports.or = /*#__PURE__*/__webpack_require__(/*! ./or */ 750);\n\tmodule.exports.over = /*#__PURE__*/__webpack_require__(/*! ./over */ 845);\n\tmodule.exports.pair = /*#__PURE__*/__webpack_require__(/*! ./pair */ 846);\n\tmodule.exports.partial = /*#__PURE__*/__webpack_require__(/*! ./partial */ 847);\n\tmodule.exports.partialRight = /*#__PURE__*/__webpack_require__(/*! ./partialRight */ 849);\n\tmodule.exports.partition = /*#__PURE__*/__webpack_require__(/*! ./partition */ 850);\n\tmodule.exports.path = /*#__PURE__*/__webpack_require__(/*! ./path */ 643);\n\tmodule.exports.pathEq = /*#__PURE__*/__webpack_require__(/*! ./pathEq */ 851);\n\tmodule.exports.pathOr = /*#__PURE__*/__webpack_require__(/*! ./pathOr */ 852);\n\tmodule.exports.pathSatisfies = /*#__PURE__*/__webpack_require__(/*! ./pathSatisfies */ 853);\n\tmodule.exports.pick = /*#__PURE__*/__webpack_require__(/*! ./pick */ 854);\n\tmodule.exports.pickAll = /*#__PURE__*/__webpack_require__(/*! ./pickAll */ 855);\n\tmodule.exports.pickBy = /*#__PURE__*/__webpack_require__(/*! ./pickBy */ 856);\n\tmodule.exports.pipe = /*#__PURE__*/__webpack_require__(/*! ./pipe */ 685);\n\tmodule.exports.pipeK = /*#__PURE__*/__webpack_require__(/*! ./pipeK */ 857);\n\tmodule.exports.pipeP = /*#__PURE__*/__webpack_require__(/*! ./pipeP */ 693);\n\tmodule.exports.pluck = /*#__PURE__*/__webpack_require__(/*! ./pluck */ 630);\n\tmodule.exports.prepend = /*#__PURE__*/__webpack_require__(/*! ./prepend */ 858);\n\tmodule.exports.product = /*#__PURE__*/__webpack_require__(/*! ./product */ 859);\n\tmodule.exports.project = /*#__PURE__*/__webpack_require__(/*! ./project */ 860);\n\tmodule.exports.prop = /*#__PURE__*/__webpack_require__(/*! ./prop */ 642);\n\tmodule.exports.propEq = /*#__PURE__*/__webpack_require__(/*! ./propEq */ 862);\n\tmodule.exports.propIs = /*#__PURE__*/__webpack_require__(/*! ./propIs */ 863);\n\tmodule.exports.propOr = /*#__PURE__*/__webpack_require__(/*! ./propOr */ 864);\n\tmodule.exports.propSatisfies = /*#__PURE__*/__webpack_require__(/*! ./propSatisfies */ 865);\n\tmodule.exports.props = /*#__PURE__*/__webpack_require__(/*! ./props */ 866);\n\tmodule.exports.range = /*#__PURE__*/__webpack_require__(/*! ./range */ 867);\n\tmodule.exports.reduce = /*#__PURE__*/__webpack_require__(/*! ./reduce */ 644);\n\tmodule.exports.reduceBy = /*#__PURE__*/__webpack_require__(/*! ./reduceBy */ 720);\n\tmodule.exports.reduceRight = /*#__PURE__*/__webpack_require__(/*! ./reduceRight */ 868);\n\tmodule.exports.reduceWhile = /*#__PURE__*/__webpack_require__(/*! ./reduceWhile */ 869);\n\tmodule.exports.reduced = /*#__PURE__*/__webpack_require__(/*! ./reduced */ 870);\n\tmodule.exports.reject = /*#__PURE__*/__webpack_require__(/*! ./reject */ 708);\n\tmodule.exports.remove = /*#__PURE__*/__webpack_require__(/*! ./remove */ 729);\n\tmodule.exports.repeat = /*#__PURE__*/__webpack_require__(/*! ./repeat */ 871);\n\tmodule.exports.replace = /*#__PURE__*/__webpack_require__(/*! ./replace */ 873);\n\tmodule.exports.reverse = /*#__PURE__*/__webpack_require__(/*! ./reverse */ 690);\n\tmodule.exports.scan = /*#__PURE__*/__webpack_require__(/*! ./scan */ 874);\n\tmodule.exports.sequence = /*#__PURE__*/__webpack_require__(/*! ./sequence */ 875);\n\tmodule.exports.set = /*#__PURE__*/__webpack_require__(/*! ./set */ 876);\n\tmodule.exports.slice = /*#__PURE__*/__webpack_require__(/*! ./slice */ 689);\n\tmodule.exports.sort = /*#__PURE__*/__webpack_require__(/*! ./sort */ 877);\n\tmodule.exports.sortBy = /*#__PURE__*/__webpack_require__(/*! ./sortBy */ 878);\n\tmodule.exports.sortWith = /*#__PURE__*/__webpack_require__(/*! ./sortWith */ 879);\n\tmodule.exports.split = /*#__PURE__*/__webpack_require__(/*! ./split */ 880);\n\tmodule.exports.splitAt = /*#__PURE__*/__webpack_require__(/*! ./splitAt */ 881);\n\tmodule.exports.splitEvery = /*#__PURE__*/__webpack_require__(/*! ./splitEvery */ 882);\n\tmodule.exports.splitWhen = /*#__PURE__*/__webpack_require__(/*! ./splitWhen */ 883);\n\tmodule.exports.startsWith = /*#__PURE__*/__webpack_require__(/*! ./startsWith */ 884);\n\tmodule.exports.subtract = /*#__PURE__*/__webpack_require__(/*! ./subtract */ 885);\n\tmodule.exports.sum = /*#__PURE__*/__webpack_require__(/*! ./sum */ 821);\n\tmodule.exports.symmetricDifference = /*#__PURE__*/__webpack_require__(/*! ./symmetricDifference */ 886);\n\tmodule.exports.symmetricDifferenceWith = /*#__PURE__*/__webpack_require__(/*! ./symmetricDifferenceWith */ 887);\n\tmodule.exports.tail = /*#__PURE__*/__webpack_require__(/*! ./tail */ 687);\n\tmodule.exports.take = /*#__PURE__*/__webpack_require__(/*! ./take */ 736);\n\tmodule.exports.takeLast = /*#__PURE__*/__webpack_require__(/*! ./takeLast */ 753);\n\tmodule.exports.takeLastWhile = /*#__PURE__*/__webpack_require__(/*! ./takeLastWhile */ 888);\n\tmodule.exports.takeWhile = /*#__PURE__*/__webpack_require__(/*! ./takeWhile */ 889);\n\tmodule.exports.tap = /*#__PURE__*/__webpack_require__(/*! ./tap */ 891);\n\tmodule.exports.test = /*#__PURE__*/__webpack_require__(/*! ./test */ 893);\n\tmodule.exports.times = /*#__PURE__*/__webpack_require__(/*! ./times */ 872);\n\tmodule.exports.toLower = /*#__PURE__*/__webpack_require__(/*! ./toLower */ 895);\n\tmodule.exports.toPairs = /*#__PURE__*/__webpack_require__(/*! ./toPairs */ 896);\n\tmodule.exports.toPairsIn = /*#__PURE__*/__webpack_require__(/*! ./toPairsIn */ 897);\n\tmodule.exports.toString = /*#__PURE__*/__webpack_require__(/*! ./toString */ 696);\n\tmodule.exports.toUpper = /*#__PURE__*/__webpack_require__(/*! ./toUpper */ 898);\n\tmodule.exports.transduce = /*#__PURE__*/__webpack_require__(/*! ./transduce */ 899);\n\tmodule.exports.transpose = /*#__PURE__*/__webpack_require__(/*! ./transpose */ 900);\n\tmodule.exports.traverse = /*#__PURE__*/__webpack_require__(/*! ./traverse */ 901);\n\tmodule.exports.trim = /*#__PURE__*/__webpack_require__(/*! ./trim */ 902);\n\tmodule.exports.tryCatch = /*#__PURE__*/__webpack_require__(/*! ./tryCatch */ 903);\n\tmodule.exports.type = /*#__PURE__*/__webpack_require__(/*! ./type */ 680);\n\tmodule.exports.unapply = /*#__PURE__*/__webpack_require__(/*! ./unapply */ 904);\n\tmodule.exports.unary = /*#__PURE__*/__webpack_require__(/*! ./unary */ 905);\n\tmodule.exports.uncurryN = /*#__PURE__*/__webpack_require__(/*! ./uncurryN */ 906);\n\tmodule.exports.unfold = /*#__PURE__*/__webpack_require__(/*! ./unfold */ 907);\n\tmodule.exports.union = /*#__PURE__*/__webpack_require__(/*! ./union */ 908);\n\tmodule.exports.unionWith = /*#__PURE__*/__webpack_require__(/*! ./unionWith */ 909);\n\tmodule.exports.uniq = /*#__PURE__*/__webpack_require__(/*! ./uniq */ 788);\n\tmodule.exports.uniqBy = /*#__PURE__*/__webpack_require__(/*! ./uniqBy */ 789);\n\tmodule.exports.uniqWith = /*#__PURE__*/__webpack_require__(/*! ./uniqWith */ 910);\n\tmodule.exports.unless = /*#__PURE__*/__webpack_require__(/*! ./unless */ 911);\n\tmodule.exports.unnest = /*#__PURE__*/__webpack_require__(/*! ./unnest */ 912);\n\tmodule.exports.until = /*#__PURE__*/__webpack_require__(/*! ./until */ 913);\n\tmodule.exports.update = /*#__PURE__*/__webpack_require__(/*! ./update */ 730);\n\tmodule.exports.useWith = /*#__PURE__*/__webpack_require__(/*! ./useWith */ 861);\n\tmodule.exports.values = /*#__PURE__*/__webpack_require__(/*! ./values */ 656);\n\tmodule.exports.valuesIn = /*#__PURE__*/__webpack_require__(/*! ./valuesIn */ 914);\n\tmodule.exports.view = /*#__PURE__*/__webpack_require__(/*! ./view */ 915);\n\tmodule.exports.when = /*#__PURE__*/__webpack_require__(/*! ./when */ 916);\n\tmodule.exports.where = /*#__PURE__*/__webpack_require__(/*! ./where */ 917);\n\tmodule.exports.whereEq = /*#__PURE__*/__webpack_require__(/*! ./whereEq */ 918);\n\tmodule.exports.without = /*#__PURE__*/__webpack_require__(/*! ./without */ 919);\n\tmodule.exports.xprod = /*#__PURE__*/__webpack_require__(/*! ./xprod */ 920);\n\tmodule.exports.zip = /*#__PURE__*/__webpack_require__(/*! ./zip */ 921);\n\tmodule.exports.zipObj = /*#__PURE__*/__webpack_require__(/*! ./zipObj */ 922);\n\tmodule.exports.zipWith = /*#__PURE__*/__webpack_require__(/*! ./zipWith */ 923);\n\n/***/ }),\n/* 606 */\n/*!***************************!*\\\n  !*** ../~/ramda/src/F.js ***!\n  \\***************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar always = /*#__PURE__*/__webpack_require__(/*! ./always */ 607);\n\t\n\t/**\n\t * A function that always returns `false`. Any passed in parameters are ignored.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.9.0\n\t * @category Function\n\t * @sig * -> Boolean\n\t * @param {*}\n\t * @return {Boolean}\n\t * @see R.always, R.T\n\t * @example\n\t *\n\t *      R.F(); //=> false\n\t */\n\t\n\t\n\tvar F = /*#__PURE__*/always(false);\n\tmodule.exports = F;\n\n/***/ }),\n/* 607 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/always.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\t/**\n\t * Returns a function that always returns the given value. Note that for\n\t * non-primitives the value returned is a reference to the original value.\n\t *\n\t * This function is known as `const`, `constant`, or `K` (for K combinator) in\n\t * other languages and libraries.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Function\n\t * @sig a -> (* -> a)\n\t * @param {*} val The value to wrap in a function\n\t * @return {Function} A Function :: * -> val.\n\t * @example\n\t *\n\t *      var t = R.always('Tee');\n\t *      t(); //=> 'Tee'\n\t */\n\t\n\t\n\tvar always = /*#__PURE__*/_curry1(function always(val) {\n\t  return function () {\n\t    return val;\n\t  };\n\t});\n\tmodule.exports = always;\n\n/***/ }),\n/* 608 */\n/*!******************************************!*\\\n  !*** ../~/ramda/src/internal/_curry1.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _isPlaceholder = /*#__PURE__*/__webpack_require__(/*! ./_isPlaceholder */ 609);\n\t\n\t/**\n\t * Optimized internal one-arity curry function.\n\t *\n\t * @private\n\t * @category Function\n\t * @param {Function} fn The function to curry.\n\t * @return {Function} The curried function.\n\t */\n\t\n\t\n\tfunction _curry1(fn) {\n\t  return function f1(a) {\n\t    if (arguments.length === 0 || _isPlaceholder(a)) {\n\t      return f1;\n\t    } else {\n\t      return fn.apply(this, arguments);\n\t    }\n\t  };\n\t}\n\tmodule.exports = _curry1;\n\n/***/ }),\n/* 609 */\n/*!*************************************************!*\\\n  !*** ../~/ramda/src/internal/_isPlaceholder.js ***!\n  \\*************************************************/\n/***/ (function(module, exports) {\n\n\tfunction _isPlaceholder(a) {\n\t       return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true;\n\t}\n\tmodule.exports = _isPlaceholder;\n\n/***/ }),\n/* 610 */\n/*!***************************!*\\\n  !*** ../~/ramda/src/T.js ***!\n  \\***************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar always = /*#__PURE__*/__webpack_require__(/*! ./always */ 607);\n\t\n\t/**\n\t * A function that always returns `true`. Any passed in parameters are ignored.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.9.0\n\t * @category Function\n\t * @sig * -> Boolean\n\t * @param {*}\n\t * @return {Boolean}\n\t * @see R.always, R.F\n\t * @example\n\t *\n\t *      R.T(); //=> true\n\t */\n\t\n\t\n\tvar T = /*#__PURE__*/always(true);\n\tmodule.exports = T;\n\n/***/ }),\n/* 611 */\n/*!****************************!*\\\n  !*** ../~/ramda/src/__.js ***!\n  \\****************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * A special placeholder value used to specify \"gaps\" within curried functions,\n\t * allowing partial application of any combination of arguments, regardless of\n\t * their positions.\n\t *\n\t * If `g` is a curried ternary function and `_` is `R.__`, the following are\n\t * equivalent:\n\t *\n\t *   - `g(1, 2, 3)`\n\t *   - `g(_, 2, 3)(1)`\n\t *   - `g(_, _, 3)(1)(2)`\n\t *   - `g(_, _, 3)(1, 2)`\n\t *   - `g(_, 2, _)(1, 3)`\n\t *   - `g(_, 2)(1)(3)`\n\t *   - `g(_, 2)(1, 3)`\n\t *   - `g(_, 2)(_, 3)(1)`\n\t *\n\t * @constant\n\t * @memberOf R\n\t * @since v0.6.0\n\t * @category Function\n\t * @example\n\t *\n\t *      var greet = R.replace('{name}', R.__, 'Hello, {name}!');\n\t *      greet('Alice'); //=> 'Hello, Alice!'\n\t */\n\tmodule.exports = { '@@functional/placeholder': true };\n\n/***/ }),\n/* 612 */\n/*!*****************************!*\\\n  !*** ../~/ramda/src/add.js ***!\n  \\*****************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Adds two values.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Math\n\t * @sig Number -> Number -> Number\n\t * @param {Number} a\n\t * @param {Number} b\n\t * @return {Number}\n\t * @see R.subtract\n\t * @example\n\t *\n\t *      R.add(2, 3);       //=>  5\n\t *      R.add(7)(10);      //=> 17\n\t */\n\t\n\t\n\tvar add = /*#__PURE__*/_curry2(function add(a, b) {\n\t  return Number(a) + Number(b);\n\t});\n\tmodule.exports = add;\n\n/***/ }),\n/* 613 */\n/*!******************************************!*\\\n  !*** ../~/ramda/src/internal/_curry2.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./_curry1 */ 608);\n\t\n\tvar _isPlaceholder = /*#__PURE__*/__webpack_require__(/*! ./_isPlaceholder */ 609);\n\t\n\t/**\n\t * Optimized internal two-arity curry function.\n\t *\n\t * @private\n\t * @category Function\n\t * @param {Function} fn The function to curry.\n\t * @return {Function} The curried function.\n\t */\n\t\n\t\n\tfunction _curry2(fn) {\n\t  return function f2(a, b) {\n\t    switch (arguments.length) {\n\t      case 0:\n\t        return f2;\n\t      case 1:\n\t        return _isPlaceholder(a) ? f2 : _curry1(function (_b) {\n\t          return fn(a, _b);\n\t        });\n\t      default:\n\t        return _isPlaceholder(a) && _isPlaceholder(b) ? f2 : _isPlaceholder(a) ? _curry1(function (_a) {\n\t          return fn(_a, b);\n\t        }) : _isPlaceholder(b) ? _curry1(function (_b) {\n\t          return fn(a, _b);\n\t        }) : fn(a, b);\n\t    }\n\t  };\n\t}\n\tmodule.exports = _curry2;\n\n/***/ }),\n/* 614 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/addIndex.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _concat = /*#__PURE__*/__webpack_require__(/*! ./internal/_concat */ 615);\n\t\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar curryN = /*#__PURE__*/__webpack_require__(/*! ./curryN */ 616);\n\t\n\t/**\n\t * Creates a new list iteration function from an existing one by adding two new\n\t * parameters to its callback function: the current index, and the entire list.\n\t *\n\t * This would turn, for instance, [`R.map`](#map) function into one that\n\t * more closely resembles `Array.prototype.map`. Note that this will only work\n\t * for functions in which the iteration callback function is the first\n\t * parameter, and where the list is the last parameter. (This latter might be\n\t * unimportant if the list parameter is not used.)\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.15.0\n\t * @category Function\n\t * @category List\n\t * @sig ((a ... -> b) ... -> [a] -> *) -> (a ..., Int, [a] -> b) ... -> [a] -> *)\n\t * @param {Function} fn A list iteration function that does not pass index or list to its callback\n\t * @return {Function} An altered list iteration function that passes (item, index, list) to its callback\n\t * @example\n\t *\n\t *      var mapIndexed = R.addIndex(R.map);\n\t *      mapIndexed((val, idx) => idx + '-' + val, ['f', 'o', 'o', 'b', 'a', 'r']);\n\t *      //=> ['0-f', '1-o', '2-o', '3-b', '4-a', '5-r']\n\t */\n\t\n\t\n\tvar addIndex = /*#__PURE__*/_curry1(function addIndex(fn) {\n\t  return curryN(fn.length, function () {\n\t    var idx = 0;\n\t    var origFn = arguments[0];\n\t    var list = arguments[arguments.length - 1];\n\t    var args = Array.prototype.slice.call(arguments, 0);\n\t    args[0] = function () {\n\t      var result = origFn.apply(this, _concat(arguments, [idx, list]));\n\t      idx += 1;\n\t      return result;\n\t    };\n\t    return fn.apply(this, args);\n\t  });\n\t});\n\tmodule.exports = addIndex;\n\n/***/ }),\n/* 615 */\n/*!******************************************!*\\\n  !*** ../~/ramda/src/internal/_concat.js ***!\n  \\******************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Private `concat` function to merge two array-like objects.\n\t *\n\t * @private\n\t * @param {Array|Arguments} [set1=[]] An array-like object.\n\t * @param {Array|Arguments} [set2=[]] An array-like object.\n\t * @return {Array} A new, merged array.\n\t * @example\n\t *\n\t *      _concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n\t */\n\tfunction _concat(set1, set2) {\n\t  set1 = set1 || [];\n\t  set2 = set2 || [];\n\t  var idx;\n\t  var len1 = set1.length;\n\t  var len2 = set2.length;\n\t  var result = [];\n\t\n\t  idx = 0;\n\t  while (idx < len1) {\n\t    result[result.length] = set1[idx];\n\t    idx += 1;\n\t  }\n\t  idx = 0;\n\t  while (idx < len2) {\n\t    result[result.length] = set2[idx];\n\t    idx += 1;\n\t  }\n\t  return result;\n\t}\n\tmodule.exports = _concat;\n\n/***/ }),\n/* 616 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/curryN.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _arity = /*#__PURE__*/__webpack_require__(/*! ./internal/_arity */ 617);\n\t\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _curryN = /*#__PURE__*/__webpack_require__(/*! ./internal/_curryN */ 618);\n\t\n\t/**\n\t * Returns a curried equivalent of the provided function, with the specified\n\t * arity. The curried function has two unusual capabilities. First, its\n\t * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the\n\t * following are equivalent:\n\t *\n\t *   - `g(1)(2)(3)`\n\t *   - `g(1)(2, 3)`\n\t *   - `g(1, 2)(3)`\n\t *   - `g(1, 2, 3)`\n\t *\n\t * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n\t * \"gaps\", allowing partial application of any combination of arguments,\n\t * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n\t * the following are equivalent:\n\t *\n\t *   - `g(1, 2, 3)`\n\t *   - `g(_, 2, 3)(1)`\n\t *   - `g(_, _, 3)(1)(2)`\n\t *   - `g(_, _, 3)(1, 2)`\n\t *   - `g(_, 2)(1)(3)`\n\t *   - `g(_, 2)(1, 3)`\n\t *   - `g(_, 2)(_, 3)(1)`\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.5.0\n\t * @category Function\n\t * @sig Number -> (* -> a) -> (* -> a)\n\t * @param {Number} length The arity for the returned function.\n\t * @param {Function} fn The function to curry.\n\t * @return {Function} A new, curried function.\n\t * @see R.curry\n\t * @example\n\t *\n\t *      var sumArgs = (...args) => R.sum(args);\n\t *\n\t *      var curriedAddFourNumbers = R.curryN(4, sumArgs);\n\t *      var f = curriedAddFourNumbers(1, 2);\n\t *      var g = f(3);\n\t *      g(4); //=> 10\n\t */\n\t\n\t\n\tvar curryN = /*#__PURE__*/_curry2(function curryN(length, fn) {\n\t  if (length === 1) {\n\t    return _curry1(fn);\n\t  }\n\t  return _arity(length, _curryN(length, [], fn));\n\t});\n\tmodule.exports = curryN;\n\n/***/ }),\n/* 617 */\n/*!*****************************************!*\\\n  !*** ../~/ramda/src/internal/_arity.js ***!\n  \\*****************************************/\n/***/ (function(module, exports) {\n\n\tfunction _arity(n, fn) {\n\t  /* eslint-disable no-unused-vars */\n\t  switch (n) {\n\t    case 0:\n\t      return function () {\n\t        return fn.apply(this, arguments);\n\t      };\n\t    case 1:\n\t      return function (a0) {\n\t        return fn.apply(this, arguments);\n\t      };\n\t    case 2:\n\t      return function (a0, a1) {\n\t        return fn.apply(this, arguments);\n\t      };\n\t    case 3:\n\t      return function (a0, a1, a2) {\n\t        return fn.apply(this, arguments);\n\t      };\n\t    case 4:\n\t      return function (a0, a1, a2, a3) {\n\t        return fn.apply(this, arguments);\n\t      };\n\t    case 5:\n\t      return function (a0, a1, a2, a3, a4) {\n\t        return fn.apply(this, arguments);\n\t      };\n\t    case 6:\n\t      return function (a0, a1, a2, a3, a4, a5) {\n\t        return fn.apply(this, arguments);\n\t      };\n\t    case 7:\n\t      return function (a0, a1, a2, a3, a4, a5, a6) {\n\t        return fn.apply(this, arguments);\n\t      };\n\t    case 8:\n\t      return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n\t        return fn.apply(this, arguments);\n\t      };\n\t    case 9:\n\t      return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n\t        return fn.apply(this, arguments);\n\t      };\n\t    case 10:\n\t      return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n\t        return fn.apply(this, arguments);\n\t      };\n\t    default:\n\t      throw new Error('First argument to _arity must be a non-negative integer no greater than ten');\n\t  }\n\t}\n\tmodule.exports = _arity;\n\n/***/ }),\n/* 618 */\n/*!******************************************!*\\\n  !*** ../~/ramda/src/internal/_curryN.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _arity = /*#__PURE__*/__webpack_require__(/*! ./_arity */ 617);\n\t\n\tvar _isPlaceholder = /*#__PURE__*/__webpack_require__(/*! ./_isPlaceholder */ 609);\n\t\n\t/**\n\t * Internal curryN function.\n\t *\n\t * @private\n\t * @category Function\n\t * @param {Number} length The arity of the curried function.\n\t * @param {Array} received An array of arguments received thus far.\n\t * @param {Function} fn The function to curry.\n\t * @return {Function} The curried function.\n\t */\n\t\n\t\n\tfunction _curryN(length, received, fn) {\n\t  return function () {\n\t    var combined = [];\n\t    var argsIdx = 0;\n\t    var left = length;\n\t    var combinedIdx = 0;\n\t    while (combinedIdx < received.length || argsIdx < arguments.length) {\n\t      var result;\n\t      if (combinedIdx < received.length && (!_isPlaceholder(received[combinedIdx]) || argsIdx >= arguments.length)) {\n\t        result = received[combinedIdx];\n\t      } else {\n\t        result = arguments[argsIdx];\n\t        argsIdx += 1;\n\t      }\n\t      combined[combinedIdx] = result;\n\t      if (!_isPlaceholder(result)) {\n\t        left -= 1;\n\t      }\n\t      combinedIdx += 1;\n\t    }\n\t    return left <= 0 ? fn.apply(this, combined) : _arity(left, _curryN(length, combined, fn));\n\t  };\n\t}\n\tmodule.exports = _curryN;\n\n/***/ }),\n/* 619 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/adjust.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _concat = /*#__PURE__*/__webpack_require__(/*! ./internal/_concat */ 615);\n\t\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\t/**\n\t * Applies a function to the value at the given index of an array, returning a\n\t * new copy of the array with the element at the given index replaced with the\n\t * result of the function application.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.14.0\n\t * @category List\n\t * @sig (a -> a) -> Number -> [a] -> [a]\n\t * @param {Function} fn The function to apply.\n\t * @param {Number} idx The index.\n\t * @param {Array|Arguments} list An array-like object whose value\n\t *        at the supplied index will be replaced.\n\t * @return {Array} A copy of the supplied array-like object with\n\t *         the element at index `idx` replaced with the value\n\t *         returned by applying `fn` to the existing element.\n\t * @see R.update\n\t * @example\n\t *\n\t *      R.adjust(R.add(10), 1, [1, 2, 3]);     //=> [1, 12, 3]\n\t *      R.adjust(R.add(10))(1)([1, 2, 3]);     //=> [1, 12, 3]\n\t * @symb R.adjust(f, -1, [a, b]) = [a, f(b)]\n\t * @symb R.adjust(f, 0, [a, b]) = [f(a), b]\n\t */\n\t\n\t\n\tvar adjust = /*#__PURE__*/_curry3(function adjust(fn, idx, list) {\n\t  if (idx >= list.length || idx < -list.length) {\n\t    return list;\n\t  }\n\t  var start = idx < 0 ? list.length : 0;\n\t  var _idx = start + idx;\n\t  var _list = _concat(list);\n\t  _list[_idx] = fn(list[_idx]);\n\t  return _list;\n\t});\n\tmodule.exports = adjust;\n\n/***/ }),\n/* 620 */\n/*!******************************************!*\\\n  !*** ../~/ramda/src/internal/_curry3.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./_curry1 */ 608);\n\t\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./_curry2 */ 613);\n\t\n\tvar _isPlaceholder = /*#__PURE__*/__webpack_require__(/*! ./_isPlaceholder */ 609);\n\t\n\t/**\n\t * Optimized internal three-arity curry function.\n\t *\n\t * @private\n\t * @category Function\n\t * @param {Function} fn The function to curry.\n\t * @return {Function} The curried function.\n\t */\n\t\n\t\n\tfunction _curry3(fn) {\n\t  return function f3(a, b, c) {\n\t    switch (arguments.length) {\n\t      case 0:\n\t        return f3;\n\t      case 1:\n\t        return _isPlaceholder(a) ? f3 : _curry2(function (_b, _c) {\n\t          return fn(a, _b, _c);\n\t        });\n\t      case 2:\n\t        return _isPlaceholder(a) && _isPlaceholder(b) ? f3 : _isPlaceholder(a) ? _curry2(function (_a, _c) {\n\t          return fn(_a, b, _c);\n\t        }) : _isPlaceholder(b) ? _curry2(function (_b, _c) {\n\t          return fn(a, _b, _c);\n\t        }) : _curry1(function (_c) {\n\t          return fn(a, b, _c);\n\t        });\n\t      default:\n\t        return _isPlaceholder(a) && _isPlaceholder(b) && _isPlaceholder(c) ? f3 : _isPlaceholder(a) && _isPlaceholder(b) ? _curry2(function (_a, _b) {\n\t          return fn(_a, _b, c);\n\t        }) : _isPlaceholder(a) && _isPlaceholder(c) ? _curry2(function (_a, _c) {\n\t          return fn(_a, b, _c);\n\t        }) : _isPlaceholder(b) && _isPlaceholder(c) ? _curry2(function (_b, _c) {\n\t          return fn(a, _b, _c);\n\t        }) : _isPlaceholder(a) ? _curry1(function (_a) {\n\t          return fn(_a, b, c);\n\t        }) : _isPlaceholder(b) ? _curry1(function (_b) {\n\t          return fn(a, _b, c);\n\t        }) : _isPlaceholder(c) ? _curry1(function (_c) {\n\t          return fn(a, b, _c);\n\t        }) : fn(a, b, c);\n\t    }\n\t  };\n\t}\n\tmodule.exports = _curry3;\n\n/***/ }),\n/* 621 */\n/*!*****************************!*\\\n  !*** ../~/ramda/src/all.js ***!\n  \\*****************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _dispatchable = /*#__PURE__*/__webpack_require__(/*! ./internal/_dispatchable */ 622);\n\t\n\tvar _xall = /*#__PURE__*/__webpack_require__(/*! ./internal/_xall */ 625);\n\t\n\t/**\n\t * Returns `true` if all elements of the list match the predicate, `false` if\n\t * there are any that don't.\n\t *\n\t * Dispatches to the `all` method of the second argument, if present.\n\t *\n\t * Acts as a transducer if a transformer is given in list position.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig (a -> Boolean) -> [a] -> Boolean\n\t * @param {Function} fn The predicate function.\n\t * @param {Array} list The array to consider.\n\t * @return {Boolean} `true` if the predicate is satisfied by every element, `false`\n\t *         otherwise.\n\t * @see R.any, R.none, R.transduce\n\t * @example\n\t *\n\t *      var equals3 = R.equals(3);\n\t *      R.all(equals3)([3, 3, 3, 3]); //=> true\n\t *      R.all(equals3)([3, 3, 1, 3]); //=> false\n\t */\n\t\n\t\n\tvar all = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['all'], _xall, function all(fn, list) {\n\t  var idx = 0;\n\t  while (idx < list.length) {\n\t    if (!fn(list[idx])) {\n\t      return false;\n\t    }\n\t    idx += 1;\n\t  }\n\t  return true;\n\t}));\n\tmodule.exports = all;\n\n/***/ }),\n/* 622 */\n/*!************************************************!*\\\n  !*** ../~/ramda/src/internal/_dispatchable.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _isArray = /*#__PURE__*/__webpack_require__(/*! ./_isArray */ 623);\n\t\n\tvar _isTransformer = /*#__PURE__*/__webpack_require__(/*! ./_isTransformer */ 624);\n\t\n\t/**\n\t * Returns a function that dispatches with different strategies based on the\n\t * object in list position (last argument). If it is an array, executes [fn].\n\t * Otherwise, if it has a function with one of the given method names, it will\n\t * execute that function (functor case). Otherwise, if it is a transformer,\n\t * uses transducer [xf] to return a new transformer (transducer case).\n\t * Otherwise, it will default to executing [fn].\n\t *\n\t * @private\n\t * @param {Array} methodNames properties to check for a custom implementation\n\t * @param {Function} xf transducer to initialize if object is transformer\n\t * @param {Function} fn default ramda implementation\n\t * @return {Function} A function that dispatches on object in list position\n\t */\n\t\n\t\n\tfunction _dispatchable(methodNames, xf, fn) {\n\t  return function () {\n\t    if (arguments.length === 0) {\n\t      return fn();\n\t    }\n\t    var args = Array.prototype.slice.call(arguments, 0);\n\t    var obj = args.pop();\n\t    if (!_isArray(obj)) {\n\t      var idx = 0;\n\t      while (idx < methodNames.length) {\n\t        if (typeof obj[methodNames[idx]] === 'function') {\n\t          return obj[methodNames[idx]].apply(obj, args);\n\t        }\n\t        idx += 1;\n\t      }\n\t      if (_isTransformer(obj)) {\n\t        var transducer = xf.apply(null, args);\n\t        return transducer(obj);\n\t      }\n\t    }\n\t    return fn.apply(this, arguments);\n\t  };\n\t}\n\tmodule.exports = _dispatchable;\n\n/***/ }),\n/* 623 */\n/*!*******************************************!*\\\n  !*** ../~/ramda/src/internal/_isArray.js ***!\n  \\*******************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Tests whether or not an object is an array.\n\t *\n\t * @private\n\t * @param {*} val The object to test.\n\t * @return {Boolean} `true` if `val` is an array, `false` otherwise.\n\t * @example\n\t *\n\t *      _isArray([]); //=> true\n\t *      _isArray(null); //=> false\n\t *      _isArray({}); //=> false\n\t */\n\tmodule.exports = Array.isArray || function _isArray(val) {\n\t  return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]';\n\t};\n\n/***/ }),\n/* 624 */\n/*!*************************************************!*\\\n  !*** ../~/ramda/src/internal/_isTransformer.js ***!\n  \\*************************************************/\n/***/ (function(module, exports) {\n\n\tfunction _isTransformer(obj) {\n\t  return typeof obj['@@transducer/step'] === 'function';\n\t}\n\tmodule.exports = _isTransformer;\n\n/***/ }),\n/* 625 */\n/*!****************************************!*\\\n  !*** ../~/ramda/src/internal/_xall.js ***!\n  \\****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./_curry2 */ 613);\n\t\n\tvar _reduced = /*#__PURE__*/__webpack_require__(/*! ./_reduced */ 626);\n\t\n\tvar _xfBase = /*#__PURE__*/__webpack_require__(/*! ./_xfBase */ 627);\n\t\n\tvar XAll = /*#__PURE__*/function () {\n\t\n\t  function XAll(f, xf) {\n\t    this.xf = xf;\n\t    this.f = f;\n\t    this.all = true;\n\t  }\n\t  XAll.prototype['@@transducer/init'] = _xfBase.init;\n\t  XAll.prototype['@@transducer/result'] = function (result) {\n\t    if (this.all) {\n\t      result = this.xf['@@transducer/step'](result, true);\n\t    }\n\t    return this.xf['@@transducer/result'](result);\n\t  };\n\t  XAll.prototype['@@transducer/step'] = function (result, input) {\n\t    if (!this.f(input)) {\n\t      this.all = false;\n\t      result = _reduced(this.xf['@@transducer/step'](result, false));\n\t    }\n\t    return result;\n\t  };\n\t\n\t  return XAll;\n\t}();\n\t\n\tvar _xall = /*#__PURE__*/_curry2(function _xall(f, xf) {\n\t  return new XAll(f, xf);\n\t});\n\tmodule.exports = _xall;\n\n/***/ }),\n/* 626 */\n/*!*******************************************!*\\\n  !*** ../~/ramda/src/internal/_reduced.js ***!\n  \\*******************************************/\n/***/ (function(module, exports) {\n\n\tfunction _reduced(x) {\n\t  return x && x['@@transducer/reduced'] ? x : {\n\t    '@@transducer/value': x,\n\t    '@@transducer/reduced': true\n\t  };\n\t}\n\tmodule.exports = _reduced;\n\n/***/ }),\n/* 627 */\n/*!******************************************!*\\\n  !*** ../~/ramda/src/internal/_xfBase.js ***!\n  \\******************************************/\n/***/ (function(module, exports) {\n\n\tmodule.exports = {\n\t  init: function () {\n\t    return this.xf['@@transducer/init']();\n\t  },\n\t  result: function (result) {\n\t    return this.xf['@@transducer/result'](result);\n\t  }\n\t};\n\n/***/ }),\n/* 628 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/allPass.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar curryN = /*#__PURE__*/__webpack_require__(/*! ./curryN */ 616);\n\t\n\tvar max = /*#__PURE__*/__webpack_require__(/*! ./max */ 629);\n\t\n\tvar pluck = /*#__PURE__*/__webpack_require__(/*! ./pluck */ 630);\n\t\n\tvar reduce = /*#__PURE__*/__webpack_require__(/*! ./reduce */ 644);\n\t\n\t/**\n\t * Takes a list of predicates and returns a predicate that returns true for a\n\t * given list of arguments if every one of the provided predicates is satisfied\n\t * by those arguments.\n\t *\n\t * The function returned is a curried function whose arity matches that of the\n\t * highest-arity predicate.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.9.0\n\t * @category Logic\n\t * @sig [(*... -> Boolean)] -> (*... -> Boolean)\n\t * @param {Array} predicates An array of predicates to check\n\t * @return {Function} The combined predicate\n\t * @see R.anyPass\n\t * @example\n\t *\n\t *      var isQueen = R.propEq('rank', 'Q');\n\t *      var isSpade = R.propEq('suit', '♠︎');\n\t *      var isQueenOfSpades = R.allPass([isQueen, isSpade]);\n\t *\n\t *      isQueenOfSpades({rank: 'Q', suit: '♣︎'}); //=> false\n\t *      isQueenOfSpades({rank: 'Q', suit: '♠︎'}); //=> true\n\t */\n\t\n\t\n\tvar allPass = /*#__PURE__*/_curry1(function allPass(preds) {\n\t  return curryN(reduce(max, 0, pluck('length', preds)), function () {\n\t    var idx = 0;\n\t    var len = preds.length;\n\t    while (idx < len) {\n\t      if (!preds[idx].apply(this, arguments)) {\n\t        return false;\n\t      }\n\t      idx += 1;\n\t    }\n\t    return true;\n\t  });\n\t});\n\tmodule.exports = allPass;\n\n/***/ }),\n/* 629 */\n/*!*****************************!*\\\n  !*** ../~/ramda/src/max.js ***!\n  \\*****************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Returns the larger of its two arguments.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Relation\n\t * @sig Ord a => a -> a -> a\n\t * @param {*} a\n\t * @param {*} b\n\t * @return {*}\n\t * @see R.maxBy, R.min\n\t * @example\n\t *\n\t *      R.max(789, 123); //=> 789\n\t *      R.max('a', 'b'); //=> 'b'\n\t */\n\t\n\t\n\tvar max = /*#__PURE__*/_curry2(function max(a, b) {\n\t  return b > a ? b : a;\n\t});\n\tmodule.exports = max;\n\n/***/ }),\n/* 630 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/pluck.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar map = /*#__PURE__*/__webpack_require__(/*! ./map */ 631);\n\t\n\tvar prop = /*#__PURE__*/__webpack_require__(/*! ./prop */ 642);\n\t\n\t/**\n\t * Returns a new list by plucking the same named property off all objects in\n\t * the list supplied.\n\t *\n\t * `pluck` will work on\n\t * any [functor](https://github.com/fantasyland/fantasy-land#functor) in\n\t * addition to arrays, as it is equivalent to `R.map(R.prop(k), f)`.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig Functor f => k -> f {k: v} -> f v\n\t * @param {Number|String} key The key name to pluck off of each object.\n\t * @param {Array} f The array or functor to consider.\n\t * @return {Array} The list of values for the given key.\n\t * @see R.props\n\t * @example\n\t *\n\t *      R.pluck('a')([{a: 1}, {a: 2}]); //=> [1, 2]\n\t *      R.pluck(0)([[1, 2], [3, 4]]);   //=> [1, 3]\n\t *      R.pluck('val', {a: {val: 3}, b: {val: 5}}); //=> {a: 3, b: 5}\n\t * @symb R.pluck('x', [{x: 1, y: 2}, {x: 3, y: 4}, {x: 5, y: 6}]) = [1, 3, 5]\n\t * @symb R.pluck(0, [[1, 2], [3, 4], [5, 6]]) = [1, 3, 5]\n\t */\n\t\n\t\n\tvar pluck = /*#__PURE__*/_curry2(function pluck(p, list) {\n\t  return map(prop(p), list);\n\t});\n\tmodule.exports = pluck;\n\n/***/ }),\n/* 631 */\n/*!*****************************!*\\\n  !*** ../~/ramda/src/map.js ***!\n  \\*****************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _dispatchable = /*#__PURE__*/__webpack_require__(/*! ./internal/_dispatchable */ 622);\n\t\n\tvar _map = /*#__PURE__*/__webpack_require__(/*! ./internal/_map */ 632);\n\t\n\tvar _reduce = /*#__PURE__*/__webpack_require__(/*! ./internal/_reduce */ 633);\n\t\n\tvar _xmap = /*#__PURE__*/__webpack_require__(/*! ./internal/_xmap */ 638);\n\t\n\tvar curryN = /*#__PURE__*/__webpack_require__(/*! ./curryN */ 616);\n\t\n\tvar keys = /*#__PURE__*/__webpack_require__(/*! ./keys */ 639);\n\t\n\t/**\n\t * Takes a function and\n\t * a [functor](https://github.com/fantasyland/fantasy-land#functor),\n\t * applies the function to each of the functor's values, and returns\n\t * a functor of the same shape.\n\t *\n\t * Ramda provides suitable `map` implementations for `Array` and `Object`,\n\t * so this function may be applied to `[1, 2, 3]` or `{x: 1, y: 2, z: 3}`.\n\t *\n\t * Dispatches to the `map` method of the second argument, if present.\n\t *\n\t * Acts as a transducer if a transformer is given in list position.\n\t *\n\t * Also treats functions as functors and will compose them together.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig Functor f => (a -> b) -> f a -> f b\n\t * @param {Function} fn The function to be called on every element of the input `list`.\n\t * @param {Array} list The list to be iterated over.\n\t * @return {Array} The new list.\n\t * @see R.transduce, R.addIndex\n\t * @example\n\t *\n\t *      var double = x => x * 2;\n\t *\n\t *      R.map(double, [1, 2, 3]); //=> [2, 4, 6]\n\t *\n\t *      R.map(double, {x: 1, y: 2, z: 3}); //=> {x: 2, y: 4, z: 6}\n\t * @symb R.map(f, [a, b]) = [f(a), f(b)]\n\t * @symb R.map(f, { x: a, y: b }) = { x: f(a), y: f(b) }\n\t * @symb R.map(f, functor_o) = functor_o.map(f)\n\t */\n\t\n\t\n\tvar map = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['fantasy-land/map', 'map'], _xmap, function map(fn, functor) {\n\t  switch (Object.prototype.toString.call(functor)) {\n\t    case '[object Function]':\n\t      return curryN(functor.length, function () {\n\t        return fn.call(this, functor.apply(this, arguments));\n\t      });\n\t    case '[object Object]':\n\t      return _reduce(function (acc, key) {\n\t        acc[key] = fn(functor[key]);\n\t        return acc;\n\t      }, {}, keys(functor));\n\t    default:\n\t      return _map(fn, functor);\n\t  }\n\t}));\n\tmodule.exports = map;\n\n/***/ }),\n/* 632 */\n/*!***************************************!*\\\n  !*** ../~/ramda/src/internal/_map.js ***!\n  \\***************************************/\n/***/ (function(module, exports) {\n\n\tfunction _map(fn, functor) {\n\t  var idx = 0;\n\t  var len = functor.length;\n\t  var result = Array(len);\n\t  while (idx < len) {\n\t    result[idx] = fn(functor[idx]);\n\t    idx += 1;\n\t  }\n\t  return result;\n\t}\n\tmodule.exports = _map;\n\n/***/ }),\n/* 633 */\n/*!******************************************!*\\\n  !*** ../~/ramda/src/internal/_reduce.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _isArrayLike = /*#__PURE__*/__webpack_require__(/*! ./_isArrayLike */ 634);\n\t\n\tvar _xwrap = /*#__PURE__*/__webpack_require__(/*! ./_xwrap */ 636);\n\t\n\tvar bind = /*#__PURE__*/__webpack_require__(/*! ../bind */ 637);\n\t\n\tfunction _arrayReduce(xf, acc, list) {\n\t  var idx = 0;\n\t  var len = list.length;\n\t  while (idx < len) {\n\t    acc = xf['@@transducer/step'](acc, list[idx]);\n\t    if (acc && acc['@@transducer/reduced']) {\n\t      acc = acc['@@transducer/value'];\n\t      break;\n\t    }\n\t    idx += 1;\n\t  }\n\t  return xf['@@transducer/result'](acc);\n\t}\n\t\n\tfunction _iterableReduce(xf, acc, iter) {\n\t  var step = iter.next();\n\t  while (!step.done) {\n\t    acc = xf['@@transducer/step'](acc, step.value);\n\t    if (acc && acc['@@transducer/reduced']) {\n\t      acc = acc['@@transducer/value'];\n\t      break;\n\t    }\n\t    step = iter.next();\n\t  }\n\t  return xf['@@transducer/result'](acc);\n\t}\n\t\n\tfunction _methodReduce(xf, acc, obj, methodName) {\n\t  return xf['@@transducer/result'](obj[methodName](bind(xf['@@transducer/step'], xf), acc));\n\t}\n\t\n\tvar symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator';\n\t\n\tfunction _reduce(fn, acc, list) {\n\t  if (typeof fn === 'function') {\n\t    fn = _xwrap(fn);\n\t  }\n\t  if (_isArrayLike(list)) {\n\t    return _arrayReduce(fn, acc, list);\n\t  }\n\t  if (typeof list['fantasy-land/reduce'] === 'function') {\n\t    return _methodReduce(fn, acc, list, 'fantasy-land/reduce');\n\t  }\n\t  if (list[symIterator] != null) {\n\t    return _iterableReduce(fn, acc, list[symIterator]());\n\t  }\n\t  if (typeof list.next === 'function') {\n\t    return _iterableReduce(fn, acc, list);\n\t  }\n\t  if (typeof list.reduce === 'function') {\n\t    return _methodReduce(fn, acc, list, 'reduce');\n\t  }\n\t\n\t  throw new TypeError('reduce: list must be array or iterable');\n\t}\n\tmodule.exports = _reduce;\n\n/***/ }),\n/* 634 */\n/*!***********************************************!*\\\n  !*** ../~/ramda/src/internal/_isArrayLike.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./_curry1 */ 608);\n\t\n\tvar _isArray = /*#__PURE__*/__webpack_require__(/*! ./_isArray */ 623);\n\t\n\tvar _isString = /*#__PURE__*/__webpack_require__(/*! ./_isString */ 635);\n\t\n\t/**\n\t * Tests whether or not an object is similar to an array.\n\t *\n\t * @private\n\t * @category Type\n\t * @category List\n\t * @sig * -> Boolean\n\t * @param {*} x The object to test.\n\t * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise.\n\t * @example\n\t *\n\t *      _isArrayLike([]); //=> true\n\t *      _isArrayLike(true); //=> false\n\t *      _isArrayLike({}); //=> false\n\t *      _isArrayLike({length: 10}); //=> false\n\t *      _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true\n\t */\n\t\n\t\n\tvar _isArrayLike = /*#__PURE__*/_curry1(function isArrayLike(x) {\n\t  if (_isArray(x)) {\n\t    return true;\n\t  }\n\t  if (!x) {\n\t    return false;\n\t  }\n\t  if (typeof x !== 'object') {\n\t    return false;\n\t  }\n\t  if (_isString(x)) {\n\t    return false;\n\t  }\n\t  if (x.nodeType === 1) {\n\t    return !!x.length;\n\t  }\n\t  if (x.length === 0) {\n\t    return true;\n\t  }\n\t  if (x.length > 0) {\n\t    return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1);\n\t  }\n\t  return false;\n\t});\n\tmodule.exports = _isArrayLike;\n\n/***/ }),\n/* 635 */\n/*!********************************************!*\\\n  !*** ../~/ramda/src/internal/_isString.js ***!\n  \\********************************************/\n/***/ (function(module, exports) {\n\n\tfunction _isString(x) {\n\t  return Object.prototype.toString.call(x) === '[object String]';\n\t}\n\tmodule.exports = _isString;\n\n/***/ }),\n/* 636 */\n/*!*****************************************!*\\\n  !*** ../~/ramda/src/internal/_xwrap.js ***!\n  \\*****************************************/\n/***/ (function(module, exports) {\n\n\tvar XWrap = /*#__PURE__*/function () {\n\t  function XWrap(fn) {\n\t    this.f = fn;\n\t  }\n\t  XWrap.prototype['@@transducer/init'] = function () {\n\t    throw new Error('init not implemented on XWrap');\n\t  };\n\t  XWrap.prototype['@@transducer/result'] = function (acc) {\n\t    return acc;\n\t  };\n\t  XWrap.prototype['@@transducer/step'] = function (acc, x) {\n\t    return this.f(acc, x);\n\t  };\n\t\n\t  return XWrap;\n\t}();\n\t\n\tfunction _xwrap(fn) {\n\t  return new XWrap(fn);\n\t}\n\tmodule.exports = _xwrap;\n\n/***/ }),\n/* 637 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/bind.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _arity = /*#__PURE__*/__webpack_require__(/*! ./internal/_arity */ 617);\n\t\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Creates a function that is bound to a context.\n\t * Note: `R.bind` does not provide the additional argument-binding capabilities of\n\t * [Function.prototype.bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.6.0\n\t * @category Function\n\t * @category Object\n\t * @sig (* -> *) -> {*} -> (* -> *)\n\t * @param {Function} fn The function to bind to context\n\t * @param {Object} thisObj The context to bind `fn` to\n\t * @return {Function} A function that will execute in the context of `thisObj`.\n\t * @see R.partial\n\t * @example\n\t *\n\t *      var log = R.bind(console.log, console);\n\t *      R.pipe(R.assoc('a', 2), R.tap(log), R.assoc('a', 3))({a: 1}); //=> {a: 3}\n\t *      // logs {a: 2}\n\t * @symb R.bind(f, o)(a, b) = f.call(o, a, b)\n\t */\n\t\n\t\n\tvar bind = /*#__PURE__*/_curry2(function bind(fn, thisObj) {\n\t  return _arity(fn.length, function () {\n\t    return fn.apply(thisObj, arguments);\n\t  });\n\t});\n\tmodule.exports = bind;\n\n/***/ }),\n/* 638 */\n/*!****************************************!*\\\n  !*** ../~/ramda/src/internal/_xmap.js ***!\n  \\****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./_curry2 */ 613);\n\t\n\tvar _xfBase = /*#__PURE__*/__webpack_require__(/*! ./_xfBase */ 627);\n\t\n\tvar XMap = /*#__PURE__*/function () {\n\t\n\t  function XMap(f, xf) {\n\t    this.xf = xf;\n\t    this.f = f;\n\t  }\n\t  XMap.prototype['@@transducer/init'] = _xfBase.init;\n\t  XMap.prototype['@@transducer/result'] = _xfBase.result;\n\t  XMap.prototype['@@transducer/step'] = function (result, input) {\n\t    return this.xf['@@transducer/step'](result, this.f(input));\n\t  };\n\t\n\t  return XMap;\n\t}();\n\t\n\tvar _xmap = /*#__PURE__*/_curry2(function _xmap(f, xf) {\n\t  return new XMap(f, xf);\n\t});\n\tmodule.exports = _xmap;\n\n/***/ }),\n/* 639 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/keys.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar _has = /*#__PURE__*/__webpack_require__(/*! ./internal/_has */ 640);\n\t\n\tvar _isArguments = /*#__PURE__*/__webpack_require__(/*! ./internal/_isArguments */ 641);\n\t\n\t// cover IE < 9 keys issues\n\t\n\t\n\tvar hasEnumBug = ! /*#__PURE__*/{ toString: null }.propertyIsEnumerable('toString');\n\tvar nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n\t// Safari bug\n\tvar hasArgsEnumBug = /*#__PURE__*/function () {\n\t  'use strict';\n\t\n\t  return arguments.propertyIsEnumerable('length');\n\t}();\n\t\n\tvar contains = function contains(list, item) {\n\t  var idx = 0;\n\t  while (idx < list.length) {\n\t    if (list[idx] === item) {\n\t      return true;\n\t    }\n\t    idx += 1;\n\t  }\n\t  return false;\n\t};\n\t\n\t/**\n\t * Returns a list containing the names of all the enumerable own properties of\n\t * the supplied object.\n\t * Note that the order of the output array is not guaranteed to be consistent\n\t * across different JS platforms.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Object\n\t * @sig {k: v} -> [k]\n\t * @param {Object} obj The object to extract properties from\n\t * @return {Array} An array of the object's own properties.\n\t * @see R.keysIn, R.values\n\t * @example\n\t *\n\t *      R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c']\n\t */\n\tvar _keys = typeof Object.keys === 'function' && !hasArgsEnumBug ? function keys(obj) {\n\t  return Object(obj) !== obj ? [] : Object.keys(obj);\n\t} : function keys(obj) {\n\t  if (Object(obj) !== obj) {\n\t    return [];\n\t  }\n\t  var prop, nIdx;\n\t  var ks = [];\n\t  var checkArgsLength = hasArgsEnumBug && _isArguments(obj);\n\t  for (prop in obj) {\n\t    if (_has(prop, obj) && (!checkArgsLength || prop !== 'length')) {\n\t      ks[ks.length] = prop;\n\t    }\n\t  }\n\t  if (hasEnumBug) {\n\t    nIdx = nonEnumerableProps.length - 1;\n\t    while (nIdx >= 0) {\n\t      prop = nonEnumerableProps[nIdx];\n\t      if (_has(prop, obj) && !contains(ks, prop)) {\n\t        ks[ks.length] = prop;\n\t      }\n\t      nIdx -= 1;\n\t    }\n\t  }\n\t  return ks;\n\t};\n\tvar keys = /*#__PURE__*/_curry1(_keys);\n\tmodule.exports = keys;\n\n/***/ }),\n/* 640 */\n/*!***************************************!*\\\n  !*** ../~/ramda/src/internal/_has.js ***!\n  \\***************************************/\n/***/ (function(module, exports) {\n\n\tfunction _has(prop, obj) {\n\t  return Object.prototype.hasOwnProperty.call(obj, prop);\n\t}\n\tmodule.exports = _has;\n\n/***/ }),\n/* 641 */\n/*!***********************************************!*\\\n  !*** ../~/ramda/src/internal/_isArguments.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _has = /*#__PURE__*/__webpack_require__(/*! ./_has */ 640);\n\t\n\tvar toString = Object.prototype.toString;\n\tvar _isArguments = function () {\n\t  return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) {\n\t    return toString.call(x) === '[object Arguments]';\n\t  } : function _isArguments(x) {\n\t    return _has('callee', x);\n\t  };\n\t};\n\t\n\tmodule.exports = _isArguments;\n\n/***/ }),\n/* 642 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/prop.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar path = /*#__PURE__*/__webpack_require__(/*! ./path */ 643);\n\t\n\t/**\n\t * Returns a function that when supplied an object returns the indicated\n\t * property of that object, if it exists.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Object\n\t * @sig s -> {s: a} -> a | Undefined\n\t * @param {String} p The property name\n\t * @param {Object} obj The object to query\n\t * @return {*} The value at `obj.p`.\n\t * @see R.path\n\t * @example\n\t *\n\t *      R.prop('x', {x: 100}); //=> 100\n\t *      R.prop('x', {}); //=> undefined\n\t */\n\t\n\tvar prop = /*#__PURE__*/_curry2(function prop(p, obj) {\n\t  return path([p], obj);\n\t});\n\tmodule.exports = prop;\n\n/***/ }),\n/* 643 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/path.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Retrieve the value at a given path.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.2.0\n\t * @category Object\n\t * @typedefn Idx = String | Int\n\t * @sig [Idx] -> {a} -> a | Undefined\n\t * @param {Array} path The path to use.\n\t * @param {Object} obj The object to retrieve the nested property from.\n\t * @return {*} The data at `path`.\n\t * @see R.prop\n\t * @example\n\t *\n\t *      R.path(['a', 'b'], {a: {b: 2}}); //=> 2\n\t *      R.path(['a', 'b'], {c: {b: 2}}); //=> undefined\n\t */\n\t\n\t\n\tvar path = /*#__PURE__*/_curry2(function path(paths, obj) {\n\t  var val = obj;\n\t  var idx = 0;\n\t  while (idx < paths.length) {\n\t    if (val == null) {\n\t      return;\n\t    }\n\t    val = val[paths[idx]];\n\t    idx += 1;\n\t  }\n\t  return val;\n\t});\n\tmodule.exports = path;\n\n/***/ }),\n/* 644 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/reduce.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\tvar _reduce = /*#__PURE__*/__webpack_require__(/*! ./internal/_reduce */ 633);\n\t\n\t/**\n\t * Returns a single item by iterating through the list, successively calling\n\t * the iterator function and passing it an accumulator value and the current\n\t * value from the array, and then passing the result to the next call.\n\t *\n\t * The iterator function receives two values: *(acc, value)*. It may use\n\t * [`R.reduced`](#reduced) to shortcut the iteration.\n\t *\n\t * The arguments' order of [`reduceRight`](#reduceRight)'s iterator function\n\t * is *(value, acc)*.\n\t *\n\t * Note: `R.reduce` does not skip deleted or unassigned indices (sparse\n\t * arrays), unlike the native `Array.prototype.reduce` method. For more details\n\t * on this behavior, see:\n\t * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce#Description\n\t *\n\t * Dispatches to the `reduce` method of the third argument, if present. When\n\t * doing so, it is up to the user to handle the [`R.reduced`](#reduced)\n\t * shortcuting, as this is not implemented by `reduce`.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig ((a, b) -> a) -> a -> [b] -> a\n\t * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n\t *        current element from the array.\n\t * @param {*} acc The accumulator value.\n\t * @param {Array} list The list to iterate over.\n\t * @return {*} The final, accumulated value.\n\t * @see R.reduced, R.addIndex, R.reduceRight\n\t * @example\n\t *\n\t *      R.reduce(R.subtract, 0, [1, 2, 3, 4]) // => ((((0 - 1) - 2) - 3) - 4) = -10\n\t *      //          -               -10\n\t *      //         / \\              / \\\n\t *      //        -   4           -6   4\n\t *      //       / \\              / \\\n\t *      //      -   3   ==>     -3   3\n\t *      //     / \\              / \\\n\t *      //    -   2           -1   2\n\t *      //   / \\              / \\\n\t *      //  0   1            0   1\n\t *\n\t * @symb R.reduce(f, a, [b, c, d]) = f(f(f(a, b), c), d)\n\t */\n\t\n\t\n\tvar reduce = /*#__PURE__*/_curry3(_reduce);\n\tmodule.exports = reduce;\n\n/***/ }),\n/* 645 */\n/*!*****************************!*\\\n  !*** ../~/ramda/src/and.js ***!\n  \\*****************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Returns `true` if both arguments are `true`; `false` otherwise.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Logic\n\t * @sig a -> b -> a | b\n\t * @param {Any} a\n\t * @param {Any} b\n\t * @return {Any} the first argument if it is falsy, otherwise the second argument.\n\t * @see R.both\n\t * @example\n\t *\n\t *      R.and(true, true); //=> true\n\t *      R.and(true, false); //=> false\n\t *      R.and(false, true); //=> false\n\t *      R.and(false, false); //=> false\n\t */\n\t\n\t\n\tvar and = /*#__PURE__*/_curry2(function and(a, b) {\n\t  return a && b;\n\t});\n\tmodule.exports = and;\n\n/***/ }),\n/* 646 */\n/*!*****************************!*\\\n  !*** ../~/ramda/src/any.js ***!\n  \\*****************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _dispatchable = /*#__PURE__*/__webpack_require__(/*! ./internal/_dispatchable */ 622);\n\t\n\tvar _xany = /*#__PURE__*/__webpack_require__(/*! ./internal/_xany */ 647);\n\t\n\t/**\n\t * Returns `true` if at least one of elements of the list match the predicate,\n\t * `false` otherwise.\n\t *\n\t * Dispatches to the `any` method of the second argument, if present.\n\t *\n\t * Acts as a transducer if a transformer is given in list position.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig (a -> Boolean) -> [a] -> Boolean\n\t * @param {Function} fn The predicate function.\n\t * @param {Array} list The array to consider.\n\t * @return {Boolean} `true` if the predicate is satisfied by at least one element, `false`\n\t *         otherwise.\n\t * @see R.all, R.none, R.transduce\n\t * @example\n\t *\n\t *      var lessThan0 = R.flip(R.lt)(0);\n\t *      var lessThan2 = R.flip(R.lt)(2);\n\t *      R.any(lessThan0)([1, 2]); //=> false\n\t *      R.any(lessThan2)([1, 2]); //=> true\n\t */\n\t\n\t\n\tvar any = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['any'], _xany, function any(fn, list) {\n\t  var idx = 0;\n\t  while (idx < list.length) {\n\t    if (fn(list[idx])) {\n\t      return true;\n\t    }\n\t    idx += 1;\n\t  }\n\t  return false;\n\t}));\n\tmodule.exports = any;\n\n/***/ }),\n/* 647 */\n/*!****************************************!*\\\n  !*** ../~/ramda/src/internal/_xany.js ***!\n  \\****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./_curry2 */ 613);\n\t\n\tvar _reduced = /*#__PURE__*/__webpack_require__(/*! ./_reduced */ 626);\n\t\n\tvar _xfBase = /*#__PURE__*/__webpack_require__(/*! ./_xfBase */ 627);\n\t\n\tvar XAny = /*#__PURE__*/function () {\n\t\n\t  function XAny(f, xf) {\n\t    this.xf = xf;\n\t    this.f = f;\n\t    this.any = false;\n\t  }\n\t  XAny.prototype['@@transducer/init'] = _xfBase.init;\n\t  XAny.prototype['@@transducer/result'] = function (result) {\n\t    if (!this.any) {\n\t      result = this.xf['@@transducer/step'](result, false);\n\t    }\n\t    return this.xf['@@transducer/result'](result);\n\t  };\n\t  XAny.prototype['@@transducer/step'] = function (result, input) {\n\t    if (this.f(input)) {\n\t      this.any = true;\n\t      result = _reduced(this.xf['@@transducer/step'](result, true));\n\t    }\n\t    return result;\n\t  };\n\t\n\t  return XAny;\n\t}();\n\t\n\tvar _xany = /*#__PURE__*/_curry2(function _xany(f, xf) {\n\t  return new XAny(f, xf);\n\t});\n\tmodule.exports = _xany;\n\n/***/ }),\n/* 648 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/anyPass.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar curryN = /*#__PURE__*/__webpack_require__(/*! ./curryN */ 616);\n\t\n\tvar max = /*#__PURE__*/__webpack_require__(/*! ./max */ 629);\n\t\n\tvar pluck = /*#__PURE__*/__webpack_require__(/*! ./pluck */ 630);\n\t\n\tvar reduce = /*#__PURE__*/__webpack_require__(/*! ./reduce */ 644);\n\t\n\t/**\n\t * Takes a list of predicates and returns a predicate that returns true for a\n\t * given list of arguments if at least one of the provided predicates is\n\t * satisfied by those arguments.\n\t *\n\t * The function returned is a curried function whose arity matches that of the\n\t * highest-arity predicate.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.9.0\n\t * @category Logic\n\t * @sig [(*... -> Boolean)] -> (*... -> Boolean)\n\t * @param {Array} predicates An array of predicates to check\n\t * @return {Function} The combined predicate\n\t * @see R.allPass\n\t * @example\n\t *\n\t *      var isClub = R.propEq('suit', '♣');\n\t *      var isSpade = R.propEq('suit', '♠');\n\t *      var isBlackCard = R.anyPass([isClub, isSpade]);\n\t *\n\t *      isBlackCard({rank: '10', suit: '♣'}); //=> true\n\t *      isBlackCard({rank: 'Q', suit: '♠'}); //=> true\n\t *      isBlackCard({rank: 'Q', suit: '♦'}); //=> false\n\t */\n\t\n\t\n\tvar anyPass = /*#__PURE__*/_curry1(function anyPass(preds) {\n\t  return curryN(reduce(max, 0, pluck('length', preds)), function () {\n\t    var idx = 0;\n\t    var len = preds.length;\n\t    while (idx < len) {\n\t      if (preds[idx].apply(this, arguments)) {\n\t        return true;\n\t      }\n\t      idx += 1;\n\t    }\n\t    return false;\n\t  });\n\t});\n\tmodule.exports = anyPass;\n\n/***/ }),\n/* 649 */\n/*!****************************!*\\\n  !*** ../~/ramda/src/ap.js ***!\n  \\****************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _concat = /*#__PURE__*/__webpack_require__(/*! ./internal/_concat */ 615);\n\t\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _reduce = /*#__PURE__*/__webpack_require__(/*! ./internal/_reduce */ 633);\n\t\n\tvar map = /*#__PURE__*/__webpack_require__(/*! ./map */ 631);\n\t\n\t/**\n\t * ap applies a list of functions to a list of values.\n\t *\n\t * Dispatches to the `ap` method of the second argument, if present. Also\n\t * treats curried functions as applicatives.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.3.0\n\t * @category Function\n\t * @sig [a -> b] -> [a] -> [b]\n\t * @sig Apply f => f (a -> b) -> f a -> f b\n\t * @sig (a -> b -> c) -> (a -> b) -> (a -> c)\n\t * @param {*} applyF\n\t * @param {*} applyX\n\t * @return {*}\n\t * @example\n\t *\n\t *      R.ap([R.multiply(2), R.add(3)], [1,2,3]); //=> [2, 4, 6, 4, 5, 6]\n\t *      R.ap([R.concat('tasty '), R.toUpper], ['pizza', 'salad']); //=> [\"tasty pizza\", \"tasty salad\", \"PIZZA\", \"SALAD\"]\n\t *\n\t *      // R.ap can also be used as S combinator\n\t *      // when only two functions are passed\n\t *      R.ap(R.concat, R.toUpper)('Ramda') //=> 'RamdaRAMDA'\n\t * @symb R.ap([f, g], [a, b]) = [f(a), f(b), g(a), g(b)]\n\t */\n\t\n\t\n\tvar ap = /*#__PURE__*/_curry2(function ap(applyF, applyX) {\n\t  return typeof applyX['fantasy-land/ap'] === 'function' ? applyX['fantasy-land/ap'](applyF) : typeof applyF.ap === 'function' ? applyF.ap(applyX) : typeof applyF === 'function' ? function (x) {\n\t    return applyF(x)(applyX(x));\n\t  } :\n\t  // else\n\t  _reduce(function (acc, f) {\n\t    return _concat(acc, map(f, applyX));\n\t  }, [], applyF);\n\t});\n\tmodule.exports = ap;\n\n/***/ }),\n/* 650 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/aperture.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _aperture = /*#__PURE__*/__webpack_require__(/*! ./internal/_aperture */ 651);\n\t\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _dispatchable = /*#__PURE__*/__webpack_require__(/*! ./internal/_dispatchable */ 622);\n\t\n\tvar _xaperture = /*#__PURE__*/__webpack_require__(/*! ./internal/_xaperture */ 652);\n\t\n\t/**\n\t * Returns a new list, composed of n-tuples of consecutive elements. If `n` is\n\t * greater than the length of the list, an empty list is returned.\n\t *\n\t * Acts as a transducer if a transformer is given in list position.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.12.0\n\t * @category List\n\t * @sig Number -> [a] -> [[a]]\n\t * @param {Number} n The size of the tuples to create\n\t * @param {Array} list The list to split into `n`-length tuples\n\t * @return {Array} The resulting list of `n`-length tuples\n\t * @see R.transduce\n\t * @example\n\t *\n\t *      R.aperture(2, [1, 2, 3, 4, 5]); //=> [[1, 2], [2, 3], [3, 4], [4, 5]]\n\t *      R.aperture(3, [1, 2, 3, 4, 5]); //=> [[1, 2, 3], [2, 3, 4], [3, 4, 5]]\n\t *      R.aperture(7, [1, 2, 3, 4, 5]); //=> []\n\t */\n\t\n\t\n\tvar aperture = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xaperture, _aperture));\n\tmodule.exports = aperture;\n\n/***/ }),\n/* 651 */\n/*!********************************************!*\\\n  !*** ../~/ramda/src/internal/_aperture.js ***!\n  \\********************************************/\n/***/ (function(module, exports) {\n\n\tfunction _aperture(n, list) {\n\t  var idx = 0;\n\t  var limit = list.length - (n - 1);\n\t  var acc = new Array(limit >= 0 ? limit : 0);\n\t  while (idx < limit) {\n\t    acc[idx] = Array.prototype.slice.call(list, idx, idx + n);\n\t    idx += 1;\n\t  }\n\t  return acc;\n\t}\n\tmodule.exports = _aperture;\n\n/***/ }),\n/* 652 */\n/*!*********************************************!*\\\n  !*** ../~/ramda/src/internal/_xaperture.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _concat = /*#__PURE__*/__webpack_require__(/*! ./_concat */ 615);\n\t\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./_curry2 */ 613);\n\t\n\tvar _xfBase = /*#__PURE__*/__webpack_require__(/*! ./_xfBase */ 627);\n\t\n\tvar XAperture = /*#__PURE__*/function () {\n\t\n\t  function XAperture(n, xf) {\n\t    this.xf = xf;\n\t    this.pos = 0;\n\t    this.full = false;\n\t    this.acc = new Array(n);\n\t  }\n\t  XAperture.prototype['@@transducer/init'] = _xfBase.init;\n\t  XAperture.prototype['@@transducer/result'] = function (result) {\n\t    this.acc = null;\n\t    return this.xf['@@transducer/result'](result);\n\t  };\n\t  XAperture.prototype['@@transducer/step'] = function (result, input) {\n\t    this.store(input);\n\t    return this.full ? this.xf['@@transducer/step'](result, this.getCopy()) : result;\n\t  };\n\t  XAperture.prototype.store = function (input) {\n\t    this.acc[this.pos] = input;\n\t    this.pos += 1;\n\t    if (this.pos === this.acc.length) {\n\t      this.pos = 0;\n\t      this.full = true;\n\t    }\n\t  };\n\t  XAperture.prototype.getCopy = function () {\n\t    return _concat(Array.prototype.slice.call(this.acc, this.pos), Array.prototype.slice.call(this.acc, 0, this.pos));\n\t  };\n\t\n\t  return XAperture;\n\t}();\n\t\n\tvar _xaperture = /*#__PURE__*/_curry2(function _xaperture(n, xf) {\n\t  return new XAperture(n, xf);\n\t});\n\tmodule.exports = _xaperture;\n\n/***/ }),\n/* 653 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/append.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _concat = /*#__PURE__*/__webpack_require__(/*! ./internal/_concat */ 615);\n\t\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Returns a new list containing the contents of the given list, followed by\n\t * the given element.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig a -> [a] -> [a]\n\t * @param {*} el The element to add to the end of the new list.\n\t * @param {Array} list The list of elements to add a new item to.\n\t *        list.\n\t * @return {Array} A new list containing the elements of the old list followed by `el`.\n\t * @see R.prepend\n\t * @example\n\t *\n\t *      R.append('tests', ['write', 'more']); //=> ['write', 'more', 'tests']\n\t *      R.append('tests', []); //=> ['tests']\n\t *      R.append(['tests'], ['write', 'more']); //=> ['write', 'more', ['tests']]\n\t */\n\t\n\t\n\tvar append = /*#__PURE__*/_curry2(function append(el, list) {\n\t  return _concat(list, [el]);\n\t});\n\tmodule.exports = append;\n\n/***/ }),\n/* 654 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/apply.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Applies function `fn` to the argument list `args`. This is useful for\n\t * creating a fixed-arity function from a variadic function. `fn` should be a\n\t * bound function if context is significant.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.7.0\n\t * @category Function\n\t * @sig (*... -> a) -> [*] -> a\n\t * @param {Function} fn The function which will be called with `args`\n\t * @param {Array} args The arguments to call `fn` with\n\t * @return {*} result The result, equivalent to `fn(...args)`\n\t * @see R.call, R.unapply\n\t * @example\n\t *\n\t *      var nums = [1, 2, 3, -99, 42, 6, 7];\n\t *      R.apply(Math.max, nums); //=> 42\n\t * @symb R.apply(f, [a, b, c]) = f(a, b, c)\n\t */\n\t\n\t\n\tvar apply = /*#__PURE__*/_curry2(function apply(fn, args) {\n\t  return fn.apply(this, args);\n\t});\n\tmodule.exports = apply;\n\n/***/ }),\n/* 655 */\n/*!***********************************!*\\\n  !*** ../~/ramda/src/applySpec.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar apply = /*#__PURE__*/__webpack_require__(/*! ./apply */ 654);\n\t\n\tvar curryN = /*#__PURE__*/__webpack_require__(/*! ./curryN */ 616);\n\t\n\tvar map = /*#__PURE__*/__webpack_require__(/*! ./map */ 631);\n\t\n\tvar max = /*#__PURE__*/__webpack_require__(/*! ./max */ 629);\n\t\n\tvar pluck = /*#__PURE__*/__webpack_require__(/*! ./pluck */ 630);\n\t\n\tvar reduce = /*#__PURE__*/__webpack_require__(/*! ./reduce */ 644);\n\t\n\tvar values = /*#__PURE__*/__webpack_require__(/*! ./values */ 656);\n\t\n\t/**\n\t * Given a spec object recursively mapping properties to functions, creates a\n\t * function producing an object of the same structure, by mapping each property\n\t * to the result of calling its associated function with the supplied arguments.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.20.0\n\t * @category Function\n\t * @sig {k: ((a, b, ..., m) -> v)} -> ((a, b, ..., m) -> {k: v})\n\t * @param {Object} spec an object recursively mapping properties to functions for\n\t *        producing the values for these properties.\n\t * @return {Function} A function that returns an object of the same structure\n\t * as `spec', with each property set to the value returned by calling its\n\t * associated function with the supplied arguments.\n\t * @see R.converge, R.juxt\n\t * @example\n\t *\n\t *      var getMetrics = R.applySpec({\n\t *        sum: R.add,\n\t *        nested: { mul: R.multiply }\n\t *      });\n\t *      getMetrics(2, 4); // => { sum: 6, nested: { mul: 8 } }\n\t * @symb R.applySpec({ x: f, y: { z: g } })(a, b) = { x: f(a, b), y: { z: g(a, b) } }\n\t */\n\t\n\t\n\tvar applySpec = /*#__PURE__*/_curry1(function applySpec(spec) {\n\t  spec = map(function (v) {\n\t    return typeof v == 'function' ? v : applySpec(v);\n\t  }, spec);\n\t  return curryN(reduce(max, 0, pluck('length', values(spec))), function () {\n\t    var args = arguments;\n\t    return map(function (f) {\n\t      return apply(f, args);\n\t    }, spec);\n\t  });\n\t});\n\tmodule.exports = applySpec;\n\n/***/ }),\n/* 656 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/values.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar keys = /*#__PURE__*/__webpack_require__(/*! ./keys */ 639);\n\t\n\t/**\n\t * Returns a list of all the enumerable own properties of the supplied object.\n\t * Note that the order of the output array is not guaranteed across different\n\t * JS platforms.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Object\n\t * @sig {k: v} -> [v]\n\t * @param {Object} obj The object to extract values from\n\t * @return {Array} An array of the values of the object's own properties.\n\t * @see R.valuesIn, R.keys\n\t * @example\n\t *\n\t *      R.values({a: 1, b: 2, c: 3}); //=> [1, 2, 3]\n\t */\n\t\n\t\n\tvar values = /*#__PURE__*/_curry1(function values(obj) {\n\t  var props = keys(obj);\n\t  var len = props.length;\n\t  var vals = [];\n\t  var idx = 0;\n\t  while (idx < len) {\n\t    vals[idx] = obj[props[idx]];\n\t    idx += 1;\n\t  }\n\t  return vals;\n\t});\n\tmodule.exports = values;\n\n/***/ }),\n/* 657 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/applyTo.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t* Takes a value and applies a function to it.\n\t*\n\t* This function is also known as the `thrush` combinator.\n\t*\n\t* @func\n\t* @memberOf R\n\t * @since v0.25.0\n\t* @category Function\n\t* @sig a -> (a -> b) -> b\n\t* @param {*} x The value\n\t* @param {Function} f The function to apply\n\t* @return {*} The result of applying `f` to `x`\n\t* @example\n\t*\n\t*      var t42 = R.applyTo(42);\n\t*      t42(R.identity); //=> 42\n\t*      t42(R.add(1)); //=> 43\n\t*/\n\t\n\t\n\tvar applyTo = /*#__PURE__*/_curry2(function applyTo(x, f) {\n\t  return f(x);\n\t});\n\tmodule.exports = applyTo;\n\n/***/ }),\n/* 658 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/ascend.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\t/**\n\t * Makes an ascending comparator function out of a function that returns a value\n\t * that can be compared with `<` and `>`.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.23.0\n\t * @category Function\n\t * @sig Ord b => (a -> b) -> a -> a -> Number\n\t * @param {Function} fn A function of arity one that returns a value that can be compared\n\t * @param {*} a The first item to be compared.\n\t * @param {*} b The second item to be compared.\n\t * @return {Number} `-1` if fn(a) < fn(b), `1` if fn(b) < fn(a), otherwise `0`\n\t * @see R.descend\n\t * @example\n\t *\n\t *      var byAge = R.ascend(R.prop('age'));\n\t *      var people = [\n\t *        // ...\n\t *      ];\n\t *      var peopleByYoungestFirst = R.sort(byAge, people);\n\t */\n\t\n\t\n\tvar ascend = /*#__PURE__*/_curry3(function ascend(fn, a, b) {\n\t  var aa = fn(a);\n\t  var bb = fn(b);\n\t  return aa < bb ? -1 : aa > bb ? 1 : 0;\n\t});\n\tmodule.exports = ascend;\n\n/***/ }),\n/* 659 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/assoc.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\t/**\n\t * Makes a shallow clone of an object, setting or overriding the specified\n\t * property with the given value. Note that this copies and flattens prototype\n\t * properties onto the new object as well. All non-primitive properties are\n\t * copied by reference.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.8.0\n\t * @category Object\n\t * @sig String -> a -> {k: v} -> {k: v}\n\t * @param {String} prop The property name to set\n\t * @param {*} val The new value\n\t * @param {Object} obj The object to clone\n\t * @return {Object} A new object equivalent to the original except for the changed property.\n\t * @see R.dissoc\n\t * @example\n\t *\n\t *      R.assoc('c', 3, {a: 1, b: 2}); //=> {a: 1, b: 2, c: 3}\n\t */\n\t\n\t\n\tvar assoc = /*#__PURE__*/_curry3(function assoc(prop, val, obj) {\n\t  var result = {};\n\t  for (var p in obj) {\n\t    result[p] = obj[p];\n\t  }\n\t  result[prop] = val;\n\t  return result;\n\t});\n\tmodule.exports = assoc;\n\n/***/ }),\n/* 660 */\n/*!***********************************!*\\\n  !*** ../~/ramda/src/assocPath.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\tvar _has = /*#__PURE__*/__webpack_require__(/*! ./internal/_has */ 640);\n\t\n\tvar _isArray = /*#__PURE__*/__webpack_require__(/*! ./internal/_isArray */ 623);\n\t\n\tvar _isInteger = /*#__PURE__*/__webpack_require__(/*! ./internal/_isInteger */ 661);\n\t\n\tvar assoc = /*#__PURE__*/__webpack_require__(/*! ./assoc */ 659);\n\t\n\tvar isNil = /*#__PURE__*/__webpack_require__(/*! ./isNil */ 662);\n\t\n\t/**\n\t * Makes a shallow clone of an object, setting or overriding the nodes required\n\t * to create the given path, and placing the specific value at the tail end of\n\t * that path. Note that this copies and flattens prototype properties onto the\n\t * new object as well. All non-primitive properties are copied by reference.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.8.0\n\t * @category Object\n\t * @typedefn Idx = String | Int\n\t * @sig [Idx] -> a -> {a} -> {a}\n\t * @param {Array} path the path to set\n\t * @param {*} val The new value\n\t * @param {Object} obj The object to clone\n\t * @return {Object} A new object equivalent to the original except along the specified path.\n\t * @see R.dissocPath\n\t * @example\n\t *\n\t *      R.assocPath(['a', 'b', 'c'], 42, {a: {b: {c: 0}}}); //=> {a: {b: {c: 42}}}\n\t *\n\t *      // Any missing or non-object keys in path will be overridden\n\t *      R.assocPath(['a', 'b', 'c'], 42, {a: 5}); //=> {a: {b: {c: 42}}}\n\t */\n\t\n\t\n\tvar assocPath = /*#__PURE__*/_curry3(function assocPath(path, val, obj) {\n\t  if (path.length === 0) {\n\t    return val;\n\t  }\n\t  var idx = path[0];\n\t  if (path.length > 1) {\n\t    var nextObj = !isNil(obj) && _has(idx, obj) ? obj[idx] : _isInteger(path[1]) ? [] : {};\n\t    val = assocPath(Array.prototype.slice.call(path, 1), val, nextObj);\n\t  }\n\t  if (_isInteger(idx) && _isArray(obj)) {\n\t    var arr = [].concat(obj);\n\t    arr[idx] = val;\n\t    return arr;\n\t  } else {\n\t    return assoc(idx, val, obj);\n\t  }\n\t});\n\tmodule.exports = assocPath;\n\n/***/ }),\n/* 661 */\n/*!*********************************************!*\\\n  !*** ../~/ramda/src/internal/_isInteger.js ***!\n  \\*********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Determine if the passed argument is an integer.\n\t *\n\t * @private\n\t * @param {*} n\n\t * @category Type\n\t * @return {Boolean}\n\t */\n\tmodule.exports = Number.isInteger || function _isInteger(n) {\n\t  return n << 0 === n;\n\t};\n\n/***/ }),\n/* 662 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/isNil.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\t/**\n\t * Checks if the input value is `null` or `undefined`.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.9.0\n\t * @category Type\n\t * @sig * -> Boolean\n\t * @param {*} x The value to test.\n\t * @return {Boolean} `true` if `x` is `undefined` or `null`, otherwise `false`.\n\t * @example\n\t *\n\t *      R.isNil(null); //=> true\n\t *      R.isNil(undefined); //=> true\n\t *      R.isNil(0); //=> false\n\t *      R.isNil([]); //=> false\n\t */\n\t\n\t\n\tvar isNil = /*#__PURE__*/_curry1(function isNil(x) {\n\t  return x == null;\n\t});\n\tmodule.exports = isNil;\n\n/***/ }),\n/* 663 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/binary.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar nAry = /*#__PURE__*/__webpack_require__(/*! ./nAry */ 664);\n\t\n\t/**\n\t * Wraps a function of any arity (including nullary) in a function that accepts\n\t * exactly 2 parameters. Any extraneous parameters will not be passed to the\n\t * supplied function.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.2.0\n\t * @category Function\n\t * @sig (* -> c) -> (a, b -> c)\n\t * @param {Function} fn The function to wrap.\n\t * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of\n\t *         arity 2.\n\t * @see R.nAry, R.unary\n\t * @example\n\t *\n\t *      var takesThreeArgs = function(a, b, c) {\n\t *        return [a, b, c];\n\t *      };\n\t *      takesThreeArgs.length; //=> 3\n\t *      takesThreeArgs(1, 2, 3); //=> [1, 2, 3]\n\t *\n\t *      var takesTwoArgs = R.binary(takesThreeArgs);\n\t *      takesTwoArgs.length; //=> 2\n\t *      // Only 2 arguments are passed to the wrapped function\n\t *      takesTwoArgs(1, 2, 3); //=> [1, 2, undefined]\n\t * @symb R.binary(f)(a, b, c) = f(a, b)\n\t */\n\t\n\t\n\tvar binary = /*#__PURE__*/_curry1(function binary(fn) {\n\t  return nAry(2, fn);\n\t});\n\tmodule.exports = binary;\n\n/***/ }),\n/* 664 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/nAry.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Wraps a function of any arity (including nullary) in a function that accepts\n\t * exactly `n` parameters. Any extraneous parameters will not be passed to the\n\t * supplied function.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Function\n\t * @sig Number -> (* -> a) -> (* -> a)\n\t * @param {Number} n The desired arity of the new function.\n\t * @param {Function} fn The function to wrap.\n\t * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of\n\t *         arity `n`.\n\t * @see R.binary, R.unary\n\t * @example\n\t *\n\t *      var takesTwoArgs = (a, b) => [a, b];\n\t *\n\t *      takesTwoArgs.length; //=> 2\n\t *      takesTwoArgs(1, 2); //=> [1, 2]\n\t *\n\t *      var takesOneArg = R.nAry(1, takesTwoArgs);\n\t *      takesOneArg.length; //=> 1\n\t *      // Only `n` arguments are passed to the wrapped function\n\t *      takesOneArg(1, 2); //=> [1, undefined]\n\t * @symb R.nAry(0, f)(a, b) = f()\n\t * @symb R.nAry(1, f)(a, b) = f(a)\n\t * @symb R.nAry(2, f)(a, b) = f(a, b)\n\t */\n\t\n\t\n\tvar nAry = /*#__PURE__*/_curry2(function nAry(n, fn) {\n\t  switch (n) {\n\t    case 0:\n\t      return function () {\n\t        return fn.call(this);\n\t      };\n\t    case 1:\n\t      return function (a0) {\n\t        return fn.call(this, a0);\n\t      };\n\t    case 2:\n\t      return function (a0, a1) {\n\t        return fn.call(this, a0, a1);\n\t      };\n\t    case 3:\n\t      return function (a0, a1, a2) {\n\t        return fn.call(this, a0, a1, a2);\n\t      };\n\t    case 4:\n\t      return function (a0, a1, a2, a3) {\n\t        return fn.call(this, a0, a1, a2, a3);\n\t      };\n\t    case 5:\n\t      return function (a0, a1, a2, a3, a4) {\n\t        return fn.call(this, a0, a1, a2, a3, a4);\n\t      };\n\t    case 6:\n\t      return function (a0, a1, a2, a3, a4, a5) {\n\t        return fn.call(this, a0, a1, a2, a3, a4, a5);\n\t      };\n\t    case 7:\n\t      return function (a0, a1, a2, a3, a4, a5, a6) {\n\t        return fn.call(this, a0, a1, a2, a3, a4, a5, a6);\n\t      };\n\t    case 8:\n\t      return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n\t        return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7);\n\t      };\n\t    case 9:\n\t      return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n\t        return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8);\n\t      };\n\t    case 10:\n\t      return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n\t        return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n\t      };\n\t    default:\n\t      throw new Error('First argument to nAry must be a non-negative integer no greater than ten');\n\t  }\n\t});\n\tmodule.exports = nAry;\n\n/***/ }),\n/* 665 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/both.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _isFunction = /*#__PURE__*/__webpack_require__(/*! ./internal/_isFunction */ 666);\n\t\n\tvar and = /*#__PURE__*/__webpack_require__(/*! ./and */ 645);\n\t\n\tvar lift = /*#__PURE__*/__webpack_require__(/*! ./lift */ 667);\n\t\n\t/**\n\t * A function which calls the two provided functions and returns the `&&`\n\t * of the results.\n\t * It returns the result of the first function if it is false-y and the result\n\t * of the second function otherwise. Note that this is short-circuited,\n\t * meaning that the second function will not be invoked if the first returns a\n\t * false-y value.\n\t *\n\t * In addition to functions, `R.both` also accepts any fantasy-land compatible\n\t * applicative functor.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.12.0\n\t * @category Logic\n\t * @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean)\n\t * @param {Function} f A predicate\n\t * @param {Function} g Another predicate\n\t * @return {Function} a function that applies its arguments to `f` and `g` and `&&`s their outputs together.\n\t * @see R.and\n\t * @example\n\t *\n\t *      var gt10 = R.gt(R.__, 10)\n\t *      var lt20 = R.lt(R.__, 20)\n\t *      var f = R.both(gt10, lt20);\n\t *      f(15); //=> true\n\t *      f(30); //=> false\n\t */\n\t\n\t\n\tvar both = /*#__PURE__*/_curry2(function both(f, g) {\n\t  return _isFunction(f) ? function _both() {\n\t    return f.apply(this, arguments) && g.apply(this, arguments);\n\t  } : lift(and)(f, g);\n\t});\n\tmodule.exports = both;\n\n/***/ }),\n/* 666 */\n/*!**********************************************!*\\\n  !*** ../~/ramda/src/internal/_isFunction.js ***!\n  \\**********************************************/\n/***/ (function(module, exports) {\n\n\tfunction _isFunction(x) {\n\t  return Object.prototype.toString.call(x) === '[object Function]';\n\t}\n\tmodule.exports = _isFunction;\n\n/***/ }),\n/* 667 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/lift.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar liftN = /*#__PURE__*/__webpack_require__(/*! ./liftN */ 668);\n\t\n\t/**\n\t * \"lifts\" a function of arity > 1 so that it may \"map over\" a list, Function or other\n\t * object that satisfies the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply).\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.7.0\n\t * @category Function\n\t * @sig (*... -> *) -> ([*]... -> [*])\n\t * @param {Function} fn The function to lift into higher context\n\t * @return {Function} The lifted function.\n\t * @see R.liftN\n\t * @example\n\t *\n\t *      var madd3 = R.lift((a, b, c) => a + b + c);\n\t *\n\t *      madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7]\n\t *\n\t *      var madd5 = R.lift((a, b, c, d, e) => a + b + c + d + e);\n\t *\n\t *      madd5([1,2], [3], [4, 5], [6], [7, 8]); //=> [21, 22, 22, 23, 22, 23, 23, 24]\n\t */\n\t\n\t\n\tvar lift = /*#__PURE__*/_curry1(function lift(fn) {\n\t  return liftN(fn.length, fn);\n\t});\n\tmodule.exports = lift;\n\n/***/ }),\n/* 668 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/liftN.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _reduce = /*#__PURE__*/__webpack_require__(/*! ./internal/_reduce */ 633);\n\t\n\tvar ap = /*#__PURE__*/__webpack_require__(/*! ./ap */ 649);\n\t\n\tvar curryN = /*#__PURE__*/__webpack_require__(/*! ./curryN */ 616);\n\t\n\tvar map = /*#__PURE__*/__webpack_require__(/*! ./map */ 631);\n\t\n\t/**\n\t * \"lifts\" a function to be the specified arity, so that it may \"map over\" that\n\t * many lists, Functions or other objects that satisfy the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply).\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.7.0\n\t * @category Function\n\t * @sig Number -> (*... -> *) -> ([*]... -> [*])\n\t * @param {Function} fn The function to lift into higher context\n\t * @return {Function} The lifted function.\n\t * @see R.lift, R.ap\n\t * @example\n\t *\n\t *      var madd3 = R.liftN(3, (...args) => R.sum(args));\n\t *      madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7]\n\t */\n\t\n\t\n\tvar liftN = /*#__PURE__*/_curry2(function liftN(arity, fn) {\n\t  var lifted = curryN(arity, fn);\n\t  return curryN(arity, function () {\n\t    return _reduce(ap, map(lifted, arguments[0]), Array.prototype.slice.call(arguments, 1));\n\t  });\n\t});\n\tmodule.exports = liftN;\n\n/***/ }),\n/* 669 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/call.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar curry = /*#__PURE__*/__webpack_require__(/*! ./curry */ 670);\n\t\n\t/**\n\t * Returns the result of calling its first argument with the remaining\n\t * arguments. This is occasionally useful as a converging function for\n\t * [`R.converge`](#converge): the first branch can produce a function while the\n\t * remaining branches produce values to be passed to that function as its\n\t * arguments.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.9.0\n\t * @category Function\n\t * @sig (*... -> a),*... -> a\n\t * @param {Function} fn The function to apply to the remaining arguments.\n\t * @param {...*} args Any number of positional arguments.\n\t * @return {*}\n\t * @see R.apply\n\t * @example\n\t *\n\t *      R.call(R.add, 1, 2); //=> 3\n\t *\n\t *      var indentN = R.pipe(R.repeat(' '),\n\t *                           R.join(''),\n\t *                           R.replace(/^(?!$)/gm));\n\t *\n\t *      var format = R.converge(R.call, [\n\t *                                  R.pipe(R.prop('indent'), indentN),\n\t *                                  R.prop('value')\n\t *                              ]);\n\t *\n\t *      format({indent: 2, value: 'foo\\nbar\\nbaz\\n'}); //=> '  foo\\n  bar\\n  baz\\n'\n\t * @symb R.call(f, a, b) = f(a, b)\n\t */\n\t\n\t\n\tvar call = /*#__PURE__*/curry(function call(fn) {\n\t  return fn.apply(this, Array.prototype.slice.call(arguments, 1));\n\t});\n\tmodule.exports = call;\n\n/***/ }),\n/* 670 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/curry.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar curryN = /*#__PURE__*/__webpack_require__(/*! ./curryN */ 616);\n\t\n\t/**\n\t * Returns a curried equivalent of the provided function. The curried function\n\t * has two unusual capabilities. First, its arguments needn't be provided one\n\t * at a time. If `f` is a ternary function and `g` is `R.curry(f)`, the\n\t * following are equivalent:\n\t *\n\t *   - `g(1)(2)(3)`\n\t *   - `g(1)(2, 3)`\n\t *   - `g(1, 2)(3)`\n\t *   - `g(1, 2, 3)`\n\t *\n\t * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n\t * \"gaps\", allowing partial application of any combination of arguments,\n\t * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n\t * the following are equivalent:\n\t *\n\t *   - `g(1, 2, 3)`\n\t *   - `g(_, 2, 3)(1)`\n\t *   - `g(_, _, 3)(1)(2)`\n\t *   - `g(_, _, 3)(1, 2)`\n\t *   - `g(_, 2)(1)(3)`\n\t *   - `g(_, 2)(1, 3)`\n\t *   - `g(_, 2)(_, 3)(1)`\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Function\n\t * @sig (* -> a) -> (* -> a)\n\t * @param {Function} fn The function to curry.\n\t * @return {Function} A new, curried function.\n\t * @see R.curryN\n\t * @example\n\t *\n\t *      var addFourNumbers = (a, b, c, d) => a + b + c + d;\n\t *\n\t *      var curriedAddFourNumbers = R.curry(addFourNumbers);\n\t *      var f = curriedAddFourNumbers(1, 2);\n\t *      var g = f(3);\n\t *      g(4); //=> 10\n\t */\n\t\n\t\n\tvar curry = /*#__PURE__*/_curry1(function curry(fn) {\n\t  return curryN(fn.length, fn);\n\t});\n\tmodule.exports = curry;\n\n/***/ }),\n/* 671 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/chain.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _dispatchable = /*#__PURE__*/__webpack_require__(/*! ./internal/_dispatchable */ 622);\n\t\n\tvar _makeFlat = /*#__PURE__*/__webpack_require__(/*! ./internal/_makeFlat */ 672);\n\t\n\tvar _xchain = /*#__PURE__*/__webpack_require__(/*! ./internal/_xchain */ 673);\n\t\n\tvar map = /*#__PURE__*/__webpack_require__(/*! ./map */ 631);\n\t\n\t/**\n\t * `chain` maps a function over a list and concatenates the results. `chain`\n\t * is also known as `flatMap` in some libraries\n\t *\n\t * Dispatches to the `chain` method of the second argument, if present,\n\t * according to the [FantasyLand Chain spec](https://github.com/fantasyland/fantasy-land#chain).\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.3.0\n\t * @category List\n\t * @sig Chain m => (a -> m b) -> m a -> m b\n\t * @param {Function} fn The function to map with\n\t * @param {Array} list The list to map over\n\t * @return {Array} The result of flat-mapping `list` with `fn`\n\t * @example\n\t *\n\t *      var duplicate = n => [n, n];\n\t *      R.chain(duplicate, [1, 2, 3]); //=> [1, 1, 2, 2, 3, 3]\n\t *\n\t *      R.chain(R.append, R.head)([1, 2, 3]); //=> [1, 2, 3, 1]\n\t */\n\t\n\t\n\tvar chain = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['fantasy-land/chain', 'chain'], _xchain, function chain(fn, monad) {\n\t  if (typeof monad === 'function') {\n\t    return function (x) {\n\t      return fn(monad(x))(x);\n\t    };\n\t  }\n\t  return _makeFlat(false)(map(fn, monad));\n\t}));\n\tmodule.exports = chain;\n\n/***/ }),\n/* 672 */\n/*!********************************************!*\\\n  !*** ../~/ramda/src/internal/_makeFlat.js ***!\n  \\********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _isArrayLike = /*#__PURE__*/__webpack_require__(/*! ./_isArrayLike */ 634);\n\t\n\t/**\n\t * `_makeFlat` is a helper function that returns a one-level or fully recursive\n\t * function based on the flag passed in.\n\t *\n\t * @private\n\t */\n\t\n\t\n\tfunction _makeFlat(recursive) {\n\t  return function flatt(list) {\n\t    var value, jlen, j;\n\t    var result = [];\n\t    var idx = 0;\n\t    var ilen = list.length;\n\t\n\t    while (idx < ilen) {\n\t      if (_isArrayLike(list[idx])) {\n\t        value = recursive ? flatt(list[idx]) : list[idx];\n\t        j = 0;\n\t        jlen = value.length;\n\t        while (j < jlen) {\n\t          result[result.length] = value[j];\n\t          j += 1;\n\t        }\n\t      } else {\n\t        result[result.length] = list[idx];\n\t      }\n\t      idx += 1;\n\t    }\n\t    return result;\n\t  };\n\t}\n\tmodule.exports = _makeFlat;\n\n/***/ }),\n/* 673 */\n/*!******************************************!*\\\n  !*** ../~/ramda/src/internal/_xchain.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./_curry2 */ 613);\n\t\n\tvar _flatCat = /*#__PURE__*/__webpack_require__(/*! ./_flatCat */ 674);\n\t\n\tvar map = /*#__PURE__*/__webpack_require__(/*! ../map */ 631);\n\t\n\tvar _xchain = /*#__PURE__*/_curry2(function _xchain(f, xf) {\n\t  return map(f, _flatCat(xf));\n\t});\n\tmodule.exports = _xchain;\n\n/***/ }),\n/* 674 */\n/*!*******************************************!*\\\n  !*** ../~/ramda/src/internal/_flatCat.js ***!\n  \\*******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _forceReduced = /*#__PURE__*/__webpack_require__(/*! ./_forceReduced */ 675);\n\t\n\tvar _isArrayLike = /*#__PURE__*/__webpack_require__(/*! ./_isArrayLike */ 634);\n\t\n\tvar _reduce = /*#__PURE__*/__webpack_require__(/*! ./_reduce */ 633);\n\t\n\tvar _xfBase = /*#__PURE__*/__webpack_require__(/*! ./_xfBase */ 627);\n\t\n\tvar preservingReduced = function (xf) {\n\t  return {\n\t    '@@transducer/init': _xfBase.init,\n\t    '@@transducer/result': function (result) {\n\t      return xf['@@transducer/result'](result);\n\t    },\n\t    '@@transducer/step': function (result, input) {\n\t      var ret = xf['@@transducer/step'](result, input);\n\t      return ret['@@transducer/reduced'] ? _forceReduced(ret) : ret;\n\t    }\n\t  };\n\t};\n\t\n\tvar _flatCat = function _xcat(xf) {\n\t  var rxf = preservingReduced(xf);\n\t  return {\n\t    '@@transducer/init': _xfBase.init,\n\t    '@@transducer/result': function (result) {\n\t      return rxf['@@transducer/result'](result);\n\t    },\n\t    '@@transducer/step': function (result, input) {\n\t      return !_isArrayLike(input) ? _reduce(rxf, result, [input]) : _reduce(rxf, result, input);\n\t    }\n\t  };\n\t};\n\t\n\tmodule.exports = _flatCat;\n\n/***/ }),\n/* 675 */\n/*!************************************************!*\\\n  !*** ../~/ramda/src/internal/_forceReduced.js ***!\n  \\************************************************/\n/***/ (function(module, exports) {\n\n\tfunction _forceReduced(x) {\n\t  return {\n\t    '@@transducer/value': x,\n\t    '@@transducer/reduced': true\n\t  };\n\t}\n\tmodule.exports = _forceReduced;\n\n/***/ }),\n/* 676 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/clamp.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\t/**\n\t * Restricts a number to be within a range.\n\t *\n\t * Also works for other ordered types such as Strings and Dates.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.20.0\n\t * @category Relation\n\t * @sig Ord a => a -> a -> a -> a\n\t * @param {Number} minimum The lower limit of the clamp (inclusive)\n\t * @param {Number} maximum The upper limit of the clamp (inclusive)\n\t * @param {Number} value Value to be clamped\n\t * @return {Number} Returns `minimum` when `val < minimum`, `maximum` when `val > maximum`, returns `val` otherwise\n\t * @example\n\t *\n\t *      R.clamp(1, 10, -5) // => 1\n\t *      R.clamp(1, 10, 15) // => 10\n\t *      R.clamp(1, 10, 4)  // => 4\n\t */\n\t\n\t\n\tvar clamp = /*#__PURE__*/_curry3(function clamp(min, max, value) {\n\t  if (min > max) {\n\t    throw new Error('min must not be greater than max in clamp(min, max, value)');\n\t  }\n\t  return value < min ? min : value > max ? max : value;\n\t});\n\tmodule.exports = clamp;\n\n/***/ }),\n/* 677 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/clone.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _clone = /*#__PURE__*/__webpack_require__(/*! ./internal/_clone */ 678);\n\t\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\t/**\n\t * Creates a deep copy of the value which may contain (nested) `Array`s and\n\t * `Object`s, `Number`s, `String`s, `Boolean`s and `Date`s. `Function`s are\n\t * assigned by reference rather than copied\n\t *\n\t * Dispatches to a `clone` method if present.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Object\n\t * @sig {*} -> {*}\n\t * @param {*} value The object or array to clone\n\t * @return {*} A deeply cloned copy of `val`\n\t * @example\n\t *\n\t *      var objects = [{}, {}, {}];\n\t *      var objectsClone = R.clone(objects);\n\t *      objects === objectsClone; //=> false\n\t *      objects[0] === objectsClone[0]; //=> false\n\t */\n\t\n\t\n\tvar clone = /*#__PURE__*/_curry1(function clone(value) {\n\t  return value != null && typeof value.clone === 'function' ? value.clone() : _clone(value, [], [], true);\n\t});\n\tmodule.exports = clone;\n\n/***/ }),\n/* 678 */\n/*!*****************************************!*\\\n  !*** ../~/ramda/src/internal/_clone.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _cloneRegExp = /*#__PURE__*/__webpack_require__(/*! ./_cloneRegExp */ 679);\n\t\n\tvar type = /*#__PURE__*/__webpack_require__(/*! ../type */ 680);\n\t\n\t/**\n\t * Copies an object.\n\t *\n\t * @private\n\t * @param {*} value The value to be copied\n\t * @param {Array} refFrom Array containing the source references\n\t * @param {Array} refTo Array containing the copied source references\n\t * @param {Boolean} deep Whether or not to perform deep cloning.\n\t * @return {*} The copied value.\n\t */\n\t\n\t\n\tfunction _clone(value, refFrom, refTo, deep) {\n\t  var copy = function copy(copiedValue) {\n\t    var len = refFrom.length;\n\t    var idx = 0;\n\t    while (idx < len) {\n\t      if (value === refFrom[idx]) {\n\t        return refTo[idx];\n\t      }\n\t      idx += 1;\n\t    }\n\t    refFrom[idx + 1] = value;\n\t    refTo[idx + 1] = copiedValue;\n\t    for (var key in value) {\n\t      copiedValue[key] = deep ? _clone(value[key], refFrom, refTo, true) : value[key];\n\t    }\n\t    return copiedValue;\n\t  };\n\t  switch (type(value)) {\n\t    case 'Object':\n\t      return copy({});\n\t    case 'Array':\n\t      return copy([]);\n\t    case 'Date':\n\t      return new Date(value.valueOf());\n\t    case 'RegExp':\n\t      return _cloneRegExp(value);\n\t    default:\n\t      return value;\n\t  }\n\t}\n\tmodule.exports = _clone;\n\n/***/ }),\n/* 679 */\n/*!***********************************************!*\\\n  !*** ../~/ramda/src/internal/_cloneRegExp.js ***!\n  \\***********************************************/\n/***/ (function(module, exports) {\n\n\tfunction _cloneRegExp(pattern) {\n\t                                  return new RegExp(pattern.source, (pattern.global ? 'g' : '') + (pattern.ignoreCase ? 'i' : '') + (pattern.multiline ? 'm' : '') + (pattern.sticky ? 'y' : '') + (pattern.unicode ? 'u' : ''));\n\t}\n\tmodule.exports = _cloneRegExp;\n\n/***/ }),\n/* 680 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/type.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\t/**\n\t * Gives a single-word string description of the (native) type of a value,\n\t * returning such answers as 'Object', 'Number', 'Array', or 'Null'. Does not\n\t * attempt to distinguish user Object types any further, reporting them all as\n\t * 'Object'.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.8.0\n\t * @category Type\n\t * @sig (* -> {*}) -> String\n\t * @param {*} val The value to test\n\t * @return {String}\n\t * @example\n\t *\n\t *      R.type({}); //=> \"Object\"\n\t *      R.type(1); //=> \"Number\"\n\t *      R.type(false); //=> \"Boolean\"\n\t *      R.type('s'); //=> \"String\"\n\t *      R.type(null); //=> \"Null\"\n\t *      R.type([]); //=> \"Array\"\n\t *      R.type(/[A-z]/); //=> \"RegExp\"\n\t *      R.type(() => {}); //=> \"Function\"\n\t *      R.type(undefined); //=> \"Undefined\"\n\t */\n\t\n\t\n\tvar type = /*#__PURE__*/_curry1(function type(val) {\n\t  return val === null ? 'Null' : val === undefined ? 'Undefined' : Object.prototype.toString.call(val).slice(8, -1);\n\t});\n\tmodule.exports = type;\n\n/***/ }),\n/* 681 */\n/*!************************************!*\\\n  !*** ../~/ramda/src/comparator.js ***!\n  \\************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\t/**\n\t * Makes a comparator function out of a function that reports whether the first\n\t * element is less than the second.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Function\n\t * @sig ((a, b) -> Boolean) -> ((a, b) -> Number)\n\t * @param {Function} pred A predicate function of arity two which will return `true` if the first argument\n\t * is less than the second, `false` otherwise\n\t * @return {Function} A Function :: a -> b -> Int that returns `-1` if a < b, `1` if b < a, otherwise `0`\n\t * @example\n\t *\n\t *      var byAge = R.comparator((a, b) => a.age < b.age);\n\t *      var people = [\n\t *        // ...\n\t *      ];\n\t *      var peopleByIncreasingAge = R.sort(byAge, people);\n\t */\n\t\n\t\n\tvar comparator = /*#__PURE__*/_curry1(function comparator(pred) {\n\t  return function (a, b) {\n\t    return pred(a, b) ? -1 : pred(b, a) ? 1 : 0;\n\t  };\n\t});\n\tmodule.exports = comparator;\n\n/***/ }),\n/* 682 */\n/*!************************************!*\\\n  !*** ../~/ramda/src/complement.js ***!\n  \\************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar lift = /*#__PURE__*/__webpack_require__(/*! ./lift */ 667);\n\t\n\tvar not = /*#__PURE__*/__webpack_require__(/*! ./not */ 683);\n\t\n\t/**\n\t * Takes a function `f` and returns a function `g` such that if called with the same arguments\n\t * when `f` returns a \"truthy\" value, `g` returns `false` and when `f` returns a \"falsy\" value `g` returns `true`.\n\t *\n\t * `R.complement` may be applied to any functor\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.12.0\n\t * @category Logic\n\t * @sig (*... -> *) -> (*... -> Boolean)\n\t * @param {Function} f\n\t * @return {Function}\n\t * @see R.not\n\t * @example\n\t *\n\t *      var isNotNil = R.complement(R.isNil);\n\t *      isNil(null); //=> true\n\t *      isNotNil(null); //=> false\n\t *      isNil(7); //=> false\n\t *      isNotNil(7); //=> true\n\t */\n\t\n\t\n\tvar complement = /*#__PURE__*/lift(not);\n\tmodule.exports = complement;\n\n/***/ }),\n/* 683 */\n/*!*****************************!*\\\n  !*** ../~/ramda/src/not.js ***!\n  \\*****************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\t/**\n\t * A function that returns the `!` of its argument. It will return `true` when\n\t * passed false-y value, and `false` when passed a truth-y one.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Logic\n\t * @sig * -> Boolean\n\t * @param {*} a any value\n\t * @return {Boolean} the logical inverse of passed argument.\n\t * @see R.complement\n\t * @example\n\t *\n\t *      R.not(true); //=> false\n\t *      R.not(false); //=> true\n\t *      R.not(0); //=> true\n\t *      R.not(1); //=> false\n\t */\n\t\n\t\n\tvar not = /*#__PURE__*/_curry1(function not(a) {\n\t  return !a;\n\t});\n\tmodule.exports = not;\n\n/***/ }),\n/* 684 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/compose.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar pipe = /*#__PURE__*/__webpack_require__(/*! ./pipe */ 685);\n\t\n\tvar reverse = /*#__PURE__*/__webpack_require__(/*! ./reverse */ 690);\n\t\n\t/**\n\t * Performs right-to-left function composition. The rightmost function may have\n\t * any arity; the remaining functions must be unary.\n\t *\n\t * **Note:** The result of compose is not automatically curried.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Function\n\t * @sig ((y -> z), (x -> y), ..., (o -> p), ((a, b, ..., n) -> o)) -> ((a, b, ..., n) -> z)\n\t * @param {...Function} ...functions The functions to compose\n\t * @return {Function}\n\t * @see R.pipe\n\t * @example\n\t *\n\t *      var classyGreeting = (firstName, lastName) => \"The name's \" + lastName + \", \" + firstName + \" \" + lastName\n\t *      var yellGreeting = R.compose(R.toUpper, classyGreeting);\n\t *      yellGreeting('James', 'Bond'); //=> \"THE NAME'S BOND, JAMES BOND\"\n\t *\n\t *      R.compose(Math.abs, R.add(1), R.multiply(2))(-4) //=> 7\n\t *\n\t * @symb R.compose(f, g, h)(a, b) = f(g(h(a, b)))\n\t */\n\t\n\t\n\tfunction compose() {\n\t  if (arguments.length === 0) {\n\t    throw new Error('compose requires at least one argument');\n\t  }\n\t  return pipe.apply(this, reverse(arguments));\n\t}\n\tmodule.exports = compose;\n\n/***/ }),\n/* 685 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/pipe.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _arity = /*#__PURE__*/__webpack_require__(/*! ./internal/_arity */ 617);\n\t\n\tvar _pipe = /*#__PURE__*/__webpack_require__(/*! ./internal/_pipe */ 686);\n\t\n\tvar reduce = /*#__PURE__*/__webpack_require__(/*! ./reduce */ 644);\n\t\n\tvar tail = /*#__PURE__*/__webpack_require__(/*! ./tail */ 687);\n\t\n\t/**\n\t * Performs left-to-right function composition. The leftmost function may have\n\t * any arity; the remaining functions must be unary.\n\t *\n\t * In some libraries this function is named `sequence`.\n\t *\n\t * **Note:** The result of pipe is not automatically curried.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Function\n\t * @sig (((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)) -> ((a, b, ..., n) -> z)\n\t * @param {...Function} functions\n\t * @return {Function}\n\t * @see R.compose\n\t * @example\n\t *\n\t *      var f = R.pipe(Math.pow, R.negate, R.inc);\n\t *\n\t *      f(3, 4); // -(3^4) + 1\n\t * @symb R.pipe(f, g, h)(a, b) = h(g(f(a, b)))\n\t */\n\t\n\t\n\tfunction pipe() {\n\t  if (arguments.length === 0) {\n\t    throw new Error('pipe requires at least one argument');\n\t  }\n\t  return _arity(arguments[0].length, reduce(_pipe, arguments[0], tail(arguments)));\n\t}\n\tmodule.exports = pipe;\n\n/***/ }),\n/* 686 */\n/*!****************************************!*\\\n  !*** ../~/ramda/src/internal/_pipe.js ***!\n  \\****************************************/\n/***/ (function(module, exports) {\n\n\tfunction _pipe(f, g) {\n\t  return function () {\n\t    return g.call(this, f.apply(this, arguments));\n\t  };\n\t}\n\tmodule.exports = _pipe;\n\n/***/ }),\n/* 687 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/tail.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _checkForMethod = /*#__PURE__*/__webpack_require__(/*! ./internal/_checkForMethod */ 688);\n\t\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar slice = /*#__PURE__*/__webpack_require__(/*! ./slice */ 689);\n\t\n\t/**\n\t * Returns all but the first element of the given list or string (or object\n\t * with a `tail` method).\n\t *\n\t * Dispatches to the `slice` method of the first argument, if present.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig [a] -> [a]\n\t * @sig String -> String\n\t * @param {*} list\n\t * @return {*}\n\t * @see R.head, R.init, R.last\n\t * @example\n\t *\n\t *      R.tail([1, 2, 3]);  //=> [2, 3]\n\t *      R.tail([1, 2]);     //=> [2]\n\t *      R.tail([1]);        //=> []\n\t *      R.tail([]);         //=> []\n\t *\n\t *      R.tail('abc');  //=> 'bc'\n\t *      R.tail('ab');   //=> 'b'\n\t *      R.tail('a');    //=> ''\n\t *      R.tail('');     //=> ''\n\t */\n\t\n\t\n\tvar tail = /*#__PURE__*/_curry1( /*#__PURE__*/_checkForMethod('tail', /*#__PURE__*/slice(1, Infinity)));\n\tmodule.exports = tail;\n\n/***/ }),\n/* 688 */\n/*!**************************************************!*\\\n  !*** ../~/ramda/src/internal/_checkForMethod.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _isArray = /*#__PURE__*/__webpack_require__(/*! ./_isArray */ 623);\n\t\n\t/**\n\t * This checks whether a function has a [methodname] function. If it isn't an\n\t * array it will execute that function otherwise it will default to the ramda\n\t * implementation.\n\t *\n\t * @private\n\t * @param {Function} fn ramda implemtation\n\t * @param {String} methodname property to check for a custom implementation\n\t * @return {Object} Whatever the return value of the method is.\n\t */\n\t\n\t\n\tfunction _checkForMethod(methodname, fn) {\n\t  return function () {\n\t    var length = arguments.length;\n\t    if (length === 0) {\n\t      return fn();\n\t    }\n\t    var obj = arguments[length - 1];\n\t    return _isArray(obj) || typeof obj[methodname] !== 'function' ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1));\n\t  };\n\t}\n\tmodule.exports = _checkForMethod;\n\n/***/ }),\n/* 689 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/slice.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _checkForMethod = /*#__PURE__*/__webpack_require__(/*! ./internal/_checkForMethod */ 688);\n\t\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\t/**\n\t * Returns the elements of the given list or string (or object with a `slice`\n\t * method) from `fromIndex` (inclusive) to `toIndex` (exclusive).\n\t *\n\t * Dispatches to the `slice` method of the third argument, if present.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.4\n\t * @category List\n\t * @sig Number -> Number -> [a] -> [a]\n\t * @sig Number -> Number -> String -> String\n\t * @param {Number} fromIndex The start index (inclusive).\n\t * @param {Number} toIndex The end index (exclusive).\n\t * @param {*} list\n\t * @return {*}\n\t * @example\n\t *\n\t *      R.slice(1, 3, ['a', 'b', 'c', 'd']);        //=> ['b', 'c']\n\t *      R.slice(1, Infinity, ['a', 'b', 'c', 'd']); //=> ['b', 'c', 'd']\n\t *      R.slice(0, -1, ['a', 'b', 'c', 'd']);       //=> ['a', 'b', 'c']\n\t *      R.slice(-3, -1, ['a', 'b', 'c', 'd']);      //=> ['b', 'c']\n\t *      R.slice(0, 3, 'ramda');                     //=> 'ram'\n\t */\n\t\n\t\n\tvar slice = /*#__PURE__*/_curry3( /*#__PURE__*/_checkForMethod('slice', function slice(fromIndex, toIndex, list) {\n\t  return Array.prototype.slice.call(list, fromIndex, toIndex);\n\t}));\n\tmodule.exports = slice;\n\n/***/ }),\n/* 690 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/reverse.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar _isString = /*#__PURE__*/__webpack_require__(/*! ./internal/_isString */ 635);\n\t\n\t/**\n\t * Returns a new list or string with the elements or characters in reverse\n\t * order.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig [a] -> [a]\n\t * @sig String -> String\n\t * @param {Array|String} list\n\t * @return {Array|String}\n\t * @example\n\t *\n\t *      R.reverse([1, 2, 3]);  //=> [3, 2, 1]\n\t *      R.reverse([1, 2]);     //=> [2, 1]\n\t *      R.reverse([1]);        //=> [1]\n\t *      R.reverse([]);         //=> []\n\t *\n\t *      R.reverse('abc');      //=> 'cba'\n\t *      R.reverse('ab');       //=> 'ba'\n\t *      R.reverse('a');        //=> 'a'\n\t *      R.reverse('');         //=> ''\n\t */\n\t\n\t\n\tvar reverse = /*#__PURE__*/_curry1(function reverse(list) {\n\t  return _isString(list) ? list.split('').reverse().join('') : Array.prototype.slice.call(list, 0).reverse();\n\t});\n\tmodule.exports = reverse;\n\n/***/ }),\n/* 691 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/composeK.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar chain = /*#__PURE__*/__webpack_require__(/*! ./chain */ 671);\n\t\n\tvar compose = /*#__PURE__*/__webpack_require__(/*! ./compose */ 684);\n\t\n\tvar map = /*#__PURE__*/__webpack_require__(/*! ./map */ 631);\n\t\n\t/**\n\t * Returns the right-to-left Kleisli composition of the provided functions,\n\t * each of which must return a value of a type supported by [`chain`](#chain).\n\t *\n\t * `R.composeK(h, g, f)` is equivalent to `R.compose(R.chain(h), R.chain(g), f)`.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.16.0\n\t * @category Function\n\t * @sig Chain m => ((y -> m z), (x -> m y), ..., (a -> m b)) -> (a -> m z)\n\t * @param {...Function} ...functions The functions to compose\n\t * @return {Function}\n\t * @see R.pipeK\n\t * @example\n\t *\n\t *       //  get :: String -> Object -> Maybe *\n\t *       var get = R.curry((propName, obj) => Maybe(obj[propName]))\n\t *\n\t *       //  getStateCode :: Maybe String -> Maybe String\n\t *       var getStateCode = R.composeK(\n\t *         R.compose(Maybe.of, R.toUpper),\n\t *         get('state'),\n\t *         get('address'),\n\t *         get('user'),\n\t *       );\n\t *       getStateCode({\"user\":{\"address\":{\"state\":\"ny\"}}}); //=> Maybe.Just(\"NY\")\n\t *       getStateCode({}); //=> Maybe.Nothing()\n\t * @symb R.composeK(f, g, h)(a) = R.chain(f, R.chain(g, h(a)))\n\t */\n\t\n\t\n\tfunction composeK() {\n\t  if (arguments.length === 0) {\n\t    throw new Error('composeK requires at least one argument');\n\t  }\n\t  var init = Array.prototype.slice.call(arguments);\n\t  var last = init.pop();\n\t  return compose(compose.apply(this, map(chain, init)), last);\n\t}\n\tmodule.exports = composeK;\n\n/***/ }),\n/* 692 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/composeP.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar pipeP = /*#__PURE__*/__webpack_require__(/*! ./pipeP */ 693);\n\t\n\tvar reverse = /*#__PURE__*/__webpack_require__(/*! ./reverse */ 690);\n\t\n\t/**\n\t * Performs right-to-left composition of one or more Promise-returning\n\t * functions. The rightmost function may have any arity; the remaining\n\t * functions must be unary.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.10.0\n\t * @category Function\n\t * @sig ((y -> Promise z), (x -> Promise y), ..., (a -> Promise b)) -> (a -> Promise z)\n\t * @param {...Function} functions The functions to compose\n\t * @return {Function}\n\t * @see R.pipeP\n\t * @example\n\t *\n\t *      var db = {\n\t *        users: {\n\t *          JOE: {\n\t *            name: 'Joe',\n\t *            followers: ['STEVE', 'SUZY']\n\t *          }\n\t *        }\n\t *      }\n\t *\n\t *      // We'll pretend to do a db lookup which returns a promise\n\t *      var lookupUser = (userId) => Promise.resolve(db.users[userId])\n\t *      var lookupFollowers = (user) => Promise.resolve(user.followers)\n\t *      lookupUser('JOE').then(lookupFollowers)\n\t *\n\t *      //  followersForUser :: String -> Promise [UserId]\n\t *      var followersForUser = R.composeP(lookupFollowers, lookupUser);\n\t *      followersForUser('JOE').then(followers => console.log('Followers:', followers))\n\t *      // Followers: [\"STEVE\",\"SUZY\"]\n\t */\n\t\n\t\n\tfunction composeP() {\n\t  if (arguments.length === 0) {\n\t    throw new Error('composeP requires at least one argument');\n\t  }\n\t  return pipeP.apply(this, reverse(arguments));\n\t}\n\tmodule.exports = composeP;\n\n/***/ }),\n/* 693 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/pipeP.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _arity = /*#__PURE__*/__webpack_require__(/*! ./internal/_arity */ 617);\n\t\n\tvar _pipeP = /*#__PURE__*/__webpack_require__(/*! ./internal/_pipeP */ 694);\n\t\n\tvar reduce = /*#__PURE__*/__webpack_require__(/*! ./reduce */ 644);\n\t\n\tvar tail = /*#__PURE__*/__webpack_require__(/*! ./tail */ 687);\n\t\n\t/**\n\t * Performs left-to-right composition of one or more Promise-returning\n\t * functions. The leftmost function may have any arity; the remaining functions\n\t * must be unary.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.10.0\n\t * @category Function\n\t * @sig ((a -> Promise b), (b -> Promise c), ..., (y -> Promise z)) -> (a -> Promise z)\n\t * @param {...Function} functions\n\t * @return {Function}\n\t * @see R.composeP\n\t * @example\n\t *\n\t *      //  followersForUser :: String -> Promise [User]\n\t *      var followersForUser = R.pipeP(db.getUserById, db.getFollowers);\n\t */\n\t\n\t\n\tfunction pipeP() {\n\t  if (arguments.length === 0) {\n\t    throw new Error('pipeP requires at least one argument');\n\t  }\n\t  return _arity(arguments[0].length, reduce(_pipeP, arguments[0], tail(arguments)));\n\t}\n\tmodule.exports = pipeP;\n\n/***/ }),\n/* 694 */\n/*!*****************************************!*\\\n  !*** ../~/ramda/src/internal/_pipeP.js ***!\n  \\*****************************************/\n/***/ (function(module, exports) {\n\n\tfunction _pipeP(f, g) {\n\t  return function () {\n\t    var ctx = this;\n\t    return f.apply(ctx, arguments).then(function (x) {\n\t      return g.call(ctx, x);\n\t    });\n\t  };\n\t}\n\tmodule.exports = _pipeP;\n\n/***/ }),\n/* 695 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/concat.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _isArray = /*#__PURE__*/__webpack_require__(/*! ./internal/_isArray */ 623);\n\t\n\tvar _isFunction = /*#__PURE__*/__webpack_require__(/*! ./internal/_isFunction */ 666);\n\t\n\tvar _isString = /*#__PURE__*/__webpack_require__(/*! ./internal/_isString */ 635);\n\t\n\tvar toString = /*#__PURE__*/__webpack_require__(/*! ./toString */ 696);\n\t\n\t/**\n\t * Returns the result of concatenating the given lists or strings.\n\t *\n\t * Note: `R.concat` expects both arguments to be of the same type,\n\t * unlike the native `Array.prototype.concat` method. It will throw\n\t * an error if you `concat` an Array with a non-Array value.\n\t *\n\t * Dispatches to the `concat` method of the first argument, if present.\n\t * Can also concatenate two members of a [fantasy-land\n\t * compatible semigroup](https://github.com/fantasyland/fantasy-land#semigroup).\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig [a] -> [a] -> [a]\n\t * @sig String -> String -> String\n\t * @param {Array|String} firstList The first list\n\t * @param {Array|String} secondList The second list\n\t * @return {Array|String} A list consisting of the elements of `firstList` followed by the elements of\n\t * `secondList`.\n\t *\n\t * @example\n\t *\n\t *      R.concat('ABC', 'DEF'); // 'ABCDEF'\n\t *      R.concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n\t *      R.concat([], []); //=> []\n\t */\n\t\n\t\n\tvar concat = /*#__PURE__*/_curry2(function concat(a, b) {\n\t  if (_isArray(a)) {\n\t    if (_isArray(b)) {\n\t      return a.concat(b);\n\t    }\n\t    throw new TypeError(toString(b) + ' is not an array');\n\t  }\n\t  if (_isString(a)) {\n\t    if (_isString(b)) {\n\t      return a + b;\n\t    }\n\t    throw new TypeError(toString(b) + ' is not a string');\n\t  }\n\t  if (a != null && _isFunction(a['fantasy-land/concat'])) {\n\t    return a['fantasy-land/concat'](b);\n\t  }\n\t  if (a != null && _isFunction(a.concat)) {\n\t    return a.concat(b);\n\t  }\n\t  throw new TypeError(toString(a) + ' does not have a method named \"concat\" or \"fantasy-land/concat\"');\n\t});\n\tmodule.exports = concat;\n\n/***/ }),\n/* 696 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/toString.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar _toString = /*#__PURE__*/__webpack_require__(/*! ./internal/_toString */ 697);\n\t\n\t/**\n\t * Returns the string representation of the given value. `eval`'ing the output\n\t * should result in a value equivalent to the input value. Many of the built-in\n\t * `toString` methods do not satisfy this requirement.\n\t *\n\t * If the given value is an `[object Object]` with a `toString` method other\n\t * than `Object.prototype.toString`, this method is invoked with no arguments\n\t * to produce the return value. This means user-defined constructor functions\n\t * can provide a suitable `toString` method. For example:\n\t *\n\t *     function Point(x, y) {\n\t *       this.x = x;\n\t *       this.y = y;\n\t *     }\n\t *\n\t *     Point.prototype.toString = function() {\n\t *       return 'new Point(' + this.x + ', ' + this.y + ')';\n\t *     };\n\t *\n\t *     R.toString(new Point(1, 2)); //=> 'new Point(1, 2)'\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.14.0\n\t * @category String\n\t * @sig * -> String\n\t * @param {*} val\n\t * @return {String}\n\t * @example\n\t *\n\t *      R.toString(42); //=> '42'\n\t *      R.toString('abc'); //=> '\"abc\"'\n\t *      R.toString([1, 2, 3]); //=> '[1, 2, 3]'\n\t *      R.toString({foo: 1, bar: 2, baz: 3}); //=> '{\"bar\": 2, \"baz\": 3, \"foo\": 1}'\n\t *      R.toString(new Date('2001-02-03T04:05:06Z')); //=> 'new Date(\"2001-02-03T04:05:06.000Z\")'\n\t */\n\t\n\t\n\tvar toString = /*#__PURE__*/_curry1(function toString(val) {\n\t  return _toString(val, []);\n\t});\n\tmodule.exports = toString;\n\n/***/ }),\n/* 697 */\n/*!********************************************!*\\\n  !*** ../~/ramda/src/internal/_toString.js ***!\n  \\********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _contains = /*#__PURE__*/__webpack_require__(/*! ./_contains */ 698);\n\t\n\tvar _map = /*#__PURE__*/__webpack_require__(/*! ./_map */ 632);\n\t\n\tvar _quote = /*#__PURE__*/__webpack_require__(/*! ./_quote */ 706);\n\t\n\tvar _toISOString = /*#__PURE__*/__webpack_require__(/*! ./_toISOString */ 707);\n\t\n\tvar keys = /*#__PURE__*/__webpack_require__(/*! ../keys */ 639);\n\t\n\tvar reject = /*#__PURE__*/__webpack_require__(/*! ../reject */ 708);\n\t\n\tfunction _toString(x, seen) {\n\t  var recur = function recur(y) {\n\t    var xs = seen.concat([x]);\n\t    return _contains(y, xs) ? '<Circular>' : _toString(y, xs);\n\t  };\n\t\n\t  //  mapPairs :: (Object, [String]) -> [String]\n\t  var mapPairs = function (obj, keys) {\n\t    return _map(function (k) {\n\t      return _quote(k) + ': ' + recur(obj[k]);\n\t    }, keys.slice().sort());\n\t  };\n\t\n\t  switch (Object.prototype.toString.call(x)) {\n\t    case '[object Arguments]':\n\t      return '(function() { return arguments; }(' + _map(recur, x).join(', ') + '))';\n\t    case '[object Array]':\n\t      return '[' + _map(recur, x).concat(mapPairs(x, reject(function (k) {\n\t        return (/^\\d+$/.test(k)\n\t        );\n\t      }, keys(x)))).join(', ') + ']';\n\t    case '[object Boolean]':\n\t      return typeof x === 'object' ? 'new Boolean(' + recur(x.valueOf()) + ')' : x.toString();\n\t    case '[object Date]':\n\t      return 'new Date(' + (isNaN(x.valueOf()) ? recur(NaN) : _quote(_toISOString(x))) + ')';\n\t    case '[object Null]':\n\t      return 'null';\n\t    case '[object Number]':\n\t      return typeof x === 'object' ? 'new Number(' + recur(x.valueOf()) + ')' : 1 / x === -Infinity ? '-0' : x.toString(10);\n\t    case '[object String]':\n\t      return typeof x === 'object' ? 'new String(' + recur(x.valueOf()) + ')' : _quote(x);\n\t    case '[object Undefined]':\n\t      return 'undefined';\n\t    default:\n\t      if (typeof x.toString === 'function') {\n\t        var repr = x.toString();\n\t        if (repr !== '[object Object]') {\n\t          return repr;\n\t        }\n\t      }\n\t      return '{' + mapPairs(x, keys(x)).join(', ') + '}';\n\t  }\n\t}\n\tmodule.exports = _toString;\n\n/***/ }),\n/* 698 */\n/*!********************************************!*\\\n  !*** ../~/ramda/src/internal/_contains.js ***!\n  \\********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _indexOf = /*#__PURE__*/__webpack_require__(/*! ./_indexOf */ 699);\n\t\n\tfunction _contains(a, list) {\n\t  return _indexOf(list, a, 0) >= 0;\n\t}\n\tmodule.exports = _contains;\n\n/***/ }),\n/* 699 */\n/*!*******************************************!*\\\n  !*** ../~/ramda/src/internal/_indexOf.js ***!\n  \\*******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar equals = /*#__PURE__*/__webpack_require__(/*! ../equals */ 700);\n\t\n\tfunction _indexOf(list, a, idx) {\n\t  var inf, item;\n\t  // Array.prototype.indexOf doesn't exist below IE9\n\t  if (typeof list.indexOf === 'function') {\n\t    switch (typeof a) {\n\t      case 'number':\n\t        if (a === 0) {\n\t          // manually crawl the list to distinguish between +0 and -0\n\t          inf = 1 / a;\n\t          while (idx < list.length) {\n\t            item = list[idx];\n\t            if (item === 0 && 1 / item === inf) {\n\t              return idx;\n\t            }\n\t            idx += 1;\n\t          }\n\t          return -1;\n\t        } else if (a !== a) {\n\t          // NaN\n\t          while (idx < list.length) {\n\t            item = list[idx];\n\t            if (typeof item === 'number' && item !== item) {\n\t              return idx;\n\t            }\n\t            idx += 1;\n\t          }\n\t          return -1;\n\t        }\n\t        // non-zero numbers can utilise Set\n\t        return list.indexOf(a, idx);\n\t\n\t      // all these types can utilise Set\n\t      case 'string':\n\t      case 'boolean':\n\t      case 'function':\n\t      case 'undefined':\n\t        return list.indexOf(a, idx);\n\t\n\t      case 'object':\n\t        if (a === null) {\n\t          // null can utilise Set\n\t          return list.indexOf(a, idx);\n\t        }\n\t    }\n\t  }\n\t  // anything else not covered above, defer to R.equals\n\t  while (idx < list.length) {\n\t    if (equals(list[idx], a)) {\n\t      return idx;\n\t    }\n\t    idx += 1;\n\t  }\n\t  return -1;\n\t}\n\tmodule.exports = _indexOf;\n\n/***/ }),\n/* 700 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/equals.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _equals = /*#__PURE__*/__webpack_require__(/*! ./internal/_equals */ 701);\n\t\n\t/**\n\t * Returns `true` if its arguments are equivalent, `false` otherwise. Handles\n\t * cyclical data structures.\n\t *\n\t * Dispatches symmetrically to the `equals` methods of both arguments, if\n\t * present.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.15.0\n\t * @category Relation\n\t * @sig a -> b -> Boolean\n\t * @param {*} a\n\t * @param {*} b\n\t * @return {Boolean}\n\t * @example\n\t *\n\t *      R.equals(1, 1); //=> true\n\t *      R.equals(1, '1'); //=> false\n\t *      R.equals([1, 2, 3], [1, 2, 3]); //=> true\n\t *\n\t *      var a = {}; a.v = a;\n\t *      var b = {}; b.v = b;\n\t *      R.equals(a, b); //=> true\n\t */\n\t\n\t\n\tvar equals = /*#__PURE__*/_curry2(function equals(a, b) {\n\t  return _equals(a, b, [], []);\n\t});\n\tmodule.exports = equals;\n\n/***/ }),\n/* 701 */\n/*!******************************************!*\\\n  !*** ../~/ramda/src/internal/_equals.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _arrayFromIterator = /*#__PURE__*/__webpack_require__(/*! ./_arrayFromIterator */ 702);\n\t\n\tvar _containsWith = /*#__PURE__*/__webpack_require__(/*! ./_containsWith */ 703);\n\t\n\tvar _functionName = /*#__PURE__*/__webpack_require__(/*! ./_functionName */ 704);\n\t\n\tvar _has = /*#__PURE__*/__webpack_require__(/*! ./_has */ 640);\n\t\n\tvar identical = /*#__PURE__*/__webpack_require__(/*! ../identical */ 705);\n\t\n\tvar keys = /*#__PURE__*/__webpack_require__(/*! ../keys */ 639);\n\t\n\tvar type = /*#__PURE__*/__webpack_require__(/*! ../type */ 680);\n\t\n\t/**\n\t * private _uniqContentEquals function.\n\t * That function is checking equality of 2 iterator contents with 2 assumptions\n\t * - iterators lengths are the same\n\t * - iterators values are unique\n\t *\n\t * false-positive result will be returned for comparision of, e.g.\n\t * - [1,2,3] and [1,2,3,4]\n\t * - [1,1,1] and [1,2,3]\n\t * */\n\t\n\tfunction _uniqContentEquals(aIterator, bIterator, stackA, stackB) {\n\t  var a = _arrayFromIterator(aIterator);\n\t  var b = _arrayFromIterator(bIterator);\n\t\n\t  function eq(_a, _b) {\n\t    return _equals(_a, _b, stackA.slice(), stackB.slice());\n\t  }\n\t\n\t  // if *a* array contains any element that is not included in *b*\n\t  return !_containsWith(function (b, aItem) {\n\t    return !_containsWith(eq, aItem, b);\n\t  }, b, a);\n\t}\n\t\n\tfunction _equals(a, b, stackA, stackB) {\n\t  if (identical(a, b)) {\n\t    return true;\n\t  }\n\t\n\t  var typeA = type(a);\n\t\n\t  if (typeA !== type(b)) {\n\t    return false;\n\t  }\n\t\n\t  if (a == null || b == null) {\n\t    return false;\n\t  }\n\t\n\t  if (typeof a['fantasy-land/equals'] === 'function' || typeof b['fantasy-land/equals'] === 'function') {\n\t    return typeof a['fantasy-land/equals'] === 'function' && a['fantasy-land/equals'](b) && typeof b['fantasy-land/equals'] === 'function' && b['fantasy-land/equals'](a);\n\t  }\n\t\n\t  if (typeof a.equals === 'function' || typeof b.equals === 'function') {\n\t    return typeof a.equals === 'function' && a.equals(b) && typeof b.equals === 'function' && b.equals(a);\n\t  }\n\t\n\t  switch (typeA) {\n\t    case 'Arguments':\n\t    case 'Array':\n\t    case 'Object':\n\t      if (typeof a.constructor === 'function' && _functionName(a.constructor) === 'Promise') {\n\t        return a === b;\n\t      }\n\t      break;\n\t    case 'Boolean':\n\t    case 'Number':\n\t    case 'String':\n\t      if (!(typeof a === typeof b && identical(a.valueOf(), b.valueOf()))) {\n\t        return false;\n\t      }\n\t      break;\n\t    case 'Date':\n\t      if (!identical(a.valueOf(), b.valueOf())) {\n\t        return false;\n\t      }\n\t      break;\n\t    case 'Error':\n\t      return a.name === b.name && a.message === b.message;\n\t    case 'RegExp':\n\t      if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) {\n\t        return false;\n\t      }\n\t      break;\n\t  }\n\t\n\t  var idx = stackA.length - 1;\n\t  while (idx >= 0) {\n\t    if (stackA[idx] === a) {\n\t      return stackB[idx] === b;\n\t    }\n\t    idx -= 1;\n\t  }\n\t\n\t  switch (typeA) {\n\t    case 'Map':\n\t      if (a.size !== b.size) {\n\t        return false;\n\t      }\n\t\n\t      return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b]));\n\t    case 'Set':\n\t      if (a.size !== b.size) {\n\t        return false;\n\t      }\n\t\n\t      return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b]));\n\t    case 'Arguments':\n\t    case 'Array':\n\t    case 'Object':\n\t    case 'Boolean':\n\t    case 'Number':\n\t    case 'String':\n\t    case 'Date':\n\t    case 'Error':\n\t    case 'RegExp':\n\t    case 'Int8Array':\n\t    case 'Uint8Array':\n\t    case 'Uint8ClampedArray':\n\t    case 'Int16Array':\n\t    case 'Uint16Array':\n\t    case 'Int32Array':\n\t    case 'Uint32Array':\n\t    case 'Float32Array':\n\t    case 'Float64Array':\n\t    case 'ArrayBuffer':\n\t      break;\n\t    default:\n\t      // Values of other types are only equal if identical.\n\t      return false;\n\t  }\n\t\n\t  var keysA = keys(a);\n\t  if (keysA.length !== keys(b).length) {\n\t    return false;\n\t  }\n\t\n\t  var extendedStackA = stackA.concat([a]);\n\t  var extendedStackB = stackB.concat([b]);\n\t\n\t  idx = keysA.length - 1;\n\t  while (idx >= 0) {\n\t    var key = keysA[idx];\n\t    if (!(_has(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) {\n\t      return false;\n\t    }\n\t    idx -= 1;\n\t  }\n\t  return true;\n\t}\n\tmodule.exports = _equals;\n\n/***/ }),\n/* 702 */\n/*!*****************************************************!*\\\n  !*** ../~/ramda/src/internal/_arrayFromIterator.js ***!\n  \\*****************************************************/\n/***/ (function(module, exports) {\n\n\tfunction _arrayFromIterator(iter) {\n\t  var list = [];\n\t  var next;\n\t  while (!(next = iter.next()).done) {\n\t    list.push(next.value);\n\t  }\n\t  return list;\n\t}\n\tmodule.exports = _arrayFromIterator;\n\n/***/ }),\n/* 703 */\n/*!************************************************!*\\\n  !*** ../~/ramda/src/internal/_containsWith.js ***!\n  \\************************************************/\n/***/ (function(module, exports) {\n\n\tfunction _containsWith(pred, x, list) {\n\t  var idx = 0;\n\t  var len = list.length;\n\t\n\t  while (idx < len) {\n\t    if (pred(x, list[idx])) {\n\t      return true;\n\t    }\n\t    idx += 1;\n\t  }\n\t  return false;\n\t}\n\tmodule.exports = _containsWith;\n\n/***/ }),\n/* 704 */\n/*!************************************************!*\\\n  !*** ../~/ramda/src/internal/_functionName.js ***!\n  \\************************************************/\n/***/ (function(module, exports) {\n\n\tfunction _functionName(f) {\n\t  // String(x => x) evaluates to \"x => x\", so the pattern may not match.\n\t  var match = String(f).match(/^function (\\w*)/);\n\t  return match == null ? '' : match[1];\n\t}\n\tmodule.exports = _functionName;\n\n/***/ }),\n/* 705 */\n/*!***********************************!*\\\n  !*** ../~/ramda/src/identical.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Returns true if its arguments are identical, false otherwise. Values are\n\t * identical if they reference the same memory. `NaN` is identical to `NaN`;\n\t * `0` and `-0` are not identical.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.15.0\n\t * @category Relation\n\t * @sig a -> a -> Boolean\n\t * @param {*} a\n\t * @param {*} b\n\t * @return {Boolean}\n\t * @example\n\t *\n\t *      var o = {};\n\t *      R.identical(o, o); //=> true\n\t *      R.identical(1, 1); //=> true\n\t *      R.identical(1, '1'); //=> false\n\t *      R.identical([], []); //=> false\n\t *      R.identical(0, -0); //=> false\n\t *      R.identical(NaN, NaN); //=> true\n\t */\n\t\n\t\n\tvar identical = /*#__PURE__*/_curry2(function identical(a, b) {\n\t  // SameValue algorithm\n\t  if (a === b) {\n\t    // Steps 1-5, 7-10\n\t    // Steps 6.b-6.e: +0 != -0\n\t    return a !== 0 || 1 / a === 1 / b;\n\t  } else {\n\t    // Step 6.a: NaN == NaN\n\t    return a !== a && b !== b;\n\t  }\n\t});\n\tmodule.exports = identical;\n\n/***/ }),\n/* 706 */\n/*!*****************************************!*\\\n  !*** ../~/ramda/src/internal/_quote.js ***!\n  \\*****************************************/\n/***/ (function(module, exports) {\n\n\tfunction _quote(s) {\n\t  var escaped = s.replace(/\\\\/g, '\\\\\\\\').replace(/[\\b]/g, '\\\\b') // \\b matches word boundary; [\\b] matches backspace\n\t  .replace(/\\f/g, '\\\\f').replace(/\\n/g, '\\\\n').replace(/\\r/g, '\\\\r').replace(/\\t/g, '\\\\t').replace(/\\v/g, '\\\\v').replace(/\\0/g, '\\\\0');\n\t\n\t  return '\"' + escaped.replace(/\"/g, '\\\\\"') + '\"';\n\t}\n\tmodule.exports = _quote;\n\n/***/ }),\n/* 707 */\n/*!***********************************************!*\\\n  !*** ../~/ramda/src/internal/_toISOString.js ***!\n  \\***********************************************/\n/***/ (function(module, exports) {\n\n\t/**\n\t * Polyfill from <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString>.\n\t */\n\tvar pad = function pad(n) {\n\t  return (n < 10 ? '0' : '') + n;\n\t};\n\t\n\tvar _toISOString = typeof Date.prototype.toISOString === 'function' ? function _toISOString(d) {\n\t  return d.toISOString();\n\t} : function _toISOString(d) {\n\t  return d.getUTCFullYear() + '-' + pad(d.getUTCMonth() + 1) + '-' + pad(d.getUTCDate()) + 'T' + pad(d.getUTCHours()) + ':' + pad(d.getUTCMinutes()) + ':' + pad(d.getUTCSeconds()) + '.' + (d.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) + 'Z';\n\t};\n\t\n\tmodule.exports = _toISOString;\n\n/***/ }),\n/* 708 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/reject.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _complement = /*#__PURE__*/__webpack_require__(/*! ./internal/_complement */ 709);\n\t\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar filter = /*#__PURE__*/__webpack_require__(/*! ./filter */ 710);\n\t\n\t/**\n\t * The complement of [`filter`](#filter).\n\t *\n\t * Acts as a transducer if a transformer is given in list position. Filterable\n\t * objects include plain objects or any object that has a filter method such\n\t * as `Array`.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig Filterable f => (a -> Boolean) -> f a -> f a\n\t * @param {Function} pred\n\t * @param {Array} filterable\n\t * @return {Array}\n\t * @see R.filter, R.transduce, R.addIndex\n\t * @example\n\t *\n\t *      var isOdd = (n) => n % 2 === 1;\n\t *\n\t *      R.reject(isOdd, [1, 2, 3, 4]); //=> [2, 4]\n\t *\n\t *      R.reject(isOdd, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n\t */\n\t\n\t\n\tvar reject = /*#__PURE__*/_curry2(function reject(pred, filterable) {\n\t  return filter(_complement(pred), filterable);\n\t});\n\tmodule.exports = reject;\n\n/***/ }),\n/* 709 */\n/*!**********************************************!*\\\n  !*** ../~/ramda/src/internal/_complement.js ***!\n  \\**********************************************/\n/***/ (function(module, exports) {\n\n\tfunction _complement(f) {\n\t  return function () {\n\t    return !f.apply(this, arguments);\n\t  };\n\t}\n\tmodule.exports = _complement;\n\n/***/ }),\n/* 710 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/filter.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _dispatchable = /*#__PURE__*/__webpack_require__(/*! ./internal/_dispatchable */ 622);\n\t\n\tvar _filter = /*#__PURE__*/__webpack_require__(/*! ./internal/_filter */ 711);\n\t\n\tvar _isObject = /*#__PURE__*/__webpack_require__(/*! ./internal/_isObject */ 712);\n\t\n\tvar _reduce = /*#__PURE__*/__webpack_require__(/*! ./internal/_reduce */ 633);\n\t\n\tvar _xfilter = /*#__PURE__*/__webpack_require__(/*! ./internal/_xfilter */ 713);\n\t\n\tvar keys = /*#__PURE__*/__webpack_require__(/*! ./keys */ 639);\n\t\n\t/**\n\t * Takes a predicate and a `Filterable`, and returns a new filterable of the\n\t * same type containing the members of the given filterable which satisfy the\n\t * given predicate. Filterable objects include plain objects or any object\n\t * that has a filter method such as `Array`.\n\t *\n\t * Dispatches to the `filter` method of the second argument, if present.\n\t *\n\t * Acts as a transducer if a transformer is given in list position.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig Filterable f => (a -> Boolean) -> f a -> f a\n\t * @param {Function} pred\n\t * @param {Array} filterable\n\t * @return {Array} Filterable\n\t * @see R.reject, R.transduce, R.addIndex\n\t * @example\n\t *\n\t *      var isEven = n => n % 2 === 0;\n\t *\n\t *      R.filter(isEven, [1, 2, 3, 4]); //=> [2, 4]\n\t *\n\t *      R.filter(isEven, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n\t */\n\t\n\t\n\tvar filter = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['filter'], _xfilter, function (pred, filterable) {\n\t  return _isObject(filterable) ? _reduce(function (acc, key) {\n\t    if (pred(filterable[key])) {\n\t      acc[key] = filterable[key];\n\t    }\n\t    return acc;\n\t  }, {}, keys(filterable)) :\n\t  // else\n\t  _filter(pred, filterable);\n\t}));\n\tmodule.exports = filter;\n\n/***/ }),\n/* 711 */\n/*!******************************************!*\\\n  !*** ../~/ramda/src/internal/_filter.js ***!\n  \\******************************************/\n/***/ (function(module, exports) {\n\n\tfunction _filter(fn, list) {\n\t  var idx = 0;\n\t  var len = list.length;\n\t  var result = [];\n\t\n\t  while (idx < len) {\n\t    if (fn(list[idx])) {\n\t      result[result.length] = list[idx];\n\t    }\n\t    idx += 1;\n\t  }\n\t  return result;\n\t}\n\tmodule.exports = _filter;\n\n/***/ }),\n/* 712 */\n/*!********************************************!*\\\n  !*** ../~/ramda/src/internal/_isObject.js ***!\n  \\********************************************/\n/***/ (function(module, exports) {\n\n\tfunction _isObject(x) {\n\t  return Object.prototype.toString.call(x) === '[object Object]';\n\t}\n\tmodule.exports = _isObject;\n\n/***/ }),\n/* 713 */\n/*!*******************************************!*\\\n  !*** ../~/ramda/src/internal/_xfilter.js ***!\n  \\*******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./_curry2 */ 613);\n\t\n\tvar _xfBase = /*#__PURE__*/__webpack_require__(/*! ./_xfBase */ 627);\n\t\n\tvar XFilter = /*#__PURE__*/function () {\n\t\n\t  function XFilter(f, xf) {\n\t    this.xf = xf;\n\t    this.f = f;\n\t  }\n\t  XFilter.prototype['@@transducer/init'] = _xfBase.init;\n\t  XFilter.prototype['@@transducer/result'] = _xfBase.result;\n\t  XFilter.prototype['@@transducer/step'] = function (result, input) {\n\t    return this.f(input) ? this.xf['@@transducer/step'](result, input) : result;\n\t  };\n\t\n\t  return XFilter;\n\t}();\n\t\n\tvar _xfilter = /*#__PURE__*/_curry2(function _xfilter(f, xf) {\n\t  return new XFilter(f, xf);\n\t});\n\tmodule.exports = _xfilter;\n\n/***/ }),\n/* 714 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/cond.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _arity = /*#__PURE__*/__webpack_require__(/*! ./internal/_arity */ 617);\n\t\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar map = /*#__PURE__*/__webpack_require__(/*! ./map */ 631);\n\t\n\tvar max = /*#__PURE__*/__webpack_require__(/*! ./max */ 629);\n\t\n\tvar reduce = /*#__PURE__*/__webpack_require__(/*! ./reduce */ 644);\n\t\n\t/**\n\t * Returns a function, `fn`, which encapsulates `if/else, if/else, ...` logic.\n\t * `R.cond` takes a list of [predicate, transformer] pairs. All of the arguments\n\t * to `fn` are applied to each of the predicates in turn until one returns a\n\t * \"truthy\" value, at which point `fn` returns the result of applying its\n\t * arguments to the corresponding transformer. If none of the predicates\n\t * matches, `fn` returns undefined.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.6.0\n\t * @category Logic\n\t * @sig [[(*... -> Boolean),(*... -> *)]] -> (*... -> *)\n\t * @param {Array} pairs A list of [predicate, transformer]\n\t * @return {Function}\n\t * @example\n\t *\n\t *      var fn = R.cond([\n\t *        [R.equals(0),   R.always('water freezes at 0°C')],\n\t *        [R.equals(100), R.always('water boils at 100°C')],\n\t *        [R.T,           temp => 'nothing special happens at ' + temp + '°C']\n\t *      ]);\n\t *      fn(0); //=> 'water freezes at 0°C'\n\t *      fn(50); //=> 'nothing special happens at 50°C'\n\t *      fn(100); //=> 'water boils at 100°C'\n\t */\n\t\n\t\n\tvar cond = /*#__PURE__*/_curry1(function cond(pairs) {\n\t  var arity = reduce(max, 0, map(function (pair) {\n\t    return pair[0].length;\n\t  }, pairs));\n\t  return _arity(arity, function () {\n\t    var idx = 0;\n\t    while (idx < pairs.length) {\n\t      if (pairs[idx][0].apply(this, arguments)) {\n\t        return pairs[idx][1].apply(this, arguments);\n\t      }\n\t      idx += 1;\n\t    }\n\t  });\n\t});\n\tmodule.exports = cond;\n\n/***/ }),\n/* 715 */\n/*!***********************************!*\\\n  !*** ../~/ramda/src/construct.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar constructN = /*#__PURE__*/__webpack_require__(/*! ./constructN */ 716);\n\t\n\t/**\n\t * Wraps a constructor function inside a curried function that can be called\n\t * with the same arguments and returns the same type.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Function\n\t * @sig (* -> {*}) -> (* -> {*})\n\t * @param {Function} fn The constructor function to wrap.\n\t * @return {Function} A wrapped, curried constructor function.\n\t * @see R.invoker\n\t * @example\n\t *\n\t *      // Constructor function\n\t *      function Animal(kind) {\n\t *        this.kind = kind;\n\t *      };\n\t *      Animal.prototype.sighting = function() {\n\t *        return \"It's a \" + this.kind + \"!\";\n\t *      }\n\t *\n\t *      var AnimalConstructor = R.construct(Animal)\n\t *\n\t *      // Notice we no longer need the 'new' keyword:\n\t *      AnimalConstructor('Pig'); //=> {\"kind\": \"Pig\", \"sighting\": function (){...}};\n\t *\n\t *      var animalTypes = [\"Lion\", \"Tiger\", \"Bear\"];\n\t *      var animalSighting = R.invoker(0, 'sighting');\n\t *      var sightNewAnimal = R.compose(animalSighting, AnimalConstructor);\n\t *      R.map(sightNewAnimal, animalTypes); //=> [\"It's a Lion!\", \"It's a Tiger!\", \"It's a Bear!\"]\n\t */\n\t\n\t\n\tvar construct = /*#__PURE__*/_curry1(function construct(Fn) {\n\t  return constructN(Fn.length, Fn);\n\t});\n\tmodule.exports = construct;\n\n/***/ }),\n/* 716 */\n/*!************************************!*\\\n  !*** ../~/ramda/src/constructN.js ***!\n  \\************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar curry = /*#__PURE__*/__webpack_require__(/*! ./curry */ 670);\n\t\n\tvar nAry = /*#__PURE__*/__webpack_require__(/*! ./nAry */ 664);\n\t\n\t/**\n\t * Wraps a constructor function inside a curried function that can be called\n\t * with the same arguments and returns the same type. The arity of the function\n\t * returned is specified to allow using variadic constructor functions.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.4.0\n\t * @category Function\n\t * @sig Number -> (* -> {*}) -> (* -> {*})\n\t * @param {Number} n The arity of the constructor function.\n\t * @param {Function} Fn The constructor function to wrap.\n\t * @return {Function} A wrapped, curried constructor function.\n\t * @example\n\t *\n\t *      // Variadic Constructor function\n\t *      function Salad() {\n\t *        this.ingredients = arguments;\n\t *      }\n\t *\n\t *      Salad.prototype.recipe = function() {\n\t *        var instructions = R.map(ingredient => 'Add a dollop of ' + ingredient, this.ingredients);\n\t *        return R.join('\\n', instructions);\n\t *      };\n\t *\n\t *      var ThreeLayerSalad = R.constructN(3, Salad);\n\t *\n\t *      // Notice we no longer need the 'new' keyword, and the constructor is curried for 3 arguments.\n\t *      var salad = ThreeLayerSalad('Mayonnaise')('Potato Chips')('Ketchup');\n\t *\n\t *      console.log(salad.recipe());\n\t *      // Add a dollop of Mayonnaise\n\t *      // Add a dollop of Potato Chips\n\t *      // Add a dollop of Ketchup\n\t */\n\t\n\t\n\tvar constructN = /*#__PURE__*/_curry2(function constructN(n, Fn) {\n\t  if (n > 10) {\n\t    throw new Error('Constructor with greater than ten arguments');\n\t  }\n\t  if (n === 0) {\n\t    return function () {\n\t      return new Fn();\n\t    };\n\t  }\n\t  return curry(nAry(n, function ($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {\n\t    switch (arguments.length) {\n\t      case 1:\n\t        return new Fn($0);\n\t      case 2:\n\t        return new Fn($0, $1);\n\t      case 3:\n\t        return new Fn($0, $1, $2);\n\t      case 4:\n\t        return new Fn($0, $1, $2, $3);\n\t      case 5:\n\t        return new Fn($0, $1, $2, $3, $4);\n\t      case 6:\n\t        return new Fn($0, $1, $2, $3, $4, $5);\n\t      case 7:\n\t        return new Fn($0, $1, $2, $3, $4, $5, $6);\n\t      case 8:\n\t        return new Fn($0, $1, $2, $3, $4, $5, $6, $7);\n\t      case 9:\n\t        return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8);\n\t      case 10:\n\t        return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8, $9);\n\t    }\n\t  }));\n\t});\n\tmodule.exports = constructN;\n\n/***/ }),\n/* 717 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/contains.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _contains = /*#__PURE__*/__webpack_require__(/*! ./internal/_contains */ 698);\n\t\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Returns `true` if the specified value is equal, in [`R.equals`](#equals)\n\t * terms, to at least one element of the given list; `false` otherwise.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig a -> [a] -> Boolean\n\t * @param {Object} a The item to compare against.\n\t * @param {Array} list The array to consider.\n\t * @return {Boolean} `true` if an equivalent item is in the list, `false` otherwise.\n\t * @see R.any\n\t * @example\n\t *\n\t *      R.contains(3, [1, 2, 3]); //=> true\n\t *      R.contains(4, [1, 2, 3]); //=> false\n\t *      R.contains({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true\n\t *      R.contains([42], [[42]]); //=> true\n\t */\n\t\n\t\n\tvar contains = /*#__PURE__*/_curry2(_contains);\n\tmodule.exports = contains;\n\n/***/ }),\n/* 718 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/converge.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _map = /*#__PURE__*/__webpack_require__(/*! ./internal/_map */ 632);\n\t\n\tvar curryN = /*#__PURE__*/__webpack_require__(/*! ./curryN */ 616);\n\t\n\tvar max = /*#__PURE__*/__webpack_require__(/*! ./max */ 629);\n\t\n\tvar pluck = /*#__PURE__*/__webpack_require__(/*! ./pluck */ 630);\n\t\n\tvar reduce = /*#__PURE__*/__webpack_require__(/*! ./reduce */ 644);\n\t\n\t/**\n\t * Accepts a converging function and a list of branching functions and returns\n\t * a new function. When invoked, this new function is applied to some\n\t * arguments, each branching function is applied to those same arguments. The\n\t * results of each branching function are passed as arguments to the converging\n\t * function to produce the return value.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.4.2\n\t * @category Function\n\t * @sig ((x1, x2, ...) -> z) -> [((a, b, ...) -> x1), ((a, b, ...) -> x2), ...] -> (a -> b -> ... -> z)\n\t * @param {Function} after A function. `after` will be invoked with the return values of\n\t *        `fn1` and `fn2` as its arguments.\n\t * @param {Array} functions A list of functions.\n\t * @return {Function} A new function.\n\t * @see R.useWith\n\t * @example\n\t *\n\t *      var average = R.converge(R.divide, [R.sum, R.length])\n\t *      average([1, 2, 3, 4, 5, 6, 7]) //=> 4\n\t *\n\t *      var strangeConcat = R.converge(R.concat, [R.toUpper, R.toLower])\n\t *      strangeConcat(\"Yodel\") //=> \"YODELyodel\"\n\t *\n\t * @symb R.converge(f, [g, h])(a, b) = f(g(a, b), h(a, b))\n\t */\n\t\n\t\n\tvar converge = /*#__PURE__*/_curry2(function converge(after, fns) {\n\t  return curryN(reduce(max, 0, pluck('length', fns)), function () {\n\t    var args = arguments;\n\t    var context = this;\n\t    return after.apply(context, _map(function (fn) {\n\t      return fn.apply(context, args);\n\t    }, fns));\n\t  });\n\t});\n\tmodule.exports = converge;\n\n/***/ }),\n/* 719 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/countBy.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar reduceBy = /*#__PURE__*/__webpack_require__(/*! ./reduceBy */ 720);\n\t\n\t/**\n\t * Counts the elements of a list according to how many match each value of a\n\t * key generated by the supplied function. Returns an object mapping the keys\n\t * produced by `fn` to the number of occurrences in the list. Note that all\n\t * keys are coerced to strings because of how JavaScript objects work.\n\t *\n\t * Acts as a transducer if a transformer is given in list position.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Relation\n\t * @sig (a -> String) -> [a] -> {*}\n\t * @param {Function} fn The function used to map values to keys.\n\t * @param {Array} list The list to count elements from.\n\t * @return {Object} An object mapping keys to number of occurrences in the list.\n\t * @example\n\t *\n\t *      var numbers = [1.0, 1.1, 1.2, 2.0, 3.0, 2.2];\n\t *      R.countBy(Math.floor)(numbers);    //=> {'1': 3, '2': 2, '3': 1}\n\t *\n\t *      var letters = ['a', 'b', 'A', 'a', 'B', 'c'];\n\t *      R.countBy(R.toLower)(letters);   //=> {'a': 3, 'b': 2, 'c': 1}\n\t */\n\t\n\t\n\tvar countBy = /*#__PURE__*/reduceBy(function (acc, elem) {\n\t  return acc + 1;\n\t}, 0);\n\tmodule.exports = countBy;\n\n/***/ }),\n/* 720 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/reduceBy.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curryN = /*#__PURE__*/__webpack_require__(/*! ./internal/_curryN */ 618);\n\t\n\tvar _dispatchable = /*#__PURE__*/__webpack_require__(/*! ./internal/_dispatchable */ 622);\n\t\n\tvar _has = /*#__PURE__*/__webpack_require__(/*! ./internal/_has */ 640);\n\t\n\tvar _reduce = /*#__PURE__*/__webpack_require__(/*! ./internal/_reduce */ 633);\n\t\n\tvar _xreduceBy = /*#__PURE__*/__webpack_require__(/*! ./internal/_xreduceBy */ 721);\n\t\n\t/**\n\t * Groups the elements of the list according to the result of calling\n\t * the String-returning function `keyFn` on each element and reduces the elements\n\t * of each group to a single value via the reducer function `valueFn`.\n\t *\n\t * This function is basically a more general [`groupBy`](#groupBy) function.\n\t *\n\t * Acts as a transducer if a transformer is given in list position.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.20.0\n\t * @category List\n\t * @sig ((a, b) -> a) -> a -> (b -> String) -> [b] -> {String: a}\n\t * @param {Function} valueFn The function that reduces the elements of each group to a single\n\t *        value. Receives two values, accumulator for a particular group and the current element.\n\t * @param {*} acc The (initial) accumulator value for each group.\n\t * @param {Function} keyFn The function that maps the list's element into a key.\n\t * @param {Array} list The array to group.\n\t * @return {Object} An object with the output of `keyFn` for keys, mapped to the output of\n\t *         `valueFn` for elements which produced that key when passed to `keyFn`.\n\t * @see R.groupBy, R.reduce\n\t * @example\n\t *\n\t *      var reduceToNamesBy = R.reduceBy((acc, student) => acc.concat(student.name), []);\n\t *      var namesByGrade = reduceToNamesBy(function(student) {\n\t *        var score = student.score;\n\t *        return score < 65 ? 'F' :\n\t *               score < 70 ? 'D' :\n\t *               score < 80 ? 'C' :\n\t *               score < 90 ? 'B' : 'A';\n\t *      });\n\t *      var students = [{name: 'Lucy', score: 92},\n\t *                      {name: 'Drew', score: 85},\n\t *                      // ...\n\t *                      {name: 'Bart', score: 62}];\n\t *      namesByGrade(students);\n\t *      // {\n\t *      //   'A': ['Lucy'],\n\t *      //   'B': ['Drew']\n\t *      //   // ...,\n\t *      //   'F': ['Bart']\n\t *      // }\n\t */\n\t\n\t\n\tvar reduceBy = /*#__PURE__*/_curryN(4, [], /*#__PURE__*/_dispatchable([], _xreduceBy, function reduceBy(valueFn, valueAcc, keyFn, list) {\n\t  return _reduce(function (acc, elt) {\n\t    var key = keyFn(elt);\n\t    acc[key] = valueFn(_has(key, acc) ? acc[key] : valueAcc, elt);\n\t    return acc;\n\t  }, {}, list);\n\t}));\n\tmodule.exports = reduceBy;\n\n/***/ }),\n/* 721 */\n/*!*********************************************!*\\\n  !*** ../~/ramda/src/internal/_xreduceBy.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curryN = /*#__PURE__*/__webpack_require__(/*! ./_curryN */ 618);\n\t\n\tvar _has = /*#__PURE__*/__webpack_require__(/*! ./_has */ 640);\n\t\n\tvar _xfBase = /*#__PURE__*/__webpack_require__(/*! ./_xfBase */ 627);\n\t\n\tvar XReduceBy = /*#__PURE__*/function () {\n\t\n\t  function XReduceBy(valueFn, valueAcc, keyFn, xf) {\n\t    this.valueFn = valueFn;\n\t    this.valueAcc = valueAcc;\n\t    this.keyFn = keyFn;\n\t    this.xf = xf;\n\t    this.inputs = {};\n\t  }\n\t  XReduceBy.prototype['@@transducer/init'] = _xfBase.init;\n\t  XReduceBy.prototype['@@transducer/result'] = function (result) {\n\t    var key;\n\t    for (key in this.inputs) {\n\t      if (_has(key, this.inputs)) {\n\t        result = this.xf['@@transducer/step'](result, this.inputs[key]);\n\t        if (result['@@transducer/reduced']) {\n\t          result = result['@@transducer/value'];\n\t          break;\n\t        }\n\t      }\n\t    }\n\t    this.inputs = null;\n\t    return this.xf['@@transducer/result'](result);\n\t  };\n\t  XReduceBy.prototype['@@transducer/step'] = function (result, input) {\n\t    var key = this.keyFn(input);\n\t    this.inputs[key] = this.inputs[key] || [key, this.valueAcc];\n\t    this.inputs[key][1] = this.valueFn(this.inputs[key][1], input);\n\t    return result;\n\t  };\n\t\n\t  return XReduceBy;\n\t}();\n\t\n\tvar _xreduceBy = /*#__PURE__*/_curryN(4, [], function _xreduceBy(valueFn, valueAcc, keyFn, xf) {\n\t  return new XReduceBy(valueFn, valueAcc, keyFn, xf);\n\t});\n\tmodule.exports = _xreduceBy;\n\n/***/ }),\n/* 722 */\n/*!*****************************!*\\\n  !*** ../~/ramda/src/dec.js ***!\n  \\*****************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar add = /*#__PURE__*/__webpack_require__(/*! ./add */ 612);\n\t\n\t/**\n\t * Decrements its argument.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.9.0\n\t * @category Math\n\t * @sig Number -> Number\n\t * @param {Number} n\n\t * @return {Number} n - 1\n\t * @see R.inc\n\t * @example\n\t *\n\t *      R.dec(42); //=> 41\n\t */\n\t\n\t\n\tvar dec = /*#__PURE__*/add(-1);\n\tmodule.exports = dec;\n\n/***/ }),\n/* 723 */\n/*!***********************************!*\\\n  !*** ../~/ramda/src/defaultTo.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Returns the second argument if it is not `null`, `undefined` or `NaN`;\n\t * otherwise the first argument is returned.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.10.0\n\t * @category Logic\n\t * @sig a -> b -> a | b\n\t * @param {a} default The default value.\n\t * @param {b} val `val` will be returned instead of `default` unless `val` is `null`, `undefined` or `NaN`.\n\t * @return {*} The second value if it is not `null`, `undefined` or `NaN`, otherwise the default value\n\t * @example\n\t *\n\t *      var defaultTo42 = R.defaultTo(42);\n\t *\n\t *      defaultTo42(null);  //=> 42\n\t *      defaultTo42(undefined);  //=> 42\n\t *      defaultTo42('Ramda');  //=> 'Ramda'\n\t *      // parseInt('string') results in NaN\n\t *      defaultTo42(parseInt('string')); //=> 42\n\t */\n\t\n\t\n\tvar defaultTo = /*#__PURE__*/_curry2(function defaultTo(d, v) {\n\t  return v == null || v !== v ? d : v;\n\t});\n\tmodule.exports = defaultTo;\n\n/***/ }),\n/* 724 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/descend.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\t/**\n\t * Makes a descending comparator function out of a function that returns a value\n\t * that can be compared with `<` and `>`.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.23.0\n\t * @category Function\n\t * @sig Ord b => (a -> b) -> a -> a -> Number\n\t * @param {Function} fn A function of arity one that returns a value that can be compared\n\t * @param {*} a The first item to be compared.\n\t * @param {*} b The second item to be compared.\n\t * @return {Number} `-1` if fn(a) > fn(b), `1` if fn(b) > fn(a), otherwise `0`\n\t * @see R.ascend\n\t * @example\n\t *\n\t *      var byAge = R.descend(R.prop('age'));\n\t *      var people = [\n\t *        // ...\n\t *      ];\n\t *      var peopleByOldestFirst = R.sort(byAge, people);\n\t */\n\t\n\t\n\tvar descend = /*#__PURE__*/_curry3(function descend(fn, a, b) {\n\t  var aa = fn(a);\n\t  var bb = fn(b);\n\t  return aa > bb ? -1 : aa < bb ? 1 : 0;\n\t});\n\tmodule.exports = descend;\n\n/***/ }),\n/* 725 */\n/*!************************************!*\\\n  !*** ../~/ramda/src/difference.js ***!\n  \\************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _contains = /*#__PURE__*/__webpack_require__(/*! ./internal/_contains */ 698);\n\t\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Finds the set (i.e. no duplicates) of all elements in the first list not\n\t * contained in the second list. Objects and Arrays are compared in terms of\n\t * value equality, not reference equality.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Relation\n\t * @sig [*] -> [*] -> [*]\n\t * @param {Array} list1 The first list.\n\t * @param {Array} list2 The second list.\n\t * @return {Array} The elements in `list1` that are not in `list2`.\n\t * @see R.differenceWith, R.symmetricDifference, R.symmetricDifferenceWith, R.without\n\t * @example\n\t *\n\t *      R.difference([1,2,3,4], [7,6,5,4,3]); //=> [1,2]\n\t *      R.difference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5]\n\t *      R.difference([{a: 1}, {b: 2}], [{a: 1}, {c: 3}]) //=> [{b: 2}]\n\t */\n\t\n\t\n\tvar difference = /*#__PURE__*/_curry2(function difference(first, second) {\n\t  var out = [];\n\t  var idx = 0;\n\t  var firstLen = first.length;\n\t  while (idx < firstLen) {\n\t    if (!_contains(first[idx], second) && !_contains(first[idx], out)) {\n\t      out[out.length] = first[idx];\n\t    }\n\t    idx += 1;\n\t  }\n\t  return out;\n\t});\n\tmodule.exports = difference;\n\n/***/ }),\n/* 726 */\n/*!****************************************!*\\\n  !*** ../~/ramda/src/differenceWith.js ***!\n  \\****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _containsWith = /*#__PURE__*/__webpack_require__(/*! ./internal/_containsWith */ 703);\n\t\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\t/**\n\t * Finds the set (i.e. no duplicates) of all elements in the first list not\n\t * contained in the second list. Duplication is determined according to the\n\t * value returned by applying the supplied predicate to two list elements.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Relation\n\t * @sig ((a, a) -> Boolean) -> [a] -> [a] -> [a]\n\t * @param {Function} pred A predicate used to test whether two items are equal.\n\t * @param {Array} list1 The first list.\n\t * @param {Array} list2 The second list.\n\t * @return {Array} The elements in `list1` that are not in `list2`.\n\t * @see R.difference, R.symmetricDifference, R.symmetricDifferenceWith\n\t * @example\n\t *\n\t *      var cmp = (x, y) => x.a === y.a;\n\t *      var l1 = [{a: 1}, {a: 2}, {a: 3}];\n\t *      var l2 = [{a: 3}, {a: 4}];\n\t *      R.differenceWith(cmp, l1, l2); //=> [{a: 1}, {a: 2}]\n\t */\n\t\n\t\n\tvar differenceWith = /*#__PURE__*/_curry3(function differenceWith(pred, first, second) {\n\t  var out = [];\n\t  var idx = 0;\n\t  var firstLen = first.length;\n\t  while (idx < firstLen) {\n\t    if (!_containsWith(pred, first[idx], second) && !_containsWith(pred, first[idx], out)) {\n\t      out.push(first[idx]);\n\t    }\n\t    idx += 1;\n\t  }\n\t  return out;\n\t});\n\tmodule.exports = differenceWith;\n\n/***/ }),\n/* 727 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/dissoc.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Returns a new object that does not contain a `prop` property.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.10.0\n\t * @category Object\n\t * @sig String -> {k: v} -> {k: v}\n\t * @param {String} prop The name of the property to dissociate\n\t * @param {Object} obj The object to clone\n\t * @return {Object} A new object equivalent to the original but without the specified property\n\t * @see R.assoc\n\t * @example\n\t *\n\t *      R.dissoc('b', {a: 1, b: 2, c: 3}); //=> {a: 1, c: 3}\n\t */\n\t\n\t\n\tvar dissoc = /*#__PURE__*/_curry2(function dissoc(prop, obj) {\n\t  var result = {};\n\t  for (var p in obj) {\n\t    result[p] = obj[p];\n\t  }\n\t  delete result[prop];\n\t  return result;\n\t});\n\tmodule.exports = dissoc;\n\n/***/ }),\n/* 728 */\n/*!************************************!*\\\n  !*** ../~/ramda/src/dissocPath.js ***!\n  \\************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _isInteger = /*#__PURE__*/__webpack_require__(/*! ./internal/_isInteger */ 661);\n\t\n\tvar assoc = /*#__PURE__*/__webpack_require__(/*! ./assoc */ 659);\n\t\n\tvar dissoc = /*#__PURE__*/__webpack_require__(/*! ./dissoc */ 727);\n\t\n\tvar remove = /*#__PURE__*/__webpack_require__(/*! ./remove */ 729);\n\t\n\tvar update = /*#__PURE__*/__webpack_require__(/*! ./update */ 730);\n\t\n\t/**\n\t * Makes a shallow clone of an object, omitting the property at the given path.\n\t * Note that this copies and flattens prototype properties onto the new object\n\t * as well. All non-primitive properties are copied by reference.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.11.0\n\t * @category Object\n\t * @typedefn Idx = String | Int\n\t * @sig [Idx] -> {k: v} -> {k: v}\n\t * @param {Array} path The path to the value to omit\n\t * @param {Object} obj The object to clone\n\t * @return {Object} A new object without the property at path\n\t * @see R.assocPath\n\t * @example\n\t *\n\t *      R.dissocPath(['a', 'b', 'c'], {a: {b: {c: 42}}}); //=> {a: {b: {}}}\n\t */\n\t\n\t\n\tvar dissocPath = /*#__PURE__*/_curry2(function dissocPath(path, obj) {\n\t  switch (path.length) {\n\t    case 0:\n\t      return obj;\n\t    case 1:\n\t      return _isInteger(path[0]) ? remove(path[0], 1, obj) : dissoc(path[0], obj);\n\t    default:\n\t      var head = path[0];\n\t      var tail = Array.prototype.slice.call(path, 1);\n\t      if (obj[head] == null) {\n\t        return obj;\n\t      } else if (_isInteger(path[0])) {\n\t        return update(head, dissocPath(tail, obj[head]), obj);\n\t      } else {\n\t        return assoc(head, dissocPath(tail, obj[head]), obj);\n\t      }\n\t  }\n\t});\n\tmodule.exports = dissocPath;\n\n/***/ }),\n/* 729 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/remove.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\t/**\n\t * Removes the sub-list of `list` starting at index `start` and containing\n\t * `count` elements. _Note that this is not destructive_: it returns a copy of\n\t * the list with the changes.\n\t * <small>No lists have been harmed in the application of this function.</small>\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.2.2\n\t * @category List\n\t * @sig Number -> Number -> [a] -> [a]\n\t * @param {Number} start The position to start removing elements\n\t * @param {Number} count The number of elements to remove\n\t * @param {Array} list The list to remove from\n\t * @return {Array} A new Array with `count` elements from `start` removed.\n\t * @example\n\t *\n\t *      R.remove(2, 3, [1,2,3,4,5,6,7,8]); //=> [1,2,6,7,8]\n\t */\n\t\n\t\n\tvar remove = /*#__PURE__*/_curry3(function remove(start, count, list) {\n\t  var result = Array.prototype.slice.call(list, 0);\n\t  result.splice(start, count);\n\t  return result;\n\t});\n\tmodule.exports = remove;\n\n/***/ }),\n/* 730 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/update.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\tvar adjust = /*#__PURE__*/__webpack_require__(/*! ./adjust */ 619);\n\t\n\tvar always = /*#__PURE__*/__webpack_require__(/*! ./always */ 607);\n\t\n\t/**\n\t * Returns a new copy of the array with the element at the provided index\n\t * replaced with the given value.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.14.0\n\t * @category List\n\t * @sig Number -> a -> [a] -> [a]\n\t * @param {Number} idx The index to update.\n\t * @param {*} x The value to exist at the given index of the returned array.\n\t * @param {Array|Arguments} list The source array-like object to be updated.\n\t * @return {Array} A copy of `list` with the value at index `idx` replaced with `x`.\n\t * @see R.adjust\n\t * @example\n\t *\n\t *      R.update(1, 11, [0, 1, 2]);     //=> [0, 11, 2]\n\t *      R.update(1)(11)([0, 1, 2]);     //=> [0, 11, 2]\n\t * @symb R.update(-1, a, [b, c]) = [b, a]\n\t * @symb R.update(0, a, [b, c]) = [a, c]\n\t * @symb R.update(1, a, [b, c]) = [b, a]\n\t */\n\t\n\t\n\tvar update = /*#__PURE__*/_curry3(function update(idx, x, list) {\n\t  return adjust(always(x), idx, list);\n\t});\n\tmodule.exports = update;\n\n/***/ }),\n/* 731 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/divide.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Divides two numbers. Equivalent to `a / b`.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Math\n\t * @sig Number -> Number -> Number\n\t * @param {Number} a The first value.\n\t * @param {Number} b The second value.\n\t * @return {Number} The result of `a / b`.\n\t * @see R.multiply\n\t * @example\n\t *\n\t *      R.divide(71, 100); //=> 0.71\n\t *\n\t *      var half = R.divide(R.__, 2);\n\t *      half(42); //=> 21\n\t *\n\t *      var reciprocal = R.divide(1);\n\t *      reciprocal(4);   //=> 0.25\n\t */\n\t\n\t\n\tvar divide = /*#__PURE__*/_curry2(function divide(a, b) {\n\t  return a / b;\n\t});\n\tmodule.exports = divide;\n\n/***/ }),\n/* 732 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/drop.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _dispatchable = /*#__PURE__*/__webpack_require__(/*! ./internal/_dispatchable */ 622);\n\t\n\tvar _xdrop = /*#__PURE__*/__webpack_require__(/*! ./internal/_xdrop */ 733);\n\t\n\tvar slice = /*#__PURE__*/__webpack_require__(/*! ./slice */ 689);\n\t\n\t/**\n\t * Returns all but the first `n` elements of the given list, string, or\n\t * transducer/transformer (or object with a `drop` method).\n\t *\n\t * Dispatches to the `drop` method of the second argument, if present.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig Number -> [a] -> [a]\n\t * @sig Number -> String -> String\n\t * @param {Number} n\n\t * @param {*} list\n\t * @return {*} A copy of list without the first `n` elements\n\t * @see R.take, R.transduce, R.dropLast, R.dropWhile\n\t * @example\n\t *\n\t *      R.drop(1, ['foo', 'bar', 'baz']); //=> ['bar', 'baz']\n\t *      R.drop(2, ['foo', 'bar', 'baz']); //=> ['baz']\n\t *      R.drop(3, ['foo', 'bar', 'baz']); //=> []\n\t *      R.drop(4, ['foo', 'bar', 'baz']); //=> []\n\t *      R.drop(3, 'ramda');               //=> 'da'\n\t */\n\t\n\t\n\tvar drop = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['drop'], _xdrop, function drop(n, xs) {\n\t  return slice(Math.max(0, n), Infinity, xs);\n\t}));\n\tmodule.exports = drop;\n\n/***/ }),\n/* 733 */\n/*!*****************************************!*\\\n  !*** ../~/ramda/src/internal/_xdrop.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./_curry2 */ 613);\n\t\n\tvar _xfBase = /*#__PURE__*/__webpack_require__(/*! ./_xfBase */ 627);\n\t\n\tvar XDrop = /*#__PURE__*/function () {\n\t\n\t  function XDrop(n, xf) {\n\t    this.xf = xf;\n\t    this.n = n;\n\t  }\n\t  XDrop.prototype['@@transducer/init'] = _xfBase.init;\n\t  XDrop.prototype['@@transducer/result'] = _xfBase.result;\n\t  XDrop.prototype['@@transducer/step'] = function (result, input) {\n\t    if (this.n > 0) {\n\t      this.n -= 1;\n\t      return result;\n\t    }\n\t    return this.xf['@@transducer/step'](result, input);\n\t  };\n\t\n\t  return XDrop;\n\t}();\n\t\n\tvar _xdrop = /*#__PURE__*/_curry2(function _xdrop(n, xf) {\n\t  return new XDrop(n, xf);\n\t});\n\tmodule.exports = _xdrop;\n\n/***/ }),\n/* 734 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/dropLast.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _dispatchable = /*#__PURE__*/__webpack_require__(/*! ./internal/_dispatchable */ 622);\n\t\n\tvar _dropLast = /*#__PURE__*/__webpack_require__(/*! ./internal/_dropLast */ 735);\n\t\n\tvar _xdropLast = /*#__PURE__*/__webpack_require__(/*! ./internal/_xdropLast */ 738);\n\t\n\t/**\n\t * Returns a list containing all but the last `n` elements of the given `list`.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.16.0\n\t * @category List\n\t * @sig Number -> [a] -> [a]\n\t * @sig Number -> String -> String\n\t * @param {Number} n The number of elements of `list` to skip.\n\t * @param {Array} list The list of elements to consider.\n\t * @return {Array} A copy of the list with only the first `list.length - n` elements\n\t * @see R.takeLast, R.drop, R.dropWhile, R.dropLastWhile\n\t * @example\n\t *\n\t *      R.dropLast(1, ['foo', 'bar', 'baz']); //=> ['foo', 'bar']\n\t *      R.dropLast(2, ['foo', 'bar', 'baz']); //=> ['foo']\n\t *      R.dropLast(3, ['foo', 'bar', 'baz']); //=> []\n\t *      R.dropLast(4, ['foo', 'bar', 'baz']); //=> []\n\t *      R.dropLast(3, 'ramda');               //=> 'ra'\n\t */\n\t\n\t\n\tvar dropLast = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xdropLast, _dropLast));\n\tmodule.exports = dropLast;\n\n/***/ }),\n/* 735 */\n/*!********************************************!*\\\n  !*** ../~/ramda/src/internal/_dropLast.js ***!\n  \\********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar take = /*#__PURE__*/__webpack_require__(/*! ../take */ 736);\n\t\n\tfunction dropLast(n, xs) {\n\t  return take(n < xs.length ? xs.length - n : 0, xs);\n\t}\n\tmodule.exports = dropLast;\n\n/***/ }),\n/* 736 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/take.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _dispatchable = /*#__PURE__*/__webpack_require__(/*! ./internal/_dispatchable */ 622);\n\t\n\tvar _xtake = /*#__PURE__*/__webpack_require__(/*! ./internal/_xtake */ 737);\n\t\n\tvar slice = /*#__PURE__*/__webpack_require__(/*! ./slice */ 689);\n\t\n\t/**\n\t * Returns the first `n` elements of the given list, string, or\n\t * transducer/transformer (or object with a `take` method).\n\t *\n\t * Dispatches to the `take` method of the second argument, if present.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig Number -> [a] -> [a]\n\t * @sig Number -> String -> String\n\t * @param {Number} n\n\t * @param {*} list\n\t * @return {*}\n\t * @see R.drop\n\t * @example\n\t *\n\t *      R.take(1, ['foo', 'bar', 'baz']); //=> ['foo']\n\t *      R.take(2, ['foo', 'bar', 'baz']); //=> ['foo', 'bar']\n\t *      R.take(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n\t *      R.take(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n\t *      R.take(3, 'ramda');               //=> 'ram'\n\t *\n\t *      var personnel = [\n\t *        'Dave Brubeck',\n\t *        'Paul Desmond',\n\t *        'Eugene Wright',\n\t *        'Joe Morello',\n\t *        'Gerry Mulligan',\n\t *        'Bob Bates',\n\t *        'Joe Dodge',\n\t *        'Ron Crotty'\n\t *      ];\n\t *\n\t *      var takeFive = R.take(5);\n\t *      takeFive(personnel);\n\t *      //=> ['Dave Brubeck', 'Paul Desmond', 'Eugene Wright', 'Joe Morello', 'Gerry Mulligan']\n\t * @symb R.take(-1, [a, b]) = [a, b]\n\t * @symb R.take(0, [a, b]) = []\n\t * @symb R.take(1, [a, b]) = [a]\n\t * @symb R.take(2, [a, b]) = [a, b]\n\t */\n\t\n\t\n\tvar take = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['take'], _xtake, function take(n, xs) {\n\t  return slice(0, n < 0 ? Infinity : n, xs);\n\t}));\n\tmodule.exports = take;\n\n/***/ }),\n/* 737 */\n/*!*****************************************!*\\\n  !*** ../~/ramda/src/internal/_xtake.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./_curry2 */ 613);\n\t\n\tvar _reduced = /*#__PURE__*/__webpack_require__(/*! ./_reduced */ 626);\n\t\n\tvar _xfBase = /*#__PURE__*/__webpack_require__(/*! ./_xfBase */ 627);\n\t\n\tvar XTake = /*#__PURE__*/function () {\n\t\n\t  function XTake(n, xf) {\n\t    this.xf = xf;\n\t    this.n = n;\n\t    this.i = 0;\n\t  }\n\t  XTake.prototype['@@transducer/init'] = _xfBase.init;\n\t  XTake.prototype['@@transducer/result'] = _xfBase.result;\n\t  XTake.prototype['@@transducer/step'] = function (result, input) {\n\t    this.i += 1;\n\t    var ret = this.n === 0 ? result : this.xf['@@transducer/step'](result, input);\n\t    return this.n >= 0 && this.i >= this.n ? _reduced(ret) : ret;\n\t  };\n\t\n\t  return XTake;\n\t}();\n\t\n\tvar _xtake = /*#__PURE__*/_curry2(function _xtake(n, xf) {\n\t  return new XTake(n, xf);\n\t});\n\tmodule.exports = _xtake;\n\n/***/ }),\n/* 738 */\n/*!*********************************************!*\\\n  !*** ../~/ramda/src/internal/_xdropLast.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./_curry2 */ 613);\n\t\n\tvar _xfBase = /*#__PURE__*/__webpack_require__(/*! ./_xfBase */ 627);\n\t\n\tvar XDropLast = /*#__PURE__*/function () {\n\t\n\t  function XDropLast(n, xf) {\n\t    this.xf = xf;\n\t    this.pos = 0;\n\t    this.full = false;\n\t    this.acc = new Array(n);\n\t  }\n\t  XDropLast.prototype['@@transducer/init'] = _xfBase.init;\n\t  XDropLast.prototype['@@transducer/result'] = function (result) {\n\t    this.acc = null;\n\t    return this.xf['@@transducer/result'](result);\n\t  };\n\t  XDropLast.prototype['@@transducer/step'] = function (result, input) {\n\t    if (this.full) {\n\t      result = this.xf['@@transducer/step'](result, this.acc[this.pos]);\n\t    }\n\t    this.store(input);\n\t    return result;\n\t  };\n\t  XDropLast.prototype.store = function (input) {\n\t    this.acc[this.pos] = input;\n\t    this.pos += 1;\n\t    if (this.pos === this.acc.length) {\n\t      this.pos = 0;\n\t      this.full = true;\n\t    }\n\t  };\n\t\n\t  return XDropLast;\n\t}();\n\t\n\tvar _xdropLast = /*#__PURE__*/_curry2(function _xdropLast(n, xf) {\n\t  return new XDropLast(n, xf);\n\t});\n\tmodule.exports = _xdropLast;\n\n/***/ }),\n/* 739 */\n/*!***************************************!*\\\n  !*** ../~/ramda/src/dropLastWhile.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _dispatchable = /*#__PURE__*/__webpack_require__(/*! ./internal/_dispatchable */ 622);\n\t\n\tvar _dropLastWhile = /*#__PURE__*/__webpack_require__(/*! ./internal/_dropLastWhile */ 740);\n\t\n\tvar _xdropLastWhile = /*#__PURE__*/__webpack_require__(/*! ./internal/_xdropLastWhile */ 741);\n\t\n\t/**\n\t * Returns a new list excluding all the tailing elements of a given list which\n\t * satisfy the supplied predicate function. It passes each value from the right\n\t * to the supplied predicate function, skipping elements until the predicate\n\t * function returns a `falsy` value. The predicate function is applied to one argument:\n\t * *(value)*.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.16.0\n\t * @category List\n\t * @sig (a -> Boolean) -> [a] -> [a]\n\t * @sig (a -> Boolean) -> String -> String\n\t * @param {Function} predicate The function to be called on each element\n\t * @param {Array} xs The collection to iterate over.\n\t * @return {Array} A new array without any trailing elements that return `falsy` values from the `predicate`.\n\t * @see R.takeLastWhile, R.addIndex, R.drop, R.dropWhile\n\t * @example\n\t *\n\t *      var lteThree = x => x <= 3;\n\t *\n\t *      R.dropLastWhile(lteThree, [1, 2, 3, 4, 3, 2, 1]); //=> [1, 2, 3, 4]\n\t *\n\t *      R.dropLastWhile(x => x !== 'd' , 'Ramda'); //=> 'Ramd'\n\t */\n\t\n\t\n\tvar dropLastWhile = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xdropLastWhile, _dropLastWhile));\n\tmodule.exports = dropLastWhile;\n\n/***/ }),\n/* 740 */\n/*!*************************************************!*\\\n  !*** ../~/ramda/src/internal/_dropLastWhile.js ***!\n  \\*************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar slice = /*#__PURE__*/__webpack_require__(/*! ../slice */ 689);\n\t\n\tfunction dropLastWhile(pred, xs) {\n\t  var idx = xs.length - 1;\n\t  while (idx >= 0 && pred(xs[idx])) {\n\t    idx -= 1;\n\t  }\n\t  return slice(0, idx + 1, xs);\n\t}\n\tmodule.exports = dropLastWhile;\n\n/***/ }),\n/* 741 */\n/*!**************************************************!*\\\n  !*** ../~/ramda/src/internal/_xdropLastWhile.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./_curry2 */ 613);\n\t\n\tvar _reduce = /*#__PURE__*/__webpack_require__(/*! ./_reduce */ 633);\n\t\n\tvar _xfBase = /*#__PURE__*/__webpack_require__(/*! ./_xfBase */ 627);\n\t\n\tvar XDropLastWhile = /*#__PURE__*/function () {\n\t\n\t  function XDropLastWhile(fn, xf) {\n\t    this.f = fn;\n\t    this.retained = [];\n\t    this.xf = xf;\n\t  }\n\t  XDropLastWhile.prototype['@@transducer/init'] = _xfBase.init;\n\t  XDropLastWhile.prototype['@@transducer/result'] = function (result) {\n\t    this.retained = null;\n\t    return this.xf['@@transducer/result'](result);\n\t  };\n\t  XDropLastWhile.prototype['@@transducer/step'] = function (result, input) {\n\t    return this.f(input) ? this.retain(result, input) : this.flush(result, input);\n\t  };\n\t  XDropLastWhile.prototype.flush = function (result, input) {\n\t    result = _reduce(this.xf['@@transducer/step'], result, this.retained);\n\t    this.retained = [];\n\t    return this.xf['@@transducer/step'](result, input);\n\t  };\n\t  XDropLastWhile.prototype.retain = function (result, input) {\n\t    this.retained.push(input);\n\t    return result;\n\t  };\n\t\n\t  return XDropLastWhile;\n\t}();\n\t\n\tvar _xdropLastWhile = /*#__PURE__*/_curry2(function _xdropLastWhile(fn, xf) {\n\t  return new XDropLastWhile(fn, xf);\n\t});\n\tmodule.exports = _xdropLastWhile;\n\n/***/ }),\n/* 742 */\n/*!*************************************!*\\\n  !*** ../~/ramda/src/dropRepeats.js ***!\n  \\*************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar _dispatchable = /*#__PURE__*/__webpack_require__(/*! ./internal/_dispatchable */ 622);\n\t\n\tvar _xdropRepeatsWith = /*#__PURE__*/__webpack_require__(/*! ./internal/_xdropRepeatsWith */ 743);\n\t\n\tvar dropRepeatsWith = /*#__PURE__*/__webpack_require__(/*! ./dropRepeatsWith */ 744);\n\t\n\tvar equals = /*#__PURE__*/__webpack_require__(/*! ./equals */ 700);\n\t\n\t/**\n\t * Returns a new list without any consecutively repeating elements.\n\t * [`R.equals`](#equals) is used to determine equality.\n\t *\n\t * Acts as a transducer if a transformer is given in list position.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.14.0\n\t * @category List\n\t * @sig [a] -> [a]\n\t * @param {Array} list The array to consider.\n\t * @return {Array} `list` without repeating elements.\n\t * @see R.transduce\n\t * @example\n\t *\n\t *     R.dropRepeats([1, 1, 1, 2, 3, 4, 4, 2, 2]); //=> [1, 2, 3, 4, 2]\n\t */\n\t\n\t\n\tvar dropRepeats = /*#__PURE__*/_curry1( /*#__PURE__*/_dispatchable([], /*#__PURE__*/_xdropRepeatsWith(equals), /*#__PURE__*/dropRepeatsWith(equals)));\n\tmodule.exports = dropRepeats;\n\n/***/ }),\n/* 743 */\n/*!****************************************************!*\\\n  !*** ../~/ramda/src/internal/_xdropRepeatsWith.js ***!\n  \\****************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./_curry2 */ 613);\n\t\n\tvar _xfBase = /*#__PURE__*/__webpack_require__(/*! ./_xfBase */ 627);\n\t\n\tvar XDropRepeatsWith = /*#__PURE__*/function () {\n\t\n\t  function XDropRepeatsWith(pred, xf) {\n\t    this.xf = xf;\n\t    this.pred = pred;\n\t    this.lastValue = undefined;\n\t    this.seenFirstValue = false;\n\t  }\n\t\n\t  XDropRepeatsWith.prototype['@@transducer/init'] = _xfBase.init;\n\t  XDropRepeatsWith.prototype['@@transducer/result'] = _xfBase.result;\n\t  XDropRepeatsWith.prototype['@@transducer/step'] = function (result, input) {\n\t    var sameAsLast = false;\n\t    if (!this.seenFirstValue) {\n\t      this.seenFirstValue = true;\n\t    } else if (this.pred(this.lastValue, input)) {\n\t      sameAsLast = true;\n\t    }\n\t    this.lastValue = input;\n\t    return sameAsLast ? result : this.xf['@@transducer/step'](result, input);\n\t  };\n\t\n\t  return XDropRepeatsWith;\n\t}();\n\t\n\tvar _xdropRepeatsWith = /*#__PURE__*/_curry2(function _xdropRepeatsWith(pred, xf) {\n\t  return new XDropRepeatsWith(pred, xf);\n\t});\n\tmodule.exports = _xdropRepeatsWith;\n\n/***/ }),\n/* 744 */\n/*!*****************************************!*\\\n  !*** ../~/ramda/src/dropRepeatsWith.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _dispatchable = /*#__PURE__*/__webpack_require__(/*! ./internal/_dispatchable */ 622);\n\t\n\tvar _xdropRepeatsWith = /*#__PURE__*/__webpack_require__(/*! ./internal/_xdropRepeatsWith */ 743);\n\t\n\tvar last = /*#__PURE__*/__webpack_require__(/*! ./last */ 745);\n\t\n\t/**\n\t * Returns a new list without any consecutively repeating elements. Equality is\n\t * determined by applying the supplied predicate to each pair of consecutive elements. The\n\t * first element in a series of equal elements will be preserved.\n\t *\n\t * Acts as a transducer if a transformer is given in list position.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.14.0\n\t * @category List\n\t * @sig ((a, a) -> Boolean) -> [a] -> [a]\n\t * @param {Function} pred A predicate used to test whether two items are equal.\n\t * @param {Array} list The array to consider.\n\t * @return {Array} `list` without repeating elements.\n\t * @see R.transduce\n\t * @example\n\t *\n\t *      var l = [1, -1, 1, 3, 4, -4, -4, -5, 5, 3, 3];\n\t *      R.dropRepeatsWith(R.eqBy(Math.abs), l); //=> [1, 3, 4, -5, 3]\n\t */\n\t\n\t\n\tvar dropRepeatsWith = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xdropRepeatsWith, function dropRepeatsWith(pred, list) {\n\t  var result = [];\n\t  var idx = 1;\n\t  var len = list.length;\n\t  if (len !== 0) {\n\t    result[0] = list[0];\n\t    while (idx < len) {\n\t      if (!pred(last(result), list[idx])) {\n\t        result[result.length] = list[idx];\n\t      }\n\t      idx += 1;\n\t    }\n\t  }\n\t  return result;\n\t}));\n\tmodule.exports = dropRepeatsWith;\n\n/***/ }),\n/* 745 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/last.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar nth = /*#__PURE__*/__webpack_require__(/*! ./nth */ 746);\n\t\n\t/**\n\t * Returns the last element of the given list or string.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.4\n\t * @category List\n\t * @sig [a] -> a | Undefined\n\t * @sig String -> String\n\t * @param {*} list\n\t * @return {*}\n\t * @see R.init, R.head, R.tail\n\t * @example\n\t *\n\t *      R.last(['fi', 'fo', 'fum']); //=> 'fum'\n\t *      R.last([]); //=> undefined\n\t *\n\t *      R.last('abc'); //=> 'c'\n\t *      R.last(''); //=> ''\n\t */\n\t\n\t\n\tvar last = /*#__PURE__*/nth(-1);\n\tmodule.exports = last;\n\n/***/ }),\n/* 746 */\n/*!*****************************!*\\\n  !*** ../~/ramda/src/nth.js ***!\n  \\*****************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _isString = /*#__PURE__*/__webpack_require__(/*! ./internal/_isString */ 635);\n\t\n\t/**\n\t * Returns the nth element of the given list or string. If n is negative the\n\t * element at index length + n is returned.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig Number -> [a] -> a | Undefined\n\t * @sig Number -> String -> String\n\t * @param {Number} offset\n\t * @param {*} list\n\t * @return {*}\n\t * @example\n\t *\n\t *      var list = ['foo', 'bar', 'baz', 'quux'];\n\t *      R.nth(1, list); //=> 'bar'\n\t *      R.nth(-1, list); //=> 'quux'\n\t *      R.nth(-99, list); //=> undefined\n\t *\n\t *      R.nth(2, 'abc'); //=> 'c'\n\t *      R.nth(3, 'abc'); //=> ''\n\t * @symb R.nth(-1, [a, b, c]) = c\n\t * @symb R.nth(0, [a, b, c]) = a\n\t * @symb R.nth(1, [a, b, c]) = b\n\t */\n\t\n\t\n\tvar nth = /*#__PURE__*/_curry2(function nth(offset, list) {\n\t  var idx = offset < 0 ? list.length + offset : offset;\n\t  return _isString(list) ? list.charAt(idx) : list[idx];\n\t});\n\tmodule.exports = nth;\n\n/***/ }),\n/* 747 */\n/*!***********************************!*\\\n  !*** ../~/ramda/src/dropWhile.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _dispatchable = /*#__PURE__*/__webpack_require__(/*! ./internal/_dispatchable */ 622);\n\t\n\tvar _xdropWhile = /*#__PURE__*/__webpack_require__(/*! ./internal/_xdropWhile */ 748);\n\t\n\tvar slice = /*#__PURE__*/__webpack_require__(/*! ./slice */ 689);\n\t\n\t/**\n\t * Returns a new list excluding the leading elements of a given list which\n\t * satisfy the supplied predicate function. It passes each value to the supplied\n\t * predicate function, skipping elements while the predicate function returns\n\t * `true`. The predicate function is applied to one argument: *(value)*.\n\t *\n\t * Dispatches to the `dropWhile` method of the second argument, if present.\n\t *\n\t * Acts as a transducer if a transformer is given in list position.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.9.0\n\t * @category List\n\t * @sig (a -> Boolean) -> [a] -> [a]\n\t * @sig (a -> Boolean) -> String -> String\n\t * @param {Function} fn The function called per iteration.\n\t * @param {Array} xs The collection to iterate over.\n\t * @return {Array} A new array.\n\t * @see R.takeWhile, R.transduce, R.addIndex\n\t * @example\n\t *\n\t *      var lteTwo = x => x <= 2;\n\t *\n\t *      R.dropWhile(lteTwo, [1, 2, 3, 4, 3, 2, 1]); //=> [3, 4, 3, 2, 1]\n\t *\n\t *      R.dropWhile(x => x !== 'd' , 'Ramda'); //=> 'da'\n\t */\n\t\n\t\n\tvar dropWhile = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['dropWhile'], _xdropWhile, function dropWhile(pred, xs) {\n\t  var idx = 0;\n\t  var len = xs.length;\n\t  while (idx < len && pred(xs[idx])) {\n\t    idx += 1;\n\t  }\n\t  return slice(idx, Infinity, xs);\n\t}));\n\tmodule.exports = dropWhile;\n\n/***/ }),\n/* 748 */\n/*!**********************************************!*\\\n  !*** ../~/ramda/src/internal/_xdropWhile.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./_curry2 */ 613);\n\t\n\tvar _xfBase = /*#__PURE__*/__webpack_require__(/*! ./_xfBase */ 627);\n\t\n\tvar XDropWhile = /*#__PURE__*/function () {\n\t\n\t  function XDropWhile(f, xf) {\n\t    this.xf = xf;\n\t    this.f = f;\n\t  }\n\t  XDropWhile.prototype['@@transducer/init'] = _xfBase.init;\n\t  XDropWhile.prototype['@@transducer/result'] = _xfBase.result;\n\t  XDropWhile.prototype['@@transducer/step'] = function (result, input) {\n\t    if (this.f) {\n\t      if (this.f(input)) {\n\t        return result;\n\t      }\n\t      this.f = null;\n\t    }\n\t    return this.xf['@@transducer/step'](result, input);\n\t  };\n\t\n\t  return XDropWhile;\n\t}();\n\t\n\tvar _xdropWhile = /*#__PURE__*/_curry2(function _xdropWhile(f, xf) {\n\t  return new XDropWhile(f, xf);\n\t});\n\tmodule.exports = _xdropWhile;\n\n/***/ }),\n/* 749 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/either.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _isFunction = /*#__PURE__*/__webpack_require__(/*! ./internal/_isFunction */ 666);\n\t\n\tvar lift = /*#__PURE__*/__webpack_require__(/*! ./lift */ 667);\n\t\n\tvar or = /*#__PURE__*/__webpack_require__(/*! ./or */ 750);\n\t\n\t/**\n\t * A function wrapping calls to the two functions in an `||` operation,\n\t * returning the result of the first function if it is truth-y and the result\n\t * of the second function otherwise. Note that this is short-circuited,\n\t * meaning that the second function will not be invoked if the first returns a\n\t * truth-y value.\n\t *\n\t * In addition to functions, `R.either` also accepts any fantasy-land compatible\n\t * applicative functor.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.12.0\n\t * @category Logic\n\t * @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean)\n\t * @param {Function} f a predicate\n\t * @param {Function} g another predicate\n\t * @return {Function} a function that applies its arguments to `f` and `g` and `||`s their outputs together.\n\t * @see R.or\n\t * @example\n\t *\n\t *      var gt10 = x => x > 10;\n\t *      var even = x => x % 2 === 0;\n\t *      var f = R.either(gt10, even);\n\t *      f(101); //=> true\n\t *      f(8); //=> true\n\t */\n\t\n\t\n\tvar either = /*#__PURE__*/_curry2(function either(f, g) {\n\t  return _isFunction(f) ? function _either() {\n\t    return f.apply(this, arguments) || g.apply(this, arguments);\n\t  } : lift(or)(f, g);\n\t});\n\tmodule.exports = either;\n\n/***/ }),\n/* 750 */\n/*!****************************!*\\\n  !*** ../~/ramda/src/or.js ***!\n  \\****************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Returns `true` if one or both of its arguments are `true`. Returns `false`\n\t * if both arguments are `false`.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Logic\n\t * @sig a -> b -> a | b\n\t * @param {Any} a\n\t * @param {Any} b\n\t * @return {Any} the first argument if truthy, otherwise the second argument.\n\t * @see R.either\n\t * @example\n\t *\n\t *      R.or(true, true); //=> true\n\t *      R.or(true, false); //=> true\n\t *      R.or(false, true); //=> true\n\t *      R.or(false, false); //=> false\n\t */\n\t\n\t\n\tvar or = /*#__PURE__*/_curry2(function or(a, b) {\n\t  return a || b;\n\t});\n\tmodule.exports = or;\n\n/***/ }),\n/* 751 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/empty.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar _isArguments = /*#__PURE__*/__webpack_require__(/*! ./internal/_isArguments */ 641);\n\t\n\tvar _isArray = /*#__PURE__*/__webpack_require__(/*! ./internal/_isArray */ 623);\n\t\n\tvar _isObject = /*#__PURE__*/__webpack_require__(/*! ./internal/_isObject */ 712);\n\t\n\tvar _isString = /*#__PURE__*/__webpack_require__(/*! ./internal/_isString */ 635);\n\t\n\t/**\n\t * Returns the empty value of its argument's type. Ramda defines the empty\n\t * value of Array (`[]`), Object (`{}`), String (`''`), and Arguments. Other\n\t * types are supported if they define `<Type>.empty`,\n\t * `<Type>.prototype.empty` or implement the\n\t * [FantasyLand Monoid spec](https://github.com/fantasyland/fantasy-land#monoid).\n\t *\n\t * Dispatches to the `empty` method of the first argument, if present.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.3.0\n\t * @category Function\n\t * @sig a -> a\n\t * @param {*} x\n\t * @return {*}\n\t * @example\n\t *\n\t *      R.empty(Just(42));      //=> Nothing()\n\t *      R.empty([1, 2, 3]);     //=> []\n\t *      R.empty('unicorns');    //=> ''\n\t *      R.empty({x: 1, y: 2});  //=> {}\n\t */\n\t\n\t\n\tvar empty = /*#__PURE__*/_curry1(function empty(x) {\n\t  return x != null && typeof x['fantasy-land/empty'] === 'function' ? x['fantasy-land/empty']() : x != null && x.constructor != null && typeof x.constructor['fantasy-land/empty'] === 'function' ? x.constructor['fantasy-land/empty']() : x != null && typeof x.empty === 'function' ? x.empty() : x != null && x.constructor != null && typeof x.constructor.empty === 'function' ? x.constructor.empty() : _isArray(x) ? [] : _isString(x) ? '' : _isObject(x) ? {} : _isArguments(x) ? function () {\n\t    return arguments;\n\t  }() :\n\t  // else\n\t  void 0;\n\t});\n\tmodule.exports = empty;\n\n/***/ }),\n/* 752 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/endsWith.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar equals = /*#__PURE__*/__webpack_require__(/*! ./equals */ 700);\n\t\n\tvar takeLast = /*#__PURE__*/__webpack_require__(/*! ./takeLast */ 753);\n\t\n\t/**\n\t * Checks if a list ends with the provided values\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.24.0\n\t * @category List\n\t * @sig [a] -> Boolean\n\t * @sig String -> Boolean\n\t * @param {*} suffix\n\t * @param {*} list\n\t * @return {Boolean}\n\t * @example\n\t *\n\t *      R.endsWith('c', 'abc')                //=> true\n\t *      R.endsWith('b', 'abc')                //=> false\n\t *      R.endsWith(['c'], ['a', 'b', 'c'])    //=> true\n\t *      R.endsWith(['b'], ['a', 'b', 'c'])    //=> false\n\t */\n\t\n\t\n\tvar endsWith = /*#__PURE__*/_curry2(function (suffix, list) {\n\t  return equals(takeLast(suffix.length, list), suffix);\n\t});\n\tmodule.exports = endsWith;\n\n/***/ }),\n/* 753 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/takeLast.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar drop = /*#__PURE__*/__webpack_require__(/*! ./drop */ 732);\n\t\n\t/**\n\t * Returns a new list containing the last `n` elements of the given list.\n\t * If `n > list.length`, returns a list of `list.length` elements.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.16.0\n\t * @category List\n\t * @sig Number -> [a] -> [a]\n\t * @sig Number -> String -> String\n\t * @param {Number} n The number of elements to return.\n\t * @param {Array} xs The collection to consider.\n\t * @return {Array}\n\t * @see R.dropLast\n\t * @example\n\t *\n\t *      R.takeLast(1, ['foo', 'bar', 'baz']); //=> ['baz']\n\t *      R.takeLast(2, ['foo', 'bar', 'baz']); //=> ['bar', 'baz']\n\t *      R.takeLast(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n\t *      R.takeLast(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n\t *      R.takeLast(3, 'ramda');               //=> 'mda'\n\t */\n\t\n\t\n\tvar takeLast = /*#__PURE__*/_curry2(function takeLast(n, xs) {\n\t  return drop(n >= 0 ? xs.length - n : 0, xs);\n\t});\n\tmodule.exports = takeLast;\n\n/***/ }),\n/* 754 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/eqBy.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\tvar equals = /*#__PURE__*/__webpack_require__(/*! ./equals */ 700);\n\t\n\t/**\n\t * Takes a function and two values in its domain and returns `true` if the\n\t * values map to the same value in the codomain; `false` otherwise.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.18.0\n\t * @category Relation\n\t * @sig (a -> b) -> a -> a -> Boolean\n\t * @param {Function} f\n\t * @param {*} x\n\t * @param {*} y\n\t * @return {Boolean}\n\t * @example\n\t *\n\t *      R.eqBy(Math.abs, 5, -5); //=> true\n\t */\n\t\n\t\n\tvar eqBy = /*#__PURE__*/_curry3(function eqBy(f, x, y) {\n\t  return equals(f(x), f(y));\n\t});\n\tmodule.exports = eqBy;\n\n/***/ }),\n/* 755 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/eqProps.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\tvar equals = /*#__PURE__*/__webpack_require__(/*! ./equals */ 700);\n\t\n\t/**\n\t * Reports whether two objects have the same value, in [`R.equals`](#equals)\n\t * terms, for the specified property. Useful as a curried predicate.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Object\n\t * @sig k -> {k: v} -> {k: v} -> Boolean\n\t * @param {String} prop The name of the property to compare\n\t * @param {Object} obj1\n\t * @param {Object} obj2\n\t * @return {Boolean}\n\t *\n\t * @example\n\t *\n\t *      var o1 = { a: 1, b: 2, c: 3, d: 4 };\n\t *      var o2 = { a: 10, b: 20, c: 3, d: 40 };\n\t *      R.eqProps('a', o1, o2); //=> false\n\t *      R.eqProps('c', o1, o2); //=> true\n\t */\n\t\n\t\n\tvar eqProps = /*#__PURE__*/_curry3(function eqProps(prop, obj1, obj2) {\n\t  return equals(obj1[prop], obj2[prop]);\n\t});\n\tmodule.exports = eqProps;\n\n/***/ }),\n/* 756 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/evolve.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Creates a new object by recursively evolving a shallow copy of `object`,\n\t * according to the `transformation` functions. All non-primitive properties\n\t * are copied by reference.\n\t *\n\t * A `transformation` function will not be invoked if its corresponding key\n\t * does not exist in the evolved object.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.9.0\n\t * @category Object\n\t * @sig {k: (v -> v)} -> {k: v} -> {k: v}\n\t * @param {Object} transformations The object specifying transformation functions to apply\n\t *        to the object.\n\t * @param {Object} object The object to be transformed.\n\t * @return {Object} The transformed object.\n\t * @example\n\t *\n\t *      var tomato  = {firstName: '  Tomato ', data: {elapsed: 100, remaining: 1400}, id:123};\n\t *      var transformations = {\n\t *        firstName: R.trim,\n\t *        lastName: R.trim, // Will not get invoked.\n\t *        data: {elapsed: R.add(1), remaining: R.add(-1)}\n\t *      };\n\t *      R.evolve(transformations, tomato); //=> {firstName: 'Tomato', data: {elapsed: 101, remaining: 1399}, id:123}\n\t */\n\t\n\t\n\tvar evolve = /*#__PURE__*/_curry2(function evolve(transformations, object) {\n\t  var result = {};\n\t  var transformation, key, type;\n\t  for (key in object) {\n\t    transformation = transformations[key];\n\t    type = typeof transformation;\n\t    result[key] = type === 'function' ? transformation(object[key]) : transformation && type === 'object' ? evolve(transformation, object[key]) : object[key];\n\t  }\n\t  return result;\n\t});\n\tmodule.exports = evolve;\n\n/***/ }),\n/* 757 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/find.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _dispatchable = /*#__PURE__*/__webpack_require__(/*! ./internal/_dispatchable */ 622);\n\t\n\tvar _xfind = /*#__PURE__*/__webpack_require__(/*! ./internal/_xfind */ 758);\n\t\n\t/**\n\t * Returns the first element of the list which matches the predicate, or\n\t * `undefined` if no element matches.\n\t *\n\t * Dispatches to the `find` method of the second argument, if present.\n\t *\n\t * Acts as a transducer if a transformer is given in list position.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig (a -> Boolean) -> [a] -> a | undefined\n\t * @param {Function} fn The predicate function used to determine if the element is the\n\t *        desired one.\n\t * @param {Array} list The array to consider.\n\t * @return {Object} The element found, or `undefined`.\n\t * @see R.transduce\n\t * @example\n\t *\n\t *      var xs = [{a: 1}, {a: 2}, {a: 3}];\n\t *      R.find(R.propEq('a', 2))(xs); //=> {a: 2}\n\t *      R.find(R.propEq('a', 4))(xs); //=> undefined\n\t */\n\t\n\t\n\tvar find = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['find'], _xfind, function find(fn, list) {\n\t  var idx = 0;\n\t  var len = list.length;\n\t  while (idx < len) {\n\t    if (fn(list[idx])) {\n\t      return list[idx];\n\t    }\n\t    idx += 1;\n\t  }\n\t}));\n\tmodule.exports = find;\n\n/***/ }),\n/* 758 */\n/*!*****************************************!*\\\n  !*** ../~/ramda/src/internal/_xfind.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./_curry2 */ 613);\n\t\n\tvar _reduced = /*#__PURE__*/__webpack_require__(/*! ./_reduced */ 626);\n\t\n\tvar _xfBase = /*#__PURE__*/__webpack_require__(/*! ./_xfBase */ 627);\n\t\n\tvar XFind = /*#__PURE__*/function () {\n\t\n\t  function XFind(f, xf) {\n\t    this.xf = xf;\n\t    this.f = f;\n\t    this.found = false;\n\t  }\n\t  XFind.prototype['@@transducer/init'] = _xfBase.init;\n\t  XFind.prototype['@@transducer/result'] = function (result) {\n\t    if (!this.found) {\n\t      result = this.xf['@@transducer/step'](result, void 0);\n\t    }\n\t    return this.xf['@@transducer/result'](result);\n\t  };\n\t  XFind.prototype['@@transducer/step'] = function (result, input) {\n\t    if (this.f(input)) {\n\t      this.found = true;\n\t      result = _reduced(this.xf['@@transducer/step'](result, input));\n\t    }\n\t    return result;\n\t  };\n\t\n\t  return XFind;\n\t}();\n\t\n\tvar _xfind = /*#__PURE__*/_curry2(function _xfind(f, xf) {\n\t  return new XFind(f, xf);\n\t});\n\tmodule.exports = _xfind;\n\n/***/ }),\n/* 759 */\n/*!***********************************!*\\\n  !*** ../~/ramda/src/findIndex.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _dispatchable = /*#__PURE__*/__webpack_require__(/*! ./internal/_dispatchable */ 622);\n\t\n\tvar _xfindIndex = /*#__PURE__*/__webpack_require__(/*! ./internal/_xfindIndex */ 760);\n\t\n\t/**\n\t * Returns the index of the first element of the list which matches the\n\t * predicate, or `-1` if no element matches.\n\t *\n\t * Acts as a transducer if a transformer is given in list position.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.1\n\t * @category List\n\t * @sig (a -> Boolean) -> [a] -> Number\n\t * @param {Function} fn The predicate function used to determine if the element is the\n\t * desired one.\n\t * @param {Array} list The array to consider.\n\t * @return {Number} The index of the element found, or `-1`.\n\t * @see R.transduce\n\t * @example\n\t *\n\t *      var xs = [{a: 1}, {a: 2}, {a: 3}];\n\t *      R.findIndex(R.propEq('a', 2))(xs); //=> 1\n\t *      R.findIndex(R.propEq('a', 4))(xs); //=> -1\n\t */\n\t\n\t\n\tvar findIndex = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xfindIndex, function findIndex(fn, list) {\n\t  var idx = 0;\n\t  var len = list.length;\n\t  while (idx < len) {\n\t    if (fn(list[idx])) {\n\t      return idx;\n\t    }\n\t    idx += 1;\n\t  }\n\t  return -1;\n\t}));\n\tmodule.exports = findIndex;\n\n/***/ }),\n/* 760 */\n/*!**********************************************!*\\\n  !*** ../~/ramda/src/internal/_xfindIndex.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./_curry2 */ 613);\n\t\n\tvar _reduced = /*#__PURE__*/__webpack_require__(/*! ./_reduced */ 626);\n\t\n\tvar _xfBase = /*#__PURE__*/__webpack_require__(/*! ./_xfBase */ 627);\n\t\n\tvar XFindIndex = /*#__PURE__*/function () {\n\t\n\t  function XFindIndex(f, xf) {\n\t    this.xf = xf;\n\t    this.f = f;\n\t    this.idx = -1;\n\t    this.found = false;\n\t  }\n\t  XFindIndex.prototype['@@transducer/init'] = _xfBase.init;\n\t  XFindIndex.prototype['@@transducer/result'] = function (result) {\n\t    if (!this.found) {\n\t      result = this.xf['@@transducer/step'](result, -1);\n\t    }\n\t    return this.xf['@@transducer/result'](result);\n\t  };\n\t  XFindIndex.prototype['@@transducer/step'] = function (result, input) {\n\t    this.idx += 1;\n\t    if (this.f(input)) {\n\t      this.found = true;\n\t      result = _reduced(this.xf['@@transducer/step'](result, this.idx));\n\t    }\n\t    return result;\n\t  };\n\t\n\t  return XFindIndex;\n\t}();\n\t\n\tvar _xfindIndex = /*#__PURE__*/_curry2(function _xfindIndex(f, xf) {\n\t  return new XFindIndex(f, xf);\n\t});\n\tmodule.exports = _xfindIndex;\n\n/***/ }),\n/* 761 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/findLast.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _dispatchable = /*#__PURE__*/__webpack_require__(/*! ./internal/_dispatchable */ 622);\n\t\n\tvar _xfindLast = /*#__PURE__*/__webpack_require__(/*! ./internal/_xfindLast */ 762);\n\t\n\t/**\n\t * Returns the last element of the list which matches the predicate, or\n\t * `undefined` if no element matches.\n\t *\n\t * Acts as a transducer if a transformer is given in list position.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.1\n\t * @category List\n\t * @sig (a -> Boolean) -> [a] -> a | undefined\n\t * @param {Function} fn The predicate function used to determine if the element is the\n\t * desired one.\n\t * @param {Array} list The array to consider.\n\t * @return {Object} The element found, or `undefined`.\n\t * @see R.transduce\n\t * @example\n\t *\n\t *      var xs = [{a: 1, b: 0}, {a:1, b: 1}];\n\t *      R.findLast(R.propEq('a', 1))(xs); //=> {a: 1, b: 1}\n\t *      R.findLast(R.propEq('a', 4))(xs); //=> undefined\n\t */\n\t\n\t\n\tvar findLast = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xfindLast, function findLast(fn, list) {\n\t  var idx = list.length - 1;\n\t  while (idx >= 0) {\n\t    if (fn(list[idx])) {\n\t      return list[idx];\n\t    }\n\t    idx -= 1;\n\t  }\n\t}));\n\tmodule.exports = findLast;\n\n/***/ }),\n/* 762 */\n/*!*********************************************!*\\\n  !*** ../~/ramda/src/internal/_xfindLast.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./_curry2 */ 613);\n\t\n\tvar _xfBase = /*#__PURE__*/__webpack_require__(/*! ./_xfBase */ 627);\n\t\n\tvar XFindLast = /*#__PURE__*/function () {\n\t\n\t  function XFindLast(f, xf) {\n\t    this.xf = xf;\n\t    this.f = f;\n\t  }\n\t  XFindLast.prototype['@@transducer/init'] = _xfBase.init;\n\t  XFindLast.prototype['@@transducer/result'] = function (result) {\n\t    return this.xf['@@transducer/result'](this.xf['@@transducer/step'](result, this.last));\n\t  };\n\t  XFindLast.prototype['@@transducer/step'] = function (result, input) {\n\t    if (this.f(input)) {\n\t      this.last = input;\n\t    }\n\t    return result;\n\t  };\n\t\n\t  return XFindLast;\n\t}();\n\t\n\tvar _xfindLast = /*#__PURE__*/_curry2(function _xfindLast(f, xf) {\n\t  return new XFindLast(f, xf);\n\t});\n\tmodule.exports = _xfindLast;\n\n/***/ }),\n/* 763 */\n/*!***************************************!*\\\n  !*** ../~/ramda/src/findLastIndex.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _dispatchable = /*#__PURE__*/__webpack_require__(/*! ./internal/_dispatchable */ 622);\n\t\n\tvar _xfindLastIndex = /*#__PURE__*/__webpack_require__(/*! ./internal/_xfindLastIndex */ 764);\n\t\n\t/**\n\t * Returns the index of the last element of the list which matches the\n\t * predicate, or `-1` if no element matches.\n\t *\n\t * Acts as a transducer if a transformer is given in list position.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.1\n\t * @category List\n\t * @sig (a -> Boolean) -> [a] -> Number\n\t * @param {Function} fn The predicate function used to determine if the element is the\n\t * desired one.\n\t * @param {Array} list The array to consider.\n\t * @return {Number} The index of the element found, or `-1`.\n\t * @see R.transduce\n\t * @example\n\t *\n\t *      var xs = [{a: 1, b: 0}, {a:1, b: 1}];\n\t *      R.findLastIndex(R.propEq('a', 1))(xs); //=> 1\n\t *      R.findLastIndex(R.propEq('a', 4))(xs); //=> -1\n\t */\n\t\n\t\n\tvar findLastIndex = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xfindLastIndex, function findLastIndex(fn, list) {\n\t  var idx = list.length - 1;\n\t  while (idx >= 0) {\n\t    if (fn(list[idx])) {\n\t      return idx;\n\t    }\n\t    idx -= 1;\n\t  }\n\t  return -1;\n\t}));\n\tmodule.exports = findLastIndex;\n\n/***/ }),\n/* 764 */\n/*!**************************************************!*\\\n  !*** ../~/ramda/src/internal/_xfindLastIndex.js ***!\n  \\**************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./_curry2 */ 613);\n\t\n\tvar _xfBase = /*#__PURE__*/__webpack_require__(/*! ./_xfBase */ 627);\n\t\n\tvar XFindLastIndex = /*#__PURE__*/function () {\n\t\n\t  function XFindLastIndex(f, xf) {\n\t    this.xf = xf;\n\t    this.f = f;\n\t    this.idx = -1;\n\t    this.lastIdx = -1;\n\t  }\n\t  XFindLastIndex.prototype['@@transducer/init'] = _xfBase.init;\n\t  XFindLastIndex.prototype['@@transducer/result'] = function (result) {\n\t    return this.xf['@@transducer/result'](this.xf['@@transducer/step'](result, this.lastIdx));\n\t  };\n\t  XFindLastIndex.prototype['@@transducer/step'] = function (result, input) {\n\t    this.idx += 1;\n\t    if (this.f(input)) {\n\t      this.lastIdx = this.idx;\n\t    }\n\t    return result;\n\t  };\n\t\n\t  return XFindLastIndex;\n\t}();\n\t\n\tvar _xfindLastIndex = /*#__PURE__*/_curry2(function _xfindLastIndex(f, xf) {\n\t  return new XFindLastIndex(f, xf);\n\t});\n\tmodule.exports = _xfindLastIndex;\n\n/***/ }),\n/* 765 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/flatten.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar _makeFlat = /*#__PURE__*/__webpack_require__(/*! ./internal/_makeFlat */ 672);\n\t\n\t/**\n\t * Returns a new list by pulling every item out of it (and all its sub-arrays)\n\t * and putting them in a new array, depth-first.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig [a] -> [b]\n\t * @param {Array} list The array to consider.\n\t * @return {Array} The flattened list.\n\t * @see R.unnest\n\t * @example\n\t *\n\t *      R.flatten([1, 2, [3, 4], 5, [6, [7, 8, [9, [10, 11], 12]]]]);\n\t *      //=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\n\t */\n\t\n\t\n\tvar flatten = /*#__PURE__*/_curry1( /*#__PURE__*/_makeFlat(true));\n\tmodule.exports = flatten;\n\n/***/ }),\n/* 766 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/flip.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar curryN = /*#__PURE__*/__webpack_require__(/*! ./curryN */ 616);\n\t\n\t/**\n\t * Returns a new function much like the supplied one, except that the first two\n\t * arguments' order is reversed.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Function\n\t * @sig ((a, b, c, ...) -> z) -> (b -> a -> c -> ... -> z)\n\t * @param {Function} fn The function to invoke with its first two parameters reversed.\n\t * @return {*} The result of invoking `fn` with its first two parameters' order reversed.\n\t * @example\n\t *\n\t *      var mergeThree = (a, b, c) => [].concat(a, b, c);\n\t *\n\t *      mergeThree(1, 2, 3); //=> [1, 2, 3]\n\t *\n\t *      R.flip(mergeThree)(1, 2, 3); //=> [2, 1, 3]\n\t * @symb R.flip(f)(a, b, c) = f(b, a, c)\n\t */\n\t\n\t\n\tvar flip = /*#__PURE__*/_curry1(function flip(fn) {\n\t  return curryN(fn.length, function (a, b) {\n\t    var args = Array.prototype.slice.call(arguments, 0);\n\t    args[0] = b;\n\t    args[1] = a;\n\t    return fn.apply(this, args);\n\t  });\n\t});\n\tmodule.exports = flip;\n\n/***/ }),\n/* 767 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/forEach.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _checkForMethod = /*#__PURE__*/__webpack_require__(/*! ./internal/_checkForMethod */ 688);\n\t\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Iterate over an input `list`, calling a provided function `fn` for each\n\t * element in the list.\n\t *\n\t * `fn` receives one argument: *(value)*.\n\t *\n\t * Note: `R.forEach` does not skip deleted or unassigned indices (sparse\n\t * arrays), unlike the native `Array.prototype.forEach` method. For more\n\t * details on this behavior, see:\n\t * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach#Description\n\t *\n\t * Also note that, unlike `Array.prototype.forEach`, Ramda's `forEach` returns\n\t * the original array. In some libraries this function is named `each`.\n\t *\n\t * Dispatches to the `forEach` method of the second argument, if present.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.1\n\t * @category List\n\t * @sig (a -> *) -> [a] -> [a]\n\t * @param {Function} fn The function to invoke. Receives one argument, `value`.\n\t * @param {Array} list The list to iterate over.\n\t * @return {Array} The original list.\n\t * @see R.addIndex\n\t * @example\n\t *\n\t *      var printXPlusFive = x => console.log(x + 5);\n\t *      R.forEach(printXPlusFive, [1, 2, 3]); //=> [1, 2, 3]\n\t *      // logs 6\n\t *      // logs 7\n\t *      // logs 8\n\t * @symb R.forEach(f, [a, b, c]) = [a, b, c]\n\t */\n\t\n\t\n\tvar forEach = /*#__PURE__*/_curry2( /*#__PURE__*/_checkForMethod('forEach', function forEach(fn, list) {\n\t  var len = list.length;\n\t  var idx = 0;\n\t  while (idx < len) {\n\t    fn(list[idx]);\n\t    idx += 1;\n\t  }\n\t  return list;\n\t}));\n\tmodule.exports = forEach;\n\n/***/ }),\n/* 768 */\n/*!*******************************************!*\\\n  !*** ../~/ramda/src/forEachObjIndexed.js ***!\n  \\*******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar keys = /*#__PURE__*/__webpack_require__(/*! ./keys */ 639);\n\t\n\t/**\n\t * Iterate over an input `object`, calling a provided function `fn` for each\n\t * key and value in the object.\n\t *\n\t * `fn` receives three argument: *(value, key, obj)*.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.23.0\n\t * @category Object\n\t * @sig ((a, String, StrMap a) -> Any) -> StrMap a -> StrMap a\n\t * @param {Function} fn The function to invoke. Receives three argument, `value`, `key`, `obj`.\n\t * @param {Object} obj The object to iterate over.\n\t * @return {Object} The original object.\n\t * @example\n\t *\n\t *      var printKeyConcatValue = (value, key) => console.log(key + ':' + value);\n\t *      R.forEachObjIndexed(printKeyConcatValue, {x: 1, y: 2}); //=> {x: 1, y: 2}\n\t *      // logs x:1\n\t *      // logs y:2\n\t * @symb R.forEachObjIndexed(f, {x: a, y: b}) = {x: a, y: b}\n\t */\n\t\n\t\n\tvar forEachObjIndexed = /*#__PURE__*/_curry2(function forEachObjIndexed(fn, obj) {\n\t  var keyList = keys(obj);\n\t  var idx = 0;\n\t  while (idx < keyList.length) {\n\t    var key = keyList[idx];\n\t    fn(obj[key], key, obj);\n\t    idx += 1;\n\t  }\n\t  return obj;\n\t});\n\tmodule.exports = forEachObjIndexed;\n\n/***/ }),\n/* 769 */\n/*!***********************************!*\\\n  !*** ../~/ramda/src/fromPairs.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\t/**\n\t * Creates a new object from a list key-value pairs. If a key appears in\n\t * multiple pairs, the rightmost pair is included in the object.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.3.0\n\t * @category List\n\t * @sig [[k,v]] -> {k: v}\n\t * @param {Array} pairs An array of two-element arrays that will be the keys and values of the output object.\n\t * @return {Object} The object made by pairing up `keys` and `values`.\n\t * @see R.toPairs, R.pair\n\t * @example\n\t *\n\t *      R.fromPairs([['a', 1], ['b', 2], ['c', 3]]); //=> {a: 1, b: 2, c: 3}\n\t */\n\t\n\t\n\tvar fromPairs = /*#__PURE__*/_curry1(function fromPairs(pairs) {\n\t  var result = {};\n\t  var idx = 0;\n\t  while (idx < pairs.length) {\n\t    result[pairs[idx][0]] = pairs[idx][1];\n\t    idx += 1;\n\t  }\n\t  return result;\n\t});\n\tmodule.exports = fromPairs;\n\n/***/ }),\n/* 770 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/groupBy.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _checkForMethod = /*#__PURE__*/__webpack_require__(/*! ./internal/_checkForMethod */ 688);\n\t\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar reduceBy = /*#__PURE__*/__webpack_require__(/*! ./reduceBy */ 720);\n\t\n\t/**\n\t * Splits a list into sub-lists stored in an object, based on the result of\n\t * calling a String-returning function on each element, and grouping the\n\t * results according to values returned.\n\t *\n\t * Dispatches to the `groupBy` method of the second argument, if present.\n\t *\n\t * Acts as a transducer if a transformer is given in list position.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig (a -> String) -> [a] -> {String: [a]}\n\t * @param {Function} fn Function :: a -> String\n\t * @param {Array} list The array to group\n\t * @return {Object} An object with the output of `fn` for keys, mapped to arrays of elements\n\t *         that produced that key when passed to `fn`.\n\t * @see R.transduce\n\t * @example\n\t *\n\t *      var byGrade = R.groupBy(function(student) {\n\t *        var score = student.score;\n\t *        return score < 65 ? 'F' :\n\t *               score < 70 ? 'D' :\n\t *               score < 80 ? 'C' :\n\t *               score < 90 ? 'B' : 'A';\n\t *      });\n\t *      var students = [{name: 'Abby', score: 84},\n\t *                      {name: 'Eddy', score: 58},\n\t *                      // ...\n\t *                      {name: 'Jack', score: 69}];\n\t *      byGrade(students);\n\t *      // {\n\t *      //   'A': [{name: 'Dianne', score: 99}],\n\t *      //   'B': [{name: 'Abby', score: 84}]\n\t *      //   // ...,\n\t *      //   'F': [{name: 'Eddy', score: 58}]\n\t *      // }\n\t */\n\t\n\t\n\tvar groupBy = /*#__PURE__*/_curry2( /*#__PURE__*/_checkForMethod('groupBy', /*#__PURE__*/reduceBy(function (acc, item) {\n\t  if (acc == null) {\n\t    acc = [];\n\t  }\n\t  acc.push(item);\n\t  return acc;\n\t}, null)));\n\tmodule.exports = groupBy;\n\n/***/ }),\n/* 771 */\n/*!***********************************!*\\\n  !*** ../~/ramda/src/groupWith.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Takes a list and returns a list of lists where each sublist's elements are\n\t * all satisfied pairwise comparison according to the provided function.\n\t * Only adjacent elements are passed to the comparison function.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.21.0\n\t * @category List\n\t * @sig ((a, a) → Boolean) → [a] → [[a]]\n\t * @param {Function} fn Function for determining whether two given (adjacent)\n\t *        elements should be in the same group\n\t * @param {Array} list The array to group. Also accepts a string, which will be\n\t *        treated as a list of characters.\n\t * @return {List} A list that contains sublists of elements,\n\t *         whose concatenations are equal to the original list.\n\t * @example\n\t *\n\t * R.groupWith(R.equals, [0, 1, 1, 2, 3, 5, 8, 13, 21])\n\t * //=> [[0], [1, 1], [2], [3], [5], [8], [13], [21]]\n\t *\n\t * R.groupWith((a, b) => a + 1 === b, [0, 1, 1, 2, 3, 5, 8, 13, 21])\n\t * //=> [[0, 1], [1, 2, 3], [5], [8], [13], [21]]\n\t *\n\t * R.groupWith((a, b) => a % 2 === b % 2, [0, 1, 1, 2, 3, 5, 8, 13, 21])\n\t * //=> [[0], [1, 1], [2], [3, 5], [8], [13, 21]]\n\t *\n\t * R.groupWith(R.eqBy(isVowel), 'aestiou')\n\t * //=> ['ae', 'st', 'iou']\n\t */\n\t\n\t\n\tvar groupWith = /*#__PURE__*/_curry2(function (fn, list) {\n\t  var res = [];\n\t  var idx = 0;\n\t  var len = list.length;\n\t  while (idx < len) {\n\t    var nextidx = idx + 1;\n\t    while (nextidx < len && fn(list[nextidx - 1], list[nextidx])) {\n\t      nextidx += 1;\n\t    }\n\t    res.push(list.slice(idx, nextidx));\n\t    idx = nextidx;\n\t  }\n\t  return res;\n\t});\n\tmodule.exports = groupWith;\n\n/***/ }),\n/* 772 */\n/*!****************************!*\\\n  !*** ../~/ramda/src/gt.js ***!\n  \\****************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Returns `true` if the first argument is greater than the second; `false`\n\t * otherwise.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Relation\n\t * @sig Ord a => a -> a -> Boolean\n\t * @param {*} a\n\t * @param {*} b\n\t * @return {Boolean}\n\t * @see R.lt\n\t * @example\n\t *\n\t *      R.gt(2, 1); //=> true\n\t *      R.gt(2, 2); //=> false\n\t *      R.gt(2, 3); //=> false\n\t *      R.gt('a', 'z'); //=> false\n\t *      R.gt('z', 'a'); //=> true\n\t */\n\t\n\t\n\tvar gt = /*#__PURE__*/_curry2(function gt(a, b) {\n\t  return a > b;\n\t});\n\tmodule.exports = gt;\n\n/***/ }),\n/* 773 */\n/*!*****************************!*\\\n  !*** ../~/ramda/src/gte.js ***!\n  \\*****************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Returns `true` if the first argument is greater than or equal to the second;\n\t * `false` otherwise.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Relation\n\t * @sig Ord a => a -> a -> Boolean\n\t * @param {Number} a\n\t * @param {Number} b\n\t * @return {Boolean}\n\t * @see R.lte\n\t * @example\n\t *\n\t *      R.gte(2, 1); //=> true\n\t *      R.gte(2, 2); //=> true\n\t *      R.gte(2, 3); //=> false\n\t *      R.gte('a', 'z'); //=> false\n\t *      R.gte('z', 'a'); //=> true\n\t */\n\t\n\t\n\tvar gte = /*#__PURE__*/_curry2(function gte(a, b) {\n\t  return a >= b;\n\t});\n\tmodule.exports = gte;\n\n/***/ }),\n/* 774 */\n/*!*****************************!*\\\n  !*** ../~/ramda/src/has.js ***!\n  \\*****************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _has = /*#__PURE__*/__webpack_require__(/*! ./internal/_has */ 640);\n\t\n\t/**\n\t * Returns whether or not an object has an own property with the specified name\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.7.0\n\t * @category Object\n\t * @sig s -> {s: x} -> Boolean\n\t * @param {String} prop The name of the property to check for.\n\t * @param {Object} obj The object to query.\n\t * @return {Boolean} Whether the property exists.\n\t * @example\n\t *\n\t *      var hasName = R.has('name');\n\t *      hasName({name: 'alice'});   //=> true\n\t *      hasName({name: 'bob'});     //=> true\n\t *      hasName({});                //=> false\n\t *\n\t *      var point = {x: 0, y: 0};\n\t *      var pointHas = R.has(R.__, point);\n\t *      pointHas('x');  //=> true\n\t *      pointHas('y');  //=> true\n\t *      pointHas('z');  //=> false\n\t */\n\t\n\t\n\tvar has = /*#__PURE__*/_curry2(_has);\n\tmodule.exports = has;\n\n/***/ }),\n/* 775 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/hasIn.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Returns whether or not an object or its prototype chain has a property with\n\t * the specified name\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.7.0\n\t * @category Object\n\t * @sig s -> {s: x} -> Boolean\n\t * @param {String} prop The name of the property to check for.\n\t * @param {Object} obj The object to query.\n\t * @return {Boolean} Whether the property exists.\n\t * @example\n\t *\n\t *      function Rectangle(width, height) {\n\t *        this.width = width;\n\t *        this.height = height;\n\t *      }\n\t *      Rectangle.prototype.area = function() {\n\t *        return this.width * this.height;\n\t *      };\n\t *\n\t *      var square = new Rectangle(2, 2);\n\t *      R.hasIn('width', square);  //=> true\n\t *      R.hasIn('area', square);  //=> true\n\t */\n\t\n\t\n\tvar hasIn = /*#__PURE__*/_curry2(function hasIn(prop, obj) {\n\t  return prop in obj;\n\t});\n\tmodule.exports = hasIn;\n\n/***/ }),\n/* 776 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/head.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar nth = /*#__PURE__*/__webpack_require__(/*! ./nth */ 746);\n\t\n\t/**\n\t * Returns the first element of the given list or string. In some libraries\n\t * this function is named `first`.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig [a] -> a | Undefined\n\t * @sig String -> String\n\t * @param {Array|String} list\n\t * @return {*}\n\t * @see R.tail, R.init, R.last\n\t * @example\n\t *\n\t *      R.head(['fi', 'fo', 'fum']); //=> 'fi'\n\t *      R.head([]); //=> undefined\n\t *\n\t *      R.head('abc'); //=> 'a'\n\t *      R.head(''); //=> ''\n\t */\n\t\n\t\n\tvar head = /*#__PURE__*/nth(0);\n\tmodule.exports = head;\n\n/***/ }),\n/* 777 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/identity.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar _identity = /*#__PURE__*/__webpack_require__(/*! ./internal/_identity */ 778);\n\t\n\t/**\n\t * A function that does nothing but return the parameter supplied to it. Good\n\t * as a default or placeholder function.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Function\n\t * @sig a -> a\n\t * @param {*} x The value to return.\n\t * @return {*} The input value, `x`.\n\t * @example\n\t *\n\t *      R.identity(1); //=> 1\n\t *\n\t *      var obj = {};\n\t *      R.identity(obj) === obj; //=> true\n\t * @symb R.identity(a) = a\n\t */\n\t\n\t\n\tvar identity = /*#__PURE__*/_curry1(_identity);\n\tmodule.exports = identity;\n\n/***/ }),\n/* 778 */\n/*!********************************************!*\\\n  !*** ../~/ramda/src/internal/_identity.js ***!\n  \\********************************************/\n/***/ (function(module, exports) {\n\n\tfunction _identity(x) {\n\t  return x;\n\t}\n\tmodule.exports = _identity;\n\n/***/ }),\n/* 779 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/ifElse.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\tvar curryN = /*#__PURE__*/__webpack_require__(/*! ./curryN */ 616);\n\t\n\t/**\n\t * Creates a function that will process either the `onTrue` or the `onFalse`\n\t * function depending upon the result of the `condition` predicate.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.8.0\n\t * @category Logic\n\t * @sig (*... -> Boolean) -> (*... -> *) -> (*... -> *) -> (*... -> *)\n\t * @param {Function} condition A predicate function\n\t * @param {Function} onTrue A function to invoke when the `condition` evaluates to a truthy value.\n\t * @param {Function} onFalse A function to invoke when the `condition` evaluates to a falsy value.\n\t * @return {Function} A new unary function that will process either the `onTrue` or the `onFalse`\n\t *                    function depending upon the result of the `condition` predicate.\n\t * @see R.unless, R.when\n\t * @example\n\t *\n\t *      var incCount = R.ifElse(\n\t *        R.has('count'),\n\t *        R.over(R.lensProp('count'), R.inc),\n\t *        R.assoc('count', 1)\n\t *      );\n\t *      incCount({});           //=> { count: 1 }\n\t *      incCount({ count: 1 }); //=> { count: 2 }\n\t */\n\t\n\t\n\tvar ifElse = /*#__PURE__*/_curry3(function ifElse(condition, onTrue, onFalse) {\n\t  return curryN(Math.max(condition.length, onTrue.length, onFalse.length), function _ifElse() {\n\t    return condition.apply(this, arguments) ? onTrue.apply(this, arguments) : onFalse.apply(this, arguments);\n\t  });\n\t});\n\tmodule.exports = ifElse;\n\n/***/ }),\n/* 780 */\n/*!*****************************!*\\\n  !*** ../~/ramda/src/inc.js ***!\n  \\*****************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar add = /*#__PURE__*/__webpack_require__(/*! ./add */ 612);\n\t\n\t/**\n\t * Increments its argument.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.9.0\n\t * @category Math\n\t * @sig Number -> Number\n\t * @param {Number} n\n\t * @return {Number} n + 1\n\t * @see R.dec\n\t * @example\n\t *\n\t *      R.inc(42); //=> 43\n\t */\n\t\n\t\n\tvar inc = /*#__PURE__*/add(1);\n\tmodule.exports = inc;\n\n/***/ }),\n/* 781 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/indexBy.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar reduceBy = /*#__PURE__*/__webpack_require__(/*! ./reduceBy */ 720);\n\t\n\t/**\n\t * Given a function that generates a key, turns a list of objects into an\n\t * object indexing the objects by the given key. Note that if multiple\n\t * objects generate the same value for the indexing key only the last value\n\t * will be included in the generated object.\n\t *\n\t * Acts as a transducer if a transformer is given in list position.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.19.0\n\t * @category List\n\t * @sig (a -> String) -> [{k: v}] -> {k: {k: v}}\n\t * @param {Function} fn Function :: a -> String\n\t * @param {Array} array The array of objects to index\n\t * @return {Object} An object indexing each array element by the given property.\n\t * @example\n\t *\n\t *      var list = [{id: 'xyz', title: 'A'}, {id: 'abc', title: 'B'}];\n\t *      R.indexBy(R.prop('id'), list);\n\t *      //=> {abc: {id: 'abc', title: 'B'}, xyz: {id: 'xyz', title: 'A'}}\n\t */\n\t\n\t\n\tvar indexBy = /*#__PURE__*/reduceBy(function (acc, elem) {\n\t  return elem;\n\t}, null);\n\tmodule.exports = indexBy;\n\n/***/ }),\n/* 782 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/indexOf.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _indexOf = /*#__PURE__*/__webpack_require__(/*! ./internal/_indexOf */ 699);\n\t\n\tvar _isArray = /*#__PURE__*/__webpack_require__(/*! ./internal/_isArray */ 623);\n\t\n\t/**\n\t * Returns the position of the first occurrence of an item in an array, or -1\n\t * if the item is not included in the array. [`R.equals`](#equals) is used to\n\t * determine equality.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig a -> [a] -> Number\n\t * @param {*} target The item to find.\n\t * @param {Array} xs The array to search in.\n\t * @return {Number} the index of the target, or -1 if the target is not found.\n\t * @see R.lastIndexOf\n\t * @example\n\t *\n\t *      R.indexOf(3, [1,2,3,4]); //=> 2\n\t *      R.indexOf(10, [1,2,3,4]); //=> -1\n\t */\n\t\n\t\n\tvar indexOf = /*#__PURE__*/_curry2(function indexOf(target, xs) {\n\t  return typeof xs.indexOf === 'function' && !_isArray(xs) ? xs.indexOf(target) : _indexOf(xs, target, 0);\n\t});\n\tmodule.exports = indexOf;\n\n/***/ }),\n/* 783 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/init.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar slice = /*#__PURE__*/__webpack_require__(/*! ./slice */ 689);\n\t\n\t/**\n\t * Returns all but the last element of the given list or string.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.9.0\n\t * @category List\n\t * @sig [a] -> [a]\n\t * @sig String -> String\n\t * @param {*} list\n\t * @return {*}\n\t * @see R.last, R.head, R.tail\n\t * @example\n\t *\n\t *      R.init([1, 2, 3]);  //=> [1, 2]\n\t *      R.init([1, 2]);     //=> [1]\n\t *      R.init([1]);        //=> []\n\t *      R.init([]);         //=> []\n\t *\n\t *      R.init('abc');  //=> 'ab'\n\t *      R.init('ab');   //=> 'a'\n\t *      R.init('a');    //=> ''\n\t *      R.init('');     //=> ''\n\t */\n\t\n\t\n\tvar init = /*#__PURE__*/slice(0, -1);\n\tmodule.exports = init;\n\n/***/ }),\n/* 784 */\n/*!***********************************!*\\\n  !*** ../~/ramda/src/innerJoin.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _containsWith = /*#__PURE__*/__webpack_require__(/*! ./internal/_containsWith */ 703);\n\t\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\tvar _filter = /*#__PURE__*/__webpack_require__(/*! ./internal/_filter */ 711);\n\t\n\t/**\n\t * Takes a predicate `pred`, a list `xs`, and a list `ys`, and returns a list\n\t * `xs'` comprising each of the elements of `xs` which is equal to one or more\n\t * elements of `ys` according to `pred`.\n\t *\n\t * `pred` must be a binary function expecting an element from each list.\n\t *\n\t * `xs`, `ys`, and `xs'` are treated as sets, semantically, so ordering should\n\t * not be significant, but since `xs'` is ordered the implementation guarantees\n\t * that its values are in the same order as they appear in `xs`. Duplicates are\n\t * not removed, so `xs'` may contain duplicates if `xs` contains duplicates.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.24.0\n\t * @category Relation\n\t * @sig ((a, b) -> Boolean) -> [a] -> [b] -> [a]\n\t * @param {Function} pred\n\t * @param {Array} xs\n\t * @param {Array} ys\n\t * @return {Array}\n\t * @see R.intersection\n\t * @example\n\t *\n\t *      R.innerJoin(\n\t *        (record, id) => record.id === id,\n\t *        [{id: 824, name: 'Richie Furay'},\n\t *         {id: 956, name: 'Dewey Martin'},\n\t *         {id: 313, name: 'Bruce Palmer'},\n\t *         {id: 456, name: 'Stephen Stills'},\n\t *         {id: 177, name: 'Neil Young'}],\n\t *        [177, 456, 999]\n\t *      );\n\t *      //=> [{id: 456, name: 'Stephen Stills'}, {id: 177, name: 'Neil Young'}]\n\t */\n\t\n\t\n\tvar innerJoin = /*#__PURE__*/_curry3(function innerJoin(pred, xs, ys) {\n\t  return _filter(function (x) {\n\t    return _containsWith(pred, x, ys);\n\t  }, xs);\n\t});\n\tmodule.exports = innerJoin;\n\n/***/ }),\n/* 785 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/insert.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\t/**\n\t * Inserts the supplied element into the list, at the specified `index`. _Note that\n\t\n\t * this is not destructive_: it returns a copy of the list with the changes.\n\t * <small>No lists have been harmed in the application of this function.</small>\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.2.2\n\t * @category List\n\t * @sig Number -> a -> [a] -> [a]\n\t * @param {Number} index The position to insert the element\n\t * @param {*} elt The element to insert into the Array\n\t * @param {Array} list The list to insert into\n\t * @return {Array} A new Array with `elt` inserted at `index`.\n\t * @example\n\t *\n\t *      R.insert(2, 'x', [1,2,3,4]); //=> [1,2,'x',3,4]\n\t */\n\t\n\t\n\tvar insert = /*#__PURE__*/_curry3(function insert(idx, elt, list) {\n\t  idx = idx < list.length && idx >= 0 ? idx : list.length;\n\t  var result = Array.prototype.slice.call(list, 0);\n\t  result.splice(idx, 0, elt);\n\t  return result;\n\t});\n\tmodule.exports = insert;\n\n/***/ }),\n/* 786 */\n/*!***********************************!*\\\n  !*** ../~/ramda/src/insertAll.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\t/**\n\t * Inserts the sub-list into the list, at the specified `index`. _Note that this is not\n\t * destructive_: it returns a copy of the list with the changes.\n\t * <small>No lists have been harmed in the application of this function.</small>\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.9.0\n\t * @category List\n\t * @sig Number -> [a] -> [a] -> [a]\n\t * @param {Number} index The position to insert the sub-list\n\t * @param {Array} elts The sub-list to insert into the Array\n\t * @param {Array} list The list to insert the sub-list into\n\t * @return {Array} A new Array with `elts` inserted starting at `index`.\n\t * @example\n\t *\n\t *      R.insertAll(2, ['x','y','z'], [1,2,3,4]); //=> [1,2,'x','y','z',3,4]\n\t */\n\t\n\t\n\tvar insertAll = /*#__PURE__*/_curry3(function insertAll(idx, elts, list) {\n\t  idx = idx < list.length && idx >= 0 ? idx : list.length;\n\t  return [].concat(Array.prototype.slice.call(list, 0, idx), elts, Array.prototype.slice.call(list, idx));\n\t});\n\tmodule.exports = insertAll;\n\n/***/ }),\n/* 787 */\n/*!**************************************!*\\\n  !*** ../~/ramda/src/intersection.js ***!\n  \\**************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _contains = /*#__PURE__*/__webpack_require__(/*! ./internal/_contains */ 698);\n\t\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _filter = /*#__PURE__*/__webpack_require__(/*! ./internal/_filter */ 711);\n\t\n\tvar flip = /*#__PURE__*/__webpack_require__(/*! ./flip */ 766);\n\t\n\tvar uniq = /*#__PURE__*/__webpack_require__(/*! ./uniq */ 788);\n\t\n\t/**\n\t * Combines two lists into a set (i.e. no duplicates) composed of those\n\t * elements common to both lists.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Relation\n\t * @sig [*] -> [*] -> [*]\n\t * @param {Array} list1 The first list.\n\t * @param {Array} list2 The second list.\n\t * @return {Array} The list of elements found in both `list1` and `list2`.\n\t * @see R.innerJoin\n\t * @example\n\t *\n\t *      R.intersection([1,2,3,4], [7,6,5,4,3]); //=> [4, 3]\n\t */\n\t\n\t\n\tvar intersection = /*#__PURE__*/_curry2(function intersection(list1, list2) {\n\t  var lookupList, filteredList;\n\t  if (list1.length > list2.length) {\n\t    lookupList = list1;\n\t    filteredList = list2;\n\t  } else {\n\t    lookupList = list2;\n\t    filteredList = list1;\n\t  }\n\t  return uniq(_filter(flip(_contains)(lookupList), filteredList));\n\t});\n\tmodule.exports = intersection;\n\n/***/ }),\n/* 788 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/uniq.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar identity = /*#__PURE__*/__webpack_require__(/*! ./identity */ 777);\n\t\n\tvar uniqBy = /*#__PURE__*/__webpack_require__(/*! ./uniqBy */ 789);\n\t\n\t/**\n\t * Returns a new list containing only one copy of each element in the original\n\t * list. [`R.equals`](#equals) is used to determine equality.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig [a] -> [a]\n\t * @param {Array} list The array to consider.\n\t * @return {Array} The list of unique items.\n\t * @example\n\t *\n\t *      R.uniq([1, 1, 2, 1]); //=> [1, 2]\n\t *      R.uniq([1, '1']);     //=> [1, '1']\n\t *      R.uniq([[42], [42]]); //=> [[42]]\n\t */\n\t\n\t\n\tvar uniq = /*#__PURE__*/uniqBy(identity);\n\tmodule.exports = uniq;\n\n/***/ }),\n/* 789 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/uniqBy.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _Set = /*#__PURE__*/__webpack_require__(/*! ./internal/_Set */ 790);\n\t\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Returns a new list containing only one copy of each element in the original\n\t * list, based upon the value returned by applying the supplied function to\n\t * each list element. Prefers the first item if the supplied function produces\n\t * the same value on two items. [`R.equals`](#equals) is used for comparison.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.16.0\n\t * @category List\n\t * @sig (a -> b) -> [a] -> [a]\n\t * @param {Function} fn A function used to produce a value to use during comparisons.\n\t * @param {Array} list The array to consider.\n\t * @return {Array} The list of unique items.\n\t * @example\n\t *\n\t *      R.uniqBy(Math.abs, [-1, -5, 2, 10, 1, 2]); //=> [-1, -5, 2, 10]\n\t */\n\t\n\t\n\tvar uniqBy = /*#__PURE__*/_curry2(function uniqBy(fn, list) {\n\t  var set = new _Set();\n\t  var result = [];\n\t  var idx = 0;\n\t  var appliedItem, item;\n\t\n\t  while (idx < list.length) {\n\t    item = list[idx];\n\t    appliedItem = fn(item);\n\t    if (set.add(appliedItem)) {\n\t      result.push(item);\n\t    }\n\t    idx += 1;\n\t  }\n\t  return result;\n\t});\n\tmodule.exports = uniqBy;\n\n/***/ }),\n/* 790 */\n/*!***************************************!*\\\n  !*** ../~/ramda/src/internal/_Set.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _contains = /*#__PURE__*/__webpack_require__(/*! ./_contains */ 698);\n\t\n\tvar _Set = /*#__PURE__*/function () {\n\t\n\t  function _Set() {\n\t    /* globals Set */\n\t    this._nativeSet = typeof Set === 'function' ? new Set() : null;\n\t    this._items = {};\n\t  }\n\t\n\t  // until we figure out why jsdoc chokes on this\n\t  // @param item The item to add to the Set\n\t  // @returns {boolean} true if the item did not exist prior, otherwise false\n\t  //\n\t  _Set.prototype.add = function (item) {\n\t    return !hasOrAdd(item, true, this);\n\t  };\n\t\n\t  //\n\t  // @param item The item to check for existence in the Set\n\t  // @returns {boolean} true if the item exists in the Set, otherwise false\n\t  //\n\t  _Set.prototype.has = function (item) {\n\t    return hasOrAdd(item, false, this);\n\t  };\n\t\n\t  //\n\t  // Combines the logic for checking whether an item is a member of the set and\n\t  // for adding a new item to the set.\n\t  //\n\t  // @param item       The item to check or add to the Set instance.\n\t  // @param shouldAdd  If true, the item will be added to the set if it doesn't\n\t  //                   already exist.\n\t  // @param set        The set instance to check or add to.\n\t  // @return {boolean} true if the item already existed, otherwise false.\n\t  //\n\t  return _Set;\n\t}();\n\t\n\tfunction hasOrAdd(item, shouldAdd, set) {\n\t  var type = typeof item;\n\t  var prevSize, newSize;\n\t  switch (type) {\n\t    case 'string':\n\t    case 'number':\n\t      // distinguish between +0 and -0\n\t      if (item === 0 && 1 / item === -Infinity) {\n\t        if (set._items['-0']) {\n\t          return true;\n\t        } else {\n\t          if (shouldAdd) {\n\t            set._items['-0'] = true;\n\t          }\n\t          return false;\n\t        }\n\t      }\n\t      // these types can all utilise the native Set\n\t      if (set._nativeSet !== null) {\n\t        if (shouldAdd) {\n\t          prevSize = set._nativeSet.size;\n\t          set._nativeSet.add(item);\n\t          newSize = set._nativeSet.size;\n\t          return newSize === prevSize;\n\t        } else {\n\t          return set._nativeSet.has(item);\n\t        }\n\t      } else {\n\t        if (!(type in set._items)) {\n\t          if (shouldAdd) {\n\t            set._items[type] = {};\n\t            set._items[type][item] = true;\n\t          }\n\t          return false;\n\t        } else if (item in set._items[type]) {\n\t          return true;\n\t        } else {\n\t          if (shouldAdd) {\n\t            set._items[type][item] = true;\n\t          }\n\t          return false;\n\t        }\n\t      }\n\t\n\t    case 'boolean':\n\t      // set._items['boolean'] holds a two element array\n\t      // representing [ falseExists, trueExists ]\n\t      if (type in set._items) {\n\t        var bIdx = item ? 1 : 0;\n\t        if (set._items[type][bIdx]) {\n\t          return true;\n\t        } else {\n\t          if (shouldAdd) {\n\t            set._items[type][bIdx] = true;\n\t          }\n\t          return false;\n\t        }\n\t      } else {\n\t        if (shouldAdd) {\n\t          set._items[type] = item ? [false, true] : [true, false];\n\t        }\n\t        return false;\n\t      }\n\t\n\t    case 'function':\n\t      // compare functions for reference equality\n\t      if (set._nativeSet !== null) {\n\t        if (shouldAdd) {\n\t          prevSize = set._nativeSet.size;\n\t          set._nativeSet.add(item);\n\t          newSize = set._nativeSet.size;\n\t          return newSize === prevSize;\n\t        } else {\n\t          return set._nativeSet.has(item);\n\t        }\n\t      } else {\n\t        if (!(type in set._items)) {\n\t          if (shouldAdd) {\n\t            set._items[type] = [item];\n\t          }\n\t          return false;\n\t        }\n\t        if (!_contains(item, set._items[type])) {\n\t          if (shouldAdd) {\n\t            set._items[type].push(item);\n\t          }\n\t          return false;\n\t        }\n\t        return true;\n\t      }\n\t\n\t    case 'undefined':\n\t      if (set._items[type]) {\n\t        return true;\n\t      } else {\n\t        if (shouldAdd) {\n\t          set._items[type] = true;\n\t        }\n\t        return false;\n\t      }\n\t\n\t    case 'object':\n\t      if (item === null) {\n\t        if (!set._items['null']) {\n\t          if (shouldAdd) {\n\t            set._items['null'] = true;\n\t          }\n\t          return false;\n\t        }\n\t        return true;\n\t      }\n\t    /* falls through */\n\t    default:\n\t      // reduce the search size of heterogeneous sets by creating buckets\n\t      // for each type.\n\t      type = Object.prototype.toString.call(item);\n\t      if (!(type in set._items)) {\n\t        if (shouldAdd) {\n\t          set._items[type] = [item];\n\t        }\n\t        return false;\n\t      }\n\t      // scan through all previously applied items\n\t      if (!_contains(item, set._items[type])) {\n\t        if (shouldAdd) {\n\t          set._items[type].push(item);\n\t        }\n\t        return false;\n\t      }\n\t      return true;\n\t  }\n\t}\n\t\n\t// A simple Set type that honours R.equals semantics\n\tmodule.exports = _Set;\n\n/***/ }),\n/* 791 */\n/*!*************************************!*\\\n  !*** ../~/ramda/src/intersperse.js ***!\n  \\*************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _checkForMethod = /*#__PURE__*/__webpack_require__(/*! ./internal/_checkForMethod */ 688);\n\t\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Creates a new list with the separator interposed between elements.\n\t *\n\t * Dispatches to the `intersperse` method of the second argument, if present.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.14.0\n\t * @category List\n\t * @sig a -> [a] -> [a]\n\t * @param {*} separator The element to add to the list.\n\t * @param {Array} list The list to be interposed.\n\t * @return {Array} The new list.\n\t * @example\n\t *\n\t *      R.intersperse('n', ['ba', 'a', 'a']); //=> ['ba', 'n', 'a', 'n', 'a']\n\t */\n\t\n\t\n\tvar intersperse = /*#__PURE__*/_curry2( /*#__PURE__*/_checkForMethod('intersperse', function intersperse(separator, list) {\n\t  var out = [];\n\t  var idx = 0;\n\t  var length = list.length;\n\t  while (idx < length) {\n\t    if (idx === length - 1) {\n\t      out.push(list[idx]);\n\t    } else {\n\t      out.push(list[idx], separator);\n\t    }\n\t    idx += 1;\n\t  }\n\t  return out;\n\t}));\n\tmodule.exports = intersperse;\n\n/***/ }),\n/* 792 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/into.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _clone = /*#__PURE__*/__webpack_require__(/*! ./internal/_clone */ 678);\n\t\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\tvar _isTransformer = /*#__PURE__*/__webpack_require__(/*! ./internal/_isTransformer */ 624);\n\t\n\tvar _reduce = /*#__PURE__*/__webpack_require__(/*! ./internal/_reduce */ 633);\n\t\n\tvar _stepCat = /*#__PURE__*/__webpack_require__(/*! ./internal/_stepCat */ 793);\n\t\n\t/**\n\t * Transforms the items of the list with the transducer and appends the\n\t * transformed items to the accumulator using an appropriate iterator function\n\t * based on the accumulator type.\n\t *\n\t * The accumulator can be an array, string, object or a transformer. Iterated\n\t * items will be appended to arrays and concatenated to strings. Objects will\n\t * be merged directly or 2-item arrays will be merged as key, value pairs.\n\t *\n\t * The accumulator can also be a transformer object that provides a 2-arity\n\t * reducing iterator function, step, 0-arity initial value function, init, and\n\t * 1-arity result extraction function result. The step function is used as the\n\t * iterator function in reduce. The result function is used to convert the\n\t * final accumulator into the return type and in most cases is R.identity. The\n\t * init function is used to provide the initial accumulator.\n\t *\n\t * The iteration is performed with [`R.reduce`](#reduce) after initializing the\n\t * transducer.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.12.0\n\t * @category List\n\t * @sig a -> (b -> b) -> [c] -> a\n\t * @param {*} acc The initial accumulator value.\n\t * @param {Function} xf The transducer function. Receives a transformer and returns a transformer.\n\t * @param {Array} list The list to iterate over.\n\t * @return {*} The final, accumulated value.\n\t * @example\n\t *\n\t *      var numbers = [1, 2, 3, 4];\n\t *      var transducer = R.compose(R.map(R.add(1)), R.take(2));\n\t *\n\t *      R.into([], transducer, numbers); //=> [2, 3]\n\t *\n\t *      var intoArray = R.into([]);\n\t *      intoArray(transducer, numbers); //=> [2, 3]\n\t */\n\t\n\t\n\tvar into = /*#__PURE__*/_curry3(function into(acc, xf, list) {\n\t  return _isTransformer(acc) ? _reduce(xf(acc), acc['@@transducer/init'](), list) : _reduce(xf(_stepCat(acc)), _clone(acc, [], [], false), list);\n\t});\n\tmodule.exports = into;\n\n/***/ }),\n/* 793 */\n/*!*******************************************!*\\\n  !*** ../~/ramda/src/internal/_stepCat.js ***!\n  \\*******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _assign = /*#__PURE__*/__webpack_require__(/*! ./_assign */ 794);\n\t\n\tvar _identity = /*#__PURE__*/__webpack_require__(/*! ./_identity */ 778);\n\t\n\tvar _isArrayLike = /*#__PURE__*/__webpack_require__(/*! ./_isArrayLike */ 634);\n\t\n\tvar _isTransformer = /*#__PURE__*/__webpack_require__(/*! ./_isTransformer */ 624);\n\t\n\tvar objOf = /*#__PURE__*/__webpack_require__(/*! ../objOf */ 796);\n\t\n\tvar _stepCatArray = {\n\t  '@@transducer/init': Array,\n\t  '@@transducer/step': function (xs, x) {\n\t    xs.push(x);\n\t    return xs;\n\t  },\n\t  '@@transducer/result': _identity\n\t};\n\tvar _stepCatString = {\n\t  '@@transducer/init': String,\n\t  '@@transducer/step': function (a, b) {\n\t    return a + b;\n\t  },\n\t  '@@transducer/result': _identity\n\t};\n\tvar _stepCatObject = {\n\t  '@@transducer/init': Object,\n\t  '@@transducer/step': function (result, input) {\n\t    return _assign(result, _isArrayLike(input) ? objOf(input[0], input[1]) : input);\n\t  },\n\t  '@@transducer/result': _identity\n\t};\n\t\n\tfunction _stepCat(obj) {\n\t  if (_isTransformer(obj)) {\n\t    return obj;\n\t  }\n\t  if (_isArrayLike(obj)) {\n\t    return _stepCatArray;\n\t  }\n\t  if (typeof obj === 'string') {\n\t    return _stepCatString;\n\t  }\n\t  if (typeof obj === 'object') {\n\t    return _stepCatObject;\n\t  }\n\t  throw new Error('Cannot create transformer for ' + obj);\n\t}\n\tmodule.exports = _stepCat;\n\n/***/ }),\n/* 794 */\n/*!******************************************!*\\\n  !*** ../~/ramda/src/internal/_assign.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _objectAssign = /*#__PURE__*/__webpack_require__(/*! ./_objectAssign */ 795);\n\t\n\tmodule.exports = typeof Object.assign === 'function' ? Object.assign : _objectAssign;\n\n/***/ }),\n/* 795 */\n/*!************************************************!*\\\n  !*** ../~/ramda/src/internal/_objectAssign.js ***!\n  \\************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _has = /*#__PURE__*/__webpack_require__(/*! ./_has */ 640);\n\t\n\t// Based on https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n\t\n\t\n\tfunction _objectAssign(target) {\n\t  if (target == null) {\n\t    throw new TypeError('Cannot convert undefined or null to object');\n\t  }\n\t\n\t  var output = Object(target);\n\t  var idx = 1;\n\t  var length = arguments.length;\n\t  while (idx < length) {\n\t    var source = arguments[idx];\n\t    if (source != null) {\n\t      for (var nextKey in source) {\n\t        if (_has(nextKey, source)) {\n\t          output[nextKey] = source[nextKey];\n\t        }\n\t      }\n\t    }\n\t    idx += 1;\n\t  }\n\t  return output;\n\t}\n\tmodule.exports = _objectAssign;\n\n/***/ }),\n/* 796 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/objOf.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Creates an object containing a single key:value pair.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.18.0\n\t * @category Object\n\t * @sig String -> a -> {String:a}\n\t * @param {String} key\n\t * @param {*} val\n\t * @return {Object}\n\t * @see R.pair\n\t * @example\n\t *\n\t *      var matchPhrases = R.compose(\n\t *        R.objOf('must'),\n\t *        R.map(R.objOf('match_phrase'))\n\t *      );\n\t *      matchPhrases(['foo', 'bar', 'baz']); //=> {must: [{match_phrase: 'foo'}, {match_phrase: 'bar'}, {match_phrase: 'baz'}]}\n\t */\n\t\n\t\n\tvar objOf = /*#__PURE__*/_curry2(function objOf(key, val) {\n\t  var obj = {};\n\t  obj[key] = val;\n\t  return obj;\n\t});\n\tmodule.exports = objOf;\n\n/***/ }),\n/* 797 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/invert.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar _has = /*#__PURE__*/__webpack_require__(/*! ./internal/_has */ 640);\n\t\n\tvar keys = /*#__PURE__*/__webpack_require__(/*! ./keys */ 639);\n\t\n\t/**\n\t * Same as [`R.invertObj`](#invertObj), however this accounts for objects with\n\t * duplicate values by putting the values into an array.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.9.0\n\t * @category Object\n\t * @sig {s: x} -> {x: [ s, ... ]}\n\t * @param {Object} obj The object or array to invert\n\t * @return {Object} out A new object with keys in an array.\n\t * @see R.invertObj\n\t * @example\n\t *\n\t *      var raceResultsByFirstName = {\n\t *        first: 'alice',\n\t *        second: 'jake',\n\t *        third: 'alice',\n\t *      };\n\t *      R.invert(raceResultsByFirstName);\n\t *      //=> { 'alice': ['first', 'third'], 'jake':['second'] }\n\t */\n\t\n\t\n\tvar invert = /*#__PURE__*/_curry1(function invert(obj) {\n\t  var props = keys(obj);\n\t  var len = props.length;\n\t  var idx = 0;\n\t  var out = {};\n\t\n\t  while (idx < len) {\n\t    var key = props[idx];\n\t    var val = obj[key];\n\t    var list = _has(val, out) ? out[val] : out[val] = [];\n\t    list[list.length] = key;\n\t    idx += 1;\n\t  }\n\t  return out;\n\t});\n\tmodule.exports = invert;\n\n/***/ }),\n/* 798 */\n/*!***********************************!*\\\n  !*** ../~/ramda/src/invertObj.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar keys = /*#__PURE__*/__webpack_require__(/*! ./keys */ 639);\n\t\n\t/**\n\t * Returns a new object with the keys of the given object as values, and the\n\t * values of the given object, which are coerced to strings, as keys. Note\n\t * that the last key found is preferred when handling the same value.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.9.0\n\t * @category Object\n\t * @sig {s: x} -> {x: s}\n\t * @param {Object} obj The object or array to invert\n\t * @return {Object} out A new object\n\t * @see R.invert\n\t * @example\n\t *\n\t *      var raceResults = {\n\t *        first: 'alice',\n\t *        second: 'jake'\n\t *      };\n\t *      R.invertObj(raceResults);\n\t *      //=> { 'alice': 'first', 'jake':'second' }\n\t *\n\t *      // Alternatively:\n\t *      var raceResults = ['alice', 'jake'];\n\t *      R.invertObj(raceResults);\n\t *      //=> { 'alice': '0', 'jake':'1' }\n\t */\n\t\n\t\n\tvar invertObj = /*#__PURE__*/_curry1(function invertObj(obj) {\n\t  var props = keys(obj);\n\t  var len = props.length;\n\t  var idx = 0;\n\t  var out = {};\n\t\n\t  while (idx < len) {\n\t    var key = props[idx];\n\t    out[obj[key]] = key;\n\t    idx += 1;\n\t  }\n\t  return out;\n\t});\n\tmodule.exports = invertObj;\n\n/***/ }),\n/* 799 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/invoker.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _isFunction = /*#__PURE__*/__webpack_require__(/*! ./internal/_isFunction */ 666);\n\t\n\tvar curryN = /*#__PURE__*/__webpack_require__(/*! ./curryN */ 616);\n\t\n\tvar toString = /*#__PURE__*/__webpack_require__(/*! ./toString */ 696);\n\t\n\t/**\n\t * Turns a named method with a specified arity into a function that can be\n\t * called directly supplied with arguments and a target object.\n\t *\n\t * The returned function is curried and accepts `arity + 1` parameters where\n\t * the final parameter is the target object.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Function\n\t * @sig Number -> String -> (a -> b -> ... -> n -> Object -> *)\n\t * @param {Number} arity Number of arguments the returned function should take\n\t *        before the target object.\n\t * @param {String} method Name of the method to call.\n\t * @return {Function} A new curried function.\n\t * @see R.construct\n\t * @example\n\t *\n\t *      var sliceFrom = R.invoker(1, 'slice');\n\t *      sliceFrom(6, 'abcdefghijklm'); //=> 'ghijklm'\n\t *      var sliceFrom6 = R.invoker(2, 'slice')(6);\n\t *      sliceFrom6(8, 'abcdefghijklm'); //=> 'gh'\n\t * @symb R.invoker(0, 'method')(o) = o['method']()\n\t * @symb R.invoker(1, 'method')(a, o) = o['method'](a)\n\t * @symb R.invoker(2, 'method')(a, b, o) = o['method'](a, b)\n\t */\n\t\n\t\n\tvar invoker = /*#__PURE__*/_curry2(function invoker(arity, method) {\n\t  return curryN(arity + 1, function () {\n\t    var target = arguments[arity];\n\t    if (target != null && _isFunction(target[method])) {\n\t      return target[method].apply(target, Array.prototype.slice.call(arguments, 0, arity));\n\t    }\n\t    throw new TypeError(toString(target) + ' does not have a method named \"' + method + '\"');\n\t  });\n\t});\n\tmodule.exports = invoker;\n\n/***/ }),\n/* 800 */\n/*!****************************!*\\\n  !*** ../~/ramda/src/is.js ***!\n  \\****************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * See if an object (`val`) is an instance of the supplied constructor. This\n\t * function will check up the inheritance chain, if any.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.3.0\n\t * @category Type\n\t * @sig (* -> {*}) -> a -> Boolean\n\t * @param {Object} ctor A constructor\n\t * @param {*} val The value to test\n\t * @return {Boolean}\n\t * @example\n\t *\n\t *      R.is(Object, {}); //=> true\n\t *      R.is(Number, 1); //=> true\n\t *      R.is(Object, 1); //=> false\n\t *      R.is(String, 's'); //=> true\n\t *      R.is(String, new String('')); //=> true\n\t *      R.is(Object, new String('')); //=> true\n\t *      R.is(Object, 's'); //=> false\n\t *      R.is(Number, {}); //=> false\n\t */\n\t\n\t\n\tvar is = /*#__PURE__*/_curry2(function is(Ctor, val) {\n\t  return val != null && val.constructor === Ctor || val instanceof Ctor;\n\t});\n\tmodule.exports = is;\n\n/***/ }),\n/* 801 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/isEmpty.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar empty = /*#__PURE__*/__webpack_require__(/*! ./empty */ 751);\n\t\n\tvar equals = /*#__PURE__*/__webpack_require__(/*! ./equals */ 700);\n\t\n\t/**\n\t * Returns `true` if the given value is its type's empty value; `false`\n\t * otherwise.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Logic\n\t * @sig a -> Boolean\n\t * @param {*} x\n\t * @return {Boolean}\n\t * @see R.empty\n\t * @example\n\t *\n\t *      R.isEmpty([1, 2, 3]);   //=> false\n\t *      R.isEmpty([]);          //=> true\n\t *      R.isEmpty('');          //=> true\n\t *      R.isEmpty(null);        //=> false\n\t *      R.isEmpty({});          //=> true\n\t *      R.isEmpty({length: 0}); //=> false\n\t */\n\t\n\t\n\tvar isEmpty = /*#__PURE__*/_curry1(function isEmpty(x) {\n\t  return x != null && equals(x, empty(x));\n\t});\n\tmodule.exports = isEmpty;\n\n/***/ }),\n/* 802 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/join.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar invoker = /*#__PURE__*/__webpack_require__(/*! ./invoker */ 799);\n\t\n\t/**\n\t * Returns a string made by inserting the `separator` between each element and\n\t * concatenating all the elements into a single string.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig String -> [a] -> String\n\t * @param {Number|String} separator The string used to separate the elements.\n\t * @param {Array} xs The elements to join into a string.\n\t * @return {String} str The string made by concatenating `xs` with `separator`.\n\t * @see R.split\n\t * @example\n\t *\n\t *      var spacer = R.join(' ');\n\t *      spacer(['a', 2, 3.4]);   //=> 'a 2 3.4'\n\t *      R.join('|', [1, 2, 3]);    //=> '1|2|3'\n\t */\n\t\n\t\n\tvar join = /*#__PURE__*/invoker(1, 'join');\n\tmodule.exports = join;\n\n/***/ }),\n/* 803 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/juxt.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar converge = /*#__PURE__*/__webpack_require__(/*! ./converge */ 718);\n\t\n\t/**\n\t * juxt applies a list of functions to a list of values.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.19.0\n\t * @category Function\n\t * @sig [(a, b, ..., m) -> n] -> ((a, b, ..., m) -> [n])\n\t * @param {Array} fns An array of functions\n\t * @return {Function} A function that returns a list of values after applying each of the original `fns` to its parameters.\n\t * @see R.applySpec\n\t * @example\n\t *\n\t *      var getRange = R.juxt([Math.min, Math.max]);\n\t *      getRange(3, 4, 9, -3); //=> [-3, 9]\n\t * @symb R.juxt([f, g, h])(a, b) = [f(a, b), g(a, b), h(a, b)]\n\t */\n\t\n\t\n\tvar juxt = /*#__PURE__*/_curry1(function juxt(fns) {\n\t  return converge(function () {\n\t    return Array.prototype.slice.call(arguments, 0);\n\t  }, fns);\n\t});\n\tmodule.exports = juxt;\n\n/***/ }),\n/* 804 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/keysIn.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\t/**\n\t * Returns a list containing the names of all the properties of the supplied\n\t * object, including prototype properties.\n\t * Note that the order of the output array is not guaranteed to be consistent\n\t * across different JS platforms.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.2.0\n\t * @category Object\n\t * @sig {k: v} -> [k]\n\t * @param {Object} obj The object to extract properties from\n\t * @return {Array} An array of the object's own and prototype properties.\n\t * @see R.keys, R.valuesIn\n\t * @example\n\t *\n\t *      var F = function() { this.x = 'X'; };\n\t *      F.prototype.y = 'Y';\n\t *      var f = new F();\n\t *      R.keysIn(f); //=> ['x', 'y']\n\t */\n\t\n\t\n\tvar keysIn = /*#__PURE__*/_curry1(function keysIn(obj) {\n\t  var prop;\n\t  var ks = [];\n\t  for (prop in obj) {\n\t    ks[ks.length] = prop;\n\t  }\n\t  return ks;\n\t});\n\tmodule.exports = keysIn;\n\n/***/ }),\n/* 805 */\n/*!*************************************!*\\\n  !*** ../~/ramda/src/lastIndexOf.js ***!\n  \\*************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _isArray = /*#__PURE__*/__webpack_require__(/*! ./internal/_isArray */ 623);\n\t\n\tvar equals = /*#__PURE__*/__webpack_require__(/*! ./equals */ 700);\n\t\n\t/**\n\t * Returns the position of the last occurrence of an item in an array, or -1 if\n\t * the item is not included in the array. [`R.equals`](#equals) is used to\n\t * determine equality.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig a -> [a] -> Number\n\t * @param {*} target The item to find.\n\t * @param {Array} xs The array to search in.\n\t * @return {Number} the index of the target, or -1 if the target is not found.\n\t * @see R.indexOf\n\t * @example\n\t *\n\t *      R.lastIndexOf(3, [-1,3,3,0,1,2,3,4]); //=> 6\n\t *      R.lastIndexOf(10, [1,2,3,4]); //=> -1\n\t */\n\t\n\t\n\tvar lastIndexOf = /*#__PURE__*/_curry2(function lastIndexOf(target, xs) {\n\t  if (typeof xs.lastIndexOf === 'function' && !_isArray(xs)) {\n\t    return xs.lastIndexOf(target);\n\t  } else {\n\t    var idx = xs.length - 1;\n\t    while (idx >= 0) {\n\t      if (equals(xs[idx], target)) {\n\t        return idx;\n\t      }\n\t      idx -= 1;\n\t    }\n\t    return -1;\n\t  }\n\t});\n\tmodule.exports = lastIndexOf;\n\n/***/ }),\n/* 806 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/length.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar _isNumber = /*#__PURE__*/__webpack_require__(/*! ./internal/_isNumber */ 807);\n\t\n\t/**\n\t * Returns the number of elements in the array by returning `list.length`.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.3.0\n\t * @category List\n\t * @sig [a] -> Number\n\t * @param {Array} list The array to inspect.\n\t * @return {Number} The length of the array.\n\t * @example\n\t *\n\t *      R.length([]); //=> 0\n\t *      R.length([1, 2, 3]); //=> 3\n\t */\n\t\n\t\n\tvar length = /*#__PURE__*/_curry1(function length(list) {\n\t  return list != null && _isNumber(list.length) ? list.length : NaN;\n\t});\n\tmodule.exports = length;\n\n/***/ }),\n/* 807 */\n/*!********************************************!*\\\n  !*** ../~/ramda/src/internal/_isNumber.js ***!\n  \\********************************************/\n/***/ (function(module, exports) {\n\n\tfunction _isNumber(x) {\n\t  return Object.prototype.toString.call(x) === '[object Number]';\n\t}\n\tmodule.exports = _isNumber;\n\n/***/ }),\n/* 808 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/lens.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar map = /*#__PURE__*/__webpack_require__(/*! ./map */ 631);\n\t\n\t/**\n\t * Returns a lens for the given getter and setter functions. The getter \"gets\"\n\t * the value of the focus; the setter \"sets\" the value of the focus. The setter\n\t * should not mutate the data structure.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.8.0\n\t * @category Object\n\t * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n\t * @sig (s -> a) -> ((a, s) -> s) -> Lens s a\n\t * @param {Function} getter\n\t * @param {Function} setter\n\t * @return {Lens}\n\t * @see R.view, R.set, R.over, R.lensIndex, R.lensProp\n\t * @example\n\t *\n\t *      var xLens = R.lens(R.prop('x'), R.assoc('x'));\n\t *\n\t *      R.view(xLens, {x: 1, y: 2});            //=> 1\n\t *      R.set(xLens, 4, {x: 1, y: 2});          //=> {x: 4, y: 2}\n\t *      R.over(xLens, R.negate, {x: 1, y: 2});  //=> {x: -1, y: 2}\n\t */\n\t\n\t\n\tvar lens = /*#__PURE__*/_curry2(function lens(getter, setter) {\n\t  return function (toFunctorFn) {\n\t    return function (target) {\n\t      return map(function (focus) {\n\t        return setter(focus, target);\n\t      }, toFunctorFn(getter(target)));\n\t    };\n\t  };\n\t});\n\tmodule.exports = lens;\n\n/***/ }),\n/* 809 */\n/*!***********************************!*\\\n  !*** ../~/ramda/src/lensIndex.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar lens = /*#__PURE__*/__webpack_require__(/*! ./lens */ 808);\n\t\n\tvar nth = /*#__PURE__*/__webpack_require__(/*! ./nth */ 746);\n\t\n\tvar update = /*#__PURE__*/__webpack_require__(/*! ./update */ 730);\n\t\n\t/**\n\t * Returns a lens whose focus is the specified index.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.14.0\n\t * @category Object\n\t * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n\t * @sig Number -> Lens s a\n\t * @param {Number} n\n\t * @return {Lens}\n\t * @see R.view, R.set, R.over\n\t * @example\n\t *\n\t *      var headLens = R.lensIndex(0);\n\t *\n\t *      R.view(headLens, ['a', 'b', 'c']);            //=> 'a'\n\t *      R.set(headLens, 'x', ['a', 'b', 'c']);        //=> ['x', 'b', 'c']\n\t *      R.over(headLens, R.toUpper, ['a', 'b', 'c']); //=> ['A', 'b', 'c']\n\t */\n\t\n\t\n\tvar lensIndex = /*#__PURE__*/_curry1(function lensIndex(n) {\n\t  return lens(nth(n), update(n));\n\t});\n\tmodule.exports = lensIndex;\n\n/***/ }),\n/* 810 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/lensPath.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar assocPath = /*#__PURE__*/__webpack_require__(/*! ./assocPath */ 660);\n\t\n\tvar lens = /*#__PURE__*/__webpack_require__(/*! ./lens */ 808);\n\t\n\tvar path = /*#__PURE__*/__webpack_require__(/*! ./path */ 643);\n\t\n\t/**\n\t * Returns a lens whose focus is the specified path.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.19.0\n\t * @category Object\n\t * @typedefn Idx = String | Int\n\t * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n\t * @sig [Idx] -> Lens s a\n\t * @param {Array} path The path to use.\n\t * @return {Lens}\n\t * @see R.view, R.set, R.over\n\t * @example\n\t *\n\t *      var xHeadYLens = R.lensPath(['x', 0, 'y']);\n\t *\n\t *      R.view(xHeadYLens, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n\t *      //=> 2\n\t *      R.set(xHeadYLens, 1, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n\t *      //=> {x: [{y: 1, z: 3}, {y: 4, z: 5}]}\n\t *      R.over(xHeadYLens, R.negate, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n\t *      //=> {x: [{y: -2, z: 3}, {y: 4, z: 5}]}\n\t */\n\t\n\t\n\tvar lensPath = /*#__PURE__*/_curry1(function lensPath(p) {\n\t  return lens(path(p), assocPath(p));\n\t});\n\tmodule.exports = lensPath;\n\n/***/ }),\n/* 811 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/lensProp.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar assoc = /*#__PURE__*/__webpack_require__(/*! ./assoc */ 659);\n\t\n\tvar lens = /*#__PURE__*/__webpack_require__(/*! ./lens */ 808);\n\t\n\tvar prop = /*#__PURE__*/__webpack_require__(/*! ./prop */ 642);\n\t\n\t/**\n\t * Returns a lens whose focus is the specified property.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.14.0\n\t * @category Object\n\t * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n\t * @sig String -> Lens s a\n\t * @param {String} k\n\t * @return {Lens}\n\t * @see R.view, R.set, R.over\n\t * @example\n\t *\n\t *      var xLens = R.lensProp('x');\n\t *\n\t *      R.view(xLens, {x: 1, y: 2});            //=> 1\n\t *      R.set(xLens, 4, {x: 1, y: 2});          //=> {x: 4, y: 2}\n\t *      R.over(xLens, R.negate, {x: 1, y: 2});  //=> {x: -1, y: 2}\n\t */\n\t\n\t\n\tvar lensProp = /*#__PURE__*/_curry1(function lensProp(k) {\n\t  return lens(prop(k), assoc(k));\n\t});\n\tmodule.exports = lensProp;\n\n/***/ }),\n/* 812 */\n/*!****************************!*\\\n  !*** ../~/ramda/src/lt.js ***!\n  \\****************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Returns `true` if the first argument is less than the second; `false`\n\t * otherwise.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Relation\n\t * @sig Ord a => a -> a -> Boolean\n\t * @param {*} a\n\t * @param {*} b\n\t * @return {Boolean}\n\t * @see R.gt\n\t * @example\n\t *\n\t *      R.lt(2, 1); //=> false\n\t *      R.lt(2, 2); //=> false\n\t *      R.lt(2, 3); //=> true\n\t *      R.lt('a', 'z'); //=> true\n\t *      R.lt('z', 'a'); //=> false\n\t */\n\t\n\t\n\tvar lt = /*#__PURE__*/_curry2(function lt(a, b) {\n\t  return a < b;\n\t});\n\tmodule.exports = lt;\n\n/***/ }),\n/* 813 */\n/*!*****************************!*\\\n  !*** ../~/ramda/src/lte.js ***!\n  \\*****************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Returns `true` if the first argument is less than or equal to the second;\n\t * `false` otherwise.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Relation\n\t * @sig Ord a => a -> a -> Boolean\n\t * @param {Number} a\n\t * @param {Number} b\n\t * @return {Boolean}\n\t * @see R.gte\n\t * @example\n\t *\n\t *      R.lte(2, 1); //=> false\n\t *      R.lte(2, 2); //=> true\n\t *      R.lte(2, 3); //=> true\n\t *      R.lte('a', 'z'); //=> true\n\t *      R.lte('z', 'a'); //=> false\n\t */\n\t\n\t\n\tvar lte = /*#__PURE__*/_curry2(function lte(a, b) {\n\t  return a <= b;\n\t});\n\tmodule.exports = lte;\n\n/***/ }),\n/* 814 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/mapAccum.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\t/**\n\t * The `mapAccum` function behaves like a combination of map and reduce; it\n\t * applies a function to each element of a list, passing an accumulating\n\t * parameter from left to right, and returning a final value of this\n\t * accumulator together with the new list.\n\t *\n\t * The iterator function receives two arguments, *acc* and *value*, and should\n\t * return a tuple *[acc, value]*.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.10.0\n\t * @category List\n\t * @sig ((acc, x) -> (acc, y)) -> acc -> [x] -> (acc, [y])\n\t * @param {Function} fn The function to be called on every element of the input `list`.\n\t * @param {*} acc The accumulator value.\n\t * @param {Array} list The list to iterate over.\n\t * @return {*} The final, accumulated value.\n\t * @see R.addIndex, R.mapAccumRight\n\t * @example\n\t *\n\t *      var digits = ['1', '2', '3', '4'];\n\t *      var appender = (a, b) => [a + b, a + b];\n\t *\n\t *      R.mapAccum(appender, 0, digits); //=> ['01234', ['01', '012', '0123', '01234']]\n\t * @symb R.mapAccum(f, a, [b, c, d]) = [\n\t *   f(f(f(a, b)[0], c)[0], d)[0],\n\t *   [\n\t *     f(a, b)[1],\n\t *     f(f(a, b)[0], c)[1],\n\t *     f(f(f(a, b)[0], c)[0], d)[1]\n\t *   ]\n\t * ]\n\t */\n\t\n\t\n\tvar mapAccum = /*#__PURE__*/_curry3(function mapAccum(fn, acc, list) {\n\t  var idx = 0;\n\t  var len = list.length;\n\t  var result = [];\n\t  var tuple = [acc];\n\t  while (idx < len) {\n\t    tuple = fn(tuple[0], list[idx]);\n\t    result[idx] = tuple[1];\n\t    idx += 1;\n\t  }\n\t  return [tuple[0], result];\n\t});\n\tmodule.exports = mapAccum;\n\n/***/ }),\n/* 815 */\n/*!***************************************!*\\\n  !*** ../~/ramda/src/mapAccumRight.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\t/**\n\t * The `mapAccumRight` function behaves like a combination of map and reduce; it\n\t * applies a function to each element of a list, passing an accumulating\n\t * parameter from right to left, and returning a final value of this\n\t * accumulator together with the new list.\n\t *\n\t * Similar to [`mapAccum`](#mapAccum), except moves through the input list from\n\t * the right to the left.\n\t *\n\t * The iterator function receives two arguments, *value* and *acc*, and should\n\t * return a tuple *[value, acc]*.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.10.0\n\t * @category List\n\t * @sig ((x, acc) -> (y, acc)) -> acc -> [x] -> ([y], acc)\n\t * @param {Function} fn The function to be called on every element of the input `list`.\n\t * @param {*} acc The accumulator value.\n\t * @param {Array} list The list to iterate over.\n\t * @return {*} The final, accumulated value.\n\t * @see R.addIndex, R.mapAccum\n\t * @example\n\t *\n\t *      var digits = ['1', '2', '3', '4'];\n\t *      var append = (a, b) => [a + b, a + b];\n\t *\n\t *      R.mapAccumRight(append, 5, digits); //=> [['12345', '2345', '345', '45'], '12345']\n\t * @symb R.mapAccumRight(f, a, [b, c, d]) = [\n\t *   [\n\t *     f(b, f(c, f(d, a)[0])[0])[1],\n\t *     f(c, f(d, a)[0])[1],\n\t *     f(d, a)[1],\n\t *   ]\n\t *   f(b, f(c, f(d, a)[0])[0])[0],\n\t * ]\n\t */\n\t\n\t\n\tvar mapAccumRight = /*#__PURE__*/_curry3(function mapAccumRight(fn, acc, list) {\n\t  var idx = list.length - 1;\n\t  var result = [];\n\t  var tuple = [acc];\n\t  while (idx >= 0) {\n\t    tuple = fn(list[idx], tuple[0]);\n\t    result[idx] = tuple[1];\n\t    idx -= 1;\n\t  }\n\t  return [result, tuple[0]];\n\t});\n\tmodule.exports = mapAccumRight;\n\n/***/ }),\n/* 816 */\n/*!***************************************!*\\\n  !*** ../~/ramda/src/mapObjIndexed.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _reduce = /*#__PURE__*/__webpack_require__(/*! ./internal/_reduce */ 633);\n\t\n\tvar keys = /*#__PURE__*/__webpack_require__(/*! ./keys */ 639);\n\t\n\t/**\n\t * An Object-specific version of [`map`](#map). The function is applied to three\n\t * arguments: *(value, key, obj)*. If only the value is significant, use\n\t * [`map`](#map) instead.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.9.0\n\t * @category Object\n\t * @sig ((*, String, Object) -> *) -> Object -> Object\n\t * @param {Function} fn\n\t * @param {Object} obj\n\t * @return {Object}\n\t * @see R.map\n\t * @example\n\t *\n\t *      var values = { x: 1, y: 2, z: 3 };\n\t *      var prependKeyAndDouble = (num, key, obj) => key + (num * 2);\n\t *\n\t *      R.mapObjIndexed(prependKeyAndDouble, values); //=> { x: 'x2', y: 'y4', z: 'z6' }\n\t */\n\t\n\t\n\tvar mapObjIndexed = /*#__PURE__*/_curry2(function mapObjIndexed(fn, obj) {\n\t  return _reduce(function (acc, key) {\n\t    acc[key] = fn(obj[key], key, obj);\n\t    return acc;\n\t  }, {}, keys(obj));\n\t});\n\tmodule.exports = mapObjIndexed;\n\n/***/ }),\n/* 817 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/match.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Tests a regular expression against a String. Note that this function will\n\t * return an empty array when there are no matches. This differs from\n\t * [`String.prototype.match`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match)\n\t * which returns `null` when there are no matches.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category String\n\t * @sig RegExp -> String -> [String | Undefined]\n\t * @param {RegExp} rx A regular expression.\n\t * @param {String} str The string to match against\n\t * @return {Array} The list of matches or empty array.\n\t * @see R.test\n\t * @example\n\t *\n\t *      R.match(/([a-z]a)/g, 'bananas'); //=> ['ba', 'na', 'na']\n\t *      R.match(/a/, 'b'); //=> []\n\t *      R.match(/a/, null); //=> TypeError: null does not have a method named \"match\"\n\t */\n\t\n\t\n\tvar match = /*#__PURE__*/_curry2(function match(rx, str) {\n\t  return str.match(rx) || [];\n\t});\n\tmodule.exports = match;\n\n/***/ }),\n/* 818 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/mathMod.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _isInteger = /*#__PURE__*/__webpack_require__(/*! ./internal/_isInteger */ 661);\n\t\n\t/**\n\t * `mathMod` behaves like the modulo operator should mathematically, unlike the\n\t * `%` operator (and by extension, [`R.modulo`](#modulo)). So while\n\t * `-17 % 5` is `-2`, `mathMod(-17, 5)` is `3`. `mathMod` requires Integer\n\t * arguments, and returns NaN when the modulus is zero or negative.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.3.0\n\t * @category Math\n\t * @sig Number -> Number -> Number\n\t * @param {Number} m The dividend.\n\t * @param {Number} p the modulus.\n\t * @return {Number} The result of `b mod a`.\n\t * @see R.modulo\n\t * @example\n\t *\n\t *      R.mathMod(-17, 5);  //=> 3\n\t *      R.mathMod(17, 5);   //=> 2\n\t *      R.mathMod(17, -5);  //=> NaN\n\t *      R.mathMod(17, 0);   //=> NaN\n\t *      R.mathMod(17.2, 5); //=> NaN\n\t *      R.mathMod(17, 5.3); //=> NaN\n\t *\n\t *      var clock = R.mathMod(R.__, 12);\n\t *      clock(15); //=> 3\n\t *      clock(24); //=> 0\n\t *\n\t *      var seventeenMod = R.mathMod(17);\n\t *      seventeenMod(3);  //=> 2\n\t *      seventeenMod(4);  //=> 1\n\t *      seventeenMod(10); //=> 7\n\t */\n\t\n\t\n\tvar mathMod = /*#__PURE__*/_curry2(function mathMod(m, p) {\n\t  if (!_isInteger(m)) {\n\t    return NaN;\n\t  }\n\t  if (!_isInteger(p) || p < 1) {\n\t    return NaN;\n\t  }\n\t  return (m % p + p) % p;\n\t});\n\tmodule.exports = mathMod;\n\n/***/ }),\n/* 819 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/maxBy.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\t/**\n\t * Takes a function and two values, and returns whichever value produces the\n\t * larger result when passed to the provided function.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.8.0\n\t * @category Relation\n\t * @sig Ord b => (a -> b) -> a -> a -> a\n\t * @param {Function} f\n\t * @param {*} a\n\t * @param {*} b\n\t * @return {*}\n\t * @see R.max, R.minBy\n\t * @example\n\t *\n\t *      //  square :: Number -> Number\n\t *      var square = n => n * n;\n\t *\n\t *      R.maxBy(square, -3, 2); //=> -3\n\t *\n\t *      R.reduce(R.maxBy(square), 0, [3, -5, 4, 1, -2]); //=> -5\n\t *      R.reduce(R.maxBy(square), 0, []); //=> 0\n\t */\n\t\n\t\n\tvar maxBy = /*#__PURE__*/_curry3(function maxBy(f, a, b) {\n\t  return f(b) > f(a) ? b : a;\n\t});\n\tmodule.exports = maxBy;\n\n/***/ }),\n/* 820 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/mean.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar sum = /*#__PURE__*/__webpack_require__(/*! ./sum */ 821);\n\t\n\t/**\n\t * Returns the mean of the given list of numbers.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.14.0\n\t * @category Math\n\t * @sig [Number] -> Number\n\t * @param {Array} list\n\t * @return {Number}\n\t * @see R.median\n\t * @example\n\t *\n\t *      R.mean([2, 7, 9]); //=> 6\n\t *      R.mean([]); //=> NaN\n\t */\n\t\n\t\n\tvar mean = /*#__PURE__*/_curry1(function mean(list) {\n\t  return sum(list) / list.length;\n\t});\n\tmodule.exports = mean;\n\n/***/ }),\n/* 821 */\n/*!*****************************!*\\\n  !*** ../~/ramda/src/sum.js ***!\n  \\*****************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar add = /*#__PURE__*/__webpack_require__(/*! ./add */ 612);\n\t\n\tvar reduce = /*#__PURE__*/__webpack_require__(/*! ./reduce */ 644);\n\t\n\t/**\n\t * Adds together all the elements of a list.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Math\n\t * @sig [Number] -> Number\n\t * @param {Array} list An array of numbers\n\t * @return {Number} The sum of all the numbers in the list.\n\t * @see R.reduce\n\t * @example\n\t *\n\t *      R.sum([2,4,6,8,100,1]); //=> 121\n\t */\n\t\n\t\n\tvar sum = /*#__PURE__*/reduce(add, 0);\n\tmodule.exports = sum;\n\n/***/ }),\n/* 822 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/median.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar mean = /*#__PURE__*/__webpack_require__(/*! ./mean */ 820);\n\t\n\t/**\n\t * Returns the median of the given list of numbers.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.14.0\n\t * @category Math\n\t * @sig [Number] -> Number\n\t * @param {Array} list\n\t * @return {Number}\n\t * @see R.mean\n\t * @example\n\t *\n\t *      R.median([2, 9, 7]); //=> 7\n\t *      R.median([7, 2, 10, 9]); //=> 8\n\t *      R.median([]); //=> NaN\n\t */\n\t\n\t\n\tvar median = /*#__PURE__*/_curry1(function median(list) {\n\t  var len = list.length;\n\t  if (len === 0) {\n\t    return NaN;\n\t  }\n\t  var width = 2 - len % 2;\n\t  var idx = (len - width) / 2;\n\t  return mean(Array.prototype.slice.call(list, 0).sort(function (a, b) {\n\t    return a < b ? -1 : a > b ? 1 : 0;\n\t  }).slice(idx, idx + width));\n\t});\n\tmodule.exports = median;\n\n/***/ }),\n/* 823 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/memoize.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar memoizeWith = /*#__PURE__*/__webpack_require__(/*! ./memoizeWith */ 824);\n\t\n\tvar toString = /*#__PURE__*/__webpack_require__(/*! ./toString */ 696);\n\t\n\t/**\n\t * Creates a new function that, when invoked, caches the result of calling `fn`\n\t * for a given argument set and returns the result. Subsequent calls to the\n\t * memoized `fn` with the same argument set will not result in an additional\n\t * call to `fn`; instead, the cached result for that set of arguments will be\n\t * returned.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Function\n\t * @sig (*... -> a) -> (*... -> a)\n\t * @param {Function} fn The function to memoize.\n\t * @return {Function} Memoized version of `fn`.\n\t * @see R.memoizeWith\n\t * @deprecated since v0.25.0\n\t * @example\n\t *\n\t *      let count = 0;\n\t *      const factorial = R.memoize(n => {\n\t *        count += 1;\n\t *        return R.product(R.range(1, n + 1));\n\t *      });\n\t *      factorial(5); //=> 120\n\t *      factorial(5); //=> 120\n\t *      factorial(5); //=> 120\n\t *      count; //=> 1\n\t */\n\t\n\t\n\tvar memoize = /*#__PURE__*/memoizeWith(function () {\n\t  return toString(arguments);\n\t});\n\tmodule.exports = memoize;\n\n/***/ }),\n/* 824 */\n/*!*************************************!*\\\n  !*** ../~/ramda/src/memoizeWith.js ***!\n  \\*************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _arity = /*#__PURE__*/__webpack_require__(/*! ./internal/_arity */ 617);\n\t\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _has = /*#__PURE__*/__webpack_require__(/*! ./internal/_has */ 640);\n\t\n\t/**\n\t * A customisable version of [`R.memoize`](#memoize). `memoizeWith` takes an\n\t * additional function that will be applied to a given argument set and used to\n\t * create the cache key under which the results of the function to be memoized\n\t * will be stored. Care must be taken when implementing key generation to avoid\n\t * clashes that may overwrite previous entries erroneously.\n\t *\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.24.0\n\t * @category Function\n\t * @sig (*... -> String) -> (*... -> a) -> (*... -> a)\n\t * @param {Function} fn The function to generate the cache key.\n\t * @param {Function} fn The function to memoize.\n\t * @return {Function} Memoized version of `fn`.\n\t * @see R.memoize\n\t * @example\n\t *\n\t *      let count = 0;\n\t *      const factorial = R.memoizeWith(R.identity, n => {\n\t *        count += 1;\n\t *        return R.product(R.range(1, n + 1));\n\t *      });\n\t *      factorial(5); //=> 120\n\t *      factorial(5); //=> 120\n\t *      factorial(5); //=> 120\n\t *      count; //=> 1\n\t */\n\t\n\t\n\tvar memoizeWith = /*#__PURE__*/_curry2(function memoizeWith(mFn, fn) {\n\t  var cache = {};\n\t  return _arity(fn.length, function () {\n\t    var key = mFn.apply(this, arguments);\n\t    if (!_has(key, cache)) {\n\t      cache[key] = fn.apply(this, arguments);\n\t    }\n\t    return cache[key];\n\t  });\n\t});\n\tmodule.exports = memoizeWith;\n\n/***/ }),\n/* 825 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/merge.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _assign = /*#__PURE__*/__webpack_require__(/*! ./internal/_assign */ 794);\n\t\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Create a new object with the own properties of the first object merged with\n\t * the own properties of the second object. If a key exists in both objects,\n\t * the value from the second object will be used.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Object\n\t * @sig {k: v} -> {k: v} -> {k: v}\n\t * @param {Object} l\n\t * @param {Object} r\n\t * @return {Object}\n\t * @see R.mergeDeepRight, R.mergeWith, R.mergeWithKey\n\t * @example\n\t *\n\t *      R.merge({ 'name': 'fred', 'age': 10 }, { 'age': 40 });\n\t *      //=> { 'name': 'fred', 'age': 40 }\n\t *\n\t *      var resetToDefault = R.merge(R.__, {x: 0});\n\t *      resetToDefault({x: 5, y: 2}); //=> {x: 0, y: 2}\n\t * @symb R.merge({ x: 1, y: 2 }, { y: 5, z: 3 }) = { x: 1, y: 5, z: 3 }\n\t */\n\t\n\t\n\tvar merge = /*#__PURE__*/_curry2(function merge(l, r) {\n\t  return _assign({}, l, r);\n\t});\n\tmodule.exports = merge;\n\n/***/ }),\n/* 826 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/mergeAll.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _assign = /*#__PURE__*/__webpack_require__(/*! ./internal/_assign */ 794);\n\t\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\t/**\n\t * Merges a list of objects together into one object.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.10.0\n\t * @category List\n\t * @sig [{k: v}] -> {k: v}\n\t * @param {Array} list An array of objects\n\t * @return {Object} A merged object.\n\t * @see R.reduce\n\t * @example\n\t *\n\t *      R.mergeAll([{foo:1},{bar:2},{baz:3}]); //=> {foo:1,bar:2,baz:3}\n\t *      R.mergeAll([{foo:1},{foo:2},{bar:2}]); //=> {foo:2,bar:2}\n\t * @symb R.mergeAll([{ x: 1 }, { y: 2 }, { z: 3 }]) = { x: 1, y: 2, z: 3 }\n\t */\n\t\n\t\n\tvar mergeAll = /*#__PURE__*/_curry1(function mergeAll(list) {\n\t  return _assign.apply(null, [{}].concat(list));\n\t});\n\tmodule.exports = mergeAll;\n\n/***/ }),\n/* 827 */\n/*!***************************************!*\\\n  !*** ../~/ramda/src/mergeDeepLeft.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar mergeDeepWithKey = /*#__PURE__*/__webpack_require__(/*! ./mergeDeepWithKey */ 828);\n\t\n\t/**\n\t * Creates a new object with the own properties of the first object merged with\n\t * the own properties of the second object. If a key exists in both objects:\n\t * - and both values are objects, the two values will be recursively merged\n\t * - otherwise the value from the first object will be used.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.24.0\n\t * @category Object\n\t * @sig {a} -> {a} -> {a}\n\t * @param {Object} lObj\n\t * @param {Object} rObj\n\t * @return {Object}\n\t * @see R.merge, R.mergeDeepRight, R.mergeDeepWith, R.mergeDeepWithKey\n\t * @example\n\t *\n\t *      R.mergeDeepLeft({ name: 'fred', age: 10, contact: { email: 'moo@example.com' }},\n\t *                      { age: 40, contact: { email: 'baa@example.com' }});\n\t *      //=> { name: 'fred', age: 10, contact: { email: 'moo@example.com' }}\n\t */\n\t\n\t\n\tvar mergeDeepLeft = /*#__PURE__*/_curry2(function mergeDeepLeft(lObj, rObj) {\n\t  return mergeDeepWithKey(function (k, lVal, rVal) {\n\t    return lVal;\n\t  }, lObj, rObj);\n\t});\n\tmodule.exports = mergeDeepLeft;\n\n/***/ }),\n/* 828 */\n/*!******************************************!*\\\n  !*** ../~/ramda/src/mergeDeepWithKey.js ***!\n  \\******************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\tvar _isObject = /*#__PURE__*/__webpack_require__(/*! ./internal/_isObject */ 712);\n\t\n\tvar mergeWithKey = /*#__PURE__*/__webpack_require__(/*! ./mergeWithKey */ 829);\n\t\n\t/**\n\t * Creates a new object with the own properties of the two provided objects.\n\t * If a key exists in both objects:\n\t * - and both associated values are also objects then the values will be\n\t *   recursively merged.\n\t * - otherwise the provided function is applied to the key and associated values\n\t *   using the resulting value as the new value associated with the key.\n\t * If a key only exists in one object, the value will be associated with the key\n\t * of the resulting object.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.24.0\n\t * @category Object\n\t * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a}\n\t * @param {Function} fn\n\t * @param {Object} lObj\n\t * @param {Object} rObj\n\t * @return {Object}\n\t * @see R.mergeWithKey, R.mergeDeep, R.mergeDeepWith\n\t * @example\n\t *\n\t *      let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r\n\t *      R.mergeDeepWithKey(concatValues,\n\t *                         { a: true, c: { thing: 'foo', values: [10, 20] }},\n\t *                         { b: true, c: { thing: 'bar', values: [15, 35] }});\n\t *      //=> { a: true, b: true, c: { thing: 'bar', values: [10, 20, 15, 35] }}\n\t */\n\t\n\t\n\tvar mergeDeepWithKey = /*#__PURE__*/_curry3(function mergeDeepWithKey(fn, lObj, rObj) {\n\t  return mergeWithKey(function (k, lVal, rVal) {\n\t    if (_isObject(lVal) && _isObject(rVal)) {\n\t      return mergeDeepWithKey(fn, lVal, rVal);\n\t    } else {\n\t      return fn(k, lVal, rVal);\n\t    }\n\t  }, lObj, rObj);\n\t});\n\tmodule.exports = mergeDeepWithKey;\n\n/***/ }),\n/* 829 */\n/*!**************************************!*\\\n  !*** ../~/ramda/src/mergeWithKey.js ***!\n  \\**************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\tvar _has = /*#__PURE__*/__webpack_require__(/*! ./internal/_has */ 640);\n\t\n\t/**\n\t * Creates a new object with the own properties of the two provided objects. If\n\t * a key exists in both objects, the provided function is applied to the key\n\t * and the values associated with the key in each object, with the result being\n\t * used as the value associated with the key in the returned object.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.19.0\n\t * @category Object\n\t * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a}\n\t * @param {Function} fn\n\t * @param {Object} l\n\t * @param {Object} r\n\t * @return {Object}\n\t * @see R.mergeDeepWithKey, R.merge, R.mergeWith\n\t * @example\n\t *\n\t *      let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r\n\t *      R.mergeWithKey(concatValues,\n\t *                     { a: true, thing: 'foo', values: [10, 20] },\n\t *                     { b: true, thing: 'bar', values: [15, 35] });\n\t *      //=> { a: true, b: true, thing: 'bar', values: [10, 20, 15, 35] }\n\t * @symb R.mergeWithKey(f, { x: 1, y: 2 }, { y: 5, z: 3 }) = { x: 1, y: f('y', 2, 5), z: 3 }\n\t */\n\t\n\t\n\tvar mergeWithKey = /*#__PURE__*/_curry3(function mergeWithKey(fn, l, r) {\n\t  var result = {};\n\t  var k;\n\t\n\t  for (k in l) {\n\t    if (_has(k, l)) {\n\t      result[k] = _has(k, r) ? fn(k, l[k], r[k]) : l[k];\n\t    }\n\t  }\n\t\n\t  for (k in r) {\n\t    if (_has(k, r) && !_has(k, result)) {\n\t      result[k] = r[k];\n\t    }\n\t  }\n\t\n\t  return result;\n\t});\n\tmodule.exports = mergeWithKey;\n\n/***/ }),\n/* 830 */\n/*!****************************************!*\\\n  !*** ../~/ramda/src/mergeDeepRight.js ***!\n  \\****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar mergeDeepWithKey = /*#__PURE__*/__webpack_require__(/*! ./mergeDeepWithKey */ 828);\n\t\n\t/**\n\t * Creates a new object with the own properties of the first object merged with\n\t * the own properties of the second object. If a key exists in both objects:\n\t * - and both values are objects, the two values will be recursively merged\n\t * - otherwise the value from the second object will be used.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.24.0\n\t * @category Object\n\t * @sig {a} -> {a} -> {a}\n\t * @param {Object} lObj\n\t * @param {Object} rObj\n\t * @return {Object}\n\t * @see R.merge, R.mergeDeepLeft, R.mergeDeepWith, R.mergeDeepWithKey\n\t * @example\n\t *\n\t *      R.mergeDeepRight({ name: 'fred', age: 10, contact: { email: 'moo@example.com' }},\n\t *                       { age: 40, contact: { email: 'baa@example.com' }});\n\t *      //=> { name: 'fred', age: 40, contact: { email: 'baa@example.com' }}\n\t */\n\t\n\t\n\tvar mergeDeepRight = /*#__PURE__*/_curry2(function mergeDeepRight(lObj, rObj) {\n\t  return mergeDeepWithKey(function (k, lVal, rVal) {\n\t    return rVal;\n\t  }, lObj, rObj);\n\t});\n\tmodule.exports = mergeDeepRight;\n\n/***/ }),\n/* 831 */\n/*!***************************************!*\\\n  !*** ../~/ramda/src/mergeDeepWith.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\tvar mergeDeepWithKey = /*#__PURE__*/__webpack_require__(/*! ./mergeDeepWithKey */ 828);\n\t\n\t/**\n\t * Creates a new object with the own properties of the two provided objects.\n\t * If a key exists in both objects:\n\t * - and both associated values are also objects then the values will be\n\t *   recursively merged.\n\t * - otherwise the provided function is applied to associated values using the\n\t *   resulting value as the new value associated with the key.\n\t * If a key only exists in one object, the value will be associated with the key\n\t * of the resulting object.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.24.0\n\t * @category Object\n\t * @sig ((a, a) -> a) -> {a} -> {a} -> {a}\n\t * @param {Function} fn\n\t * @param {Object} lObj\n\t * @param {Object} rObj\n\t * @return {Object}\n\t * @see R.mergeWith, R.mergeDeep, R.mergeDeepWithKey\n\t * @example\n\t *\n\t *      R.mergeDeepWith(R.concat,\n\t *                      { a: true, c: { values: [10, 20] }},\n\t *                      { b: true, c: { values: [15, 35] }});\n\t *      //=> { a: true, b: true, c: { values: [10, 20, 15, 35] }}\n\t */\n\t\n\t\n\tvar mergeDeepWith = /*#__PURE__*/_curry3(function mergeDeepWith(fn, lObj, rObj) {\n\t  return mergeDeepWithKey(function (k, lVal, rVal) {\n\t    return fn(lVal, rVal);\n\t  }, lObj, rObj);\n\t});\n\tmodule.exports = mergeDeepWith;\n\n/***/ }),\n/* 832 */\n/*!***********************************!*\\\n  !*** ../~/ramda/src/mergeWith.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\tvar mergeWithKey = /*#__PURE__*/__webpack_require__(/*! ./mergeWithKey */ 829);\n\t\n\t/**\n\t * Creates a new object with the own properties of the two provided objects. If\n\t * a key exists in both objects, the provided function is applied to the values\n\t * associated with the key in each object, with the result being used as the\n\t * value associated with the key in the returned object.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.19.0\n\t * @category Object\n\t * @sig ((a, a) -> a) -> {a} -> {a} -> {a}\n\t * @param {Function} fn\n\t * @param {Object} l\n\t * @param {Object} r\n\t * @return {Object}\n\t * @see R.mergeDeepWith, R.merge, R.mergeWithKey\n\t * @example\n\t *\n\t *      R.mergeWith(R.concat,\n\t *                  { a: true, values: [10, 20] },\n\t *                  { b: true, values: [15, 35] });\n\t *      //=> { a: true, b: true, values: [10, 20, 15, 35] }\n\t */\n\t\n\t\n\tvar mergeWith = /*#__PURE__*/_curry3(function mergeWith(fn, l, r) {\n\t  return mergeWithKey(function (_, _l, _r) {\n\t    return fn(_l, _r);\n\t  }, l, r);\n\t});\n\tmodule.exports = mergeWith;\n\n/***/ }),\n/* 833 */\n/*!*****************************!*\\\n  !*** ../~/ramda/src/min.js ***!\n  \\*****************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Returns the smaller of its two arguments.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Relation\n\t * @sig Ord a => a -> a -> a\n\t * @param {*} a\n\t * @param {*} b\n\t * @return {*}\n\t * @see R.minBy, R.max\n\t * @example\n\t *\n\t *      R.min(789, 123); //=> 123\n\t *      R.min('a', 'b'); //=> 'a'\n\t */\n\t\n\t\n\tvar min = /*#__PURE__*/_curry2(function min(a, b) {\n\t  return b < a ? b : a;\n\t});\n\tmodule.exports = min;\n\n/***/ }),\n/* 834 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/minBy.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\t/**\n\t * Takes a function and two values, and returns whichever value produces the\n\t * smaller result when passed to the provided function.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.8.0\n\t * @category Relation\n\t * @sig Ord b => (a -> b) -> a -> a -> a\n\t * @param {Function} f\n\t * @param {*} a\n\t * @param {*} b\n\t * @return {*}\n\t * @see R.min, R.maxBy\n\t * @example\n\t *\n\t *      //  square :: Number -> Number\n\t *      var square = n => n * n;\n\t *\n\t *      R.minBy(square, -3, 2); //=> 2\n\t *\n\t *      R.reduce(R.minBy(square), Infinity, [3, -5, 4, 1, -2]); //=> 1\n\t *      R.reduce(R.minBy(square), Infinity, []); //=> Infinity\n\t */\n\t\n\t\n\tvar minBy = /*#__PURE__*/_curry3(function minBy(f, a, b) {\n\t  return f(b) < f(a) ? b : a;\n\t});\n\tmodule.exports = minBy;\n\n/***/ }),\n/* 835 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/modulo.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Divides the first parameter by the second and returns the remainder. Note\n\t * that this function preserves the JavaScript-style behavior for modulo. For\n\t * mathematical modulo see [`mathMod`](#mathMod).\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.1\n\t * @category Math\n\t * @sig Number -> Number -> Number\n\t * @param {Number} a The value to the divide.\n\t * @param {Number} b The pseudo-modulus\n\t * @return {Number} The result of `b % a`.\n\t * @see R.mathMod\n\t * @example\n\t *\n\t *      R.modulo(17, 3); //=> 2\n\t *      // JS behavior:\n\t *      R.modulo(-17, 3); //=> -2\n\t *      R.modulo(17, -3); //=> 2\n\t *\n\t *      var isOdd = R.modulo(R.__, 2);\n\t *      isOdd(42); //=> 0\n\t *      isOdd(21); //=> 1\n\t */\n\t\n\t\n\tvar modulo = /*#__PURE__*/_curry2(function modulo(a, b) {\n\t  return a % b;\n\t});\n\tmodule.exports = modulo;\n\n/***/ }),\n/* 836 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/multiply.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Multiplies two numbers. Equivalent to `a * b` but curried.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Math\n\t * @sig Number -> Number -> Number\n\t * @param {Number} a The first value.\n\t * @param {Number} b The second value.\n\t * @return {Number} The result of `a * b`.\n\t * @see R.divide\n\t * @example\n\t *\n\t *      var double = R.multiply(2);\n\t *      var triple = R.multiply(3);\n\t *      double(3);       //=>  6\n\t *      triple(4);       //=> 12\n\t *      R.multiply(2, 5);  //=> 10\n\t */\n\t\n\t\n\tvar multiply = /*#__PURE__*/_curry2(function multiply(a, b) {\n\t  return a * b;\n\t});\n\tmodule.exports = multiply;\n\n/***/ }),\n/* 837 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/negate.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\t/**\n\t * Negates its argument.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.9.0\n\t * @category Math\n\t * @sig Number -> Number\n\t * @param {Number} n\n\t * @return {Number}\n\t * @example\n\t *\n\t *      R.negate(42); //=> -42\n\t */\n\t\n\t\n\tvar negate = /*#__PURE__*/_curry1(function negate(n) {\n\t  return -n;\n\t});\n\tmodule.exports = negate;\n\n/***/ }),\n/* 838 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/none.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _complement = /*#__PURE__*/__webpack_require__(/*! ./internal/_complement */ 709);\n\t\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _dispatchable = /*#__PURE__*/__webpack_require__(/*! ./internal/_dispatchable */ 622);\n\t\n\tvar _xany = /*#__PURE__*/__webpack_require__(/*! ./internal/_xany */ 647);\n\t\n\tvar any = /*#__PURE__*/__webpack_require__(/*! ./any */ 646);\n\t\n\t/**\n\t * Returns `true` if no elements of the list match the predicate, `false`\n\t * otherwise.\n\t *\n\t * Dispatches to the `any` method of the second argument, if present.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.12.0\n\t * @category List\n\t * @sig (a -> Boolean) -> [a] -> Boolean\n\t * @param {Function} fn The predicate function.\n\t * @param {Array} list The array to consider.\n\t * @return {Boolean} `true` if the predicate is not satisfied by every element, `false` otherwise.\n\t * @see R.all, R.any\n\t * @example\n\t *\n\t *      var isEven = n => n % 2 === 0;\n\t *      var isOdd = n => n % 2 === 1;\n\t *\n\t *      R.none(isEven, [1, 3, 5, 7, 9, 11]); //=> true\n\t *      R.none(isOdd, [1, 3, 5, 7, 8, 11]); //=> false\n\t */\n\t\n\t\n\tvar none = /*#__PURE__*/_curry2( /*#__PURE__*/_complement( /*#__PURE__*/_dispatchable(['any'], _xany, any)));\n\tmodule.exports = none;\n\n/***/ }),\n/* 839 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/nthArg.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar curryN = /*#__PURE__*/__webpack_require__(/*! ./curryN */ 616);\n\t\n\tvar nth = /*#__PURE__*/__webpack_require__(/*! ./nth */ 746);\n\t\n\t/**\n\t * Returns a function which returns its nth argument.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.9.0\n\t * @category Function\n\t * @sig Number -> *... -> *\n\t * @param {Number} n\n\t * @return {Function}\n\t * @example\n\t *\n\t *      R.nthArg(1)('a', 'b', 'c'); //=> 'b'\n\t *      R.nthArg(-1)('a', 'b', 'c'); //=> 'c'\n\t * @symb R.nthArg(-1)(a, b, c) = c\n\t * @symb R.nthArg(0)(a, b, c) = a\n\t * @symb R.nthArg(1)(a, b, c) = b\n\t */\n\t\n\t\n\tvar nthArg = /*#__PURE__*/_curry1(function nthArg(n) {\n\t  var arity = n < 0 ? 1 : n + 1;\n\t  return curryN(arity, function () {\n\t    return nth(n, arguments);\n\t  });\n\t});\n\tmodule.exports = nthArg;\n\n/***/ }),\n/* 840 */\n/*!***************************!*\\\n  !*** ../~/ramda/src/o.js ***!\n  \\***************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\t/**\n\t * `o` is a curried composition function that returns a unary function.\n\t * Like [`compose`](#compose), `o` performs right-to-left function composition.\n\t * Unlike [`compose`](#compose), the rightmost function passed to `o` will be\n\t * invoked with only one argument.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.24.0\n\t * @category Function\n\t * @sig (b -> c) -> (a -> b) -> a -> c\n\t * @param {Function} f\n\t * @param {Function} g\n\t * @return {Function}\n\t * @see R.compose, R.pipe\n\t * @example\n\t *\n\t *      var classyGreeting = name => \"The name's \" + name.last + \", \" + name.first + \" \" + name.last\n\t *      var yellGreeting = R.o(R.toUpper, classyGreeting);\n\t *      yellGreeting({first: 'James', last: 'Bond'}); //=> \"THE NAME'S BOND, JAMES BOND\"\n\t *\n\t *      R.o(R.multiply(10), R.add(10))(-4) //=> 60\n\t *\n\t * @symb R.o(f, g, x) = f(g(x))\n\t */\n\t\n\t\n\tvar o = /*#__PURE__*/_curry3(function o(f, g, x) {\n\t  return f(g(x));\n\t});\n\tmodule.exports = o;\n\n/***/ }),\n/* 841 */\n/*!****************************!*\\\n  !*** ../~/ramda/src/of.js ***!\n  \\****************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar _of = /*#__PURE__*/__webpack_require__(/*! ./internal/_of */ 842);\n\t\n\t/**\n\t * Returns a singleton array containing the value provided.\n\t *\n\t * Note this `of` is different from the ES6 `of`; See\n\t * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/of\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.3.0\n\t * @category Function\n\t * @sig a -> [a]\n\t * @param {*} x any value\n\t * @return {Array} An array wrapping `x`.\n\t * @example\n\t *\n\t *      R.of(null); //=> [null]\n\t *      R.of([42]); //=> [[42]]\n\t */\n\t\n\t\n\tvar of = /*#__PURE__*/_curry1(_of);\n\tmodule.exports = of;\n\n/***/ }),\n/* 842 */\n/*!**************************************!*\\\n  !*** ../~/ramda/src/internal/_of.js ***!\n  \\**************************************/\n/***/ (function(module, exports) {\n\n\tfunction _of(x) {\n\t  return [x];\n\t}\n\tmodule.exports = _of;\n\n/***/ }),\n/* 843 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/omit.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Returns a partial copy of an object omitting the keys specified.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Object\n\t * @sig [String] -> {String: *} -> {String: *}\n\t * @param {Array} names an array of String property names to omit from the new object\n\t * @param {Object} obj The object to copy from\n\t * @return {Object} A new object with properties from `names` not on it.\n\t * @see R.pick\n\t * @example\n\t *\n\t *      R.omit(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, c: 3}\n\t */\n\t\n\t\n\tvar omit = /*#__PURE__*/_curry2(function omit(names, obj) {\n\t  var result = {};\n\t  var index = {};\n\t  var idx = 0;\n\t  var len = names.length;\n\t\n\t  while (idx < len) {\n\t    index[names[idx]] = 1;\n\t    idx += 1;\n\t  }\n\t\n\t  for (var prop in obj) {\n\t    if (!index.hasOwnProperty(prop)) {\n\t      result[prop] = obj[prop];\n\t    }\n\t  }\n\t  return result;\n\t});\n\tmodule.exports = omit;\n\n/***/ }),\n/* 844 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/once.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _arity = /*#__PURE__*/__webpack_require__(/*! ./internal/_arity */ 617);\n\t\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\t/**\n\t * Accepts a function `fn` and returns a function that guards invocation of\n\t * `fn` such that `fn` can only ever be called once, no matter how many times\n\t * the returned function is invoked. The first value calculated is returned in\n\t * subsequent invocations.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Function\n\t * @sig (a... -> b) -> (a... -> b)\n\t * @param {Function} fn The function to wrap in a call-only-once wrapper.\n\t * @return {Function} The wrapped function.\n\t * @example\n\t *\n\t *      var addOneOnce = R.once(x => x + 1);\n\t *      addOneOnce(10); //=> 11\n\t *      addOneOnce(addOneOnce(50)); //=> 11\n\t */\n\t\n\t\n\tvar once = /*#__PURE__*/_curry1(function once(fn) {\n\t  var called = false;\n\t  var result;\n\t  return _arity(fn.length, function () {\n\t    if (called) {\n\t      return result;\n\t    }\n\t    called = true;\n\t    result = fn.apply(this, arguments);\n\t    return result;\n\t  });\n\t});\n\tmodule.exports = once;\n\n/***/ }),\n/* 845 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/over.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\t// `Identity` is a functor that holds a single value, where `map` simply\n\t// transforms the held value with the provided function.\n\t\n\t\n\tvar Identity = function (x) {\n\t  return { value: x, map: function (f) {\n\t      return Identity(f(x));\n\t    } };\n\t};\n\t\n\t/**\n\t * Returns the result of \"setting\" the portion of the given data structure\n\t * focused by the given lens to the result of applying the given function to\n\t * the focused value.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.16.0\n\t * @category Object\n\t * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n\t * @sig Lens s a -> (a -> a) -> s -> s\n\t * @param {Lens} lens\n\t * @param {*} v\n\t * @param {*} x\n\t * @return {*}\n\t * @see R.prop, R.lensIndex, R.lensProp\n\t * @example\n\t *\n\t *      var headLens = R.lensIndex(0);\n\t *\n\t *      R.over(headLens, R.toUpper, ['foo', 'bar', 'baz']); //=> ['FOO', 'bar', 'baz']\n\t */\n\tvar over = /*#__PURE__*/_curry3(function over(lens, f, x) {\n\t  // The value returned by the getter function is first transformed with `f`,\n\t  // then set as the value of an `Identity`. This is then mapped over with the\n\t  // setter function of the lens.\n\t  return lens(function (y) {\n\t    return Identity(f(y));\n\t  })(x).value;\n\t});\n\tmodule.exports = over;\n\n/***/ }),\n/* 846 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/pair.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Takes two arguments, `fst` and `snd`, and returns `[fst, snd]`.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.18.0\n\t * @category List\n\t * @sig a -> b -> (a,b)\n\t * @param {*} fst\n\t * @param {*} snd\n\t * @return {Array}\n\t * @see R.objOf, R.of\n\t * @example\n\t *\n\t *      R.pair('foo', 'bar'); //=> ['foo', 'bar']\n\t */\n\t\n\t\n\tvar pair = /*#__PURE__*/_curry2(function pair(fst, snd) {\n\t  return [fst, snd];\n\t});\n\tmodule.exports = pair;\n\n/***/ }),\n/* 847 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/partial.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _concat = /*#__PURE__*/__webpack_require__(/*! ./internal/_concat */ 615);\n\t\n\tvar _createPartialApplicator = /*#__PURE__*/__webpack_require__(/*! ./internal/_createPartialApplicator */ 848);\n\t\n\t/**\n\t * Takes a function `f` and a list of arguments, and returns a function `g`.\n\t * When applied, `g` returns the result of applying `f` to the arguments\n\t * provided initially followed by the arguments provided to `g`.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.10.0\n\t * @category Function\n\t * @sig ((a, b, c, ..., n) -> x) -> [a, b, c, ...] -> ((d, e, f, ..., n) -> x)\n\t * @param {Function} f\n\t * @param {Array} args\n\t * @return {Function}\n\t * @see R.partialRight\n\t * @example\n\t *\n\t *      var multiply2 = (a, b) => a * b;\n\t *      var double = R.partial(multiply2, [2]);\n\t *      double(2); //=> 4\n\t *\n\t *      var greet = (salutation, title, firstName, lastName) =>\n\t *        salutation + ', ' + title + ' ' + firstName + ' ' + lastName + '!';\n\t *\n\t *      var sayHello = R.partial(greet, ['Hello']);\n\t *      var sayHelloToMs = R.partial(sayHello, ['Ms.']);\n\t *      sayHelloToMs('Jane', 'Jones'); //=> 'Hello, Ms. Jane Jones!'\n\t * @symb R.partial(f, [a, b])(c, d) = f(a, b, c, d)\n\t */\n\t\n\t\n\tvar partial = /*#__PURE__*/_createPartialApplicator(_concat);\n\tmodule.exports = partial;\n\n/***/ }),\n/* 848 */\n/*!***********************************************************!*\\\n  !*** ../~/ramda/src/internal/_createPartialApplicator.js ***!\n  \\***********************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _arity = /*#__PURE__*/__webpack_require__(/*! ./_arity */ 617);\n\t\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./_curry2 */ 613);\n\t\n\tfunction _createPartialApplicator(concat) {\n\t  return _curry2(function (fn, args) {\n\t    return _arity(Math.max(0, fn.length - args.length), function () {\n\t      return fn.apply(this, concat(args, arguments));\n\t    });\n\t  });\n\t}\n\tmodule.exports = _createPartialApplicator;\n\n/***/ }),\n/* 849 */\n/*!**************************************!*\\\n  !*** ../~/ramda/src/partialRight.js ***!\n  \\**************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _concat = /*#__PURE__*/__webpack_require__(/*! ./internal/_concat */ 615);\n\t\n\tvar _createPartialApplicator = /*#__PURE__*/__webpack_require__(/*! ./internal/_createPartialApplicator */ 848);\n\t\n\tvar flip = /*#__PURE__*/__webpack_require__(/*! ./flip */ 766);\n\t\n\t/**\n\t * Takes a function `f` and a list of arguments, and returns a function `g`.\n\t * When applied, `g` returns the result of applying `f` to the arguments\n\t * provided to `g` followed by the arguments provided initially.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.10.0\n\t * @category Function\n\t * @sig ((a, b, c, ..., n) -> x) -> [d, e, f, ..., n] -> ((a, b, c, ...) -> x)\n\t * @param {Function} f\n\t * @param {Array} args\n\t * @return {Function}\n\t * @see R.partial\n\t * @example\n\t *\n\t *      var greet = (salutation, title, firstName, lastName) =>\n\t *        salutation + ', ' + title + ' ' + firstName + ' ' + lastName + '!';\n\t *\n\t *      var greetMsJaneJones = R.partialRight(greet, ['Ms.', 'Jane', 'Jones']);\n\t *\n\t *      greetMsJaneJones('Hello'); //=> 'Hello, Ms. Jane Jones!'\n\t * @symb R.partialRight(f, [a, b])(c, d) = f(c, d, a, b)\n\t */\n\t\n\t\n\tvar partialRight = /*#__PURE__*/_createPartialApplicator( /*#__PURE__*/flip(_concat));\n\tmodule.exports = partialRight;\n\n/***/ }),\n/* 850 */\n/*!***********************************!*\\\n  !*** ../~/ramda/src/partition.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar filter = /*#__PURE__*/__webpack_require__(/*! ./filter */ 710);\n\t\n\tvar juxt = /*#__PURE__*/__webpack_require__(/*! ./juxt */ 803);\n\t\n\tvar reject = /*#__PURE__*/__webpack_require__(/*! ./reject */ 708);\n\t\n\t/**\n\t * Takes a predicate and a list or other `Filterable` object and returns the\n\t * pair of filterable objects of the same type of elements which do and do not\n\t * satisfy, the predicate, respectively. Filterable objects include plain objects or any object\n\t * that has a filter method such as `Array`.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.4\n\t * @category List\n\t * @sig Filterable f => (a -> Boolean) -> f a -> [f a, f a]\n\t * @param {Function} pred A predicate to determine which side the element belongs to.\n\t * @param {Array} filterable the list (or other filterable) to partition.\n\t * @return {Array} An array, containing first the subset of elements that satisfy the\n\t *         predicate, and second the subset of elements that do not satisfy.\n\t * @see R.filter, R.reject\n\t * @example\n\t *\n\t *      R.partition(R.contains('s'), ['sss', 'ttt', 'foo', 'bars']);\n\t *      // => [ [ 'sss', 'bars' ],  [ 'ttt', 'foo' ] ]\n\t *\n\t *      R.partition(R.contains('s'), { a: 'sss', b: 'ttt', foo: 'bars' });\n\t *      // => [ { a: 'sss', foo: 'bars' }, { b: 'ttt' }  ]\n\t */\n\t\n\t\n\tvar partition = /*#__PURE__*/juxt([filter, reject]);\n\tmodule.exports = partition;\n\n/***/ }),\n/* 851 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/pathEq.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\tvar equals = /*#__PURE__*/__webpack_require__(/*! ./equals */ 700);\n\t\n\tvar path = /*#__PURE__*/__webpack_require__(/*! ./path */ 643);\n\t\n\t/**\n\t * Determines whether a nested path on an object has a specific value, in\n\t * [`R.equals`](#equals) terms. Most likely used to filter a list.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.7.0\n\t * @category Relation\n\t * @typedefn Idx = String | Int\n\t * @sig [Idx] -> a -> {a} -> Boolean\n\t * @param {Array} path The path of the nested property to use\n\t * @param {*} val The value to compare the nested property with\n\t * @param {Object} obj The object to check the nested property in\n\t * @return {Boolean} `true` if the value equals the nested object property,\n\t *         `false` otherwise.\n\t * @example\n\t *\n\t *      var user1 = { address: { zipCode: 90210 } };\n\t *      var user2 = { address: { zipCode: 55555 } };\n\t *      var user3 = { name: 'Bob' };\n\t *      var users = [ user1, user2, user3 ];\n\t *      var isFamous = R.pathEq(['address', 'zipCode'], 90210);\n\t *      R.filter(isFamous, users); //=> [ user1 ]\n\t */\n\t\n\t\n\tvar pathEq = /*#__PURE__*/_curry3(function pathEq(_path, val, obj) {\n\t  return equals(path(_path, obj), val);\n\t});\n\tmodule.exports = pathEq;\n\n/***/ }),\n/* 852 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/pathOr.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\tvar defaultTo = /*#__PURE__*/__webpack_require__(/*! ./defaultTo */ 723);\n\t\n\tvar path = /*#__PURE__*/__webpack_require__(/*! ./path */ 643);\n\t\n\t/**\n\t * If the given, non-null object has a value at the given path, returns the\n\t * value at that path. Otherwise returns the provided default value.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.18.0\n\t * @category Object\n\t * @typedefn Idx = String | Int\n\t * @sig a -> [Idx] -> {a} -> a\n\t * @param {*} d The default value.\n\t * @param {Array} p The path to use.\n\t * @param {Object} obj The object to retrieve the nested property from.\n\t * @return {*} The data at `path` of the supplied object or the default value.\n\t * @example\n\t *\n\t *      R.pathOr('N/A', ['a', 'b'], {a: {b: 2}}); //=> 2\n\t *      R.pathOr('N/A', ['a', 'b'], {c: {b: 2}}); //=> \"N/A\"\n\t */\n\t\n\t\n\tvar pathOr = /*#__PURE__*/_curry3(function pathOr(d, p, obj) {\n\t  return defaultTo(d, path(p, obj));\n\t});\n\tmodule.exports = pathOr;\n\n/***/ }),\n/* 853 */\n/*!***************************************!*\\\n  !*** ../~/ramda/src/pathSatisfies.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\tvar path = /*#__PURE__*/__webpack_require__(/*! ./path */ 643);\n\t\n\t/**\n\t * Returns `true` if the specified object property at given path satisfies the\n\t * given predicate; `false` otherwise.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.19.0\n\t * @category Logic\n\t * @typedefn Idx = String | Int\n\t * @sig (a -> Boolean) -> [Idx] -> {a} -> Boolean\n\t * @param {Function} pred\n\t * @param {Array} propPath\n\t * @param {*} obj\n\t * @return {Boolean}\n\t * @see R.propSatisfies, R.path\n\t * @example\n\t *\n\t *      R.pathSatisfies(y => y > 0, ['x', 'y'], {x: {y: 2}}); //=> true\n\t */\n\t\n\t\n\tvar pathSatisfies = /*#__PURE__*/_curry3(function pathSatisfies(pred, propPath, obj) {\n\t  return propPath.length > 0 && pred(path(propPath, obj));\n\t});\n\tmodule.exports = pathSatisfies;\n\n/***/ }),\n/* 854 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/pick.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Returns a partial copy of an object containing only the keys specified. If\n\t * the key does not exist, the property is ignored.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Object\n\t * @sig [k] -> {k: v} -> {k: v}\n\t * @param {Array} names an array of String property names to copy onto a new object\n\t * @param {Object} obj The object to copy from\n\t * @return {Object} A new object with only properties from `names` on it.\n\t * @see R.omit, R.props\n\t * @example\n\t *\n\t *      R.pick(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4}\n\t *      R.pick(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1}\n\t */\n\t\n\t\n\tvar pick = /*#__PURE__*/_curry2(function pick(names, obj) {\n\t  var result = {};\n\t  var idx = 0;\n\t  while (idx < names.length) {\n\t    if (names[idx] in obj) {\n\t      result[names[idx]] = obj[names[idx]];\n\t    }\n\t    idx += 1;\n\t  }\n\t  return result;\n\t});\n\tmodule.exports = pick;\n\n/***/ }),\n/* 855 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/pickAll.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Similar to `pick` except that this one includes a `key: undefined` pair for\n\t * properties that don't exist.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Object\n\t * @sig [k] -> {k: v} -> {k: v}\n\t * @param {Array} names an array of String property names to copy onto a new object\n\t * @param {Object} obj The object to copy from\n\t * @return {Object} A new object with only properties from `names` on it.\n\t * @see R.pick\n\t * @example\n\t *\n\t *      R.pickAll(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4}\n\t *      R.pickAll(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, e: undefined, f: undefined}\n\t */\n\t\n\t\n\tvar pickAll = /*#__PURE__*/_curry2(function pickAll(names, obj) {\n\t  var result = {};\n\t  var idx = 0;\n\t  var len = names.length;\n\t  while (idx < len) {\n\t    var name = names[idx];\n\t    result[name] = obj[name];\n\t    idx += 1;\n\t  }\n\t  return result;\n\t});\n\tmodule.exports = pickAll;\n\n/***/ }),\n/* 856 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/pickBy.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Returns a partial copy of an object containing only the keys that satisfy\n\t * the supplied predicate.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.8.0\n\t * @category Object\n\t * @sig ((v, k) -> Boolean) -> {k: v} -> {k: v}\n\t * @param {Function} pred A predicate to determine whether or not a key\n\t *        should be included on the output object.\n\t * @param {Object} obj The object to copy from\n\t * @return {Object} A new object with only properties that satisfy `pred`\n\t *         on it.\n\t * @see R.pick, R.filter\n\t * @example\n\t *\n\t *      var isUpperCase = (val, key) => key.toUpperCase() === key;\n\t *      R.pickBy(isUpperCase, {a: 1, b: 2, A: 3, B: 4}); //=> {A: 3, B: 4}\n\t */\n\t\n\t\n\tvar pickBy = /*#__PURE__*/_curry2(function pickBy(test, obj) {\n\t  var result = {};\n\t  for (var prop in obj) {\n\t    if (test(obj[prop], prop, obj)) {\n\t      result[prop] = obj[prop];\n\t    }\n\t  }\n\t  return result;\n\t});\n\tmodule.exports = pickBy;\n\n/***/ }),\n/* 857 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/pipeK.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar composeK = /*#__PURE__*/__webpack_require__(/*! ./composeK */ 691);\n\t\n\tvar reverse = /*#__PURE__*/__webpack_require__(/*! ./reverse */ 690);\n\t\n\t/**\n\t * Returns the left-to-right Kleisli composition of the provided functions,\n\t * each of which must return a value of a type supported by [`chain`](#chain).\n\t *\n\t * `R.pipeK(f, g, h)` is equivalent to `R.pipe(f, R.chain(g), R.chain(h))`.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.16.0\n\t * @category Function\n\t * @sig Chain m => ((a -> m b), (b -> m c), ..., (y -> m z)) -> (a -> m z)\n\t * @param {...Function}\n\t * @return {Function}\n\t * @see R.composeK\n\t * @example\n\t *\n\t *      //  parseJson :: String -> Maybe *\n\t *      //  get :: String -> Object -> Maybe *\n\t *\n\t *      //  getStateCode :: Maybe String -> Maybe String\n\t *      var getStateCode = R.pipeK(\n\t *        parseJson,\n\t *        get('user'),\n\t *        get('address'),\n\t *        get('state'),\n\t *        R.compose(Maybe.of, R.toUpper)\n\t *      );\n\t *\n\t *      getStateCode('{\"user\":{\"address\":{\"state\":\"ny\"}}}');\n\t *      //=> Just('NY')\n\t *      getStateCode('[Invalid JSON]');\n\t *      //=> Nothing()\n\t * @symb R.pipeK(f, g, h)(a) = R.chain(h, R.chain(g, f(a)))\n\t */\n\t\n\t\n\tfunction pipeK() {\n\t  if (arguments.length === 0) {\n\t    throw new Error('pipeK requires at least one argument');\n\t  }\n\t  return composeK.apply(this, reverse(arguments));\n\t}\n\tmodule.exports = pipeK;\n\n/***/ }),\n/* 858 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/prepend.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _concat = /*#__PURE__*/__webpack_require__(/*! ./internal/_concat */ 615);\n\t\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Returns a new list with the given element at the front, followed by the\n\t * contents of the list.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig a -> [a] -> [a]\n\t * @param {*} el The item to add to the head of the output list.\n\t * @param {Array} list The array to add to the tail of the output list.\n\t * @return {Array} A new array.\n\t * @see R.append\n\t * @example\n\t *\n\t *      R.prepend('fee', ['fi', 'fo', 'fum']); //=> ['fee', 'fi', 'fo', 'fum']\n\t */\n\t\n\t\n\tvar prepend = /*#__PURE__*/_curry2(function prepend(el, list) {\n\t  return _concat([el], list);\n\t});\n\tmodule.exports = prepend;\n\n/***/ }),\n/* 859 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/product.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar multiply = /*#__PURE__*/__webpack_require__(/*! ./multiply */ 836);\n\t\n\tvar reduce = /*#__PURE__*/__webpack_require__(/*! ./reduce */ 644);\n\t\n\t/**\n\t * Multiplies together all the elements of a list.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Math\n\t * @sig [Number] -> Number\n\t * @param {Array} list An array of numbers\n\t * @return {Number} The product of all the numbers in the list.\n\t * @see R.reduce\n\t * @example\n\t *\n\t *      R.product([2,4,6,8,100,1]); //=> 38400\n\t */\n\t\n\t\n\tvar product = /*#__PURE__*/reduce(multiply, 1);\n\tmodule.exports = product;\n\n/***/ }),\n/* 860 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/project.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _map = /*#__PURE__*/__webpack_require__(/*! ./internal/_map */ 632);\n\t\n\tvar identity = /*#__PURE__*/__webpack_require__(/*! ./identity */ 777);\n\t\n\tvar pickAll = /*#__PURE__*/__webpack_require__(/*! ./pickAll */ 855);\n\t\n\tvar useWith = /*#__PURE__*/__webpack_require__(/*! ./useWith */ 861);\n\t\n\t/**\n\t * Reasonable analog to SQL `select` statement.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Object\n\t * @category Relation\n\t * @sig [k] -> [{k: v}] -> [{k: v}]\n\t * @param {Array} props The property names to project\n\t * @param {Array} objs The objects to query\n\t * @return {Array} An array of objects with just the `props` properties.\n\t * @example\n\t *\n\t *      var abby = {name: 'Abby', age: 7, hair: 'blond', grade: 2};\n\t *      var fred = {name: 'Fred', age: 12, hair: 'brown', grade: 7};\n\t *      var kids = [abby, fred];\n\t *      R.project(['name', 'grade'], kids); //=> [{name: 'Abby', grade: 2}, {name: 'Fred', grade: 7}]\n\t */\n\t\n\t\n\tvar project = /*#__PURE__*/useWith(_map, [pickAll, identity]); // passing `identity` gives correct arity\n\tmodule.exports = project;\n\n/***/ }),\n/* 861 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/useWith.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar curryN = /*#__PURE__*/__webpack_require__(/*! ./curryN */ 616);\n\t\n\t/**\n\t * Accepts a function `fn` and a list of transformer functions and returns a\n\t * new curried function. When the new function is invoked, it calls the\n\t * function `fn` with parameters consisting of the result of calling each\n\t * supplied handler on successive arguments to the new function.\n\t *\n\t * If more arguments are passed to the returned function than transformer\n\t * functions, those arguments are passed directly to `fn` as additional\n\t * parameters. If you expect additional arguments that don't need to be\n\t * transformed, although you can ignore them, it's best to pass an identity\n\t * function so that the new function reports the correct arity.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Function\n\t * @sig ((x1, x2, ...) -> z) -> [(a -> x1), (b -> x2), ...] -> (a -> b -> ... -> z)\n\t * @param {Function} fn The function to wrap.\n\t * @param {Array} transformers A list of transformer functions\n\t * @return {Function} The wrapped function.\n\t * @see R.converge\n\t * @example\n\t *\n\t *      R.useWith(Math.pow, [R.identity, R.identity])(3, 4); //=> 81\n\t *      R.useWith(Math.pow, [R.identity, R.identity])(3)(4); //=> 81\n\t *      R.useWith(Math.pow, [R.dec, R.inc])(3, 4); //=> 32\n\t *      R.useWith(Math.pow, [R.dec, R.inc])(3)(4); //=> 32\n\t * @symb R.useWith(f, [g, h])(a, b) = f(g(a), h(b))\n\t */\n\t\n\t\n\tvar useWith = /*#__PURE__*/_curry2(function useWith(fn, transformers) {\n\t  return curryN(transformers.length, function () {\n\t    var args = [];\n\t    var idx = 0;\n\t    while (idx < transformers.length) {\n\t      args.push(transformers[idx].call(this, arguments[idx]));\n\t      idx += 1;\n\t    }\n\t    return fn.apply(this, args.concat(Array.prototype.slice.call(arguments, transformers.length)));\n\t  });\n\t});\n\tmodule.exports = useWith;\n\n/***/ }),\n/* 862 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/propEq.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\tvar equals = /*#__PURE__*/__webpack_require__(/*! ./equals */ 700);\n\t\n\t/**\n\t * Returns `true` if the specified object property is equal, in\n\t * [`R.equals`](#equals) terms, to the given value; `false` otherwise.\n\t * You can test multiple properties with [`R.where`](#where).\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Relation\n\t * @sig String -> a -> Object -> Boolean\n\t * @param {String} name\n\t * @param {*} val\n\t * @param {*} obj\n\t * @return {Boolean}\n\t * @see R.whereEq, R.propSatisfies, R.equals\n\t * @example\n\t *\n\t *      var abby = {name: 'Abby', age: 7, hair: 'blond'};\n\t *      var fred = {name: 'Fred', age: 12, hair: 'brown'};\n\t *      var rusty = {name: 'Rusty', age: 10, hair: 'brown'};\n\t *      var alois = {name: 'Alois', age: 15, disposition: 'surly'};\n\t *      var kids = [abby, fred, rusty, alois];\n\t *      var hasBrownHair = R.propEq('hair', 'brown');\n\t *      R.filter(hasBrownHair, kids); //=> [fred, rusty]\n\t */\n\t\n\t\n\tvar propEq = /*#__PURE__*/_curry3(function propEq(name, val, obj) {\n\t  return equals(val, obj[name]);\n\t});\n\tmodule.exports = propEq;\n\n/***/ }),\n/* 863 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/propIs.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\tvar is = /*#__PURE__*/__webpack_require__(/*! ./is */ 800);\n\t\n\t/**\n\t * Returns `true` if the specified object property is of the given type;\n\t * `false` otherwise.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.16.0\n\t * @category Type\n\t * @sig Type -> String -> Object -> Boolean\n\t * @param {Function} type\n\t * @param {String} name\n\t * @param {*} obj\n\t * @return {Boolean}\n\t * @see R.is, R.propSatisfies\n\t * @example\n\t *\n\t *      R.propIs(Number, 'x', {x: 1, y: 2});  //=> true\n\t *      R.propIs(Number, 'x', {x: 'foo'});    //=> false\n\t *      R.propIs(Number, 'x', {});            //=> false\n\t */\n\t\n\t\n\tvar propIs = /*#__PURE__*/_curry3(function propIs(type, name, obj) {\n\t  return is(type, obj[name]);\n\t});\n\tmodule.exports = propIs;\n\n/***/ }),\n/* 864 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/propOr.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\tvar _has = /*#__PURE__*/__webpack_require__(/*! ./internal/_has */ 640);\n\t\n\t/**\n\t * If the given, non-null object has an own property with the specified name,\n\t * returns the value of that property. Otherwise returns the provided default\n\t * value.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.6.0\n\t * @category Object\n\t * @sig a -> String -> Object -> a\n\t * @param {*} val The default value.\n\t * @param {String} p The name of the property to return.\n\t * @param {Object} obj The object to query.\n\t * @return {*} The value of given property of the supplied object or the default value.\n\t * @example\n\t *\n\t *      var alice = {\n\t *        name: 'ALICE',\n\t *        age: 101\n\t *      };\n\t *      var favorite = R.prop('favoriteLibrary');\n\t *      var favoriteWithDefault = R.propOr('Ramda', 'favoriteLibrary');\n\t *\n\t *      favorite(alice);  //=> undefined\n\t *      favoriteWithDefault(alice);  //=> 'Ramda'\n\t */\n\t\n\t\n\tvar propOr = /*#__PURE__*/_curry3(function propOr(val, p, obj) {\n\t  return obj != null && _has(p, obj) ? obj[p] : val;\n\t});\n\tmodule.exports = propOr;\n\n/***/ }),\n/* 865 */\n/*!***************************************!*\\\n  !*** ../~/ramda/src/propSatisfies.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\t/**\n\t * Returns `true` if the specified object property satisfies the given\n\t * predicate; `false` otherwise. You can test multiple properties with\n\t * [`R.where`](#where).\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.16.0\n\t * @category Logic\n\t * @sig (a -> Boolean) -> String -> {String: a} -> Boolean\n\t * @param {Function} pred\n\t * @param {String} name\n\t * @param {*} obj\n\t * @return {Boolean}\n\t * @see R.where, R.propEq, R.propIs\n\t * @example\n\t *\n\t *      R.propSatisfies(x => x > 0, 'x', {x: 1, y: 2}); //=> true\n\t */\n\t\n\t\n\tvar propSatisfies = /*#__PURE__*/_curry3(function propSatisfies(pred, name, obj) {\n\t  return pred(obj[name]);\n\t});\n\tmodule.exports = propSatisfies;\n\n/***/ }),\n/* 866 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/props.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Acts as multiple `prop`: array of keys in, array of values out. Preserves\n\t * order.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Object\n\t * @sig [k] -> {k: v} -> [v]\n\t * @param {Array} ps The property names to fetch\n\t * @param {Object} obj The object to query\n\t * @return {Array} The corresponding values or partially applied function.\n\t * @example\n\t *\n\t *      R.props(['x', 'y'], {x: 1, y: 2}); //=> [1, 2]\n\t *      R.props(['c', 'a', 'b'], {b: 2, a: 1}); //=> [undefined, 1, 2]\n\t *\n\t *      var fullName = R.compose(R.join(' '), R.props(['first', 'last']));\n\t *      fullName({last: 'Bullet-Tooth', age: 33, first: 'Tony'}); //=> 'Tony Bullet-Tooth'\n\t */\n\t\n\t\n\tvar props = /*#__PURE__*/_curry2(function props(ps, obj) {\n\t  var len = ps.length;\n\t  var out = [];\n\t  var idx = 0;\n\t\n\t  while (idx < len) {\n\t    out[idx] = obj[ps[idx]];\n\t    idx += 1;\n\t  }\n\t\n\t  return out;\n\t});\n\tmodule.exports = props;\n\n/***/ }),\n/* 867 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/range.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _isNumber = /*#__PURE__*/__webpack_require__(/*! ./internal/_isNumber */ 807);\n\t\n\t/**\n\t * Returns a list of numbers from `from` (inclusive) to `to` (exclusive).\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig Number -> Number -> [Number]\n\t * @param {Number} from The first number in the list.\n\t * @param {Number} to One more than the last number in the list.\n\t * @return {Array} The list of numbers in tthe set `[a, b)`.\n\t * @example\n\t *\n\t *      R.range(1, 5);    //=> [1, 2, 3, 4]\n\t *      R.range(50, 53);  //=> [50, 51, 52]\n\t */\n\t\n\t\n\tvar range = /*#__PURE__*/_curry2(function range(from, to) {\n\t  if (!(_isNumber(from) && _isNumber(to))) {\n\t    throw new TypeError('Both arguments to range must be numbers');\n\t  }\n\t  var result = [];\n\t  var n = from;\n\t  while (n < to) {\n\t    result.push(n);\n\t    n += 1;\n\t  }\n\t  return result;\n\t});\n\tmodule.exports = range;\n\n/***/ }),\n/* 868 */\n/*!*************************************!*\\\n  !*** ../~/ramda/src/reduceRight.js ***!\n  \\*************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\t/**\n\t * Returns a single item by iterating through the list, successively calling\n\t * the iterator function and passing it an accumulator value and the current\n\t * value from the array, and then passing the result to the next call.\n\t *\n\t * Similar to [`reduce`](#reduce), except moves through the input list from the\n\t * right to the left.\n\t *\n\t * The iterator function receives two values: *(value, acc)*, while the arguments'\n\t * order of `reduce`'s iterator function is *(acc, value)*.\n\t *\n\t * Note: `R.reduceRight` does not skip deleted or unassigned indices (sparse\n\t * arrays), unlike the native `Array.prototype.reduceRight` method. For more details\n\t * on this behavior, see:\n\t * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight#Description\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig ((a, b) -> b) -> b -> [a] -> b\n\t * @param {Function} fn The iterator function. Receives two values, the current element from the array\n\t *        and the accumulator.\n\t * @param {*} acc The accumulator value.\n\t * @param {Array} list The list to iterate over.\n\t * @return {*} The final, accumulated value.\n\t * @see R.reduce, R.addIndex\n\t * @example\n\t *\n\t *      R.reduceRight(R.subtract, 0, [1, 2, 3, 4]) // => (1 - (2 - (3 - (4 - 0)))) = -2\n\t *      //    -               -2\n\t *      //   / \\              / \\\n\t *      //  1   -            1   3\n\t *      //     / \\              / \\\n\t *      //    2   -     ==>    2  -1\n\t *      //       / \\              / \\\n\t *      //      3   -            3   4\n\t *      //         / \\              / \\\n\t *      //        4   0            4   0\n\t *\n\t * @symb R.reduceRight(f, a, [b, c, d]) = f(b, f(c, f(d, a)))\n\t */\n\t\n\t\n\tvar reduceRight = /*#__PURE__*/_curry3(function reduceRight(fn, acc, list) {\n\t  var idx = list.length - 1;\n\t  while (idx >= 0) {\n\t    acc = fn(list[idx], acc);\n\t    idx -= 1;\n\t  }\n\t  return acc;\n\t});\n\tmodule.exports = reduceRight;\n\n/***/ }),\n/* 869 */\n/*!*************************************!*\\\n  !*** ../~/ramda/src/reduceWhile.js ***!\n  \\*************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curryN = /*#__PURE__*/__webpack_require__(/*! ./internal/_curryN */ 618);\n\t\n\tvar _reduce = /*#__PURE__*/__webpack_require__(/*! ./internal/_reduce */ 633);\n\t\n\tvar _reduced = /*#__PURE__*/__webpack_require__(/*! ./internal/_reduced */ 626);\n\t\n\t/**\n\t * Like [`reduce`](#reduce), `reduceWhile` returns a single item by iterating\n\t * through the list, successively calling the iterator function. `reduceWhile`\n\t * also takes a predicate that is evaluated before each step. If the predicate\n\t * returns `false`, it \"short-circuits\" the iteration and returns the current\n\t * value of the accumulator.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.22.0\n\t * @category List\n\t * @sig ((a, b) -> Boolean) -> ((a, b) -> a) -> a -> [b] -> a\n\t * @param {Function} pred The predicate. It is passed the accumulator and the\n\t *        current element.\n\t * @param {Function} fn The iterator function. Receives two values, the\n\t *        accumulator and the current element.\n\t * @param {*} a The accumulator value.\n\t * @param {Array} list The list to iterate over.\n\t * @return {*} The final, accumulated value.\n\t * @see R.reduce, R.reduced\n\t * @example\n\t *\n\t *      var isOdd = (acc, x) => x % 2 === 1;\n\t *      var xs = [1, 3, 5, 60, 777, 800];\n\t *      R.reduceWhile(isOdd, R.add, 0, xs); //=> 9\n\t *\n\t *      var ys = [2, 4, 6]\n\t *      R.reduceWhile(isOdd, R.add, 111, ys); //=> 111\n\t */\n\t\n\t\n\tvar reduceWhile = /*#__PURE__*/_curryN(4, [], function _reduceWhile(pred, fn, a, list) {\n\t  return _reduce(function (acc, x) {\n\t    return pred(acc, x) ? fn(acc, x) : _reduced(acc);\n\t  }, a, list);\n\t});\n\tmodule.exports = reduceWhile;\n\n/***/ }),\n/* 870 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/reduced.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar _reduced = /*#__PURE__*/__webpack_require__(/*! ./internal/_reduced */ 626);\n\t\n\t/**\n\t * Returns a value wrapped to indicate that it is the final value of the reduce\n\t * and transduce functions. The returned value should be considered a black\n\t * box: the internal structure is not guaranteed to be stable.\n\t *\n\t * Note: this optimization is unavailable to functions not explicitly listed\n\t * above. For instance, it is not currently supported by\n\t * [`reduceRight`](#reduceRight).\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.15.0\n\t * @category List\n\t * @sig a -> *\n\t * @param {*} x The final value of the reduce.\n\t * @return {*} The wrapped value.\n\t * @see R.reduce, R.transduce\n\t * @example\n\t *\n\t *     R.reduce(\n\t *       (acc, item) => item > 3 ? R.reduced(acc) : acc.concat(item),\n\t *       [],\n\t *       [1, 2, 3, 4, 5]) // [1, 2, 3]\n\t */\n\t\n\t\n\tvar reduced = /*#__PURE__*/_curry1(_reduced);\n\tmodule.exports = reduced;\n\n/***/ }),\n/* 871 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/repeat.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar always = /*#__PURE__*/__webpack_require__(/*! ./always */ 607);\n\t\n\tvar times = /*#__PURE__*/__webpack_require__(/*! ./times */ 872);\n\t\n\t/**\n\t * Returns a fixed list of size `n` containing a specified identical value.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.1\n\t * @category List\n\t * @sig a -> n -> [a]\n\t * @param {*} value The value to repeat.\n\t * @param {Number} n The desired size of the output list.\n\t * @return {Array} A new array containing `n` `value`s.\n\t * @see R.times\n\t * @example\n\t *\n\t *      R.repeat('hi', 5); //=> ['hi', 'hi', 'hi', 'hi', 'hi']\n\t *\n\t *      var obj = {};\n\t *      var repeatedObjs = R.repeat(obj, 5); //=> [{}, {}, {}, {}, {}]\n\t *      repeatedObjs[0] === repeatedObjs[1]; //=> true\n\t * @symb R.repeat(a, 0) = []\n\t * @symb R.repeat(a, 1) = [a]\n\t * @symb R.repeat(a, 2) = [a, a]\n\t */\n\t\n\t\n\tvar repeat = /*#__PURE__*/_curry2(function repeat(value, n) {\n\t  return times(always(value), n);\n\t});\n\tmodule.exports = repeat;\n\n/***/ }),\n/* 872 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/times.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Calls an input function `n` times, returning an array containing the results\n\t * of those function calls.\n\t *\n\t * `fn` is passed one argument: The current value of `n`, which begins at `0`\n\t * and is gradually incremented to `n - 1`.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.2.3\n\t * @category List\n\t * @sig (Number -> a) -> Number -> [a]\n\t * @param {Function} fn The function to invoke. Passed one argument, the current value of `n`.\n\t * @param {Number} n A value between `0` and `n - 1`. Increments after each function call.\n\t * @return {Array} An array containing the return values of all calls to `fn`.\n\t * @see R.repeat\n\t * @example\n\t *\n\t *      R.times(R.identity, 5); //=> [0, 1, 2, 3, 4]\n\t * @symb R.times(f, 0) = []\n\t * @symb R.times(f, 1) = [f(0)]\n\t * @symb R.times(f, 2) = [f(0), f(1)]\n\t */\n\t\n\t\n\tvar times = /*#__PURE__*/_curry2(function times(fn, n) {\n\t  var len = Number(n);\n\t  var idx = 0;\n\t  var list;\n\t\n\t  if (len < 0 || isNaN(len)) {\n\t    throw new RangeError('n must be a non-negative number');\n\t  }\n\t  list = new Array(len);\n\t  while (idx < len) {\n\t    list[idx] = fn(idx);\n\t    idx += 1;\n\t  }\n\t  return list;\n\t});\n\tmodule.exports = times;\n\n/***/ }),\n/* 873 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/replace.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\t/**\n\t * Replace a substring or regex match in a string with a replacement.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.7.0\n\t * @category String\n\t * @sig RegExp|String -> String -> String -> String\n\t * @param {RegExp|String} pattern A regular expression or a substring to match.\n\t * @param {String} replacement The string to replace the matches with.\n\t * @param {String} str The String to do the search and replacement in.\n\t * @return {String} The result.\n\t * @example\n\t *\n\t *      R.replace('foo', 'bar', 'foo foo foo'); //=> 'bar foo foo'\n\t *      R.replace(/foo/, 'bar', 'foo foo foo'); //=> 'bar foo foo'\n\t *\n\t *      // Use the \"g\" (global) flag to replace all occurrences:\n\t *      R.replace(/foo/g, 'bar', 'foo foo foo'); //=> 'bar bar bar'\n\t */\n\t\n\t\n\tvar replace = /*#__PURE__*/_curry3(function replace(regex, replacement, str) {\n\t  return str.replace(regex, replacement);\n\t});\n\tmodule.exports = replace;\n\n/***/ }),\n/* 874 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/scan.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\t/**\n\t * Scan is similar to [`reduce`](#reduce), but returns a list of successively\n\t * reduced values from the left\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.10.0\n\t * @category List\n\t * @sig ((a, b) -> a) -> a -> [b] -> [a]\n\t * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n\t *        current element from the array\n\t * @param {*} acc The accumulator value.\n\t * @param {Array} list The list to iterate over.\n\t * @return {Array} A list of all intermediately reduced values.\n\t * @see R.reduce\n\t * @example\n\t *\n\t *      var numbers = [1, 2, 3, 4];\n\t *      var factorials = R.scan(R.multiply, 1, numbers); //=> [1, 1, 2, 6, 24]\n\t * @symb R.scan(f, a, [b, c]) = [a, f(a, b), f(f(a, b), c)]\n\t */\n\t\n\t\n\tvar scan = /*#__PURE__*/_curry3(function scan(fn, acc, list) {\n\t  var idx = 0;\n\t  var len = list.length;\n\t  var result = [acc];\n\t  while (idx < len) {\n\t    acc = fn(acc, list[idx]);\n\t    result[idx + 1] = acc;\n\t    idx += 1;\n\t  }\n\t  return result;\n\t});\n\tmodule.exports = scan;\n\n/***/ }),\n/* 875 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/sequence.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar ap = /*#__PURE__*/__webpack_require__(/*! ./ap */ 649);\n\t\n\tvar map = /*#__PURE__*/__webpack_require__(/*! ./map */ 631);\n\t\n\tvar prepend = /*#__PURE__*/__webpack_require__(/*! ./prepend */ 858);\n\t\n\tvar reduceRight = /*#__PURE__*/__webpack_require__(/*! ./reduceRight */ 868);\n\t\n\t/**\n\t * Transforms a [Traversable](https://github.com/fantasyland/fantasy-land#traversable)\n\t * of [Applicative](https://github.com/fantasyland/fantasy-land#applicative) into an\n\t * Applicative of Traversable.\n\t *\n\t * Dispatches to the `sequence` method of the second argument, if present.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.19.0\n\t * @category List\n\t * @sig (Applicative f, Traversable t) => (a -> f a) -> t (f a) -> f (t a)\n\t * @param {Function} of\n\t * @param {*} traversable\n\t * @return {*}\n\t * @see R.traverse\n\t * @example\n\t *\n\t *      R.sequence(Maybe.of, [Just(1), Just(2), Just(3)]);   //=> Just([1, 2, 3])\n\t *      R.sequence(Maybe.of, [Just(1), Just(2), Nothing()]); //=> Nothing()\n\t *\n\t *      R.sequence(R.of, Just([1, 2, 3])); //=> [Just(1), Just(2), Just(3)]\n\t *      R.sequence(R.of, Nothing());       //=> [Nothing()]\n\t */\n\t\n\t\n\tvar sequence = /*#__PURE__*/_curry2(function sequence(of, traversable) {\n\t  return typeof traversable.sequence === 'function' ? traversable.sequence(of) : reduceRight(function (x, acc) {\n\t    return ap(map(prepend, x), acc);\n\t  }, of([]), traversable);\n\t});\n\tmodule.exports = sequence;\n\n/***/ }),\n/* 876 */\n/*!*****************************!*\\\n  !*** ../~/ramda/src/set.js ***!\n  \\*****************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\tvar always = /*#__PURE__*/__webpack_require__(/*! ./always */ 607);\n\t\n\tvar over = /*#__PURE__*/__webpack_require__(/*! ./over */ 845);\n\t\n\t/**\n\t * Returns the result of \"setting\" the portion of the given data structure\n\t * focused by the given lens to the given value.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.16.0\n\t * @category Object\n\t * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n\t * @sig Lens s a -> a -> s -> s\n\t * @param {Lens} lens\n\t * @param {*} v\n\t * @param {*} x\n\t * @return {*}\n\t * @see R.prop, R.lensIndex, R.lensProp\n\t * @example\n\t *\n\t *      var xLens = R.lensProp('x');\n\t *\n\t *      R.set(xLens, 4, {x: 1, y: 2});  //=> {x: 4, y: 2}\n\t *      R.set(xLens, 8, {x: 1, y: 2});  //=> {x: 8, y: 2}\n\t */\n\t\n\t\n\tvar set = /*#__PURE__*/_curry3(function set(lens, v, x) {\n\t  return over(lens, always(v), x);\n\t});\n\tmodule.exports = set;\n\n/***/ }),\n/* 877 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/sort.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Returns a copy of the list, sorted according to the comparator function,\n\t * which should accept two values at a time and return a negative number if the\n\t * first value is smaller, a positive number if it's larger, and zero if they\n\t * are equal. Please note that this is a **copy** of the list. It does not\n\t * modify the original.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig ((a, a) -> Number) -> [a] -> [a]\n\t * @param {Function} comparator A sorting function :: a -> b -> Int\n\t * @param {Array} list The list to sort\n\t * @return {Array} a new array with its elements sorted by the comparator function.\n\t * @example\n\t *\n\t *      var diff = function(a, b) { return a - b; };\n\t *      R.sort(diff, [4,2,7,5]); //=> [2, 4, 5, 7]\n\t */\n\t\n\t\n\tvar sort = /*#__PURE__*/_curry2(function sort(comparator, list) {\n\t  return Array.prototype.slice.call(list, 0).sort(comparator);\n\t});\n\tmodule.exports = sort;\n\n/***/ }),\n/* 878 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/sortBy.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Sorts the list according to the supplied function.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Relation\n\t * @sig Ord b => (a -> b) -> [a] -> [a]\n\t * @param {Function} fn\n\t * @param {Array} list The list to sort.\n\t * @return {Array} A new list sorted by the keys generated by `fn`.\n\t * @example\n\t *\n\t *      var sortByFirstItem = R.sortBy(R.prop(0));\n\t *      var sortByNameCaseInsensitive = R.sortBy(R.compose(R.toLower, R.prop('name')));\n\t *      var pairs = [[-1, 1], [-2, 2], [-3, 3]];\n\t *      sortByFirstItem(pairs); //=> [[-3, 3], [-2, 2], [-1, 1]]\n\t *      var alice = {\n\t *        name: 'ALICE',\n\t *        age: 101\n\t *      };\n\t *      var bob = {\n\t *        name: 'Bob',\n\t *        age: -10\n\t *      };\n\t *      var clara = {\n\t *        name: 'clara',\n\t *        age: 314.159\n\t *      };\n\t *      var people = [clara, bob, alice];\n\t *      sortByNameCaseInsensitive(people); //=> [alice, bob, clara]\n\t */\n\t\n\t\n\tvar sortBy = /*#__PURE__*/_curry2(function sortBy(fn, list) {\n\t  return Array.prototype.slice.call(list, 0).sort(function (a, b) {\n\t    var aa = fn(a);\n\t    var bb = fn(b);\n\t    return aa < bb ? -1 : aa > bb ? 1 : 0;\n\t  });\n\t});\n\tmodule.exports = sortBy;\n\n/***/ }),\n/* 879 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/sortWith.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Sorts a list according to a list of comparators.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.23.0\n\t * @category Relation\n\t * @sig [(a, a) -> Number] -> [a] -> [a]\n\t * @param {Array} functions A list of comparator functions.\n\t * @param {Array} list The list to sort.\n\t * @return {Array} A new list sorted according to the comarator functions.\n\t * @example\n\t *\n\t *      var alice = {\n\t *        name: 'alice',\n\t *        age: 40\n\t *      };\n\t *      var bob = {\n\t *        name: 'bob',\n\t *        age: 30\n\t *      };\n\t *      var clara = {\n\t *        name: 'clara',\n\t *        age: 40\n\t *      };\n\t *      var people = [clara, bob, alice];\n\t *      var ageNameSort = R.sortWith([\n\t *        R.descend(R.prop('age')),\n\t *        R.ascend(R.prop('name'))\n\t *      ]);\n\t *      ageNameSort(people); //=> [alice, clara, bob]\n\t */\n\t\n\t\n\tvar sortWith = /*#__PURE__*/_curry2(function sortWith(fns, list) {\n\t  return Array.prototype.slice.call(list, 0).sort(function (a, b) {\n\t    var result = 0;\n\t    var i = 0;\n\t    while (result === 0 && i < fns.length) {\n\t      result = fns[i](a, b);\n\t      i += 1;\n\t    }\n\t    return result;\n\t  });\n\t});\n\tmodule.exports = sortWith;\n\n/***/ }),\n/* 880 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/split.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar invoker = /*#__PURE__*/__webpack_require__(/*! ./invoker */ 799);\n\t\n\t/**\n\t * Splits a string into an array of strings based on the given\n\t * separator.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category String\n\t * @sig (String | RegExp) -> String -> [String]\n\t * @param {String|RegExp} sep The pattern.\n\t * @param {String} str The string to separate into an array.\n\t * @return {Array} The array of strings from `str` separated by `str`.\n\t * @see R.join\n\t * @example\n\t *\n\t *      var pathComponents = R.split('/');\n\t *      R.tail(pathComponents('/usr/local/bin/node')); //=> ['usr', 'local', 'bin', 'node']\n\t *\n\t *      R.split('.', 'a.b.c.xyz.d'); //=> ['a', 'b', 'c', 'xyz', 'd']\n\t */\n\t\n\t\n\tvar split = /*#__PURE__*/invoker(1, 'split');\n\tmodule.exports = split;\n\n/***/ }),\n/* 881 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/splitAt.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar length = /*#__PURE__*/__webpack_require__(/*! ./length */ 806);\n\t\n\tvar slice = /*#__PURE__*/__webpack_require__(/*! ./slice */ 689);\n\t\n\t/**\n\t * Splits a given list or string at a given index.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.19.0\n\t * @category List\n\t * @sig Number -> [a] -> [[a], [a]]\n\t * @sig Number -> String -> [String, String]\n\t * @param {Number} index The index where the array/string is split.\n\t * @param {Array|String} array The array/string to be split.\n\t * @return {Array}\n\t * @example\n\t *\n\t *      R.splitAt(1, [1, 2, 3]);          //=> [[1], [2, 3]]\n\t *      R.splitAt(5, 'hello world');      //=> ['hello', ' world']\n\t *      R.splitAt(-1, 'foobar');          //=> ['fooba', 'r']\n\t */\n\t\n\t\n\tvar splitAt = /*#__PURE__*/_curry2(function splitAt(index, array) {\n\t  return [slice(0, index, array), slice(index, length(array), array)];\n\t});\n\tmodule.exports = splitAt;\n\n/***/ }),\n/* 882 */\n/*!************************************!*\\\n  !*** ../~/ramda/src/splitEvery.js ***!\n  \\************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar slice = /*#__PURE__*/__webpack_require__(/*! ./slice */ 689);\n\t\n\t/**\n\t * Splits a collection into slices of the specified length.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.16.0\n\t * @category List\n\t * @sig Number -> [a] -> [[a]]\n\t * @sig Number -> String -> [String]\n\t * @param {Number} n\n\t * @param {Array} list\n\t * @return {Array}\n\t * @example\n\t *\n\t *      R.splitEvery(3, [1, 2, 3, 4, 5, 6, 7]); //=> [[1, 2, 3], [4, 5, 6], [7]]\n\t *      R.splitEvery(3, 'foobarbaz'); //=> ['foo', 'bar', 'baz']\n\t */\n\t\n\t\n\tvar splitEvery = /*#__PURE__*/_curry2(function splitEvery(n, list) {\n\t  if (n <= 0) {\n\t    throw new Error('First argument to splitEvery must be a positive integer');\n\t  }\n\t  var result = [];\n\t  var idx = 0;\n\t  while (idx < list.length) {\n\t    result.push(slice(idx, idx += n, list));\n\t  }\n\t  return result;\n\t});\n\tmodule.exports = splitEvery;\n\n/***/ }),\n/* 883 */\n/*!***********************************!*\\\n  !*** ../~/ramda/src/splitWhen.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Takes a list and a predicate and returns a pair of lists with the following properties:\n\t *\n\t *  - the result of concatenating the two output lists is equivalent to the input list;\n\t *  - none of the elements of the first output list satisfies the predicate; and\n\t *  - if the second output list is non-empty, its first element satisfies the predicate.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.19.0\n\t * @category List\n\t * @sig (a -> Boolean) -> [a] -> [[a], [a]]\n\t * @param {Function} pred The predicate that determines where the array is split.\n\t * @param {Array} list The array to be split.\n\t * @return {Array}\n\t * @example\n\t *\n\t *      R.splitWhen(R.equals(2), [1, 2, 3, 1, 2, 3]);   //=> [[1], [2, 3, 1, 2, 3]]\n\t */\n\t\n\t\n\tvar splitWhen = /*#__PURE__*/_curry2(function splitWhen(pred, list) {\n\t  var idx = 0;\n\t  var len = list.length;\n\t  var prefix = [];\n\t\n\t  while (idx < len && !pred(list[idx])) {\n\t    prefix.push(list[idx]);\n\t    idx += 1;\n\t  }\n\t\n\t  return [prefix, Array.prototype.slice.call(list, idx)];\n\t});\n\tmodule.exports = splitWhen;\n\n/***/ }),\n/* 884 */\n/*!************************************!*\\\n  !*** ../~/ramda/src/startsWith.js ***!\n  \\************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar equals = /*#__PURE__*/__webpack_require__(/*! ./equals */ 700);\n\t\n\tvar take = /*#__PURE__*/__webpack_require__(/*! ./take */ 736);\n\t\n\t/**\n\t * Checks if a list starts with the provided values\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.24.0\n\t * @category List\n\t * @sig [a] -> Boolean\n\t * @sig String -> Boolean\n\t * @param {*} prefix\n\t * @param {*} list\n\t * @return {Boolean}\n\t * @example\n\t *\n\t *      R.startsWith('a', 'abc')                //=> true\n\t *      R.startsWith('b', 'abc')                //=> false\n\t *      R.startsWith(['a'], ['a', 'b', 'c'])    //=> true\n\t *      R.startsWith(['b'], ['a', 'b', 'c'])    //=> false\n\t */\n\t\n\t\n\tvar startsWith = /*#__PURE__*/_curry2(function (prefix, list) {\n\t  return equals(take(prefix.length, list), prefix);\n\t});\n\tmodule.exports = startsWith;\n\n/***/ }),\n/* 885 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/subtract.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Subtracts its second argument from its first argument.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Math\n\t * @sig Number -> Number -> Number\n\t * @param {Number} a The first value.\n\t * @param {Number} b The second value.\n\t * @return {Number} The result of `a - b`.\n\t * @see R.add\n\t * @example\n\t *\n\t *      R.subtract(10, 8); //=> 2\n\t *\n\t *      var minus5 = R.subtract(R.__, 5);\n\t *      minus5(17); //=> 12\n\t *\n\t *      var complementaryAngle = R.subtract(90);\n\t *      complementaryAngle(30); //=> 60\n\t *      complementaryAngle(72); //=> 18\n\t */\n\t\n\t\n\tvar subtract = /*#__PURE__*/_curry2(function subtract(a, b) {\n\t  return Number(a) - Number(b);\n\t});\n\tmodule.exports = subtract;\n\n/***/ }),\n/* 886 */\n/*!*********************************************!*\\\n  !*** ../~/ramda/src/symmetricDifference.js ***!\n  \\*********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar concat = /*#__PURE__*/__webpack_require__(/*! ./concat */ 695);\n\t\n\tvar difference = /*#__PURE__*/__webpack_require__(/*! ./difference */ 725);\n\t\n\t/**\n\t * Finds the set (i.e. no duplicates) of all elements contained in the first or\n\t * second list, but not both.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.19.0\n\t * @category Relation\n\t * @sig [*] -> [*] -> [*]\n\t * @param {Array} list1 The first list.\n\t * @param {Array} list2 The second list.\n\t * @return {Array} The elements in `list1` or `list2`, but not both.\n\t * @see R.symmetricDifferenceWith, R.difference, R.differenceWith\n\t * @example\n\t *\n\t *      R.symmetricDifference([1,2,3,4], [7,6,5,4,3]); //=> [1,2,7,6,5]\n\t *      R.symmetricDifference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5,1,2]\n\t */\n\t\n\t\n\tvar symmetricDifference = /*#__PURE__*/_curry2(function symmetricDifference(list1, list2) {\n\t  return concat(difference(list1, list2), difference(list2, list1));\n\t});\n\tmodule.exports = symmetricDifference;\n\n/***/ }),\n/* 887 */\n/*!*************************************************!*\\\n  !*** ../~/ramda/src/symmetricDifferenceWith.js ***!\n  \\*************************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\tvar concat = /*#__PURE__*/__webpack_require__(/*! ./concat */ 695);\n\t\n\tvar differenceWith = /*#__PURE__*/__webpack_require__(/*! ./differenceWith */ 726);\n\t\n\t/**\n\t * Finds the set (i.e. no duplicates) of all elements contained in the first or\n\t * second list, but not both. Duplication is determined according to the value\n\t * returned by applying the supplied predicate to two list elements.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.19.0\n\t * @category Relation\n\t * @sig ((a, a) -> Boolean) -> [a] -> [a] -> [a]\n\t * @param {Function} pred A predicate used to test whether two items are equal.\n\t * @param {Array} list1 The first list.\n\t * @param {Array} list2 The second list.\n\t * @return {Array} The elements in `list1` or `list2`, but not both.\n\t * @see R.symmetricDifference, R.difference, R.differenceWith\n\t * @example\n\t *\n\t *      var eqA = R.eqBy(R.prop('a'));\n\t *      var l1 = [{a: 1}, {a: 2}, {a: 3}, {a: 4}];\n\t *      var l2 = [{a: 3}, {a: 4}, {a: 5}, {a: 6}];\n\t *      R.symmetricDifferenceWith(eqA, l1, l2); //=> [{a: 1}, {a: 2}, {a: 5}, {a: 6}]\n\t */\n\t\n\t\n\tvar symmetricDifferenceWith = /*#__PURE__*/_curry3(function symmetricDifferenceWith(pred, list1, list2) {\n\t  return concat(differenceWith(pred, list1, list2), differenceWith(pred, list2, list1));\n\t});\n\tmodule.exports = symmetricDifferenceWith;\n\n/***/ }),\n/* 888 */\n/*!***************************************!*\\\n  !*** ../~/ramda/src/takeLastWhile.js ***!\n  \\***************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar slice = /*#__PURE__*/__webpack_require__(/*! ./slice */ 689);\n\t\n\t/**\n\t * Returns a new list containing the last `n` elements of a given list, passing\n\t * each value to the supplied predicate function, and terminating when the\n\t * predicate function returns `false`. Excludes the element that caused the\n\t * predicate function to fail. The predicate function is passed one argument:\n\t * *(value)*.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.16.0\n\t * @category List\n\t * @sig (a -> Boolean) -> [a] -> [a]\n\t * @sig (a -> Boolean) -> String -> String\n\t * @param {Function} fn The function called per iteration.\n\t * @param {Array} xs The collection to iterate over.\n\t * @return {Array} A new array.\n\t * @see R.dropLastWhile, R.addIndex\n\t * @example\n\t *\n\t *      var isNotOne = x => x !== 1;\n\t *\n\t *      R.takeLastWhile(isNotOne, [1, 2, 3, 4]); //=> [2, 3, 4]\n\t *\n\t *      R.takeLastWhile(x => x !== 'R' , 'Ramda'); //=> 'amda'\n\t */\n\t\n\t\n\tvar takeLastWhile = /*#__PURE__*/_curry2(function takeLastWhile(fn, xs) {\n\t  var idx = xs.length - 1;\n\t  while (idx >= 0 && fn(xs[idx])) {\n\t    idx -= 1;\n\t  }\n\t  return slice(idx + 1, Infinity, xs);\n\t});\n\tmodule.exports = takeLastWhile;\n\n/***/ }),\n/* 889 */\n/*!***********************************!*\\\n  !*** ../~/ramda/src/takeWhile.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _dispatchable = /*#__PURE__*/__webpack_require__(/*! ./internal/_dispatchable */ 622);\n\t\n\tvar _xtakeWhile = /*#__PURE__*/__webpack_require__(/*! ./internal/_xtakeWhile */ 890);\n\t\n\tvar slice = /*#__PURE__*/__webpack_require__(/*! ./slice */ 689);\n\t\n\t/**\n\t * Returns a new list containing the first `n` elements of a given list,\n\t * passing each value to the supplied predicate function, and terminating when\n\t * the predicate function returns `false`. Excludes the element that caused the\n\t * predicate function to fail. The predicate function is passed one argument:\n\t * *(value)*.\n\t *\n\t * Dispatches to the `takeWhile` method of the second argument, if present.\n\t *\n\t * Acts as a transducer if a transformer is given in list position.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig (a -> Boolean) -> [a] -> [a]\n\t * @sig (a -> Boolean) -> String -> String\n\t * @param {Function} fn The function called per iteration.\n\t * @param {Array} xs The collection to iterate over.\n\t * @return {Array} A new array.\n\t * @see R.dropWhile, R.transduce, R.addIndex\n\t * @example\n\t *\n\t *      var isNotFour = x => x !== 4;\n\t *\n\t *      R.takeWhile(isNotFour, [1, 2, 3, 4, 3, 2, 1]); //=> [1, 2, 3]\n\t *\n\t *      R.takeWhile(x => x !== 'd' , 'Ramda'); //=> 'Ram'\n\t */\n\t\n\t\n\tvar takeWhile = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['takeWhile'], _xtakeWhile, function takeWhile(fn, xs) {\n\t  var idx = 0;\n\t  var len = xs.length;\n\t  while (idx < len && fn(xs[idx])) {\n\t    idx += 1;\n\t  }\n\t  return slice(0, idx, xs);\n\t}));\n\tmodule.exports = takeWhile;\n\n/***/ }),\n/* 890 */\n/*!**********************************************!*\\\n  !*** ../~/ramda/src/internal/_xtakeWhile.js ***!\n  \\**********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./_curry2 */ 613);\n\t\n\tvar _reduced = /*#__PURE__*/__webpack_require__(/*! ./_reduced */ 626);\n\t\n\tvar _xfBase = /*#__PURE__*/__webpack_require__(/*! ./_xfBase */ 627);\n\t\n\tvar XTakeWhile = /*#__PURE__*/function () {\n\t\n\t  function XTakeWhile(f, xf) {\n\t    this.xf = xf;\n\t    this.f = f;\n\t  }\n\t  XTakeWhile.prototype['@@transducer/init'] = _xfBase.init;\n\t  XTakeWhile.prototype['@@transducer/result'] = _xfBase.result;\n\t  XTakeWhile.prototype['@@transducer/step'] = function (result, input) {\n\t    return this.f(input) ? this.xf['@@transducer/step'](result, input) : _reduced(result);\n\t  };\n\t\n\t  return XTakeWhile;\n\t}();\n\t\n\tvar _xtakeWhile = /*#__PURE__*/_curry2(function _xtakeWhile(f, xf) {\n\t  return new XTakeWhile(f, xf);\n\t});\n\tmodule.exports = _xtakeWhile;\n\n/***/ }),\n/* 891 */\n/*!*****************************!*\\\n  !*** ../~/ramda/src/tap.js ***!\n  \\*****************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _dispatchable = /*#__PURE__*/__webpack_require__(/*! ./internal/_dispatchable */ 622);\n\t\n\tvar _xtap = /*#__PURE__*/__webpack_require__(/*! ./internal/_xtap */ 892);\n\t\n\t/**\n\t * Runs the given function with the supplied object, then returns the object.\n\t *\n\t * Acts as a transducer if a transformer is given as second parameter.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Function\n\t * @sig (a -> *) -> a -> a\n\t * @param {Function} fn The function to call with `x`. The return value of `fn` will be thrown away.\n\t * @param {*} x\n\t * @return {*} `x`.\n\t * @example\n\t *\n\t *      var sayX = x => console.log('x is ' + x);\n\t *      R.tap(sayX, 100); //=> 100\n\t *      // logs 'x is 100'\n\t * @symb R.tap(f, a) = a\n\t */\n\t\n\t\n\tvar tap = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xtap, function tap(fn, x) {\n\t  fn(x);\n\t  return x;\n\t}));\n\tmodule.exports = tap;\n\n/***/ }),\n/* 892 */\n/*!****************************************!*\\\n  !*** ../~/ramda/src/internal/_xtap.js ***!\n  \\****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./_curry2 */ 613);\n\t\n\tvar _xfBase = /*#__PURE__*/__webpack_require__(/*! ./_xfBase */ 627);\n\t\n\tvar XTap = /*#__PURE__*/function () {\n\t\n\t  function XTap(f, xf) {\n\t    this.xf = xf;\n\t    this.f = f;\n\t  }\n\t  XTap.prototype['@@transducer/init'] = _xfBase.init;\n\t  XTap.prototype['@@transducer/result'] = _xfBase.result;\n\t  XTap.prototype['@@transducer/step'] = function (result, input) {\n\t    this.f(input);\n\t    return this.xf['@@transducer/step'](result, input);\n\t  };\n\t\n\t  return XTap;\n\t}();\n\t\n\tvar _xtap = /*#__PURE__*/_curry2(function _xtap(f, xf) {\n\t  return new XTap(f, xf);\n\t});\n\tmodule.exports = _xtap;\n\n/***/ }),\n/* 893 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/test.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _cloneRegExp = /*#__PURE__*/__webpack_require__(/*! ./internal/_cloneRegExp */ 679);\n\t\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _isRegExp = /*#__PURE__*/__webpack_require__(/*! ./internal/_isRegExp */ 894);\n\t\n\tvar toString = /*#__PURE__*/__webpack_require__(/*! ./toString */ 696);\n\t\n\t/**\n\t * Determines whether a given string matches a given regular expression.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.12.0\n\t * @category String\n\t * @sig RegExp -> String -> Boolean\n\t * @param {RegExp} pattern\n\t * @param {String} str\n\t * @return {Boolean}\n\t * @see R.match\n\t * @example\n\t *\n\t *      R.test(/^x/, 'xyz'); //=> true\n\t *      R.test(/^y/, 'xyz'); //=> false\n\t */\n\t\n\t\n\tvar test = /*#__PURE__*/_curry2(function test(pattern, str) {\n\t  if (!_isRegExp(pattern)) {\n\t    throw new TypeError('‘test’ requires a value of type RegExp as its first argument; received ' + toString(pattern));\n\t  }\n\t  return _cloneRegExp(pattern).test(str);\n\t});\n\tmodule.exports = test;\n\n/***/ }),\n/* 894 */\n/*!********************************************!*\\\n  !*** ../~/ramda/src/internal/_isRegExp.js ***!\n  \\********************************************/\n/***/ (function(module, exports) {\n\n\tfunction _isRegExp(x) {\n\t  return Object.prototype.toString.call(x) === '[object RegExp]';\n\t}\n\tmodule.exports = _isRegExp;\n\n/***/ }),\n/* 895 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/toLower.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar invoker = /*#__PURE__*/__webpack_require__(/*! ./invoker */ 799);\n\t\n\t/**\n\t * The lower case version of a string.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.9.0\n\t * @category String\n\t * @sig String -> String\n\t * @param {String} str The string to lower case.\n\t * @return {String} The lower case version of `str`.\n\t * @see R.toUpper\n\t * @example\n\t *\n\t *      R.toLower('XYZ'); //=> 'xyz'\n\t */\n\t\n\t\n\tvar toLower = /*#__PURE__*/invoker(0, 'toLowerCase');\n\tmodule.exports = toLower;\n\n/***/ }),\n/* 896 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/toPairs.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar _has = /*#__PURE__*/__webpack_require__(/*! ./internal/_has */ 640);\n\t\n\t/**\n\t * Converts an object into an array of key, value arrays. Only the object's\n\t * own properties are used.\n\t * Note that the order of the output array is not guaranteed to be consistent\n\t * across different JS platforms.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.4.0\n\t * @category Object\n\t * @sig {String: *} -> [[String,*]]\n\t * @param {Object} obj The object to extract from\n\t * @return {Array} An array of key, value arrays from the object's own properties.\n\t * @see R.fromPairs\n\t * @example\n\t *\n\t *      R.toPairs({a: 1, b: 2, c: 3}); //=> [['a', 1], ['b', 2], ['c', 3]]\n\t */\n\t\n\t\n\tvar toPairs = /*#__PURE__*/_curry1(function toPairs(obj) {\n\t  var pairs = [];\n\t  for (var prop in obj) {\n\t    if (_has(prop, obj)) {\n\t      pairs[pairs.length] = [prop, obj[prop]];\n\t    }\n\t  }\n\t  return pairs;\n\t});\n\tmodule.exports = toPairs;\n\n/***/ }),\n/* 897 */\n/*!***********************************!*\\\n  !*** ../~/ramda/src/toPairsIn.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\t/**\n\t * Converts an object into an array of key, value arrays. The object's own\n\t * properties and prototype properties are used. Note that the order of the\n\t * output array is not guaranteed to be consistent across different JS\n\t * platforms.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.4.0\n\t * @category Object\n\t * @sig {String: *} -> [[String,*]]\n\t * @param {Object} obj The object to extract from\n\t * @return {Array} An array of key, value arrays from the object's own\n\t *         and prototype properties.\n\t * @example\n\t *\n\t *      var F = function() { this.x = 'X'; };\n\t *      F.prototype.y = 'Y';\n\t *      var f = new F();\n\t *      R.toPairsIn(f); //=> [['x','X'], ['y','Y']]\n\t */\n\t\n\t\n\tvar toPairsIn = /*#__PURE__*/_curry1(function toPairsIn(obj) {\n\t  var pairs = [];\n\t  for (var prop in obj) {\n\t    pairs[pairs.length] = [prop, obj[prop]];\n\t  }\n\t  return pairs;\n\t});\n\tmodule.exports = toPairsIn;\n\n/***/ }),\n/* 898 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/toUpper.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar invoker = /*#__PURE__*/__webpack_require__(/*! ./invoker */ 799);\n\t\n\t/**\n\t * The upper case version of a string.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.9.0\n\t * @category String\n\t * @sig String -> String\n\t * @param {String} str The string to upper case.\n\t * @return {String} The upper case version of `str`.\n\t * @see R.toLower\n\t * @example\n\t *\n\t *      R.toUpper('abc'); //=> 'ABC'\n\t */\n\t\n\t\n\tvar toUpper = /*#__PURE__*/invoker(0, 'toUpperCase');\n\tmodule.exports = toUpper;\n\n/***/ }),\n/* 899 */\n/*!***********************************!*\\\n  !*** ../~/ramda/src/transduce.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _reduce = /*#__PURE__*/__webpack_require__(/*! ./internal/_reduce */ 633);\n\t\n\tvar _xwrap = /*#__PURE__*/__webpack_require__(/*! ./internal/_xwrap */ 636);\n\t\n\tvar curryN = /*#__PURE__*/__webpack_require__(/*! ./curryN */ 616);\n\t\n\t/**\n\t * Initializes a transducer using supplied iterator function. Returns a single\n\t * item by iterating through the list, successively calling the transformed\n\t * iterator function and passing it an accumulator value and the current value\n\t * from the array, and then passing the result to the next call.\n\t *\n\t * The iterator function receives two values: *(acc, value)*. It will be\n\t * wrapped as a transformer to initialize the transducer. A transformer can be\n\t * passed directly in place of an iterator function. In both cases, iteration\n\t * may be stopped early with the [`R.reduced`](#reduced) function.\n\t *\n\t * A transducer is a function that accepts a transformer and returns a\n\t * transformer and can be composed directly.\n\t *\n\t * A transformer is an an object that provides a 2-arity reducing iterator\n\t * function, step, 0-arity initial value function, init, and 1-arity result\n\t * extraction function, result. The step function is used as the iterator\n\t * function in reduce. The result function is used to convert the final\n\t * accumulator into the return type and in most cases is\n\t * [`R.identity`](#identity). The init function can be used to provide an\n\t * initial accumulator, but is ignored by transduce.\n\t *\n\t * The iteration is performed with [`R.reduce`](#reduce) after initializing the transducer.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.12.0\n\t * @category List\n\t * @sig (c -> c) -> ((a, b) -> a) -> a -> [b] -> a\n\t * @param {Function} xf The transducer function. Receives a transformer and returns a transformer.\n\t * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n\t *        current element from the array. Wrapped as transformer, if necessary, and used to\n\t *        initialize the transducer\n\t * @param {*} acc The initial accumulator value.\n\t * @param {Array} list The list to iterate over.\n\t * @return {*} The final, accumulated value.\n\t * @see R.reduce, R.reduced, R.into\n\t * @example\n\t *\n\t *      var numbers = [1, 2, 3, 4];\n\t *      var transducer = R.compose(R.map(R.add(1)), R.take(2));\n\t *      R.transduce(transducer, R.flip(R.append), [], numbers); //=> [2, 3]\n\t *\n\t *      var isOdd = (x) => x % 2 === 1;\n\t *      var firstOddTransducer = R.compose(R.filter(isOdd), R.take(1));\n\t *      R.transduce(firstOddTransducer, R.flip(R.append), [], R.range(0, 100)); //=> [1]\n\t */\n\t\n\t\n\tvar transduce = /*#__PURE__*/curryN(4, function transduce(xf, fn, acc, list) {\n\t  return _reduce(xf(typeof fn === 'function' ? _xwrap(fn) : fn), acc, list);\n\t});\n\tmodule.exports = transduce;\n\n/***/ }),\n/* 900 */\n/*!***********************************!*\\\n  !*** ../~/ramda/src/transpose.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\t/**\n\t * Transposes the rows and columns of a 2D list.\n\t * When passed a list of `n` lists of length `x`,\n\t * returns a list of `x` lists of length `n`.\n\t *\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.19.0\n\t * @category List\n\t * @sig [[a]] -> [[a]]\n\t * @param {Array} list A 2D list\n\t * @return {Array} A 2D list\n\t * @example\n\t *\n\t *      R.transpose([[1, 'a'], [2, 'b'], [3, 'c']]) //=> [[1, 2, 3], ['a', 'b', 'c']]\n\t *      R.transpose([[1, 2, 3], ['a', 'b', 'c']]) //=> [[1, 'a'], [2, 'b'], [3, 'c']]\n\t *\n\t *      // If some of the rows are shorter than the following rows, their elements are skipped:\n\t *      R.transpose([[10, 11], [20], [], [30, 31, 32]]) //=> [[10, 20, 30], [11, 31], [32]]\n\t * @symb R.transpose([[a], [b], [c]]) = [a, b, c]\n\t * @symb R.transpose([[a, b], [c, d]]) = [[a, c], [b, d]]\n\t * @symb R.transpose([[a, b], [c]]) = [[a, c], [b]]\n\t */\n\t\n\t\n\tvar transpose = /*#__PURE__*/_curry1(function transpose(outerlist) {\n\t  var i = 0;\n\t  var result = [];\n\t  while (i < outerlist.length) {\n\t    var innerlist = outerlist[i];\n\t    var j = 0;\n\t    while (j < innerlist.length) {\n\t      if (typeof result[j] === 'undefined') {\n\t        result[j] = [];\n\t      }\n\t      result[j].push(innerlist[j]);\n\t      j += 1;\n\t    }\n\t    i += 1;\n\t  }\n\t  return result;\n\t});\n\tmodule.exports = transpose;\n\n/***/ }),\n/* 901 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/traverse.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\tvar map = /*#__PURE__*/__webpack_require__(/*! ./map */ 631);\n\t\n\tvar sequence = /*#__PURE__*/__webpack_require__(/*! ./sequence */ 875);\n\t\n\t/**\n\t * Maps an [Applicative](https://github.com/fantasyland/fantasy-land#applicative)-returning\n\t * function over a [Traversable](https://github.com/fantasyland/fantasy-land#traversable),\n\t * then uses [`sequence`](#sequence) to transform the resulting Traversable of Applicative\n\t * into an Applicative of Traversable.\n\t *\n\t * Dispatches to the `traverse` method of the third argument, if present.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.19.0\n\t * @category List\n\t * @sig (Applicative f, Traversable t) => (a -> f a) -> (a -> f b) -> t a -> f (t b)\n\t * @param {Function} of\n\t * @param {Function} f\n\t * @param {*} traversable\n\t * @return {*}\n\t * @see R.sequence\n\t * @example\n\t *\n\t *      // Returns `Nothing` if the given divisor is `0`\n\t *      safeDiv = n => d => d === 0 ? Nothing() : Just(n / d)\n\t *\n\t *      R.traverse(Maybe.of, safeDiv(10), [2, 4, 5]); //=> Just([5, 2.5, 2])\n\t *      R.traverse(Maybe.of, safeDiv(10), [2, 0, 5]); //=> Nothing\n\t */\n\t\n\t\n\tvar traverse = /*#__PURE__*/_curry3(function traverse(of, f, traversable) {\n\t  return typeof traversable['fantasy-land/traverse'] === 'function' ? traversable['fantasy-land/traverse'](f, of) : sequence(of, map(f, traversable));\n\t});\n\tmodule.exports = traverse;\n\n/***/ }),\n/* 902 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/trim.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar ws = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' + '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028' + '\\u2029\\uFEFF';\n\tvar zeroWidth = '\\u200b';\n\tvar hasProtoTrim = typeof String.prototype.trim === 'function';\n\t/**\n\t * Removes (strips) whitespace from both ends of the string.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.6.0\n\t * @category String\n\t * @sig String -> String\n\t * @param {String} str The string to trim.\n\t * @return {String} Trimmed version of `str`.\n\t * @example\n\t *\n\t *      R.trim('   xyz  '); //=> 'xyz'\n\t *      R.map(R.trim, R.split(',', 'x, y, z')); //=> ['x', 'y', 'z']\n\t */\n\tvar _trim = !hasProtoTrim || /*#__PURE__*/ws.trim() || ! /*#__PURE__*/zeroWidth.trim() ? function trim(str) {\n\t  var beginRx = new RegExp('^[' + ws + '][' + ws + ']*');\n\t  var endRx = new RegExp('[' + ws + '][' + ws + ']*$');\n\t  return str.replace(beginRx, '').replace(endRx, '');\n\t} : function trim(str) {\n\t  return str.trim();\n\t};\n\tvar trim = /*#__PURE__*/_curry1(_trim);\n\tmodule.exports = trim;\n\n/***/ }),\n/* 903 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/tryCatch.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _arity = /*#__PURE__*/__webpack_require__(/*! ./internal/_arity */ 617);\n\t\n\tvar _concat = /*#__PURE__*/__webpack_require__(/*! ./internal/_concat */ 615);\n\t\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * `tryCatch` takes two functions, a `tryer` and a `catcher`. The returned\n\t * function evaluates the `tryer`; if it does not throw, it simply returns the\n\t * result. If the `tryer` *does* throw, the returned function evaluates the\n\t * `catcher` function and returns its result. Note that for effective\n\t * composition with this function, both the `tryer` and `catcher` functions\n\t * must return the same type of results.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.20.0\n\t * @category Function\n\t * @sig (...x -> a) -> ((e, ...x) -> a) -> (...x -> a)\n\t * @param {Function} tryer The function that may throw.\n\t * @param {Function} catcher The function that will be evaluated if `tryer` throws.\n\t * @return {Function} A new function that will catch exceptions and send then to the catcher.\n\t * @example\n\t *\n\t *      R.tryCatch(R.prop('x'), R.F)({x: true}); //=> true\n\t *      R.tryCatch(R.prop('x'), R.F)(null);      //=> false\n\t */\n\t\n\t\n\tvar tryCatch = /*#__PURE__*/_curry2(function _tryCatch(tryer, catcher) {\n\t  return _arity(tryer.length, function () {\n\t    try {\n\t      return tryer.apply(this, arguments);\n\t    } catch (e) {\n\t      return catcher.apply(this, _concat([e], arguments));\n\t    }\n\t  });\n\t});\n\tmodule.exports = tryCatch;\n\n/***/ }),\n/* 904 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/unapply.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\t/**\n\t * Takes a function `fn`, which takes a single array argument, and returns a\n\t * function which:\n\t *\n\t *   - takes any number of positional arguments;\n\t *   - passes these arguments to `fn` as an array; and\n\t *   - returns the result.\n\t *\n\t * In other words, `R.unapply` derives a variadic function from a function which\n\t * takes an array. `R.unapply` is the inverse of [`R.apply`](#apply).\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.8.0\n\t * @category Function\n\t * @sig ([*...] -> a) -> (*... -> a)\n\t * @param {Function} fn\n\t * @return {Function}\n\t * @see R.apply\n\t * @example\n\t *\n\t *      R.unapply(JSON.stringify)(1, 2, 3); //=> '[1,2,3]'\n\t * @symb R.unapply(f)(a, b) = f([a, b])\n\t */\n\t\n\t\n\tvar unapply = /*#__PURE__*/_curry1(function unapply(fn) {\n\t  return function () {\n\t    return fn(Array.prototype.slice.call(arguments, 0));\n\t  };\n\t});\n\tmodule.exports = unapply;\n\n/***/ }),\n/* 905 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/unary.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\tvar nAry = /*#__PURE__*/__webpack_require__(/*! ./nAry */ 664);\n\t\n\t/**\n\t * Wraps a function of any arity (including nullary) in a function that accepts\n\t * exactly 1 parameter. Any extraneous parameters will not be passed to the\n\t * supplied function.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.2.0\n\t * @category Function\n\t * @sig (* -> b) -> (a -> b)\n\t * @param {Function} fn The function to wrap.\n\t * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of\n\t *         arity 1.\n\t * @see R.binary, R.nAry\n\t * @example\n\t *\n\t *      var takesTwoArgs = function(a, b) {\n\t *        return [a, b];\n\t *      };\n\t *      takesTwoArgs.length; //=> 2\n\t *      takesTwoArgs(1, 2); //=> [1, 2]\n\t *\n\t *      var takesOneArg = R.unary(takesTwoArgs);\n\t *      takesOneArg.length; //=> 1\n\t *      // Only 1 argument is passed to the wrapped function\n\t *      takesOneArg(1, 2); //=> [1, undefined]\n\t * @symb R.unary(f)(a, b, c) = f(a)\n\t */\n\t\n\t\n\tvar unary = /*#__PURE__*/_curry1(function unary(fn) {\n\t  return nAry(1, fn);\n\t});\n\tmodule.exports = unary;\n\n/***/ }),\n/* 906 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/uncurryN.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar curryN = /*#__PURE__*/__webpack_require__(/*! ./curryN */ 616);\n\t\n\t/**\n\t * Returns a function of arity `n` from a (manually) curried function.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.14.0\n\t * @category Function\n\t * @sig Number -> (a -> b) -> (a -> c)\n\t * @param {Number} length The arity for the returned function.\n\t * @param {Function} fn The function to uncurry.\n\t * @return {Function} A new function.\n\t * @see R.curry\n\t * @example\n\t *\n\t *      var addFour = a => b => c => d => a + b + c + d;\n\t *\n\t *      var uncurriedAddFour = R.uncurryN(4, addFour);\n\t *      uncurriedAddFour(1, 2, 3, 4); //=> 10\n\t */\n\t\n\t\n\tvar uncurryN = /*#__PURE__*/_curry2(function uncurryN(depth, fn) {\n\t  return curryN(depth, function () {\n\t    var currentDepth = 1;\n\t    var value = fn;\n\t    var idx = 0;\n\t    var endIdx;\n\t    while (currentDepth <= depth && typeof value === 'function') {\n\t      endIdx = currentDepth === depth ? arguments.length : idx + value.length;\n\t      value = value.apply(this, Array.prototype.slice.call(arguments, idx, endIdx));\n\t      currentDepth += 1;\n\t      idx = endIdx;\n\t    }\n\t    return value;\n\t  });\n\t});\n\tmodule.exports = uncurryN;\n\n/***/ }),\n/* 907 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/unfold.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Builds a list from a seed value. Accepts an iterator function, which returns\n\t * either false to stop iteration or an array of length 2 containing the value\n\t * to add to the resulting list and the seed to be used in the next call to the\n\t * iterator function.\n\t *\n\t * The iterator function receives one argument: *(seed)*.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.10.0\n\t * @category List\n\t * @sig (a -> [b]) -> * -> [b]\n\t * @param {Function} fn The iterator function. receives one argument, `seed`, and returns\n\t *        either false to quit iteration or an array of length two to proceed. The element\n\t *        at index 0 of this array will be added to the resulting array, and the element\n\t *        at index 1 will be passed to the next call to `fn`.\n\t * @param {*} seed The seed value.\n\t * @return {Array} The final list.\n\t * @example\n\t *\n\t *      var f = n => n > 50 ? false : [-n, n + 10];\n\t *      R.unfold(f, 10); //=> [-10, -20, -30, -40, -50]\n\t * @symb R.unfold(f, x) = [f(x)[0], f(f(x)[1])[0], f(f(f(x)[1])[1])[0], ...]\n\t */\n\t\n\t\n\tvar unfold = /*#__PURE__*/_curry2(function unfold(fn, seed) {\n\t  var pair = fn(seed);\n\t  var result = [];\n\t  while (pair && pair.length) {\n\t    result[result.length] = pair[0];\n\t    pair = fn(pair[1]);\n\t  }\n\t  return result;\n\t});\n\tmodule.exports = unfold;\n\n/***/ }),\n/* 908 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/union.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _concat = /*#__PURE__*/__webpack_require__(/*! ./internal/_concat */ 615);\n\t\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar compose = /*#__PURE__*/__webpack_require__(/*! ./compose */ 684);\n\t\n\tvar uniq = /*#__PURE__*/__webpack_require__(/*! ./uniq */ 788);\n\t\n\t/**\n\t * Combines two lists into a set (i.e. no duplicates) composed of the elements\n\t * of each list.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Relation\n\t * @sig [*] -> [*] -> [*]\n\t * @param {Array} as The first list.\n\t * @param {Array} bs The second list.\n\t * @return {Array} The first and second lists concatenated, with\n\t *         duplicates removed.\n\t * @example\n\t *\n\t *      R.union([1, 2, 3], [2, 3, 4]); //=> [1, 2, 3, 4]\n\t */\n\t\n\t\n\tvar union = /*#__PURE__*/_curry2( /*#__PURE__*/compose(uniq, _concat));\n\tmodule.exports = union;\n\n/***/ }),\n/* 909 */\n/*!***********************************!*\\\n  !*** ../~/ramda/src/unionWith.js ***!\n  \\***********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _concat = /*#__PURE__*/__webpack_require__(/*! ./internal/_concat */ 615);\n\t\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\tvar uniqWith = /*#__PURE__*/__webpack_require__(/*! ./uniqWith */ 910);\n\t\n\t/**\n\t * Combines two lists into a set (i.e. no duplicates) composed of the elements\n\t * of each list. Duplication is determined according to the value returned by\n\t * applying the supplied predicate to two list elements.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category Relation\n\t * @sig ((a, a) -> Boolean) -> [*] -> [*] -> [*]\n\t * @param {Function} pred A predicate used to test whether two items are equal.\n\t * @param {Array} list1 The first list.\n\t * @param {Array} list2 The second list.\n\t * @return {Array} The first and second lists concatenated, with\n\t *         duplicates removed.\n\t * @see R.union\n\t * @example\n\t *\n\t *      var l1 = [{a: 1}, {a: 2}];\n\t *      var l2 = [{a: 1}, {a: 4}];\n\t *      R.unionWith(R.eqBy(R.prop('a')), l1, l2); //=> [{a: 1}, {a: 2}, {a: 4}]\n\t */\n\t\n\t\n\tvar unionWith = /*#__PURE__*/_curry3(function unionWith(pred, list1, list2) {\n\t  return uniqWith(pred, _concat(list1, list2));\n\t});\n\tmodule.exports = unionWith;\n\n/***/ }),\n/* 910 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/uniqWith.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _containsWith = /*#__PURE__*/__webpack_require__(/*! ./internal/_containsWith */ 703);\n\t\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Returns a new list containing only one copy of each element in the original\n\t * list, based upon the value returned by applying the supplied predicate to\n\t * two list elements. Prefers the first item if two items compare equal based\n\t * on the predicate.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.2.0\n\t * @category List\n\t * @sig ((a, a) -> Boolean) -> [a] -> [a]\n\t * @param {Function} pred A predicate used to test whether two items are equal.\n\t * @param {Array} list The array to consider.\n\t * @return {Array} The list of unique items.\n\t * @example\n\t *\n\t *      var strEq = R.eqBy(String);\n\t *      R.uniqWith(strEq)([1, '1', 2, 1]); //=> [1, 2]\n\t *      R.uniqWith(strEq)([{}, {}]);       //=> [{}]\n\t *      R.uniqWith(strEq)([1, '1', 1]);    //=> [1]\n\t *      R.uniqWith(strEq)(['1', 1, 1]);    //=> ['1']\n\t */\n\t\n\t\n\tvar uniqWith = /*#__PURE__*/_curry2(function uniqWith(pred, list) {\n\t  var idx = 0;\n\t  var len = list.length;\n\t  var result = [];\n\t  var item;\n\t  while (idx < len) {\n\t    item = list[idx];\n\t    if (!_containsWith(pred, item, result)) {\n\t      result[result.length] = item;\n\t    }\n\t    idx += 1;\n\t  }\n\t  return result;\n\t});\n\tmodule.exports = uniqWith;\n\n/***/ }),\n/* 911 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/unless.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\t/**\n\t * Tests the final argument by passing it to the given predicate function. If\n\t * the predicate is not satisfied, the function will return the result of\n\t * calling the `whenFalseFn` function with the same argument. If the predicate\n\t * is satisfied, the argument is returned as is.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.18.0\n\t * @category Logic\n\t * @sig (a -> Boolean) -> (a -> a) -> a -> a\n\t * @param {Function} pred        A predicate function\n\t * @param {Function} whenFalseFn A function to invoke when the `pred` evaluates\n\t *                               to a falsy value.\n\t * @param {*}        x           An object to test with the `pred` function and\n\t *                               pass to `whenFalseFn` if necessary.\n\t * @return {*} Either `x` or the result of applying `x` to `whenFalseFn`.\n\t * @see R.ifElse, R.when\n\t * @example\n\t *\n\t *      let safeInc = R.unless(R.isNil, R.inc);\n\t *      safeInc(null); //=> null\n\t *      safeInc(1); //=> 2\n\t */\n\t\n\t\n\tvar unless = /*#__PURE__*/_curry3(function unless(pred, whenFalseFn, x) {\n\t  return pred(x) ? x : whenFalseFn(x);\n\t});\n\tmodule.exports = unless;\n\n/***/ }),\n/* 912 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/unnest.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _identity = /*#__PURE__*/__webpack_require__(/*! ./internal/_identity */ 778);\n\t\n\tvar chain = /*#__PURE__*/__webpack_require__(/*! ./chain */ 671);\n\t\n\t/**\n\t * Shorthand for `R.chain(R.identity)`, which removes one level of nesting from\n\t * any [Chain](https://github.com/fantasyland/fantasy-land#chain).\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.3.0\n\t * @category List\n\t * @sig Chain c => c (c a) -> c a\n\t * @param {*} list\n\t * @return {*}\n\t * @see R.flatten, R.chain\n\t * @example\n\t *\n\t *      R.unnest([1, [2], [[3]]]); //=> [1, 2, [3]]\n\t *      R.unnest([[1, 2], [3, 4], [5, 6]]); //=> [1, 2, 3, 4, 5, 6]\n\t */\n\t\n\t\n\tvar unnest = /*#__PURE__*/chain(_identity);\n\tmodule.exports = unnest;\n\n/***/ }),\n/* 913 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/until.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\t/**\n\t * Takes a predicate, a transformation function, and an initial value,\n\t * and returns a value of the same type as the initial value.\n\t * It does so by applying the transformation until the predicate is satisfied,\n\t * at which point it returns the satisfactory value.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.20.0\n\t * @category Logic\n\t * @sig (a -> Boolean) -> (a -> a) -> a -> a\n\t * @param {Function} pred A predicate function\n\t * @param {Function} fn The iterator function\n\t * @param {*} init Initial value\n\t * @return {*} Final value that satisfies predicate\n\t * @example\n\t *\n\t *      R.until(R.gt(R.__, 100), R.multiply(2))(1) // => 128\n\t */\n\t\n\t\n\tvar until = /*#__PURE__*/_curry3(function until(pred, fn, init) {\n\t  var val = init;\n\t  while (!pred(val)) {\n\t    val = fn(val);\n\t  }\n\t  return val;\n\t});\n\tmodule.exports = until;\n\n/***/ }),\n/* 914 */\n/*!**********************************!*\\\n  !*** ../~/ramda/src/valuesIn.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry1 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry1 */ 608);\n\t\n\t/**\n\t * Returns a list of all the properties, including prototype properties, of the\n\t * supplied object.\n\t * Note that the order of the output array is not guaranteed to be consistent\n\t * across different JS platforms.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.2.0\n\t * @category Object\n\t * @sig {k: v} -> [v]\n\t * @param {Object} obj The object to extract values from\n\t * @return {Array} An array of the values of the object's own and prototype properties.\n\t * @see R.values, R.keysIn\n\t * @example\n\t *\n\t *      var F = function() { this.x = 'X'; };\n\t *      F.prototype.y = 'Y';\n\t *      var f = new F();\n\t *      R.valuesIn(f); //=> ['X', 'Y']\n\t */\n\t\n\t\n\tvar valuesIn = /*#__PURE__*/_curry1(function valuesIn(obj) {\n\t  var prop;\n\t  var vs = [];\n\t  for (prop in obj) {\n\t    vs[vs.length] = obj[prop];\n\t  }\n\t  return vs;\n\t});\n\tmodule.exports = valuesIn;\n\n/***/ }),\n/* 915 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/view.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t// `Const` is a functor that effectively ignores the function given to `map`.\n\t\n\t\n\tvar Const = function (x) {\n\t  return { value: x, 'fantasy-land/map': function () {\n\t      return this;\n\t    } };\n\t};\n\t\n\t/**\n\t * Returns a \"view\" of the given data structure, determined by the given lens.\n\t * The lens's focus determines which portion of the data structure is visible.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.16.0\n\t * @category Object\n\t * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n\t * @sig Lens s a -> s -> a\n\t * @param {Lens} lens\n\t * @param {*} x\n\t * @return {*}\n\t * @see R.prop, R.lensIndex, R.lensProp\n\t * @example\n\t *\n\t *      var xLens = R.lensProp('x');\n\t *\n\t *      R.view(xLens, {x: 1, y: 2});  //=> 1\n\t *      R.view(xLens, {x: 4, y: 2});  //=> 4\n\t */\n\tvar view = /*#__PURE__*/_curry2(function view(lens, x) {\n\t  // Using `Const` effectively ignores the setter function of the `lens`,\n\t  // leaving the value returned by the getter function unmodified.\n\t  return lens(Const)(x).value;\n\t});\n\tmodule.exports = view;\n\n/***/ }),\n/* 916 */\n/*!******************************!*\\\n  !*** ../~/ramda/src/when.js ***!\n  \\******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\t/**\n\t * Tests the final argument by passing it to the given predicate function. If\n\t * the predicate is satisfied, the function will return the result of calling\n\t * the `whenTrueFn` function with the same argument. If the predicate is not\n\t * satisfied, the argument is returned as is.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.18.0\n\t * @category Logic\n\t * @sig (a -> Boolean) -> (a -> a) -> a -> a\n\t * @param {Function} pred       A predicate function\n\t * @param {Function} whenTrueFn A function to invoke when the `condition`\n\t *                              evaluates to a truthy value.\n\t * @param {*}        x          An object to test with the `pred` function and\n\t *                              pass to `whenTrueFn` if necessary.\n\t * @return {*} Either `x` or the result of applying `x` to `whenTrueFn`.\n\t * @see R.ifElse, R.unless\n\t * @example\n\t *\n\t *      // truncate :: String -> String\n\t *      var truncate = R.when(\n\t *        R.propSatisfies(R.gt(R.__, 10), 'length'),\n\t *        R.pipe(R.take(10), R.append('…'), R.join(''))\n\t *      );\n\t *      truncate('12345');         //=> '12345'\n\t *      truncate('0123456789ABC'); //=> '0123456789…'\n\t */\n\t\n\t\n\tvar when = /*#__PURE__*/_curry3(function when(pred, whenTrueFn, x) {\n\t  return pred(x) ? whenTrueFn(x) : x;\n\t});\n\tmodule.exports = when;\n\n/***/ }),\n/* 917 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/where.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar _has = /*#__PURE__*/__webpack_require__(/*! ./internal/_has */ 640);\n\t\n\t/**\n\t * Takes a spec object and a test object; returns true if the test satisfies\n\t * the spec. Each of the spec's own properties must be a predicate function.\n\t * Each predicate is applied to the value of the corresponding property of the\n\t * test object. `where` returns true if all the predicates return true, false\n\t * otherwise.\n\t *\n\t * `where` is well suited to declaratively expressing constraints for other\n\t * functions such as [`filter`](#filter) and [`find`](#find).\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.1\n\t * @category Object\n\t * @sig {String: (* -> Boolean)} -> {String: *} -> Boolean\n\t * @param {Object} spec\n\t * @param {Object} testObj\n\t * @return {Boolean}\n\t * @see R.propSatisfies, R.whereEq\n\t * @example\n\t *\n\t *      // pred :: Object -> Boolean\n\t *      var pred = R.where({\n\t *        a: R.equals('foo'),\n\t *        b: R.complement(R.equals('bar')),\n\t *        x: R.gt(R.__, 10),\n\t *        y: R.lt(R.__, 20)\n\t *      });\n\t *\n\t *      pred({a: 'foo', b: 'xxx', x: 11, y: 19}); //=> true\n\t *      pred({a: 'xxx', b: 'xxx', x: 11, y: 19}); //=> false\n\t *      pred({a: 'foo', b: 'bar', x: 11, y: 19}); //=> false\n\t *      pred({a: 'foo', b: 'xxx', x: 10, y: 19}); //=> false\n\t *      pred({a: 'foo', b: 'xxx', x: 11, y: 20}); //=> false\n\t */\n\t\n\t\n\tvar where = /*#__PURE__*/_curry2(function where(spec, testObj) {\n\t  for (var prop in spec) {\n\t    if (_has(prop, spec) && !spec[prop](testObj[prop])) {\n\t      return false;\n\t    }\n\t  }\n\t  return true;\n\t});\n\tmodule.exports = where;\n\n/***/ }),\n/* 918 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/whereEq.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar equals = /*#__PURE__*/__webpack_require__(/*! ./equals */ 700);\n\t\n\tvar map = /*#__PURE__*/__webpack_require__(/*! ./map */ 631);\n\t\n\tvar where = /*#__PURE__*/__webpack_require__(/*! ./where */ 917);\n\t\n\t/**\n\t * Takes a spec object and a test object; returns true if the test satisfies\n\t * the spec, false otherwise. An object satisfies the spec if, for each of the\n\t * spec's own properties, accessing that property of the object gives the same\n\t * value (in [`R.equals`](#equals) terms) as accessing that property of the\n\t * spec.\n\t *\n\t * `whereEq` is a specialization of [`where`](#where).\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.14.0\n\t * @category Object\n\t * @sig {String: *} -> {String: *} -> Boolean\n\t * @param {Object} spec\n\t * @param {Object} testObj\n\t * @return {Boolean}\n\t * @see R.propEq, R.where\n\t * @example\n\t *\n\t *      // pred :: Object -> Boolean\n\t *      var pred = R.whereEq({a: 1, b: 2});\n\t *\n\t *      pred({a: 1});              //=> false\n\t *      pred({a: 1, b: 2});        //=> true\n\t *      pred({a: 1, b: 2, c: 3});  //=> true\n\t *      pred({a: 1, b: 1});        //=> false\n\t */\n\t\n\t\n\tvar whereEq = /*#__PURE__*/_curry2(function whereEq(spec, testObj) {\n\t  return where(map(equals, spec), testObj);\n\t});\n\tmodule.exports = whereEq;\n\n/***/ }),\n/* 919 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/without.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _contains = /*#__PURE__*/__webpack_require__(/*! ./internal/_contains */ 698);\n\t\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\tvar flip = /*#__PURE__*/__webpack_require__(/*! ./flip */ 766);\n\t\n\tvar reject = /*#__PURE__*/__webpack_require__(/*! ./reject */ 708);\n\t\n\t/**\n\t * Returns a new list without values in the first argument.\n\t * [`R.equals`](#equals) is used to determine equality.\n\t *\n\t * Acts as a transducer if a transformer is given in list position.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.19.0\n\t * @category List\n\t * @sig [a] -> [a] -> [a]\n\t * @param {Array} list1 The values to be removed from `list2`.\n\t * @param {Array} list2 The array to remove values from.\n\t * @return {Array} The new array without values in `list1`.\n\t * @see R.transduce, R.difference\n\t * @example\n\t *\n\t *      R.without([1, 2], [1, 2, 1, 3, 4]); //=> [3, 4]\n\t */\n\t\n\t\n\tvar without = /*#__PURE__*/_curry2(function (xs, list) {\n\t  return reject(flip(_contains)(xs), list);\n\t});\n\tmodule.exports = without;\n\n/***/ }),\n/* 920 */\n/*!*******************************!*\\\n  !*** ../~/ramda/src/xprod.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Creates a new list out of the two supplied by creating each possible pair\n\t * from the lists.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig [a] -> [b] -> [[a,b]]\n\t * @param {Array} as The first list.\n\t * @param {Array} bs The second list.\n\t * @return {Array} The list made by combining each possible pair from\n\t *         `as` and `bs` into pairs (`[a, b]`).\n\t * @example\n\t *\n\t *      R.xprod([1, 2], ['a', 'b']); //=> [[1, 'a'], [1, 'b'], [2, 'a'], [2, 'b']]\n\t * @symb R.xprod([a, b], [c, d]) = [[a, c], [a, d], [b, c], [b, d]]\n\t */\n\t\n\t\n\tvar xprod = /*#__PURE__*/_curry2(function xprod(a, b) {\n\t  // = xprodWith(prepend); (takes about 3 times as long...)\n\t  var idx = 0;\n\t  var ilen = a.length;\n\t  var j;\n\t  var jlen = b.length;\n\t  var result = [];\n\t  while (idx < ilen) {\n\t    j = 0;\n\t    while (j < jlen) {\n\t      result[result.length] = [a[idx], b[j]];\n\t      j += 1;\n\t    }\n\t    idx += 1;\n\t  }\n\t  return result;\n\t});\n\tmodule.exports = xprod;\n\n/***/ }),\n/* 921 */\n/*!*****************************!*\\\n  !*** ../~/ramda/src/zip.js ***!\n  \\*****************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Creates a new list out of the two supplied by pairing up equally-positioned\n\t * items from both lists. The returned list is truncated to the length of the\n\t * shorter of the two input lists.\n\t * Note: `zip` is equivalent to `zipWith(function(a, b) { return [a, b] })`.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig [a] -> [b] -> [[a,b]]\n\t * @param {Array} list1 The first array to consider.\n\t * @param {Array} list2 The second array to consider.\n\t * @return {Array} The list made by pairing up same-indexed elements of `list1` and `list2`.\n\t * @example\n\t *\n\t *      R.zip([1, 2, 3], ['a', 'b', 'c']); //=> [[1, 'a'], [2, 'b'], [3, 'c']]\n\t * @symb R.zip([a, b, c], [d, e, f]) = [[a, d], [b, e], [c, f]]\n\t */\n\t\n\t\n\tvar zip = /*#__PURE__*/_curry2(function zip(a, b) {\n\t  var rv = [];\n\t  var idx = 0;\n\t  var len = Math.min(a.length, b.length);\n\t  while (idx < len) {\n\t    rv[idx] = [a[idx], b[idx]];\n\t    idx += 1;\n\t  }\n\t  return rv;\n\t});\n\tmodule.exports = zip;\n\n/***/ }),\n/* 922 */\n/*!********************************!*\\\n  !*** ../~/ramda/src/zipObj.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry2 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry2 */ 613);\n\t\n\t/**\n\t * Creates a new object out of a list of keys and a list of values.\n\t * Key/value pairing is truncated to the length of the shorter of the two lists.\n\t * Note: `zipObj` is equivalent to `pipe(zip, fromPairs)`.\n\t *\n\t * @func\n\t * @memberOf R\n\t * @since v0.3.0\n\t * @category List\n\t * @sig [String] -> [*] -> {String: *}\n\t * @param {Array} keys The array that will be properties on the output object.\n\t * @param {Array} values The list of values on the output object.\n\t * @return {Object} The object made by pairing up same-indexed elements of `keys` and `values`.\n\t * @example\n\t *\n\t *      R.zipObj(['a', 'b', 'c'], [1, 2, 3]); //=> {a: 1, b: 2, c: 3}\n\t */\n\t\n\t\n\tvar zipObj = /*#__PURE__*/_curry2(function zipObj(keys, values) {\n\t  var idx = 0;\n\t  var len = Math.min(keys.length, values.length);\n\t  var out = {};\n\t  while (idx < len) {\n\t    out[keys[idx]] = values[idx];\n\t    idx += 1;\n\t  }\n\t  return out;\n\t});\n\tmodule.exports = zipObj;\n\n/***/ }),\n/* 923 */\n/*!*********************************!*\\\n  !*** ../~/ramda/src/zipWith.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar _curry3 = /*#__PURE__*/__webpack_require__(/*! ./internal/_curry3 */ 620);\n\t\n\t/**\n\t * Creates a new list out of the two supplied by applying the function to each\n\t * equally-positioned pair in the lists. The returned list is truncated to the\n\t * length of the shorter of the two input lists.\n\t *\n\t * @function\n\t * @memberOf R\n\t * @since v0.1.0\n\t * @category List\n\t * @sig ((a, b) -> c) -> [a] -> [b] -> [c]\n\t * @param {Function} fn The function used to combine the two elements into one value.\n\t * @param {Array} list1 The first array to consider.\n\t * @param {Array} list2 The second array to consider.\n\t * @return {Array} The list made by combining same-indexed elements of `list1` and `list2`\n\t *         using `fn`.\n\t * @example\n\t *\n\t *      var f = (x, y) => {\n\t *        // ...\n\t *      };\n\t *      R.zipWith(f, [1, 2, 3], ['a', 'b', 'c']);\n\t *      //=> [f(1, 'a'), f(2, 'b'), f(3, 'c')]\n\t * @symb R.zipWith(fn, [a, b, c], [d, e, f]) = [fn(a, d), fn(b, e), fn(c, f)]\n\t */\n\t\n\t\n\tvar zipWith = /*#__PURE__*/_curry3(function zipWith(fn, a, b) {\n\t  var rv = [];\n\t  var idx = 0;\n\t  var len = Math.min(a.length, b.length);\n\t  while (idx < len) {\n\t    rv[idx] = fn(a[idx], b[idx]);\n\t    idx += 1;\n\t  }\n\t  return rv;\n\t});\n\tmodule.exports = zipWith;\n\n/***/ }),\n/* 924 */\n/*!********************************!*\\\n  !*** ../~/deep-equal/index.js ***!\n  \\********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar pSlice = Array.prototype.slice;\n\tvar objectKeys = __webpack_require__(/*! ./lib/keys.js */ 925);\n\tvar isArguments = __webpack_require__(/*! ./lib/is_arguments.js */ 926);\n\t\n\tvar deepEqual = module.exports = function (actual, expected, opts) {\n\t  if (!opts) opts = {};\n\t  // 7.1. All identical values are equivalent, as determined by ===.\n\t  if (actual === expected) {\n\t    return true;\n\t\n\t  } else if (actual instanceof Date && expected instanceof Date) {\n\t    return actual.getTime() === expected.getTime();\n\t\n\t  // 7.3. Other pairs that do not both pass typeof value == 'object',\n\t  // equivalence is determined by ==.\n\t  } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n\t    return opts.strict ? actual === expected : actual == expected;\n\t\n\t  // 7.4. For all other Object pairs, including Array objects, equivalence is\n\t  // determined by having the same number of owned properties (as verified\n\t  // with Object.prototype.hasOwnProperty.call), the same set of keys\n\t  // (although not necessarily the same order), equivalent values for every\n\t  // corresponding key, and an identical 'prototype' property. Note: this\n\t  // accounts for both named and indexed properties on Arrays.\n\t  } else {\n\t    return objEquiv(actual, expected, opts);\n\t  }\n\t}\n\t\n\tfunction isUndefinedOrNull(value) {\n\t  return value === null || value === undefined;\n\t}\n\t\n\tfunction isBuffer (x) {\n\t  if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n\t  if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n\t    return false;\n\t  }\n\t  if (x.length > 0 && typeof x[0] !== 'number') return false;\n\t  return true;\n\t}\n\t\n\tfunction objEquiv(a, b, opts) {\n\t  var i, key;\n\t  if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n\t    return false;\n\t  // an identical 'prototype' property.\n\t  if (a.prototype !== b.prototype) return false;\n\t  //~~~I've managed to break Object.keys through screwy arguments passing.\n\t  //   Converting to array solves the problem.\n\t  if (isArguments(a)) {\n\t    if (!isArguments(b)) {\n\t      return false;\n\t    }\n\t    a = pSlice.call(a);\n\t    b = pSlice.call(b);\n\t    return deepEqual(a, b, opts);\n\t  }\n\t  if (isBuffer(a)) {\n\t    if (!isBuffer(b)) {\n\t      return false;\n\t    }\n\t    if (a.length !== b.length) return false;\n\t    for (i = 0; i < a.length; i++) {\n\t      if (a[i] !== b[i]) return false;\n\t    }\n\t    return true;\n\t  }\n\t  try {\n\t    var ka = objectKeys(a),\n\t        kb = objectKeys(b);\n\t  } catch (e) {//happens when one is a string literal and the other isn't\n\t    return false;\n\t  }\n\t  // having the same number of owned properties (keys incorporates\n\t  // hasOwnProperty)\n\t  if (ka.length != kb.length)\n\t    return false;\n\t  //the same set of keys (although not necessarily the same order),\n\t  ka.sort();\n\t  kb.sort();\n\t  //~~~cheap key test\n\t  for (i = ka.length - 1; i >= 0; i--) {\n\t    if (ka[i] != kb[i])\n\t      return false;\n\t  }\n\t  //equivalent values for every corresponding key, and\n\t  //~~~possibly expensive deep test\n\t  for (i = ka.length - 1; i >= 0; i--) {\n\t    key = ka[i];\n\t    if (!deepEqual(a[key], b[key], opts)) return false;\n\t  }\n\t  return typeof a === typeof b;\n\t}\n\n\n/***/ }),\n/* 925 */\n/*!***********************************!*\\\n  !*** ../~/deep-equal/lib/keys.js ***!\n  \\***********************************/\n/***/ (function(module, exports) {\n\n\texports = module.exports = typeof Object.keys === 'function'\n\t  ? Object.keys : shim;\n\t\n\texports.shim = shim;\n\tfunction shim (obj) {\n\t  var keys = [];\n\t  for (var key in obj) keys.push(key);\n\t  return keys;\n\t}\n\n\n/***/ }),\n/* 926 */\n/*!*******************************************!*\\\n  !*** ../~/deep-equal/lib/is_arguments.js ***!\n  \\*******************************************/\n/***/ (function(module, exports) {\n\n\tvar supportsArgumentsClass = (function(){\n\t  return Object.prototype.toString.call(arguments)\n\t})() == '[object Arguments]';\n\t\n\texports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\t\n\texports.supported = supported;\n\tfunction supported(object) {\n\t  return Object.prototype.toString.call(object) == '[object Arguments]';\n\t};\n\t\n\texports.unsupported = unsupported;\n\tfunction unsupported(object){\n\t  return object &&\n\t    typeof object == 'object' &&\n\t    typeof object.length == 'number' &&\n\t    Object.prototype.hasOwnProperty.call(object, 'callee') &&\n\t    !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n\t    false;\n\t};\n\n\n/***/ }),\n/* 927 */\n/*!*********************************!*\\\n  !*** ./styled/Slider.styled.js ***!\n  \\*********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.Label = exports.targetStyles = exports.Handle = exports.HandleContainer = exports.SliderContainer = undefined;\n\t\n\tvar _templateObject = _taggedTemplateLiteral(['\\n  ', ';\\n\\n  & .rc-slider-disabled,\\n  .rc-slider-disabled .rc-slider-handle {\\n    background-color: unset !important;\\n  }\\n\\n  & .rc-slider-track {\\n    ', ';\\n  }\\n'], ['\\n  ', ';\\n\\n  & .rc-slider-disabled,\\n  .rc-slider-disabled .rc-slider-handle {\\n    background-color: unset !important;\\n  }\\n\\n  & .rc-slider-track {\\n    ', ';\\n  }\\n']),\n\t    _templateObject2 = _taggedTemplateLiteral(['\\n        box-shadow: none !important;\\n      '], ['\\n        box-shadow: none !important;\\n      ']),\n\t    _templateObject3 = _taggedTemplateLiteral(['\\n  position: absolute;\\n\\n  /* remove rc-slider-handle styles */\\n  width: auto;\\n  height: auto;\\n  border-radius: unset;\\n  border: none;\\n  background: none;\\n  margin: 0 !important;\\n\\n  ', ';\\n'], ['\\n  position: absolute;\\n\\n  /* remove rc-slider-handle styles */\\n  width: auto;\\n  height: auto;\\n  border-radius: unset;\\n  border: none;\\n  background: none;\\n  margin: 0 !important;\\n\\n  ', ';\\n']),\n\t    _templateObject4 = _taggedTemplateLiteral(['\\n  ', ';\\n'], ['\\n  ', ';\\n']),\n\t    _templateObject5 = _taggedTemplateLiteral(['\\n          right: 9px;\\n        '], ['\\n          right: 9px;\\n        ']),\n\t    _templateObject6 = _taggedTemplateLiteral(['\\n          bottom: 12px;\\n        '], ['\\n          bottom: 12px;\\n        ']),\n\t    _templateObject7 = _taggedTemplateLiteral(['\\n  z-index: 1;\\n\\n  ', ';\\n'], ['\\n  z-index: 1;\\n\\n  ', ';\\n']),\n\t    _templateObject8 = _taggedTemplateLiteral(['\\n          left: 3px;\\n          bottom: ', '%;\\n        '], ['\\n          left: 3px;\\n          bottom: ', '%;\\n        ']),\n\t    _templateObject9 = _taggedTemplateLiteral(['\\n          left: ', '%;\\n        '], ['\\n          left: ', '%;\\n        ']),\n\t    _templateObject10 = _taggedTemplateLiteral(['\\n  /* remove rc-slider-handle styles */\\n  width: auto;\\n  height: auto;\\n  border-radius: unset;\\n  border: none;\\n  background: none;\\n  margin: 0 !important;\\n\\n  ', ';\\n'], ['\\n  /* remove rc-slider-handle styles */\\n  width: auto;\\n  height: auto;\\n  border-radius: unset;\\n  border: none;\\n  background: none;\\n  margin: 0 !important;\\n\\n  ', ';\\n']),\n\t    _templateObject11 = _taggedTemplateLiteral(['\\n  /* remove rc-slider-handle styles */\\n  width: auto;\\n  height: auto;\\n  border-radius: unset;\\n  border: none;\\n  background: none !important;\\n  margin: 0 !important;\\n\\n  /* remove rc-slider-handle styles */\\n  box-shadow: none !important;\\n\\n  ', ';\\n'], ['\\n  /* remove rc-slider-handle styles */\\n  width: auto;\\n  height: auto;\\n  border-radius: unset;\\n  border: none;\\n  background: none !important;\\n  margin: 0 !important;\\n\\n  /* remove rc-slider-handle styles */\\n  box-shadow: none !important;\\n\\n  ', ';\\n']),\n\t    _templateObject12 = _taggedTemplateLiteral(['\\n  position: absolute;\\n\\n  ', '\\n\\n  ', '\\n\\n  ', ';\\n'], ['\\n  position: absolute;\\n\\n  ', '\\n\\n  ', '\\n\\n  ', ';\\n']),\n\t    _templateObject13 = _taggedTemplateLiteral(['\\n          & .dark-handle-custom-fill {\\n            fill: ', ';\\n          }\\n        '], ['\\n          & .dark-handle-custom-fill {\\n            fill: ', ';\\n          }\\n        ']),\n\t    _templateObject14 = _taggedTemplateLiteral(['\\n          & path {\\n            stroke: ', ';\\n          }\\n        '], ['\\n          & path {\\n            stroke: ', ';\\n          }\\n        ']),\n\t    _templateObject15 = _taggedTemplateLiteral(['\\n          top: 0;\\n          right: 0;\\n        '], ['\\n          top: 0;\\n          right: 0;\\n        ']),\n\t    _templateObject16 = _taggedTemplateLiteral(['\\n          bottom: 0;\\n          left: 0;\\n        '], ['\\n          bottom: 0;\\n          left: 0;\\n        ']),\n\t    _templateObject17 = _taggedTemplateLiteral(['\\n      transform: translate(', '%, ', '%) rotate(', 'deg);\\n    '], ['\\n      transform: translate(', '%, ', '%) rotate(', 'deg);\\n    ']),\n\t    _templateObject18 = _taggedTemplateLiteral(['\\n  ', ' ', ';\\n'], ['\\n  ', ' ', ';\\n']),\n\t    _templateObject19 = _taggedTemplateLiteral(['\\n  /* remove rc-slider-handle styles */\\n  margin: 0 !important;\\n  width: auto;\\n  height: auto;\\n\\n  user-select: none;\\n\\n  display: flex;\\n  flex-direction: column;\\n  align-items: center;\\n  justify-content: center;\\n\\n  background: #fff;\\n  font-size: 12px;\\n  padding: 2px 4px;\\n  border-radius: 3px;\\n\\n  & .label {\\n    font-size: 8px;\\n    font-weight: 600;\\n  }\\n\\n  & .value {\\n    font-size: 20px;\\n    line-height: 1.1;\\n  }\\n\\n  ', ' ', ';\\n'], ['\\n  /* remove rc-slider-handle styles */\\n  margin: 0 !important;\\n  width: auto;\\n  height: auto;\\n\\n  user-select: none;\\n\\n  display: flex;\\n  flex-direction: column;\\n  align-items: center;\\n  justify-content: center;\\n\\n  background: #fff;\\n  font-size: 12px;\\n  padding: 2px 4px;\\n  border-radius: 3px;\\n\\n  & .label {\\n    font-size: 8px;\\n    font-weight: 600;\\n  }\\n\\n  & .value {\\n    font-size: 20px;\\n    line-height: 1.1;\\n  }\\n\\n  ', ' ', ';\\n']),\n\t    _templateObject20 = _taggedTemplateLiteral(['\\n  /* remove dark-gradient.css styles */\\n  box-shadow: none !important;\\n\\n  background: #101010;\\n  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.3) -50%, rgba(0, 0, 0, 0.7) 100%);\\n'], ['\\n  /* remove dark-gradient.css styles */\\n  box-shadow: none !important;\\n\\n  background: #101010;\\n  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.3) -50%, rgba(0, 0, 0, 0.7) 100%);\\n']),\n\t    _templateObject21 = _taggedTemplateLiteral(['\\n  border: 1px solid ', ';\\n\\n  &:hover {\\n    border: 1px solid ', ';\\n  }\\n'], ['\\n  border: 1px solid ', ';\\n\\n  &:hover {\\n    border: 1px solid ', ';\\n  }\\n']),\n\t    _templateObject22 = _taggedTemplateLiteral(['\\n  color: ', ';\\n\\n  ', ';\\n'], ['\\n  color: ', ';\\n\\n  ', ';\\n']),\n\t    _templateObject23 = _taggedTemplateLiteral(['\\n          transform: translate(', 'px, -50%);\\n        '], ['\\n          transform: translate(', 'px, -50%);\\n        ']),\n\t    _templateObject24 = _taggedTemplateLiteral(['\\n          transform: translate(-50%, ', 'px);\\n        '], ['\\n          transform: translate(-50%, ', 'px);\\n        ']),\n\t    _templateObject25 = _taggedTemplateLiteral(['\\n  color: ', ';\\n\\n  ', ' ', ';\\n'], ['\\n  color: ', ';\\n\\n  ', ' ', ';\\n']),\n\t    _templateObject26 = _taggedTemplateLiteral(['\\n          right: 0;\\n        '], ['\\n          right: 0;\\n        ']),\n\t    _templateObject27 = _taggedTemplateLiteral(['\\n          top: 0;\\n        '], ['\\n          top: 0;\\n        ']);\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar styled = _interopRequireDefault(_styledComponents).default;\n\t\n\tvar css = _styledComponents.css;\n\t\n\tvar _DarkGradient = __webpack_require__(/*! ./shared/DarkGradient */ 415);\n\t\n\tvar UnstyledDarkHandle = _DarkGradient.UnstyledDarkHandle;\n\t\n\tvar _constants = __webpack_require__(/*! ./constants */ 18);\n\t\n\tvar colors = _constants.colors;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\t\n\tvar SliderContainer = exports.SliderContainer = styled.div(_templateObject, function (_ref) {\n\t  var vertical = _ref.vertical,\n\t      size = _ref.size;\n\t\n\t  if (size) return vertical ? 'height: ' + size + 'px;' : 'width: ' + size + 'px';\n\t}, function (_ref2) {\n\t  var theme = _ref2.theme;\n\t  return theme.dark && css(_templateObject2);\n\t});\n\t\n\tvar HandleContainer = exports.HandleContainer = styled.div(_templateObject3, function (_ref3) {\n\t  var isTarget = _ref3.isTarget;\n\t  return isTarget ? targetHandleContainer : sliderHandleContainer;\n\t});\n\t\n\tvar targetHandleContainer = css(_templateObject4, function (_ref4) {\n\t  var vertical = _ref4.vertical;\n\t  return vertical ? css(_templateObject5) : css(_templateObject6);\n\t});\n\t\n\tvar sliderHandleContainer = css(_templateObject7, function (_ref5) {\n\t  var vertical = _ref5.vertical,\n\t      offset = _ref5.offset;\n\t  return vertical ? css(_templateObject8, offset) : css(_templateObject9, offset);\n\t});\n\t\n\tvar UnstyledLightHandle = function UnstyledLightHandle(_ref6) {\n\t  var className = _ref6.className;\n\t  return React.createElement(\n\t    'svg',\n\t    {\n\t      className: className,\n\t      width: '6',\n\t      height: '18',\n\t      viewBox: '0 0 6 18',\n\t      version: '1.1',\n\t      xmlns: 'http://www.w3.org/2000/svg',\n\t      xmlnsXlink: 'http://www.w3.org/1999/xlink'\n\t    },\n\t    React.createElement('path', {\n\t      fillRule: 'evenodd',\n\t      clipRule: 'evenodd',\n\t      d: 'M 4.61171 15.9753L 5.33436 2.96765C 5.40881 1.62753 4.34219 0.5 3 0.5C 1.65781 0.5 0.591189 1.62753 0.66564 2.96765L 1.38829 15.9753C 1.43581 16.8307 2.14329 17.5 3 17.5C 3.85671 17.5 4.56419 16.8307 4.61171 15.9753Z',\n\t      strokeMiterlimit: '8',\n\t      fill: '#fff'\n\t    })\n\t  );\n\t};\n\t\n\tvar Handle = exports.Handle = function Handle(props) {\n\t  return props.theme.dark ? React.createElement(DarkHandle, props) : React.createElement(LightHandle, props);\n\t};\n\t\n\tvar LightHandle = styled(UnstyledLightHandle)(_templateObject10, function (_ref7) {\n\t  var isTarget = _ref7.isTarget;\n\t  return isTarget ? targetHandle : sliderHandle;\n\t});\n\t\n\tvar DarkHandle = styled(UnstyledDarkHandle)(_templateObject11, function (_ref8) {\n\t  var isTarget = _ref8.isTarget;\n\t  return isTarget ? targetHandle : sliderHandle;\n\t});\n\t\n\tvar targetHandle = css(_templateObject12, function (_ref9) {\n\t  var theme = _ref9.theme,\n\t      color = _ref9.color;\n\t  return theme.dark ? css(_templateObject13, color || theme.detail) : css(_templateObject14, color || theme.detail);\n\t}, function (_ref10) {\n\t  var vertical = _ref10.vertical;\n\t  return vertical ? css(_templateObject15) : css(_templateObject16);\n\t}, function (_ref11) {\n\t  var vertical = _ref11.vertical,\n\t      theme = _ref11.theme;\n\t\n\t  var deltaX = -50;\n\t  var deltaY = 55;\n\t  var rotation = 0;\n\t\n\t  if (vertical) {\n\t    deltaX = theme.dark ? 40 : 0;\n\t    deltaY = -50;\n\t    rotation = 270;\n\t  }\n\t\n\t  return css(_templateObject17, deltaX, deltaY, rotation);\n\t});\n\t\n\tvar sliderHandle = css(_templateObject18, function (_ref12) {\n\t  var theme = _ref12.theme,\n\t      color = _ref12.color;\n\t  return theme.dark ? css(_templateObject13, color || theme.primary) : css(_templateObject14, color || theme.primary);\n\t}, function (_ref13) {\n\t  var vertical = _ref13.vertical;\n\t\n\t  var deltaX = -50;\n\t  var deltaY = -40;\n\t  var rotation = 0;\n\t\n\t  if (vertical) {\n\t    deltaX = -2;\n\t    deltaY = -50;\n\t    rotation = 270;\n\t  }\n\t\n\t  return css(_templateObject17, deltaX, deltaY, rotation);\n\t});\n\t\n\tvar targetStyles = exports.targetStyles = {\n\t  width: 'auto',\n\t  marginLeft: 0,\n\t  marginBottom: 0,\n\t  textAlign: 'center'\n\t};\n\t\n\tvar Label = exports.Label = styled.div(_templateObject19, function (_ref14) {\n\t  var theme = _ref14.theme;\n\t  return theme.dark ? darkLabel : lightLabel;\n\t}, function (_ref15) {\n\t  var isTarget = _ref15.isTarget;\n\t  return isTarget ? targetLabel : sliderLabel;\n\t});\n\t\n\tvar darkLabel = css(_templateObject20);\n\t\n\tvar lightLabel = css(_templateObject21, colors.GREY, colors.GREY);\n\t\n\tvar targetLabel = css(_templateObject22, function (_ref16) {\n\t  var color = _ref16.color,\n\t      theme = _ref16.theme;\n\t  return color || theme.detail;\n\t}, function (_ref17) {\n\t  var vertical = _ref17.vertical;\n\t\n\t  var offset = vertical ? -9 : -5;\n\t  return vertical ? css(_templateObject23, offset) : css(_templateObject24, offset);\n\t});\n\t\n\tvar sliderLabel = css(_templateObject25, function (_ref18) {\n\t  var color = _ref18.color,\n\t      theme = _ref18.theme;\n\t  return color || theme.primary;\n\t}, function (_ref19) {\n\t  var vertical = _ref19.vertical;\n\t  return vertical ? css(_templateObject26) : css(_templateObject27);\n\t}, function (_ref20) {\n\t  var vertical = _ref20.vertical,\n\t      label = _ref20.label,\n\t      value = _ref20.value;\n\t\n\t  var offset = label && (value || value === 0) ? -44 : -22;\n\t\n\t  if (vertical) {\n\t    offset = -3;\n\t  }\n\t\n\t  return vertical ? css(_templateObject23, offset) : css(_templateObject24, offset);\n\t});\n\t\n\texports.default = {\n\t  SliderContainer: SliderContainer,\n\t  Handle: Handle,\n\t  targetStyles: targetStyles,\n\t  Label: Label\n\t};\n\n/***/ }),\n/* 928 */\n/*!**********************************!*\\\n  !*** ./components/Tank.react.js ***!\n  \\**********************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar PropTypes = _interopRequireDefault(_propTypes).default;\n\t\n\tvar _Tank = __webpack_require__(/*! ../styled/Tank.styled */ 929);\n\t\n\tvar TankContainer = _Tank.TankContainer;\n\tvar TankFill = _Tank.TankFill;\n\tvar TickContainer = _Tank.TickContainer;\n\tvar Tick = _Tank.Tick;\n\tvar Container = _Tank.Container;\n\t\n\tvar _CurrentValue = __webpack_require__(/*! ../styled/CurrentValue.styled */ 422);\n\t\n\tvar CurrentValue = _interopRequireDefault(_CurrentValue).default;\n\t\n\tvar _LabelContainer = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ 23);\n\t\n\tvar LabelContainer = _interopRequireDefault(_LabelContainer).default;\n\t\n\tvar _logarithm = __webpack_require__(/*! ../helpers/logarithm */ 423);\n\t\n\tvar log = _interopRequireDefault(_logarithm).default;\n\t\n\tvar _util = __webpack_require__(/*! ../helpers/util */ 416);\n\t\n\tvar computeProgress = _util.computeProgress;\n\tvar sanitizeRangeValue = _util.sanitizeRangeValue;\n\t\n\tvar _scale = __webpack_require__(/*! ../helpers/scale */ 424);\n\t\n\tvar generateScale = _interopRequireDefault(_scale).default;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\n\t * A Tank component that fills to\n\t * a value between some range.\n\t */\n\tvar Tank = function Tank(props) {\n\t  var min = props.min,\n\t      max = props.max,\n\t      showCurrentValue = props.showCurrentValue,\n\t      units = props.units,\n\t      className = props.className,\n\t      id = props.id,\n\t      style = props.style,\n\t      color = props.color,\n\t      logarithmic = props.logarithmic,\n\t      base = props.base,\n\t      height = props.height,\n\t      width = props.width;\n\t\n\t\n\t  var dirtyValue = logarithmic ? log.compute(props.value, base) : props.value;\n\t  var value = sanitizeRangeValue({ min: min, max: max, value: dirtyValue });\n\t  var percentageFill = computeProgress({ min: min, max: max, value: value });\n\t\n\t  var formatter = logarithmic ? log.generateLogFormatter({ base: base }) : null;\n\t  var scale = generateScale(_extends({}, props, { formatter: formatter }));\n\t\n\t  var renderTicks = function renderTicks() {\n\t    return Object.entries(scale).map(function (_ref) {\n\t      var _ref2 = _slicedToArray(_ref, 2),\n\t          k = _ref2[0],\n\t          v = _ref2[1];\n\t\n\t      return React.createElement(\n\t        Tick,\n\t        { key: k, xPosition: computeProgress({ min: min, max: max, value: k }) },\n\t        React.createElement('div', { className: 'tick' }),\n\t        React.createElement(\n\t          'div',\n\t          { className: 'label' },\n\t          React.createElement(\n\t            'div',\n\t            { style: v && v.style ? v.style : null },\n\t            v && v.label || v\n\t          )\n\t        )\n\t      );\n\t    });\n\t  };\n\t\n\t  var scaleContainer = React.createElement(\n\t    TickContainer,\n\t    { xPositioned: scale },\n\t    renderTicks()\n\t  );\n\t  var currentValue = React.createElement(\n\t    CurrentValue,\n\t    { units: units, valueColor: '#535D63' },\n\t    logarithmic ? log.formatValue(value, base) : value\n\t  );\n\t\n\t  return React.createElement(\n\t    'div',\n\t    { className: className, id: id, style: style },\n\t    React.createElement(\n\t      LabelContainer,\n\t      props,\n\t      React.createElement(\n\t        Container,\n\t        null,\n\t        scaleContainer,\n\t        React.createElement(\n\t          TankContainer,\n\t          { height: height, width: width },\n\t          React.createElement(TankFill, { color: color, height: percentageFill + '%' }),\n\t          showCurrentValue && currentValue\n\t        )\n\t      )\n\t    )\n\t  );\n\t};\n\t\n\tTank.defaultProps = {\n\t  min: 0,\n\t  max: 10,\n\t  height: 192,\n\t  width: 112,\n\t  base: 10,\n\t  labelPosition: 'top'\n\t};\n\t\n\tTank.propTypes = {\n\t  /**\n\t   * The ID used to identify this component in Dash callbacks\n\t   */\n\t  id: PropTypes.string,\n\t\n\t  /**\n\t   * The value of tank. If logarithmic, the displayed value\n\t   * will be the logarithm of the inputted value.\n\t   */\n\t  value: PropTypes.number,\n\t\n\t  /**\n\t   * The height of the tank in pixels\n\t   */\n\t  height: PropTypes.number,\n\t\n\t  /**\n\t   * The width of the tank in pixels\n\t   */\n\t  width: PropTypes.number,\n\t\n\t  /**\n\t   * The color of tank fill\n\t   */\n\t  color: PropTypes.string,\n\t\n\t  /**\n\t   * The minimum value of the tank. If logarithmic,\n\t   * represents minimum exponent.\n\t   */\n\t  min: PropTypes.number,\n\t\n\t  /**\n\t   * The maximum value of the tank. If logarithmic,\n\t   * represents the maximum exponent.\n\t   */\n\t  max: PropTypes.number,\n\t\n\t  /**\n\t   * Base to be used in logarithmic scale.\n\t   */\n\t  base: PropTypes.number,\n\t\n\t  /**\n\t   * If set to true, a logarithmic scale will be\n\t   * used.\n\t   */\n\t  logarithmic: PropTypes.bool,\n\t\n\t  /**\n\t   * If true, the current value of the tank\n\t   * will be displayed\n\t   */\n\t  showCurrentValue: PropTypes.bool,\n\t\n\t  /**\n\t   * Label for the current value\n\t   */\n\t  units: PropTypes.string,\n\t\n\t  /**\n\t   * Description to be displayed alongside the control. To control styling,\n\t   * pass an object with label and style properties.\n\t   */\n\t  label: PropTypes.oneOfType([\n\t  /**\n\t   * Label to be displayed\n\t   */\n\t  PropTypes.string,\n\t\n\t  /**\n\t   * The style and label\n\t   */\n\t  PropTypes.shape({\n\t    style: PropTypes.object,\n\t    label: PropTypes.string\n\t  })]),\n\t\n\t  /**\n\t   * Where the component label is positioned.\n\t   */\n\t  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\t\n\t  /**\n\t   * Configuration for the component scale.\n\t   */\n\t  scale: PropTypes.shape({\n\t    /**\n\t     * Value to start the scale from. Defaults\n\t     * to min.\n\t     */\n\t    start: PropTypes.number,\n\t\n\t    /**\n\t     * Interval by which the scale goes up. Attempts\n\t     * to dynamically divide min-max range by\n\t     * default.\n\t     */\n\t    interval: PropTypes.number,\n\t\n\t    /**\n\t     * Interval by which labels are added to\n\t     * scale marks. Defaults to 2 (every other\n\t     * mark has a label).\n\t     */\n\t    labelInterval: PropTypes.number,\n\t\n\t    /**\n\t     * Custom scale marks. The key determines the position\n\t     * and the value determines what will show. If you want\n\t     * to set the style of a specific mark point, the value\n\t     * should be an object which contains style and label\n\t     * properties\n\t     */\n\t    custom: PropTypes.oneOfType([\n\t    /**\n\t     * Label for the mark\n\t     */\n\t    PropTypes.number,\n\t\n\t    /**\n\t     * Style object with label\n\t     */\n\t    PropTypes.shape({\n\t      style: PropTypes.string,\n\t      label: PropTypes.string\n\t    })])\n\t  }),\n\t\n\t  /**\n\t   * Class to apply to the root component element.\n\t   */\n\t  className: PropTypes.string,\n\t\n\t  /**\n\t   * Style to apply to the root component element.\n\t   */\n\t  style: PropTypes.object\n\t};\n\t\n\texports.default = Tank;\n\n/***/ }),\n/* 929 */\n/*!*******************************!*\\\n  !*** ./styled/Tank.styled.js ***!\n  \\*******************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.Container = exports.Tick = exports.TickContainer = exports.TankFill = exports.TankContainer = undefined;\n\t\n\tvar _templateObject = _taggedTemplateLiteral(['\\n  position: relative;\\n  width: ', ';\\n  height: ', ';\\n  z-index: 2;\\n  border-radius: ', ';\\n\\n  ', ';\\n'], ['\\n  position: relative;\\n  width: ', ';\\n  height: ', ';\\n  z-index: 2;\\n  border-radius: ', ';\\n\\n  ', ';\\n']),\n\t    _templateObject2 = _taggedTemplateLiteral(['\\n  background-color: #22272a;\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.5) 100%);\\n  box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n'], ['\\n  background-color: #22272a;\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.5) 100%);\\n  box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n']),\n\t    _templateObject3 = _taggedTemplateLiteral(['\\n  background: ', ';\\n'], ['\\n  background: ', ';\\n']),\n\t    _templateObject4 = _taggedTemplateLiteral(['\\n  position: absolute;\\n  bottom: 0;\\n  width: 100%;\\n  height: ', ';\\n\\n  border-radius: ', ';\\n\\n  ', ';\\n'], ['\\n  position: absolute;\\n  bottom: 0;\\n  width: 100%;\\n  height: ', ';\\n\\n  border-radius: ', ';\\n\\n  ', ';\\n']),\n\t    _templateObject5 = _taggedTemplateLiteral(['\\n  background: ', ';\\n  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 30%, rgba(255, 255, 255, 0.7) 100%);\\n  background-blend-mode: overlay;\\n  box-shadow: 0 0 6px 1px\\n    ', ';\\n'], ['\\n  background: ', ';\\n  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 30%, rgba(255, 255, 255, 0.7) 100%);\\n  background-blend-mode: overlay;\\n  box-shadow: 0 0 6px 1px\\n    ', ';\\n']),\n\t    _templateObject6 = _taggedTemplateLiteral(['\\n  position: relative;\\n  ', ' display: flex;\\n  flex-direction: column;\\n  justify-content: space-between;\\n  margin-right: 4px;\\n  margin-top: -6px;\\n  margin-bottom: -6px;\\n'], ['\\n  position: relative;\\n  ', ' display: flex;\\n  flex-direction: column;\\n  justify-content: space-between;\\n  margin-right: 4px;\\n  margin-top: -6px;\\n  margin-bottom: -6px;\\n']),\n\t    _templateObject7 = _taggedTemplateLiteral(['\\n      direction: rtl;\\n    '], ['\\n      direction: rtl;\\n    ']),\n\t    _templateObject8 = _taggedTemplateLiteral(['\\n  ', ' display: flex;\\n  align-items: center;\\n  justify-content: flex-end;\\n  height: 18px;\\n\\n  & .label {\\n    font-size: 12px;\\n    text-align: right;\\n    margin-right: 4px;\\n    white-space: nowrap;\\n  }\\n\\n  & .tick {\\n    height: 1px;\\n    width: ', 'px;\\n    background: ', ';\\n  }\\n'], ['\\n  ', ' display: flex;\\n  align-items: center;\\n  justify-content: flex-end;\\n  height: 18px;\\n\\n  & .label {\\n    font-size: 12px;\\n    text-align: right;\\n    margin-right: 4px;\\n    white-space: nowrap;\\n  }\\n\\n  & .tick {\\n    height: 1px;\\n    width: ', 'px;\\n    background: ', ';\\n  }\\n']),\n\t    _templateObject9 = _taggedTemplateLiteral(['\\n          position: absolute;\\n          bottom: ', ';\\n        '], ['\\n          position: absolute;\\n          bottom: ', ';\\n        ']),\n\t    _templateObject10 = _taggedTemplateLiteral(['\\n  display: flex;\\n  flex-direction: row;\\n\\n  ', ';\\n'], ['\\n  display: flex;\\n  flex-direction: row;\\n\\n  ', ';\\n']),\n\t    _templateObject11 = _taggedTemplateLiteral(['\\n          margin-top: 8px;\\n          margin-left: ', ';\\n        '], ['\\n          margin-top: 8px;\\n          margin-left: ', ';\\n        ']);\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar styled = _interopRequireDefault(_styledComponents).default;\n\t\n\tvar css = _styledComponents.css;\n\t\n\tvar _color = __webpack_require__(/*! color */ 404);\n\t\n\tvar Color = _interopRequireDefault(_color).default;\n\t\n\tvar _constants = __webpack_require__(/*! ./constants */ 18);\n\t\n\tvar light = _constants.light;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\t\n\tvar TankContainer = exports.TankContainer = styled.div(_templateObject, function (_ref) {\n\t  var width = _ref.width;\n\t  return width + 'px';\n\t}, function (_ref2) {\n\t  var height = _ref2.height;\n\t  return height + 'px';\n\t}, function (_ref3) {\n\t  var thermometer = _ref3.thermometer;\n\t  return thermometer ? '40px' : '0';\n\t}, function (_ref4) {\n\t  var theme = _ref4.theme;\n\t  return theme.dark ? darkTankContainer : lightTankContainer;\n\t});\n\tTankContainer.defaultProps = {\n\t  theme: light\n\t};\n\t\n\tvar darkTankContainer = css(_templateObject2);\n\t\n\tvar lightTankContainer = css(_templateObject3, function (props) {\n\t  return props.theme.secondary;\n\t});\n\t\n\tvar TankFill = exports.TankFill = styled.div(_templateObject4, function (_ref5) {\n\t  var height = _ref5.height;\n\t  return height || 0;\n\t}, function (_ref6) {\n\t  var thermometer = _ref6.thermometer;\n\t  return thermometer ? '40px' : '0';\n\t}, function (_ref7) {\n\t  var theme = _ref7.theme;\n\t  return theme.dark ? darkTankFill : lightTankFill;\n\t});\n\tTankFill.defaultProps = {\n\t  theme: light\n\t};\n\t\n\tvar darkTankFill = css(_templateObject5, function (_ref8) {\n\t  var color = _ref8.color,\n\t      theme = _ref8.theme;\n\t  return color || theme.primary;\n\t}, function (_ref9) {\n\t  var color = _ref9.color,\n\t      theme = _ref9.theme;\n\t  return Color(color || theme.primary).alpha(0.7).string();\n\t});\n\t\n\tvar lightTankFill = css(_templateObject3, function (_ref10) {\n\t  var color = _ref10.color,\n\t      theme = _ref10.theme;\n\t  return color || theme.primary;\n\t});\n\t\n\tvar TickContainer = exports.TickContainer = styled.div(_templateObject6, function (_ref11) {\n\t  var xPositioned = _ref11.xPositioned;\n\t  return xPositioned && css(_templateObject7);\n\t});\n\t\n\tvar Tick = exports.Tick = styled.div(_templateObject8, function (_ref12) {\n\t  var xPosition = _ref12.xPosition;\n\t  return xPosition || xPosition === 0 ? css(_templateObject9, 'calc(' + xPosition + '% - ' + xPosition / 100.0 * 18 + 'px)') : '';\n\t}, function (props) {\n\t  return props.width || 4;\n\t}, function (props) {\n\t  return props.theme.detail;\n\t});\n\t\n\tTick.defaultProps = {\n\t  theme: light\n\t};\n\t\n\tvar Container = exports.Container = styled.div(_templateObject10, function (_ref13) {\n\t  var thermometer = _ref13.thermometer;\n\t  return thermometer ? css(_templateObject11, function (_ref14) {\n\t    var xPositioned = _ref14.xPositioned;\n\t    return xPositioned ? '-4px' : '-24px';\n\t  }) : '';\n\t});\n\n/***/ }),\n/* 930 */\n/*!*****************************************!*\\\n  !*** ./components/Thermometer.react.js ***!\n  \\*****************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar PropTypes = _interopRequireDefault(_propTypes).default;\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar withTheme = _styledComponents.withTheme;\n\t\n\tvar _Thermometer = __webpack_require__(/*! ../styled/Thermometer.styled */ 931);\n\t\n\tvar Bulb = _Thermometer.Bulb;\n\tvar CurrentValueContainer = _Thermometer.CurrentValueContainer;\n\tvar ThermometerContainer = _Thermometer.ThermometerContainer;\n\t\n\tvar _LabelContainer = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ 23);\n\t\n\tvar LabelContainer = _interopRequireDefault(_LabelContainer).default;\n\t\n\tvar _Tank = __webpack_require__(/*! ../styled/Tank.styled */ 929);\n\t\n\tvar TankContainer = _Tank.TankContainer;\n\tvar TankFill = _Tank.TankFill;\n\tvar TickContainer = _Tank.TickContainer;\n\tvar Tick = _Tank.Tick;\n\tvar Container = _Tank.Container;\n\t\n\tvar _CurrentValue = __webpack_require__(/*! ../styled/CurrentValue.styled */ 422);\n\t\n\tvar CurrentValue = _interopRequireDefault(_CurrentValue).default;\n\t\n\tvar _constants = __webpack_require__(/*! ../styled/constants */ 18);\n\t\n\tvar light = _constants.light;\n\t\n\tvar _logarithm = __webpack_require__(/*! ../helpers/logarithm */ 423);\n\t\n\tvar log = _interopRequireDefault(_logarithm).default;\n\t\n\tvar _util = __webpack_require__(/*! ../helpers/util */ 416);\n\t\n\tvar sanitizeRangeValue = _util.sanitizeRangeValue;\n\tvar computeProgress = _util.computeProgress;\n\t\n\tvar _scale = __webpack_require__(/*! ../helpers/scale */ 424);\n\t\n\tvar generateScale = _interopRequireDefault(_scale).default;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\n\t * A thermometer component that\n\t * fills to a value between some\n\t * range\n\t */\n\tvar Thermometer = function Thermometer(props) {\n\t  var min = props.min,\n\t      max = props.max,\n\t      id = props.id,\n\t      className = props.className,\n\t      style = props.style,\n\t      logarithmic = props.logarithmic,\n\t      base = props.base,\n\t      showCurrentValue = props.showCurrentValue,\n\t      units = props.units,\n\t      theme = props.theme,\n\t      color = props.color,\n\t      height = props.height,\n\t      width = props.width;\n\t\n\t\n\t  var dirtyValue = logarithmic ? log.compute(props.value, base) : props.value;\n\t  var value = sanitizeRangeValue({ min: min, max: max, value: dirtyValue });\n\t\n\t  var formatter = logarithmic ? log.generateLogFormatter({ base: base }) : null;\n\t  var scale = generateScale(_extends({}, props, { formatter: formatter }));\n\t\n\t  var renderTicks = function renderTicks() {\n\t    return Object.entries(scale).map(function (_ref) {\n\t      var _ref2 = _slicedToArray(_ref, 2),\n\t          k = _ref2[0],\n\t          v = _ref2[1];\n\t\n\t      return React.createElement(\n\t        Tick,\n\t        { key: k, xPosition: computeProgress({ min: min, max: max, value: k }) },\n\t        React.createElement('div', { className: 'tick' }),\n\t        React.createElement(\n\t          'div',\n\t          { className: 'label', style: v && v.style ? v.style : null },\n\t          v && v.label || v\n\t        )\n\t      );\n\t    });\n\t  };\n\t\n\t  var scaleContainer = React.createElement(\n\t    TickContainer,\n\t    { xPositioned: scale },\n\t    renderTicks()\n\t  );\n\t\n\t  var currentValue = React.createElement(\n\t    CurrentValueContainer,\n\t    null,\n\t    React.createElement(\n\t      CurrentValue,\n\t      { valueColor: color, units: units, css: 'top: 0;' },\n\t      logarithmic ? log.formatValue(value, base) : value.toFixed(1)\n\t    )\n\t  );\n\t\n\t  return React.createElement(\n\t    'div',\n\t    { id: id, className: className, style: style },\n\t    React.createElement(\n\t      LabelContainer,\n\t      _extends({}, props, {\n\t        labelCSS: props.labelPosition === 'top' ? null : 'transform: translateY(-30px);'\n\t      }),\n\t      React.createElement(\n\t        ThermometerContainer,\n\t        null,\n\t        React.createElement(\n\t          Container,\n\t          { thermometer: true, xPositioned: scale },\n\t          scaleContainer,\n\t          React.createElement(\n\t            TankContainer,\n\t            { thermometer: true, height: height, width: width },\n\t            React.createElement(TankFill, {\n\t              thermometer: true,\n\t              color: color,\n\t              height: computeProgress({ min: min, max: max, value: value }) + '%'\n\t            }),\n\t            theme.dark ? null : React.createElement(Bulb, { on: value !== min, color: color })\n\t          )\n\t        ),\n\t        showCurrentValue && currentValue\n\t      )\n\t    )\n\t  );\n\t};\n\t\n\tThermometer.defaultProps = {\n\t  min: 0,\n\t  max: 10,\n\t  height: 192,\n\t  width: 20,\n\t  base: 10,\n\t  labelPosition: 'top',\n\t  theme: light\n\t};\n\t\n\tThermometer.propTypes = {\n\t  /**\n\t   * The ID used to identify this compnent in Dash callbacks\n\t   */\n\t  id: PropTypes.string,\n\t\n\t  /**\n\t   * The value of thermometer. If logarthmic, the value\n\t   * displayed will be the logarithm of the inputted value.\n\t   */\n\t  value: PropTypes.number,\n\t\n\t  /**\n\t   * The height of the thermometer in pixels\n\t   */\n\t  height: PropTypes.number,\n\t\n\t  /**\n\t   * The width of the thermometer in pixels\n\t   */\n\t  width: PropTypes.number,\n\t\n\t  /**\n\t   * The color of the thermometer fill/current value text\n\t   */\n\t  color: PropTypes.string,\n\t\n\t  /**\n\t   * The minimum value of the thermometer. If logarithmic,\n\t   * represents the minimum exponent.\n\t   */\n\t  min: PropTypes.number,\n\t\n\t  /**\n\t   * The maximum value of the thermometer. If logarithmic,\n\t   * represents the maximum exponent.\n\t   */\n\t  max: PropTypes.number,\n\t\n\t  /**\n\t   * Base to be used in logarithmic scale.\n\t   */\n\t  base: PropTypes.number,\n\t\n\t  /**\n\t   * If set to true, a logarithmic scale will be\n\t   * used.\n\t   */\n\t  logarithmic: PropTypes.bool,\n\t\n\t  /**\n\t   * If true, the current value of the\n\t   * thermometer will be displayed\n\t   */\n\t  showCurrentValue: PropTypes.bool,\n\t\n\t  /**\n\t   * Label for the current value\n\t   */\n\t  units: PropTypes.string,\n\t\n\t  /**\n\t   * Theme configuration to be set by a ThemeProvider\n\t   */\n\t  theme: PropTypes.object,\n\t\n\t  /**\n\t   * Description to be displayed alongside the control. To control styling, pass an object with label and style properties.\n\t   */\n\t  label: PropTypes.oneOfType([\n\t  /**\n\t   * Label to be displayed\n\t   */\n\t  PropTypes.string,\n\t\n\t  /**\n\t   * The style and label\n\t   */\n\t  PropTypes.shape({\n\t    style: PropTypes.object,\n\t    label: PropTypes.string\n\t  })]),\n\t\n\t  /**\n\t   * Where the component label is positioned.\n\t   */\n\t  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\t\n\t  /**\n\t   * Configuration for the component scale.\n\t   */\n\t  scale: PropTypes.shape({\n\t    /**\n\t     * Value to start the scale from. Defaults\n\t     * to min.\n\t     */\n\t    start: PropTypes.number,\n\t\n\t    /**\n\t     * Interval by which the scale goes up. Attempts\n\t     * to dynamically divide min-max range by\n\t     * default.\n\t     */\n\t    interval: PropTypes.number,\n\t\n\t    /**\n\t     * Interval by which labels are added to\n\t     * scale marks. Defaults to 2 (every other\n\t     * mark has a label).\n\t     */\n\t    labelInterval: PropTypes.number,\n\t\n\t    /**\n\t     * Custom scale marks. The key determines the position\n\t     * and the value determines what will show. If you want\n\t     * to set the style of a specific mark point, the value\n\t     * should be an object which contains style and label\n\t     * properties\n\t     */\n\t    custom: PropTypes.oneOfType([\n\t    /**\n\t     * Label for the mark\n\t     */\n\t    PropTypes.number,\n\t\n\t    /**\n\t     * Style object with label\n\t     */\n\t    PropTypes.shape({\n\t      style: PropTypes.string,\n\t      label: PropTypes.string\n\t    })])\n\t  }),\n\t\n\t  /**\n\t   * Class to apply to the root component element.\n\t   */\n\t  className: PropTypes.string,\n\t\n\t  /**\n\t   * Style to apply to the root component element.\n\t   */\n\t  style: PropTypes.object\n\t};\n\t\n\texports.default = withTheme(Thermometer);\n\n/***/ }),\n/* 931 */\n/*!**************************************!*\\\n  !*** ./styled/Thermometer.styled.js ***!\n  \\**************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\texports.CurrentValueContainer = exports.Bulb = exports.ThermometerContainer = undefined;\n\t\n\tvar _templateObject = _taggedTemplateLiteral(['\\n  display: flex;\\n  flex-direction: column;\\n  align-items: center;\\n'], ['\\n  display: flex;\\n  flex-direction: column;\\n  align-items: center;\\n']),\n\t    _templateObject2 = _taggedTemplateLiteral(['\\n  width: ', 'px;\\n  height: ', 'px;\\n  border-radius: 50%;\\n  background-color: ', ';\\n  position: absolute;\\n  left: 50%;\\n  transform: translateX(-50%);\\n  bottom: -', 'px;\\n  z-index: -1;\\n'], ['\\n  width: ', 'px;\\n  height: ', 'px;\\n  border-radius: 50%;\\n  background-color: ', ';\\n  position: absolute;\\n  left: 50%;\\n  transform: translateX(-50%);\\n  bottom: -', 'px;\\n  z-index: -1;\\n']),\n\t    _templateObject3 = _taggedTemplateLiteral(['\\n  display: flex;\\n  width: 100%;\\n  flex-direction: column;\\n  align-items: center;\\n  text-align: center;\\n\\n  & > div {\\n    margin-top: 56px;\\n    line-height: 28px;\\n  }\\n'], ['\\n  display: flex;\\n  width: 100%;\\n  flex-direction: column;\\n  align-items: center;\\n  text-align: center;\\n\\n  & > div {\\n    margin-top: 56px;\\n    line-height: 28px;\\n  }\\n']);\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar styled = _interopRequireDefault(_styledComponents).default;\n\t\n\tvar _constants = __webpack_require__(/*! ./constants */ 18);\n\t\n\tvar light = _constants.light;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\t\n\tvar WIDTH = 20;\n\t\n\tvar ThermometerContainer = exports.ThermometerContainer = styled.div(_templateObject);\n\t\n\tvar Bulb = exports.Bulb = styled.div(_templateObject2, 1.5 * WIDTH, 1.5 * WIDTH, function (props) {\n\t  return props.on ? props.color || props.theme.primary : props.theme.secondary;\n\t}, WIDTH);\n\t\n\tBulb.defaultProps = {\n\t  theme: light\n\t};\n\t\n\tvar CurrentValueContainer = exports.CurrentValueContainer = styled.div(_templateObject3);\n\t\n\tCurrentValueContainer.defaultProps = {\n\t  theme: light\n\t};\n\n/***/ }),\n/* 932 */\n/*!***********************************************!*\\\n  !*** ./components/DarkThemeProvider.react.js ***!\n  \\***********************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar PropTypes = _interopRequireDefault(_propTypes).default;\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar ThemeProvider = _styledComponents.ThemeProvider;\n\t\n\tvar _constants = __webpack_require__(/*! ../styled/constants */ 18);\n\t\n\tvar dark = _constants.dark;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\n\t * DarkThemeProvider is a component that is placed at the root of\n\t * the component tree to make all components match the dark theme\n\t */\n\tfunction DarkThemeProvider(props) {\n\t  return React.createElement(\n\t    ThemeProvider,\n\t    { theme: props.theme || dark },\n\t    React.createElement(\n\t      'div',\n\t      null,\n\t      props.children\n\t    )\n\t  );\n\t}\n\t\n\tDarkThemeProvider.propTypes = {\n\t  /**\n\t   * The children of this component\n\t   */\n\t  children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n\t\n\t  /**\n\t   * Theme object to override with a custom theme\n\t   */\n\t  theme: PropTypes.shape({\n\t    /**\n\t     * Highlight color\n\t     */\n\t    primary: PropTypes.string,\n\t    /**\n\t     * Supporting color\n\t     */\n\t    secondary: PropTypes.string,\n\t    /**\n\t     * Color used for UI details, like borders\n\t     */\n\t    detail: PropTypes.string,\n\t    /**\n\t     * True for Dark mode, false for Light\n\t     */\n\t    dark: PropTypes.bool\n\t  })\n\t};\n\t\n\texports.default = DarkThemeProvider;\n\n/***/ }),\n/* 933 */\n/*!**************************************!*\\\n  !*** ./components/Joystick.react.js ***!\n  \\**************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t  value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(/*! react */ 2);\n\t\n\tvar React = _interopRequireDefault(_react).default;\n\t\n\tvar Component = _react.Component;\n\t\n\tvar _propTypes = __webpack_require__(/*! prop-types */ 3);\n\t\n\tvar PropTypes = _interopRequireDefault(_propTypes).default;\n\t\n\tvar _styledComponents = __webpack_require__(/*! styled-components */ 10);\n\t\n\tvar withTheme = _styledComponents.withTheme;\n\t\n\tvar _nipplejs = __webpack_require__(/*! nipplejs */ 934);\n\t\n\tvar joystick = _interopRequireDefault(_nipplejs).default;\n\t\n\tvar _constants = __webpack_require__(/*! ../styled/constants */ 18);\n\t\n\tvar light = _constants.light;\n\t\n\tvar _LabelContainer = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ 23);\n\t\n\tvar LabelContainer = _interopRequireDefault(_LabelContainer).default;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\t/**\n\t * A joystick.\n\t */\n\tvar Joystick = function (_Component) {\n\t  _inherits(Joystick, _Component);\n\t\n\t  function Joystick(props) {\n\t    _classCallCheck(this, Joystick);\n\t\n\t    var _this = _possibleConstructorReturn(this, (Joystick.__proto__ || Object.getPrototypeOf(Joystick)).call(this, props));\n\t\n\t    _this.lastAngle = 0;\n\t    return _this;\n\t  }\n\t\n\t  _createClass(Joystick, [{\n\t    key: 'componentDidMount',\n\t    value: function componentDidMount() {\n\t      var _this2 = this;\n\t\n\t      var _props = this.props,\n\t          size = _props.size,\n\t          setProps = _props.setProps;\n\t\n\t      this.manager = joystick.create({\n\t        mode: 'static',\n\t        color: 'grey',\n\t        size: size,\n\t        position: { left: '50%', top: '50%' },\n\t        zone: this.zoneRef\n\t      });\n\t      this.manager.on('move', function (e, data) {\n\t        var degree = data.angle.degree,\n\t            force = data.force;\n\t\n\t        _this2.lastAngle = degree;\n\t        if (setProps) {\n\t          setProps({\n\t            angle: degree,\n\t            force: force\n\t          });\n\t        }\n\t      });\n\t      this.manager.on('end', function () {\n\t        if (setProps) {\n\t          setProps({\n\t            angle: _this2.lastAngle,\n\t            force: 0\n\t          });\n\t        }\n\t      });\n\t    }\n\t  }, {\n\t    key: 'componentWillUnmount',\n\t    value: function componentWillUnmount() {\n\t      this.manager.destroy();\n\t    }\n\t  }, {\n\t    key: 'render',\n\t    value: function render() {\n\t      var _this3 = this;\n\t\n\t      var _props2 = this.props,\n\t          id = _props2.id,\n\t          className = _props2.className,\n\t          style = _props2.style,\n\t          size = _props2.size;\n\t\n\t\n\t      return React.createElement(\n\t        'div',\n\t        { id: id, className: className, style: style },\n\t        React.createElement(\n\t          LabelContainer,\n\t          this.props,\n\t          React.createElement('div', {\n\t            ref: function ref(_ref) {\n\t              return _this3.zoneRef = _ref;\n\t            },\n\t            style: {\n\t              position: 'relative',\n\t              width: size + 'px',\n\t              height: size + 'px'\n\t            }\n\t          })\n\t        )\n\t      );\n\t    }\n\t  }]);\n\t\n\t  return Joystick;\n\t}(Component);\n\t\n\tJoystick.defaultProps = {\n\t  size: 100,\n\t  theme: light,\n\t  labelPosition: 'top'\n\t};\n\t\n\tJoystick.propTypes = {\n\t  /**\n\t   * The ID used to identify the color picker in Dash callbacks\n\t   */\n\t  id: PropTypes.string,\n\t\n\t  /**\n\t   * If true, color cannot be picked.\n\t   */\n\t  disabled: PropTypes.bool,\n\t\n\t  /**\n\t   * Joystick angle in degrees, 0 = right, 90 = up, 180 = left, 270 = down\n\t   */\n\t  angle: PropTypes.number,\n\t\n\t  /**\n\t   * Joystick force: distance between cursor and center in big-circle radii\n\t   */\n\t  force: PropTypes.number,\n\t\n\t  /**\n\t   * Size (width) of the component in pixels\n\t   */\n\t  size: PropTypes.number,\n\t\n\t  /**\n\t   * Theme configuration to be set by a ThemeProvider\n\t   */\n\t  theme: PropTypes.object,\n\t\n\t  /**\n\t   * Description to be displayed alongside the control. To control styling,\n\t   * pass an object with label and style properties\n\t   */\n\t  label: PropTypes.oneOfType([\n\t  /**\n\t   * Label to be displayed\n\t   */\n\t  PropTypes.string,\n\t\n\t  /**\n\t   * The style and label\n\t   */\n\t  PropTypes.shape({\n\t    style: PropTypes.object,\n\t    label: PropTypes.string\n\t  })]),\n\t\n\t  /**\n\t   * Where the indicator label is positioned\n\t   */\n\t  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\t\n\t  /**\n\t   * Class to apply to the root component element\n\t   */\n\t  className: PropTypes.string,\n\t\n\t  /**\n\t   * Dash-assigned callback that gets fired when\n\t   * the color picker's value changes\n\t   */\n\t  setProps: PropTypes.func,\n\t\n\t  /**\n\t   * Style to apply to the root component element\n\t   */\n\t  style: PropTypes.object\n\t};\n\t\n\texports.default = withTheme(Joystick);\n\n/***/ }),\n/* 934 */\n/*!**************************************!*\\\n  !*** ../~/nipplejs/dist/nipplejs.js ***!\n  \\**************************************/\n/***/ (function(module, exports, __webpack_require__) {\n\n\t(function(f){if(true){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.nipplejs = f()}})(function(){var define,module,exports;\n\t'use strict';\n\t\n\t// Constants\n\tvar isTouch = !!('ontouchstart' in window);\n\tvar isPointer = window.PointerEvent ? true : false;\n\tvar isMSPointer = window.MSPointerEvent ? true : false;\n\tvar events = {\n\t    touch: {\n\t        start: 'touchstart',\n\t        move: 'touchmove',\n\t        end: 'touchend, touchcancel'\n\t    },\n\t    mouse: {\n\t        start: 'mousedown',\n\t        move: 'mousemove',\n\t        end: 'mouseup'\n\t    },\n\t    pointer: {\n\t        start: 'pointerdown',\n\t        move: 'pointermove',\n\t        end: 'pointerup, pointercancel'\n\t    },\n\t    MSPointer: {\n\t        start: 'MSPointerDown',\n\t        move: 'MSPointerMove',\n\t        end: 'MSPointerUp'\n\t    }\n\t};\n\tvar toBind;\n\tvar secondBind = {};\n\tif (isPointer) {\n\t    toBind = events.pointer;\n\t} else if (isMSPointer) {\n\t    toBind = events.MSPointer;\n\t} else if (isTouch) {\n\t    toBind = events.touch;\n\t    secondBind = events.mouse;\n\t} else {\n\t    toBind = events.mouse;\n\t}\n\t\n\t///////////////////////\n\t///      UTILS      ///\n\t///////////////////////\n\t\n\tvar u = {};\n\tu.distance = function (p1, p2) {\n\t    var dx = p2.x - p1.x;\n\t    var dy = p2.y - p1.y;\n\t\n\t    return Math.sqrt((dx * dx) + (dy * dy));\n\t};\n\t\n\tu.angle = function(p1, p2) {\n\t    var dx = p2.x - p1.x;\n\t    var dy = p2.y - p1.y;\n\t\n\t    return u.degrees(Math.atan2(dy, dx));\n\t};\n\t\n\tu.findCoord = function(p, d, a) {\n\t    var b = {x: 0, y: 0};\n\t    a = u.radians(a);\n\t    b.x = p.x - d * Math.cos(a);\n\t    b.y = p.y - d * Math.sin(a);\n\t    return b;\n\t};\n\t\n\tu.radians = function(a) {\n\t    return a * (Math.PI / 180);\n\t};\n\t\n\tu.degrees = function(a) {\n\t    return a * (180 / Math.PI);\n\t};\n\t\n\tu.bindEvt = function (el, arg, handler) {\n\t    var types = arg.split(/[ ,]+/g);\n\t    var type;\n\t    for (var i = 0; i < types.length; i += 1) {\n\t        type = types[i];\n\t        if (el.addEventListener) {\n\t            el.addEventListener(type, handler, false);\n\t        } else if (el.attachEvent) {\n\t            el.attachEvent(type, handler);\n\t        }\n\t    }\n\t};\n\t\n\tu.unbindEvt = function (el, arg, handler) {\n\t    var types = arg.split(/[ ,]+/g);\n\t    var type;\n\t    for (var i = 0; i < types.length; i += 1) {\n\t        type = types[i];\n\t        if (el.removeEventListener) {\n\t            el.removeEventListener(type, handler);\n\t        } else if (el.detachEvent) {\n\t            el.detachEvent(type, handler);\n\t        }\n\t    }\n\t};\n\t\n\tu.trigger = function (el, type, data) {\n\t    var evt = new CustomEvent(type, data);\n\t    el.dispatchEvent(evt);\n\t};\n\t\n\tu.prepareEvent = function (evt) {\n\t    evt.preventDefault();\n\t    return evt.type.match(/^touch/) ? evt.changedTouches : evt;\n\t};\n\t\n\tu.getScroll = function () {\n\t    var x = (window.pageXOffset !== undefined) ?\n\t        window.pageXOffset :\n\t        (document.documentElement || document.body.parentNode || document.body)\n\t            .scrollLeft;\n\t\n\t    var y = (window.pageYOffset !== undefined) ?\n\t        window.pageYOffset :\n\t        (document.documentElement || document.body.parentNode || document.body)\n\t            .scrollTop;\n\t    return {\n\t        x: x,\n\t        y: y\n\t    };\n\t};\n\t\n\tu.applyPosition = function (el, pos) {\n\t    if (pos.top || pos.right || pos.bottom || pos.left) {\n\t        el.style.top = pos.top;\n\t        el.style.right = pos.right;\n\t        el.style.bottom = pos.bottom;\n\t        el.style.left = pos.left;\n\t    } else {\n\t        el.style.left = pos.x + 'px';\n\t        el.style.top = pos.y + 'px';\n\t    }\n\t};\n\t\n\tu.getTransitionStyle = function (property, values, time) {\n\t    var obj = u.configStylePropertyObject(property);\n\t    for (var i in obj) {\n\t        if (obj.hasOwnProperty(i)) {\n\t            if (typeof values === 'string') {\n\t                obj[i] = values + ' ' + time;\n\t            } else {\n\t                var st = '';\n\t                for (var j = 0, max = values.length; j < max; j += 1) {\n\t                    st += values[j] + ' ' + time + ', ';\n\t                }\n\t                obj[i] = st.slice(0, -2);\n\t            }\n\t        }\n\t    }\n\t    return obj;\n\t};\n\t\n\tu.getVendorStyle = function (property, value) {\n\t    var obj = u.configStylePropertyObject(property);\n\t    for (var i in obj) {\n\t        if (obj.hasOwnProperty(i)) {\n\t            obj[i] = value;\n\t        }\n\t    }\n\t    return obj;\n\t};\n\t\n\tu.configStylePropertyObject = function (prop) {\n\t    var obj = {};\n\t    obj[prop] = '';\n\t    var vendors = ['webkit', 'Moz', 'o'];\n\t    vendors.forEach(function (vendor) {\n\t        obj[vendor + prop.charAt(0).toUpperCase() + prop.slice(1)] = '';\n\t    });\n\t    return obj;\n\t};\n\t\n\tu.extend = function (objA, objB) {\n\t    for (var i in objB) {\n\t        if (objB.hasOwnProperty(i)) {\n\t            objA[i] = objB[i];\n\t        }\n\t    }\n\t    return objA;\n\t};\n\t\n\t// Overwrite only what's already present\n\tu.safeExtend = function (objA, objB) {\n\t    var obj = {};\n\t    for (var i in objA) {\n\t        if (objA.hasOwnProperty(i) && objB.hasOwnProperty(i)) {\n\t            obj[i] = objB[i];\n\t        } else if (objA.hasOwnProperty(i)) {\n\t            obj[i] = objA[i];\n\t        }\n\t    }\n\t    return obj;\n\t};\n\t\n\t// Map for array or unique item.\n\tu.map = function (ar, fn) {\n\t    if (ar.length) {\n\t        for (var i = 0, max = ar.length; i < max; i += 1) {\n\t            fn(ar[i]);\n\t        }\n\t    } else {\n\t        fn(ar);\n\t    }\n\t};\n\t\n\t///////////////////////\n\t///   SUPER CLASS   ///\n\t///////////////////////\n\t\n\tfunction Super () {};\n\t\n\t// Basic event system.\n\tSuper.prototype.on = function (arg, cb) {\n\t    var self = this;\n\t    var types = arg.split(/[ ,]+/g);\n\t    var type;\n\t    self._handlers_ = self._handlers_ || {};\n\t\n\t    for (var i = 0; i < types.length; i += 1) {\n\t        type = types[i];\n\t        self._handlers_[type] = self._handlers_[type] || [];\n\t        self._handlers_[type].push(cb);\n\t    }\n\t    return self;\n\t};\n\t\n\tSuper.prototype.off = function (type, cb) {\n\t    var self = this;\n\t    self._handlers_ = self._handlers_ || {};\n\t\n\t    if (type === undefined) {\n\t        self._handlers_ = {};\n\t    } else if (cb === undefined) {\n\t        self._handlers_[type] = null;\n\t    } else if (self._handlers_[type] &&\n\t            self._handlers_[type].indexOf(cb) >= 0) {\n\t        self._handlers_[type].splice(self._handlers_[type].indexOf(cb), 1);\n\t    }\n\t\n\t    return self;\n\t};\n\t\n\tSuper.prototype.trigger = function (arg, data) {\n\t    var self = this;\n\t    var types = arg.split(/[ ,]+/g);\n\t    var type;\n\t    self._handlers_ = self._handlers_ || {};\n\t\n\t    for (var i = 0; i < types.length; i += 1) {\n\t        type = types[i];\n\t        if (self._handlers_[type] && self._handlers_[type].length) {\n\t            self._handlers_[type].forEach(function (handler) {\n\t                handler.call(self, {\n\t                    type: type,\n\t                    target: self\n\t                }, data);\n\t            });\n\t        }\n\t    }\n\t};\n\t\n\t// Configuration\n\tSuper.prototype.config = function (options) {\n\t    var self = this;\n\t    self.options = self.defaults || {};\n\t    if (options) {\n\t        self.options = u.safeExtend(self.options, options);\n\t    }\n\t};\n\t\n\t// Bind internal events.\n\tSuper.prototype.bindEvt = function (el, type) {\n\t    var self = this;\n\t    self._domHandlers_ = self._domHandlers_ || {};\n\t\n\t    self._domHandlers_[type] = function () {\n\t        if (typeof self['on' + type] === 'function') {\n\t            self['on' + type].apply(self, arguments);\n\t        } else {\n\t            console.warn('[WARNING] : Missing \"on' + type + '\" handler.');\n\t        }\n\t    };\n\t\n\t    u.bindEvt(el, toBind[type], self._domHandlers_[type]);\n\t\n\t    if (secondBind[type]) {\n\t        // Support for both touch and mouse at the same time.\n\t        u.bindEvt(el, secondBind[type], self._domHandlers_[type]);\n\t    }\n\t\n\t    return self;\n\t};\n\t\n\t// Unbind dom events.\n\tSuper.prototype.unbindEvt = function (el, type) {\n\t    var self = this;\n\t    self._domHandlers_ = self._domHandlers_ || {};\n\t\n\t    u.unbindEvt(el, toBind[type], self._domHandlers_[type]);\n\t\n\t    if (secondBind[type]) {\n\t        // Support for both touch and mouse at the same time.\n\t        u.unbindEvt(el, secondBind[type], self._domHandlers_[type]);\n\t    }\n\t\n\t    delete self._domHandlers_[type];\n\t\n\t    return this;\n\t};\n\t\n\t///////////////////////\n\t///   THE NIPPLE    ///\n\t///////////////////////\n\t\n\tfunction Nipple (collection, options) {\n\t    this.identifier = options.identifier;\n\t    this.position = options.position;\n\t    this.frontPosition = options.frontPosition;\n\t    this.collection = collection;\n\t\n\t    // Defaults\n\t    this.defaults = {\n\t        size: 100,\n\t        threshold: 0.1,\n\t        color: 'white',\n\t        fadeTime: 250,\n\t        dataOnly: false,\n\t        restJoystick: true,\n\t        restOpacity: 0.5,\n\t        mode: 'dynamic',\n\t        zone: document.body,\n\t        lockX: false,\n\t        lockY: false\n\t    };\n\t\n\t    this.config(options);\n\t\n\t    // Overwrites\n\t    if (this.options.mode === 'dynamic') {\n\t        this.options.restOpacity = 0;\n\t    }\n\t\n\t    this.id = Nipple.id;\n\t    Nipple.id += 1;\n\t    this.buildEl()\n\t        .stylize();\n\t\n\t    // Nipple's API.\n\t    this.instance = {\n\t        el: this.ui.el,\n\t        on: this.on.bind(this),\n\t        off: this.off.bind(this),\n\t        show: this.show.bind(this),\n\t        hide: this.hide.bind(this),\n\t        add: this.addToDom.bind(this),\n\t        remove: this.removeFromDom.bind(this),\n\t        destroy: this.destroy.bind(this),\n\t        resetDirection: this.resetDirection.bind(this),\n\t        computeDirection: this.computeDirection.bind(this),\n\t        trigger: this.trigger.bind(this),\n\t        position: this.position,\n\t        frontPosition: this.frontPosition,\n\t        ui: this.ui,\n\t        identifier: this.identifier,\n\t        id: this.id,\n\t        options: this.options\n\t    };\n\t\n\t    return this.instance;\n\t};\n\t\n\tNipple.prototype = new Super();\n\tNipple.constructor = Nipple;\n\tNipple.id = 0;\n\t\n\t// Build the dom element of the Nipple instance.\n\tNipple.prototype.buildEl = function (options) {\n\t    this.ui = {};\n\t\n\t    if (this.options.dataOnly) {\n\t        return this;\n\t    }\n\t\n\t    this.ui.el = document.createElement('div');\n\t    this.ui.back = document.createElement('div');\n\t    this.ui.front = document.createElement('div');\n\t\n\t    this.ui.el.className = 'nipple collection_' + this.collection.id;\n\t    this.ui.back.className = 'back';\n\t    this.ui.front.className = 'front';\n\t\n\t    this.ui.el.setAttribute('id', 'nipple_' + this.collection.id +\n\t        '_' + this.id);\n\t\n\t    this.ui.el.appendChild(this.ui.back);\n\t    this.ui.el.appendChild(this.ui.front);\n\t\n\t    return this;\n\t};\n\t\n\t// Apply CSS to the Nipple instance.\n\tNipple.prototype.stylize = function () {\n\t    if (this.options.dataOnly) {\n\t        return this;\n\t    }\n\t    var animTime = this.options.fadeTime + 'ms';\n\t    var borderStyle = u.getVendorStyle('borderRadius', '50%');\n\t    var transitStyle = u.getTransitionStyle('transition', 'opacity', animTime);\n\t    var styles = {};\n\t    styles.el = {\n\t        position: 'absolute',\n\t        opacity: this.options.restOpacity,\n\t        display: 'block',\n\t        'zIndex': 999\n\t    };\n\t\n\t    styles.back = {\n\t        position: 'absolute',\n\t        display: 'block',\n\t        width: this.options.size + 'px',\n\t        height: this.options.size + 'px',\n\t        marginLeft: -this.options.size / 2 + 'px',\n\t        marginTop: -this.options.size / 2 + 'px',\n\t        background: this.options.color,\n\t        'opacity': '.5'\n\t    };\n\t\n\t    styles.front = {\n\t        width: this.options.size / 2 + 'px',\n\t        height: this.options.size / 2 + 'px',\n\t        position: 'absolute',\n\t        display: 'block',\n\t        marginLeft: -this.options.size / 4 + 'px',\n\t        marginTop: -this.options.size / 4 + 'px',\n\t        background: this.options.color,\n\t        'opacity': '.5'\n\t    };\n\t\n\t    u.extend(styles.el, transitStyle);\n\t    u.extend(styles.back, borderStyle);\n\t    u.extend(styles.front, borderStyle);\n\t\n\t    this.applyStyles(styles);\n\t\n\t    return this;\n\t};\n\t\n\tNipple.prototype.applyStyles = function (styles) {\n\t    // Apply styles\n\t    for (var i in this.ui) {\n\t        if (this.ui.hasOwnProperty(i)) {\n\t            for (var j in styles[i]) {\n\t                this.ui[i].style[j] = styles[i][j];\n\t            }\n\t        }\n\t    }\n\t\n\t    return this;\n\t};\n\t\n\t// Inject the Nipple instance into DOM.\n\tNipple.prototype.addToDom = function () {\n\t    // We're not adding it if we're dataOnly or already in dom.\n\t    if (this.options.dataOnly || document.body.contains(this.ui.el)) {\n\t        return this;\n\t    }\n\t    this.options.zone.appendChild(this.ui.el);\n\t    return this;\n\t};\n\t\n\t// Remove the Nipple instance from DOM.\n\tNipple.prototype.removeFromDom = function () {\n\t    if (this.options.dataOnly || !document.body.contains(this.ui.el)) {\n\t        return this;\n\t    }\n\t    this.options.zone.removeChild(this.ui.el);\n\t    return this;\n\t};\n\t\n\t// Entirely destroy this nipple\n\tNipple.prototype.destroy = function () {\n\t    clearTimeout(this.removeTimeout);\n\t    clearTimeout(this.showTimeout);\n\t    clearTimeout(this.restTimeout);\n\t    this.trigger('destroyed', this.instance);\n\t    this.removeFromDom();\n\t    this.off();\n\t};\n\t\n\t// Fade in the Nipple instance.\n\tNipple.prototype.show = function (cb) {\n\t    var self = this;\n\t\n\t    if (self.options.dataOnly) {\n\t        return self;\n\t    }\n\t\n\t    clearTimeout(self.removeTimeout);\n\t    clearTimeout(self.showTimeout);\n\t    clearTimeout(self.restTimeout);\n\t\n\t    self.addToDom();\n\t\n\t    self.restCallback();\n\t\n\t    setTimeout(function () {\n\t        self.ui.el.style.opacity = 1;\n\t    }, 0);\n\t\n\t    self.showTimeout = setTimeout(function () {\n\t        self.trigger('shown', self.instance);\n\t        if (typeof cb === 'function') {\n\t            cb.call(this);\n\t        }\n\t    }, self.options.fadeTime);\n\t\n\t    return self;\n\t};\n\t\n\t// Fade out the Nipple instance.\n\tNipple.prototype.hide = function (cb) {\n\t    var self = this;\n\t\n\t    if (self.options.dataOnly) {\n\t        return self;\n\t    }\n\t\n\t    self.ui.el.style.opacity = self.options.restOpacity;\n\t\n\t    clearTimeout(self.removeTimeout);\n\t    clearTimeout(self.showTimeout);\n\t    clearTimeout(self.restTimeout);\n\t\n\t    self.removeTimeout = setTimeout(\n\t        function () {\n\t            var display = self.options.mode === 'dynamic' ? 'none' : 'block';\n\t            self.ui.el.style.display = display;\n\t            if (typeof cb === 'function') {\n\t                cb.call(self);\n\t            }\n\t\n\t            self.trigger('hidden', self.instance);\n\t        },\n\t        self.options.fadeTime\n\t    );\n\t    if (self.options.restJoystick) {\n\t        self.restPosition();\n\t    }\n\t\n\t    return self;\n\t};\n\t\n\tNipple.prototype.restPosition = function (cb) {\n\t    var self = this;\n\t    self.frontPosition = {\n\t        x: 0,\n\t        y: 0\n\t    };\n\t    var animTime = self.options.fadeTime + 'ms';\n\t\n\t    var transitStyle = {};\n\t    transitStyle.front = u.getTransitionStyle('transition',\n\t        ['top', 'left'], animTime);\n\t\n\t    var styles = {front: {}};\n\t    styles.front = {\n\t        left: self.frontPosition.x + 'px',\n\t        top: self.frontPosition.y + 'px'\n\t    };\n\t\n\t    self.applyStyles(transitStyle);\n\t    self.applyStyles(styles);\n\t\n\t    self.restTimeout = setTimeout(\n\t        function () {\n\t            if (typeof cb === 'function') {\n\t                cb.call(self);\n\t            }\n\t            self.restCallback();\n\t        },\n\t        self.options.fadeTime\n\t    );\n\t};\n\t\n\tNipple.prototype.restCallback = function () {\n\t    var self = this;\n\t    var transitStyle = {};\n\t    transitStyle.front = u.getTransitionStyle('transition', 'none', '');\n\t    self.applyStyles(transitStyle);\n\t    self.trigger('rested', self.instance);\n\t};\n\t\n\tNipple.prototype.resetDirection = function () {\n\t    // Fully rebuild the object to let the iteration possible.\n\t    this.direction = {\n\t        x: false,\n\t        y: false,\n\t        angle: false\n\t    };\n\t};\n\t\n\tNipple.prototype.computeDirection = function (obj) {\n\t    var rAngle = obj.angle.radian;\n\t    var angle45 = Math.PI / 4;\n\t    var angle90 = Math.PI / 2;\n\t    var direction, directionX, directionY;\n\t\n\t    // Angular direction\n\t    //     \\  UP /\n\t    //      \\   /\n\t    // LEFT       RIGHT\n\t    //      /   \\\n\t    //     /DOWN \\\n\t    //\n\t    if (\n\t        rAngle > angle45 &&\n\t        rAngle < (angle45 * 3) &&\n\t        !obj.lockX\n\t    ) {\n\t        direction = 'up';\n\t    } else if (\n\t        rAngle > -angle45 &&\n\t        rAngle <= angle45 &&\n\t        !obj.lockY\n\t    ) {\n\t        direction = 'left';\n\t    } else if (\n\t        rAngle > (-angle45 * 3) &&\n\t        rAngle <= -angle45 &&\n\t        !obj.lockX\n\t    ) {\n\t        direction = 'down';\n\t    } else if (!obj.lockY) {\n\t        direction = 'right';\n\t    }\n\t\n\t    // Plain direction\n\t    //    UP                 |\n\t    // _______               | RIGHT\n\t    //                  LEFT |\n\t    //   DOWN                |\n\t    if (!obj.lockY) {\n\t        if (rAngle > -angle90 && rAngle < angle90) {\n\t            directionX = 'left';\n\t        } else {\n\t            directionX = 'right';\n\t        }\n\t    }\n\t\n\t    if (!obj.lockX) {\n\t        if (rAngle > 0) {\n\t            directionY = 'up';\n\t        } else {\n\t            directionY = 'down';\n\t        }\n\t    }\n\t\n\t    if (obj.force > this.options.threshold) {\n\t        var oldDirection = {};\n\t        for (var i in this.direction) {\n\t            if (this.direction.hasOwnProperty(i)) {\n\t                oldDirection[i] = this.direction[i];\n\t            }\n\t        }\n\t\n\t        var same = {};\n\t\n\t        this.direction = {\n\t            x: directionX,\n\t            y: directionY,\n\t            angle: direction\n\t        };\n\t\n\t        obj.direction = this.direction;\n\t\n\t        for (var i in oldDirection) {\n\t            if (oldDirection[i] === this.direction[i]) {\n\t                same[i] = true;\n\t            }\n\t        }\n\t\n\t        // If all 3 directions are the same, we don't trigger anything.\n\t        if (same.x && same.y && same.angle) {\n\t            return obj;\n\t        }\n\t\n\t        if (!same.x || !same.y) {\n\t            this.trigger('plain', obj);\n\t        }\n\t\n\t        if (!same.x) {\n\t            this.trigger('plain:' + directionX, obj);\n\t        }\n\t\n\t        if (!same.y) {\n\t            this.trigger('plain:' + directionY, obj);\n\t        }\n\t\n\t        if (!same.angle) {\n\t            this.trigger('dir dir:' + direction, obj);\n\t        }\n\t    }\n\t    return obj;\n\t};\n\t\n\t/* global Nipple, Super */\n\t\n\t///////////////////////////\n\t///   THE COLLECTION    ///\n\t///////////////////////////\n\t\n\tfunction Collection (manager, options) {\n\t    var self = this;\n\t    self.nipples = [];\n\t    self.idles = [];\n\t    self.actives = [];\n\t    self.ids = [];\n\t    self.pressureIntervals = {};\n\t    self.manager = manager;\n\t    self.id = Collection.id;\n\t    Collection.id += 1;\n\t\n\t    // Defaults\n\t    self.defaults = {\n\t        zone: document.body,\n\t        multitouch: false,\n\t        maxNumberOfNipples: 10,\n\t        mode: 'dynamic',\n\t        position: {top: 0, left: 0},\n\t        catchDistance: 200,\n\t        size: 100,\n\t        threshold: 0.1,\n\t        color: 'white',\n\t        fadeTime: 250,\n\t        dataOnly: false,\n\t        restJoystick: true,\n\t        restOpacity: 0.5,\n\t        lockX: false,\n\t        lockY: false\n\t    };\n\t\n\t    self.config(options);\n\t\n\t    // Overwrites\n\t    if (self.options.mode === 'static' || self.options.mode === 'semi') {\n\t        self.options.multitouch = false;\n\t    }\n\t\n\t    if (!self.options.multitouch) {\n\t        self.options.maxNumberOfNipples = 1;\n\t    }\n\t\n\t    self.updateBox();\n\t    self.prepareNipples();\n\t    self.bindings();\n\t    self.begin();\n\t\n\t    return self.nipples;\n\t}\n\t\n\tCollection.prototype = new Super();\n\tCollection.constructor = Collection;\n\tCollection.id = 0;\n\t\n\tCollection.prototype.prepareNipples = function () {\n\t    var self = this;\n\t    var nips = self.nipples;\n\t\n\t    // Public API Preparation.\n\t    nips.on = self.on.bind(self);\n\t    nips.off = self.off.bind(self);\n\t    nips.options = self.options;\n\t    nips.destroy = self.destroy.bind(self);\n\t    nips.ids = self.ids;\n\t    nips.id = self.id;\n\t    nips.processOnMove = self.processOnMove.bind(self);\n\t    nips.processOnEnd = self.processOnEnd.bind(self);\n\t    nips.get = function (id) {\n\t        if (id === undefined) {\n\t            return nips[0];\n\t        }\n\t        for (var i = 0, max = nips.length; i < max; i += 1) {\n\t            if (nips[i].identifier === id) {\n\t                return nips[i];\n\t            }\n\t        }\n\t        return false;\n\t    };\n\t};\n\t\n\tCollection.prototype.bindings = function () {\n\t    var self = this;\n\t    // Touch start event.\n\t    self.bindEvt(self.options.zone, 'start');\n\t    // Avoid native touch actions (scroll, zoom etc...) on the zone.\n\t    self.options.zone.style.touchAction = 'none';\n\t    self.options.zone.style.msTouchAction = 'none';\n\t};\n\t\n\tCollection.prototype.begin = function () {\n\t    var self = this;\n\t    var opts = self.options;\n\t\n\t    // We place our static nipple\n\t    // if needed.\n\t    if (opts.mode === 'static') {\n\t        var nipple = self.createNipple(\n\t            opts.position,\n\t            self.manager.getIdentifier()\n\t        );\n\t        // Add it to the dom.\n\t        nipple.add();\n\t        // Store it in idles.\n\t        self.idles.push(nipple);\n\t    }\n\t};\n\t\n\t// Nipple Factory\n\tCollection.prototype.createNipple = function (position, identifier) {\n\t    var self = this;\n\t    var scroll = u.getScroll();\n\t    var toPutOn = {};\n\t    var opts = self.options;\n\t\n\t    if (position.x && position.y) {\n\t        toPutOn = {\n\t            x: position.x -\n\t                (scroll.x + self.box.left),\n\t            y: position.y -\n\t                (scroll.y + self.box.top)\n\t        };\n\t    } else if (\n\t            position.top ||\n\t            position.right ||\n\t            position.bottom ||\n\t            position.left\n\t        ) {\n\t\n\t        // We need to compute the position X / Y of the joystick.\n\t        var dumb = document.createElement('DIV');\n\t        dumb.style.display = 'hidden';\n\t        dumb.style.top = position.top;\n\t        dumb.style.right = position.right;\n\t        dumb.style.bottom = position.bottom;\n\t        dumb.style.left = position.left;\n\t        dumb.style.position = 'absolute';\n\t\n\t        opts.zone.appendChild(dumb);\n\t        var dumbBox = dumb.getBoundingClientRect();\n\t        opts.zone.removeChild(dumb);\n\t\n\t        toPutOn = position;\n\t        position = {\n\t            x: dumbBox.left + scroll.x,\n\t            y: dumbBox.top + scroll.y\n\t        };\n\t    }\n\t\n\t    var nipple = new Nipple(self, {\n\t        color: opts.color,\n\t        size: opts.size,\n\t        threshold: opts.threshold,\n\t        fadeTime: opts.fadeTime,\n\t        dataOnly: opts.dataOnly,\n\t        restJoystick: opts.restJoystick,\n\t        restOpacity: opts.restOpacity,\n\t        mode: opts.mode,\n\t        identifier: identifier,\n\t        position: position,\n\t        zone: opts.zone,\n\t        frontPosition: {\n\t            x: 0,\n\t            y: 0\n\t        }\n\t    });\n\t\n\t    if (!opts.dataOnly) {\n\t        u.applyPosition(nipple.ui.el, toPutOn);\n\t        u.applyPosition(nipple.ui.front, nipple.frontPosition);\n\t    }\n\t    self.nipples.push(nipple);\n\t    self.trigger('added ' + nipple.identifier + ':added', nipple);\n\t    self.manager.trigger('added ' + nipple.identifier + ':added', nipple);\n\t\n\t    self.bindNipple(nipple);\n\t\n\t    return nipple;\n\t};\n\t\n\tCollection.prototype.updateBox = function () {\n\t    var self = this;\n\t    self.box = self.options.zone.getBoundingClientRect();\n\t};\n\t\n\tCollection.prototype.bindNipple = function (nipple) {\n\t    var self = this;\n\t    var type;\n\t    // Bubble up identified events.\n\t    var handler = function (evt, data) {\n\t        // Identify the event type with the nipple's id.\n\t        type = evt.type + ' ' + data.id + ':' + evt.type;\n\t        self.trigger(type, data);\n\t    };\n\t\n\t    // When it gets destroyed.\n\t    nipple.on('destroyed', self.onDestroyed.bind(self));\n\t\n\t    // Other events that will get bubbled up.\n\t    nipple.on('shown hidden rested dir plain', handler);\n\t    nipple.on('dir:up dir:right dir:down dir:left', handler);\n\t    nipple.on('plain:up plain:right plain:down plain:left', handler);\n\t};\n\t\n\tCollection.prototype.pressureFn = function (touch, nipple, identifier) {\n\t    var self = this;\n\t    var previousPressure = 0;\n\t    clearInterval(self.pressureIntervals[identifier]);\n\t    // Create an interval that will read the pressure every 100ms\n\t    self.pressureIntervals[identifier] = setInterval(function () {\n\t        var pressure = touch.force || touch.pressure ||\n\t            touch.webkitForce || 0;\n\t        if (pressure !== previousPressure) {\n\t            nipple.trigger('pressure', pressure);\n\t            self.trigger('pressure ' +\n\t                nipple.identifier + ':pressure', pressure);\n\t            previousPressure = pressure;\n\t        }\n\t    }.bind(self), 100);\n\t};\n\t\n\tCollection.prototype.onstart = function (evt) {\n\t    var self = this;\n\t    var opts = self.options;\n\t    evt = u.prepareEvent(evt);\n\t\n\t    // Update the box position\n\t    self.updateBox();\n\t\n\t    var process = function (touch) {\n\t        // If we can create new nipples\n\t        // meaning we don't have more active nipples than we should.\n\t        if (self.actives.length < opts.maxNumberOfNipples) {\n\t            self.processOnStart(touch);\n\t        }\n\t    };\n\t\n\t    u.map(evt, process);\n\t\n\t    // We ask upstream to bind the document\n\t    // on 'move' and 'end'\n\t    self.manager.bindDocument();\n\t    return false;\n\t};\n\t\n\tCollection.prototype.processOnStart = function (evt) {\n\t    var self = this;\n\t    var opts = self.options;\n\t    var indexInIdles;\n\t    var identifier = self.manager.getIdentifier(evt);\n\t    var pressure = evt.force || evt.pressure || evt.webkitForce || 0;\n\t    var position = {\n\t        x: evt.pageX,\n\t        y: evt.pageY\n\t    };\n\t\n\t    var nipple = self.getOrCreate(identifier, position);\n\t\n\t    // Update its touch identifier\n\t    if (nipple.identifier !== identifier) {\n\t        self.manager.removeIdentifier(nipple.identifier);\n\t    }\n\t    nipple.identifier = identifier;\n\t\n\t    var process = function (nip) {\n\t        // Trigger the start.\n\t        nip.trigger('start', nip);\n\t        self.trigger('start ' + nip.id + ':start', nip);\n\t\n\t        nip.show();\n\t        if (pressure > 0) {\n\t            self.pressureFn(evt, nip, nip.identifier);\n\t        }\n\t        // Trigger the first move event.\n\t        self.processOnMove(evt);\n\t    };\n\t\n\t    // Transfer it from idles to actives.\n\t    if ((indexInIdles = self.idles.indexOf(nipple)) >= 0) {\n\t        self.idles.splice(indexInIdles, 1);\n\t    }\n\t\n\t    // Store the nipple in the actives array\n\t    self.actives.push(nipple);\n\t    self.ids.push(nipple.identifier);\n\t\n\t    if (opts.mode !== 'semi') {\n\t        process(nipple);\n\t    } else {\n\t        // In semi we check the distance of the touch\n\t        // to decide if we have to reset the nipple\n\t        var distance = u.distance(position, nipple.position);\n\t        if (distance <= opts.catchDistance) {\n\t            process(nipple);\n\t        } else {\n\t            nipple.destroy();\n\t            self.processOnStart(evt);\n\t            return;\n\t        }\n\t    }\n\t\n\t    return nipple;\n\t};\n\t\n\tCollection.prototype.getOrCreate = function (identifier, position) {\n\t    var self = this;\n\t    var opts = self.options;\n\t    var nipple;\n\t\n\t    // If we're in static or semi, we might already have an active.\n\t    if (/(semi|static)/.test(opts.mode)) {\n\t        // Get the active one.\n\t        // TODO: Multi-touche for semi and static will start here.\n\t        // Return the nearest one.\n\t        nipple = self.idles[0];\n\t        if (nipple) {\n\t            self.idles.splice(0, 1);\n\t            return nipple;\n\t        }\n\t\n\t        if (opts.mode === 'semi') {\n\t            // If we're in semi mode, we need to create one.\n\t            return self.createNipple(position, identifier);\n\t        }\n\t\n\t        console.warn('Coudln\\'t find the needed nipple.');\n\t        return false;\n\t    }\n\t    // In dynamic, we create a new one.\n\t    nipple = self.createNipple(position, identifier);\n\t    return nipple;\n\t};\n\t\n\tCollection.prototype.processOnMove = function (evt) {\n\t    var self = this;\n\t    var opts = self.options;\n\t    var identifier = self.manager.getIdentifier(evt);\n\t    var nipple = self.nipples.get(identifier);\n\t\n\t    if (!nipple) {\n\t        // This is here just for safety.\n\t        // It shouldn't happen.\n\t        console.error('Found zombie joystick with ID ' + identifier);\n\t        self.manager.removeIdentifier(identifier);\n\t        return;\n\t    }\n\t\n\t    nipple.identifier = identifier;\n\t\n\t    var size = nipple.options.size / 2;\n\t    var pos = {\n\t        x: evt.pageX,\n\t        y: evt.pageY\n\t    };\n\t\n\t    var dist = u.distance(pos, nipple.position);\n\t    var angle = u.angle(pos, nipple.position);\n\t    var rAngle = u.radians(angle);\n\t    var force = dist / size;\n\t\n\t    // If distance is bigger than nipple's size\n\t    // we clamp the position.\n\t    if (dist > size) {\n\t        dist = size;\n\t        pos = u.findCoord(nipple.position, dist, angle);\n\t    }\n\t\n\t    var xPosition = pos.x - nipple.position.x\n\t    var yPosition = pos.y - nipple.position.y\n\t\n\t    if (opts.lockX){\n\t        yPosition = 0\n\t    }\n\t    if (opts.lockY) {\n\t        xPosition = 0\n\t    }\n\t\n\t    nipple.frontPosition = {\n\t        x: xPosition,\n\t        y: yPosition\n\t    };\n\t\n\t    if (!opts.dataOnly) {\n\t        u.applyPosition(nipple.ui.front, nipple.frontPosition);\n\t    }\n\t\n\t    // Prepare event's datas.\n\t    var toSend = {\n\t        identifier: nipple.identifier,\n\t        position: pos,\n\t        force: force,\n\t        pressure: evt.force || evt.pressure || evt.webkitForce || 0,\n\t        distance: dist,\n\t        angle: {\n\t            radian: rAngle,\n\t            degree: angle\n\t        },\n\t        instance: nipple,\n\t        lockX: opts.lockX,\n\t        lockY: opts.lockY\n\t    };\n\t\n\t    // Compute the direction's datas.\n\t    toSend = nipple.computeDirection(toSend);\n\t\n\t    // Offset angles to follow units circle.\n\t    toSend.angle = {\n\t        radian: u.radians(180 - angle),\n\t        degree: 180 - angle\n\t    };\n\t\n\t    // Send everything to everyone.\n\t    nipple.trigger('move', toSend);\n\t    self.trigger('move ' + nipple.id + ':move', toSend);\n\t};\n\t\n\tCollection.prototype.processOnEnd = function (evt) {\n\t    var self = this;\n\t    var opts = self.options;\n\t    var identifier = self.manager.getIdentifier(evt);\n\t    var nipple = self.nipples.get(identifier);\n\t    var removedIdentifier = self.manager.removeIdentifier(nipple.identifier);\n\t\n\t    if (!nipple) {\n\t        return;\n\t    }\n\t\n\t    if (!opts.dataOnly) {\n\t        nipple.hide(function () {\n\t            if (opts.mode === 'dynamic') {\n\t                nipple.trigger('removed', nipple);\n\t                self.trigger('removed ' + nipple.id + ':removed', nipple);\n\t                self.manager\n\t                    .trigger('removed ' + nipple.id + ':removed', nipple);\n\t                nipple.destroy();\n\t            }\n\t        });\n\t    }\n\t\n\t    // Clear the pressure interval reader\n\t    clearInterval(self.pressureIntervals[nipple.identifier]);\n\t\n\t    // Reset the direciton of the nipple, to be able to trigger a new direction\n\t    // on start.\n\t    nipple.resetDirection();\n\t\n\t    nipple.trigger('end', nipple);\n\t    self.trigger('end ' + nipple.id + ':end', nipple);\n\t\n\t    // Remove identifier from our bank.\n\t    if (self.ids.indexOf(nipple.identifier) >= 0) {\n\t        self.ids.splice(self.ids.indexOf(nipple.identifier), 1);\n\t    }\n\t\n\t    // Clean our actives array.\n\t    if (self.actives.indexOf(nipple) >= 0) {\n\t        self.actives.splice(self.actives.indexOf(nipple), 1);\n\t    }\n\t\n\t    if (/(semi|static)/.test(opts.mode)) {\n\t        // Transfer nipple from actives to idles\n\t        // if we're in semi or static mode.\n\t        self.idles.push(nipple);\n\t    } else if (self.nipples.indexOf(nipple) >= 0) {\n\t        // Only if we're not in semi or static mode\n\t        // we can remove the instance.\n\t        self.nipples.splice(self.nipples.indexOf(nipple), 1);\n\t    }\n\t\n\t    // We unbind move and end.\n\t    self.manager.unbindDocument();\n\t\n\t    // We add back the identifier of the idle nipple;\n\t    if (/(semi|static)/.test(opts.mode)) {\n\t        self.manager.ids[removedIdentifier.id] = removedIdentifier.identifier;\n\t    }\n\t};\n\t\n\t// Remove destroyed nipple from the lists\n\tCollection.prototype.onDestroyed = function(evt, nipple) {\n\t    var self = this;\n\t    if (self.nipples.indexOf(nipple) >= 0) {\n\t        self.nipples.splice(self.nipples.indexOf(nipple), 1);\n\t    }\n\t    if (self.actives.indexOf(nipple) >= 0) {\n\t        self.actives.splice(self.actives.indexOf(nipple), 1);\n\t    }\n\t    if (self.idles.indexOf(nipple) >= 0) {\n\t        self.idles.splice(self.idles.indexOf(nipple), 1);\n\t    }\n\t    if (self.ids.indexOf(nipple.identifier) >= 0) {\n\t        self.ids.splice(self.ids.indexOf(nipple.identifier), 1);\n\t    }\n\t\n\t    // Remove the identifier from our bank\n\t    self.manager.removeIdentifier(nipple.identifier);\n\t\n\t    // We unbind move and end.\n\t    self.manager.unbindDocument();\n\t};\n\t\n\t// Cleanly destroy the manager\n\tCollection.prototype.destroy = function () {\n\t    var self = this;\n\t    self.unbindEvt(self.options.zone, 'start');\n\t\n\t    // Destroy nipples.\n\t    self.nipples.forEach(function(nipple) {\n\t        nipple.destroy();\n\t    });\n\t\n\t    // Clean 3DTouch intervals.\n\t    for (var i in self.pressureIntervals) {\n\t        if (self.pressureIntervals.hasOwnProperty(i)) {\n\t            clearInterval(self.pressureIntervals[i]);\n\t        }\n\t    }\n\t\n\t    // Notify the manager passing the instance\n\t    self.trigger('destroyed', self.nipples);\n\t    // We unbind move and end.\n\t    self.manager.unbindDocument();\n\t    // Unbind everything.\n\t    self.off();\n\t};\n\t\n\t/* global u, Super, Collection */\n\t\n\t///////////////////////\n\t///     MANAGER     ///\n\t///////////////////////\n\t\n\tfunction Manager (options) {\n\t    var self = this;\n\t    self.ids = {};\n\t    self.index = 0;\n\t    self.collections = [];\n\t\n\t    self.config(options);\n\t    self.prepareCollections();\n\t\n\t    // Listen for resize, to reposition every joysticks\n\t    var resizeTimer;\n\t    u.bindEvt(window, 'resize', function (evt) {\n\t        clearTimeout(resizeTimer);\n\t        resizeTimer = setTimeout(function () {\n\t            var pos;\n\t            var scroll = u.getScroll();\n\t            self.collections.forEach(function (collection) {\n\t                collection.forEach(function (nipple) {\n\t                    pos = nipple.el.getBoundingClientRect();\n\t                    nipple.position = {\n\t                        x: scroll.x + pos.left,\n\t                        y: scroll.y + pos.top\n\t                    };\n\t                });\n\t            });\n\t        }, 100);\n\t    });\n\t\n\t    return self.collections;\n\t};\n\t\n\tManager.prototype = new Super();\n\tManager.constructor = Manager;\n\t\n\tManager.prototype.prepareCollections = function () {\n\t    var self = this;\n\t    // Public API Preparation.\n\t    self.collections.create = self.create.bind(self);\n\t    // Listen to anything\n\t    self.collections.on = self.on.bind(self);\n\t    // Unbind general events\n\t    self.collections.off = self.off.bind(self);\n\t    // Destroy everything\n\t    self.collections.destroy = self.destroy.bind(self);\n\t    // Get any nipple\n\t    self.collections.get = function (id) {\n\t        var nipple;\n\t        self.collections.every(function (collection) {\n\t            if (nipple = collection.get(id)) {\n\t                return false;\n\t            }\n\t            return true;\n\t        });\n\t        return nipple;\n\t    };\n\t};\n\t\n\tManager.prototype.create = function (options) {\n\t    return this.createCollection(options);\n\t};\n\t\n\t// Collection Factory\n\tManager.prototype.createCollection = function (options) {\n\t    var self = this;\n\t    var collection = new Collection(self, options);\n\t\n\t    self.bindCollection(collection);\n\t    self.collections.push(collection);\n\t\n\t    return collection;\n\t};\n\t\n\tManager.prototype.bindCollection = function (collection) {\n\t    var self = this;\n\t    var type;\n\t    // Bubble up identified events.\n\t    var handler = function (evt, data) {\n\t        // Identify the event type with the nipple's identifier.\n\t        type = evt.type + ' ' + data.id + ':' + evt.type;\n\t        self.trigger(type, data);\n\t    };\n\t\n\t    // When it gets destroyed we clean.\n\t    collection.on('destroyed', self.onDestroyed.bind(self));\n\t\n\t    // Other events that will get bubbled up.\n\t    collection.on('shown hidden rested dir plain', handler);\n\t    collection.on('dir:up dir:right dir:down dir:left', handler);\n\t    collection.on('plain:up plain:right plain:down plain:left', handler);\n\t};\n\t\n\tManager.prototype.bindDocument = function () {\n\t    var self = this;\n\t    // Bind only if not already binded\n\t    if (!self.binded) {\n\t        self.bindEvt(document, 'move')\n\t            .bindEvt(document, 'end');\n\t        self.binded = true;\n\t    }\n\t};\n\t\n\tManager.prototype.unbindDocument = function (force) {\n\t    var self = this;\n\t    // If there are no touch left\n\t    // unbind the document.\n\t    if (!Object.keys(self.ids).length || force === true) {\n\t        self.unbindEvt(document, 'move')\n\t            .unbindEvt(document, 'end');\n\t        self.binded = false;\n\t    }\n\t};\n\t\n\tManager.prototype.getIdentifier = function (evt) {\n\t    var id;\n\t    // If no event, simple increment\n\t    if (!evt) {\n\t        id = this.index;\n\t    } else {\n\t        // Extract identifier from event object.\n\t        // Unavailable in mouse events so replaced by latest increment.\n\t        id = evt.identifier === undefined ? evt.pointerId : evt.identifier;\n\t        if (id === undefined) {\n\t            id = this.latest || 0;\n\t        }\n\t    }\n\t\n\t    if (this.ids[id] === undefined) {\n\t        this.ids[id] = this.index;\n\t        this.index += 1;\n\t    }\n\t\n\t    // Keep the latest id used in case we're using an unidentified mouseEvent\n\t    this.latest = id;\n\t    return this.ids[id];\n\t};\n\t\n\tManager.prototype.removeIdentifier = function (identifier) {\n\t    var removed = {};\n\t    for (var id in this.ids) {\n\t        if (this.ids[id] === identifier) {\n\t            removed.id = id;\n\t            removed.identifier = this.ids[id];\n\t            delete this.ids[id];\n\t            break;\n\t        }\n\t    }\n\t    return removed;\n\t};\n\t\n\tManager.prototype.onmove = function (evt) {\n\t    var self = this;\n\t    self.onAny('move', evt);\n\t    return false;\n\t};\n\t\n\tManager.prototype.onend = function (evt) {\n\t    var self = this;\n\t    self.onAny('end', evt);\n\t    return false;\n\t};\n\t\n\tManager.prototype.oncancel = function (evt) {\n\t    var self = this;\n\t    self.onAny('end', evt);\n\t    return false;\n\t};\n\t\n\tManager.prototype.onAny = function (which, evt) {\n\t    var self = this;\n\t    var id;\n\t    var processFn = 'processOn' + which.charAt(0).toUpperCase() +\n\t        which.slice(1);\n\t    evt = u.prepareEvent(evt);\n\t    var processColl = function (e, id, coll) {\n\t        if (coll.ids.indexOf(id) >= 0) {\n\t            coll[processFn](e);\n\t            // Mark the event to avoid cleaning it later.\n\t            e._found_ = true;\n\t        }\n\t    };\n\t    var processEvt = function (e) {\n\t        id = self.getIdentifier(e);\n\t        u.map(self.collections, processColl.bind(null, e, id));\n\t        // If the event isn't handled by any collection,\n\t        // we need to clean its identifier.\n\t        if (!e._found_) {\n\t            self.removeIdentifier(id);\n\t        }\n\t    };\n\t\n\t    u.map(evt, processEvt);\n\t\n\t    return false;\n\t};\n\t\n\t// Cleanly destroy the manager\n\tManager.prototype.destroy = function () {\n\t    var self = this;\n\t    self.unbindDocument(true);\n\t    self.ids = {};\n\t    self.index = 0;\n\t    self.collections.forEach(function(collection) {\n\t        collection.destroy();\n\t    });\n\t    self.off();\n\t};\n\t\n\t// When a collection gets destroyed\n\t// we clean behind.\n\tManager.prototype.onDestroyed = function (evt, coll) {\n\t    var self = this;\n\t    if (self.collections.indexOf(coll) < 0) {\n\t        return false;\n\t    }\n\t    self.collections.splice(self.collections.indexOf(coll), 1);\n\t};\n\t\n\tvar factory = new Manager();\n\treturn {\n\t    create: function (options) {\n\t        return factory.create(options);\n\t    },\n\t    factory: factory\n\t};\n\t\n\t});\n\n\n/***/ })\n/******/ ]);\n//# sourceMappingURL=http://127.0.0.1:8080/build/bundle.js.map"
  },
  {
    "path": "inst/deps/dash_daq.dev.js",
    "content": "window[\"dash_daq\"] =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// install a JSONP callback for chunk loading\n/******/ \tfunction webpackJsonpCallback(data) {\n/******/ \t\tvar chunkIds = data[0];\n/******/ \t\tvar moreModules = data[1];\n/******/\n/******/\n/******/ \t\t// add \"moreModules\" to the modules object,\n/******/ \t\t// then flag all \"chunkIds\" as loaded and fire callback\n/******/ \t\tvar moduleId, chunkId, i = 0, resolves = [];\n/******/ \t\tfor(;i < chunkIds.length; i++) {\n/******/ \t\t\tchunkId = chunkIds[i];\n/******/ \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n/******/ \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n/******/ \t\t\t}\n/******/ \t\t\tinstalledChunks[chunkId] = 0;\n/******/ \t\t}\n/******/ \t\tfor(moduleId in moreModules) {\n/******/ \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n/******/ \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n/******/\n/******/ \t\twhile(resolves.length) {\n/******/ \t\t\tresolves.shift()();\n/******/ \t\t}\n/******/\n/******/ \t};\n/******/\n/******/\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// object to store loaded and loading chunks\n/******/ \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n/******/ \t// Promise = chunk loading, 0 = chunk loaded\n/******/ \tvar installedChunks = {\n/******/ \t\t\"main\": 0\n/******/ \t};\n/******/\n/******/\n/******/\n/******/ \t// script path function\n/******/ \tfunction jsonpScriptSrc(chunkId) {\n/******/ \t\treturn __webpack_require__.p + \"\" + ({\"async-colorpicker\":\"async-colorpicker\"}[chunkId]||chunkId) + \".js\"\n/******/ \t}\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/ \t// This file contains only the entry chunk.\n/******/ \t// The chunk loading function for additional chunks\n/******/ \t__webpack_require__.e = function requireEnsure(chunkId) {\n/******/ \t\tvar promises = [];\n/******/\n/******/\n/******/ \t\t// JSONP chunk loading for javascript\n/******/\n/******/ \t\tvar installedChunkData = installedChunks[chunkId];\n/******/ \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n/******/\n/******/ \t\t\t// a Promise means \"currently loading\".\n/******/ \t\t\tif(installedChunkData) {\n/******/ \t\t\t\tpromises.push(installedChunkData[2]);\n/******/ \t\t\t} else {\n/******/ \t\t\t\t// setup Promise in chunk cache\n/******/ \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n/******/ \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n/******/ \t\t\t\t});\n/******/ \t\t\t\tpromises.push(installedChunkData[2] = promise);\n/******/\n/******/ \t\t\t\t// start chunk loading\n/******/ \t\t\t\tvar script = document.createElement('script');\n/******/ \t\t\t\tvar onScriptComplete;\n/******/\n/******/ \t\t\t\tscript.charset = 'utf-8';\n/******/ \t\t\t\tscript.timeout = 120;\n/******/ \t\t\t\tif (__webpack_require__.nc) {\n/******/ \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n/******/ \t\t\t\t}\n/******/ \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n/******/\n/******/ \t\t\t\t// create error before stack unwound to get useful stacktrace later\n/******/ \t\t\t\tvar error = new Error();\n/******/ \t\t\t\tonScriptComplete = function (event) {\n/******/ \t\t\t\t\t// avoid mem leaks in IE.\n/******/ \t\t\t\t\tscript.onerror = script.onload = null;\n/******/ \t\t\t\t\tclearTimeout(timeout);\n/******/ \t\t\t\t\tvar chunk = installedChunks[chunkId];\n/******/ \t\t\t\t\tif(chunk !== 0) {\n/******/ \t\t\t\t\t\tif(chunk) {\n/******/ \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n/******/ \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n/******/ \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n/******/ \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n/******/ \t\t\t\t\t\t\terror.type = errorType;\n/******/ \t\t\t\t\t\t\terror.request = realSrc;\n/******/ \t\t\t\t\t\t\tchunk[1](error);\n/******/ \t\t\t\t\t\t}\n/******/ \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n/******/ \t\t\t\t\t}\n/******/ \t\t\t\t};\n/******/ \t\t\t\tvar timeout = setTimeout(function(){\n/******/ \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n/******/ \t\t\t\t}, 120000);\n/******/ \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n/******/ \t\t\t\tdocument.head.appendChild(script);\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t\treturn Promise.all(promises);\n/******/ \t};\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// on error function for async loading\n/******/ \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n/******/ \tvar getCurrentScript = function() {\n/******/ \t    var script = document.currentScript;\n/******/ \t    if (!script) {\n/******/ \t        /* Shim for IE11 and below */\n/******/ \t        /* Do not take into account async scripts and inline scripts */\n/******/ \t        var scripts = Array.from(document.getElementsByTagName('script')).filter(function(s) { return !s.async && !s.text && !s.textContent; });\n/******/ \t        script = scripts.slice(-1)[0];\n/******/ \t    }\n/******/\n/******/ \t    return script;\n/******/ \t};\n/******/\n/******/ \tvar isLocalScript = function(script) {\n/******/ \t    return /\\/_dash-component-suites\\//.test(script.src);\n/******/ \t};\n/******/\n/******/ \tObject.defineProperty(__webpack_require__, 'p', {\n/******/ \t    get: (function () {\n/******/ \t        var script = getCurrentScript();\n/******/\n/******/ \t        var url = script.src.split('/').slice(0, -1).join('/') + '/';\n/******/\n/******/ \t        return function() {\n/******/ \t            return url;\n/******/ \t        };\n/******/ \t    })()\n/******/ \t});\n/******/\n/******/ \tif (typeof jsonpScriptSrc !== 'undefined') {\n/******/ \t    var __jsonpScriptSrc__ = jsonpScriptSrc;\n/******/ \t    jsonpScriptSrc = function(chunkId) {\n/******/ \t        var script = getCurrentScript();\n/******/ \t        var isLocal = isLocalScript(script);\n/******/\n/******/ \t        var src = __jsonpScriptSrc__(chunkId);\n/******/\n/******/ \t        if(!isLocal) {\n/******/ \t            return src;\n/******/ \t        }\n/******/\n/******/ \t        var srcFragments = src.split('/');\n/******/ \t        var fileFragments = srcFragments.slice(-1)[0].split('.');\n/******/\n/******/ \t        fileFragments.splice(1, 0, \"v0_5_1m1634418925\");\n/******/ \t        srcFragments.splice(-1, 1, fileFragments.join('.'))\n/******/\n/******/ \t        return srcFragments.join('/');\n/******/ \t    };\n/******/ \t}\n/******/\n/******/\n/******/ \tvar jsonpArray = window[\"webpackJsonpdash_daq\"] = window[\"webpackJsonpdash_daq\"] || [];\n/******/ \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n/******/ \tjsonpArray.push = webpackJsonpCallback;\n/******/ \tjsonpArray = jsonpArray.slice();\n/******/ \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n/******/ \tvar parentJsonpFunction = oldJsonpFunction;\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./src/index.js\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js\":\n/*!*******************************************************************************!*\\\n  !*** ./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js ***!\n  \\*******************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _emotion_memoize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/memoize */ \"./node_modules/@emotion/memoize/dist/memoize.browser.esm.js\");\n\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|itemProp|itemScope|itemType|itemID|itemRef|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar index = Object(_emotion_memoize__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (prop) {\n  return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n  /* o */\n  && prop.charCodeAt(1) === 110\n  /* n */\n  && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (index);\n\n\n/***/ }),\n\n/***/ \"./node_modules/@emotion/memoize/dist/memoize.browser.esm.js\":\n/*!*******************************************************************!*\\\n  !*** ./node_modules/@emotion/memoize/dist/memoize.browser.esm.js ***!\n  \\*******************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\nfunction memoize(fn) {\n  var cache = {};\n  return function (arg) {\n    if (cache[arg] === undefined) cache[arg] = fn(arg);\n    return cache[arg];\n  };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (memoize);\n\n\n/***/ }),\n\n/***/ \"./node_modules/@emotion/unitless/dist/unitless.browser.esm.js\":\n/*!*********************************************************************!*\\\n  !*** ./node_modules/@emotion/unitless/dist/unitless.browser.esm.js ***!\n  \\*********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\nvar unitlessKeys = {\n  animationIterationCount: 1,\n  borderImageOutset: 1,\n  borderImageSlice: 1,\n  borderImageWidth: 1,\n  boxFlex: 1,\n  boxFlexGroup: 1,\n  boxOrdinalGroup: 1,\n  columnCount: 1,\n  columns: 1,\n  flex: 1,\n  flexGrow: 1,\n  flexPositive: 1,\n  flexShrink: 1,\n  flexNegative: 1,\n  flexOrder: 1,\n  gridRow: 1,\n  gridRowEnd: 1,\n  gridRowSpan: 1,\n  gridRowStart: 1,\n  gridColumn: 1,\n  gridColumnEnd: 1,\n  gridColumnSpan: 1,\n  gridColumnStart: 1,\n  msGridRow: 1,\n  msGridRowSpan: 1,\n  msGridColumn: 1,\n  msGridColumnSpan: 1,\n  fontWeight: 1,\n  lineHeight: 1,\n  opacity: 1,\n  order: 1,\n  orphans: 1,\n  tabSize: 1,\n  widows: 1,\n  zIndex: 1,\n  zoom: 1,\n  WebkitLineClamp: 1,\n  // SVG-related properties\n  fillOpacity: 1,\n  floodOpacity: 1,\n  stopOpacity: 1,\n  strokeDasharray: 1,\n  strokeDashoffset: 1,\n  strokeMiterlimit: 1,\n  strokeOpacity: 1,\n  strokeWidth: 1\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (unitlessKeys);\n\n\n/***/ }),\n\n/***/ \"./node_modules/add-dom-event-listener/lib/EventBaseObject.js\":\n/*!********************************************************************!*\\\n  !*** ./node_modules/add-dom-event-listener/lib/EventBaseObject.js ***!\n  \\********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * @ignore\n * base event object for custom and dom event.\n * @author yiminghe@gmail.com\n */\n\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nfunction returnFalse() {\n  return false;\n}\n\nfunction returnTrue() {\n  return true;\n}\n\nfunction EventBaseObject() {\n  this.timeStamp = Date.now();\n  this.target = undefined;\n  this.currentTarget = undefined;\n}\n\nEventBaseObject.prototype = {\n  isEventObject: 1,\n\n  constructor: EventBaseObject,\n\n  isDefaultPrevented: returnFalse,\n\n  isPropagationStopped: returnFalse,\n\n  isImmediatePropagationStopped: returnFalse,\n\n  preventDefault: function preventDefault() {\n    this.isDefaultPrevented = returnTrue;\n  },\n\n  stopPropagation: function stopPropagation() {\n    this.isPropagationStopped = returnTrue;\n  },\n\n  stopImmediatePropagation: function stopImmediatePropagation() {\n    this.isImmediatePropagationStopped = returnTrue;\n    // fixed 1.2\n    // call stopPropagation implicitly\n    this.stopPropagation();\n  },\n\n  halt: function halt(immediate) {\n    if (immediate) {\n      this.stopImmediatePropagation();\n    } else {\n      this.stopPropagation();\n    }\n    this.preventDefault();\n  }\n};\n\nexports[\"default\"] = EventBaseObject;\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n\n/***/ \"./node_modules/add-dom-event-listener/lib/EventObject.js\":\n/*!****************************************************************!*\\\n  !*** ./node_modules/add-dom-event-listener/lib/EventObject.js ***!\n  \\****************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * @ignore\n * event object for dom\n * @author yiminghe@gmail.com\n */\n\n\n\nObject.defineProperty(exports, '__esModule', {\n  value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _EventBaseObject = __webpack_require__(/*! ./EventBaseObject */ \"./node_modules/add-dom-event-listener/lib/EventBaseObject.js\");\n\nvar _EventBaseObject2 = _interopRequireDefault(_EventBaseObject);\n\nvar _objectAssign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nvar TRUE = true;\nvar FALSE = false;\nvar commonProps = ['altKey', 'bubbles', 'cancelable', 'ctrlKey', 'currentTarget', 'eventPhase', 'metaKey', 'shiftKey', 'target', 'timeStamp', 'view', 'type'];\n\nfunction isNullOrUndefined(w) {\n  return w === null || w === undefined;\n}\n\nvar eventNormalizers = [{\n  reg: /^key/,\n  props: ['char', 'charCode', 'key', 'keyCode', 'which'],\n  fix: function fix(event, nativeEvent) {\n    if (isNullOrUndefined(event.which)) {\n      event.which = !isNullOrUndefined(nativeEvent.charCode) ? nativeEvent.charCode : nativeEvent.keyCode;\n    }\n\n    // add metaKey to non-Mac browsers (use ctrl for PC 's and Meta for Macs)\n    if (event.metaKey === undefined) {\n      event.metaKey = event.ctrlKey;\n    }\n  }\n}, {\n  reg: /^touch/,\n  props: ['touches', 'changedTouches', 'targetTouches']\n}, {\n  reg: /^hashchange$/,\n  props: ['newURL', 'oldURL']\n}, {\n  reg: /^gesturechange$/i,\n  props: ['rotation', 'scale']\n}, {\n  reg: /^(mousewheel|DOMMouseScroll)$/,\n  props: [],\n  fix: function fix(event, nativeEvent) {\n    var deltaX = undefined;\n    var deltaY = undefined;\n    var delta = undefined;\n    var wheelDelta = nativeEvent.wheelDelta;\n    var axis = nativeEvent.axis;\n    var wheelDeltaY = nativeEvent.wheelDeltaY;\n    var wheelDeltaX = nativeEvent.wheelDeltaX;\n    var detail = nativeEvent.detail;\n\n    // ie/webkit\n    if (wheelDelta) {\n      delta = wheelDelta / 120;\n    }\n\n    // gecko\n    if (detail) {\n      // press control e.detail == 1 else e.detail == 3\n      delta = 0 - (detail % 3 === 0 ? detail / 3 : detail);\n    }\n\n    // Gecko\n    if (axis !== undefined) {\n      if (axis === event.HORIZONTAL_AXIS) {\n        deltaY = 0;\n        deltaX = 0 - delta;\n      } else if (axis === event.VERTICAL_AXIS) {\n        deltaX = 0;\n        deltaY = delta;\n      }\n    }\n\n    // Webkit\n    if (wheelDeltaY !== undefined) {\n      deltaY = wheelDeltaY / 120;\n    }\n    if (wheelDeltaX !== undefined) {\n      deltaX = -1 * wheelDeltaX / 120;\n    }\n\n    // 默认 deltaY (ie)\n    if (!deltaX && !deltaY) {\n      deltaY = delta;\n    }\n\n    if (deltaX !== undefined) {\n      /**\n       * deltaX of mousewheel event\n       * @property deltaX\n       * @member Event.DomEvent.Object\n       */\n      event.deltaX = deltaX;\n    }\n\n    if (deltaY !== undefined) {\n      /**\n       * deltaY of mousewheel event\n       * @property deltaY\n       * @member Event.DomEvent.Object\n       */\n      event.deltaY = deltaY;\n    }\n\n    if (delta !== undefined) {\n      /**\n       * delta of mousewheel event\n       * @property delta\n       * @member Event.DomEvent.Object\n       */\n      event.delta = delta;\n    }\n  }\n}, {\n  reg: /^mouse|contextmenu|click|mspointer|(^DOMMouseScroll$)/i,\n  props: ['buttons', 'clientX', 'clientY', 'button', 'offsetX', 'relatedTarget', 'which', 'fromElement', 'toElement', 'offsetY', 'pageX', 'pageY', 'screenX', 'screenY'],\n  fix: function fix(event, nativeEvent) {\n    var eventDoc = undefined;\n    var doc = undefined;\n    var body = undefined;\n    var target = event.target;\n    var button = nativeEvent.button;\n\n    // Calculate pageX/Y if missing and clientX/Y available\n    if (target && isNullOrUndefined(event.pageX) && !isNullOrUndefined(nativeEvent.clientX)) {\n      eventDoc = target.ownerDocument || document;\n      doc = eventDoc.documentElement;\n      body = eventDoc.body;\n      event.pageX = nativeEvent.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);\n      event.pageY = nativeEvent.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);\n    }\n\n    // which for click: 1 === left; 2 === middle; 3 === right\n    // do not use button\n    if (!event.which && button !== undefined) {\n      if (button & 1) {\n        event.which = 1;\n      } else if (button & 2) {\n        event.which = 3;\n      } else if (button & 4) {\n        event.which = 2;\n      } else {\n        event.which = 0;\n      }\n    }\n\n    // add relatedTarget, if necessary\n    if (!event.relatedTarget && event.fromElement) {\n      event.relatedTarget = event.fromElement === target ? event.toElement : event.fromElement;\n    }\n\n    return event;\n  }\n}];\n\nfunction retTrue() {\n  return TRUE;\n}\n\nfunction retFalse() {\n  return FALSE;\n}\n\nfunction DomEventObject(nativeEvent) {\n  var type = nativeEvent.type;\n\n  var isNative = typeof nativeEvent.stopPropagation === 'function' || typeof nativeEvent.cancelBubble === 'boolean';\n\n  _EventBaseObject2['default'].call(this);\n\n  this.nativeEvent = nativeEvent;\n\n  // in case dom event has been mark as default prevented by lower dom node\n  var isDefaultPrevented = retFalse;\n  if ('defaultPrevented' in nativeEvent) {\n    isDefaultPrevented = nativeEvent.defaultPrevented ? retTrue : retFalse;\n  } else if ('getPreventDefault' in nativeEvent) {\n    // https://bugzilla.mozilla.org/show_bug.cgi?id=691151\n    isDefaultPrevented = nativeEvent.getPreventDefault() ? retTrue : retFalse;\n  } else if ('returnValue' in nativeEvent) {\n    isDefaultPrevented = nativeEvent.returnValue === FALSE ? retTrue : retFalse;\n  }\n\n  this.isDefaultPrevented = isDefaultPrevented;\n\n  var fixFns = [];\n  var fixFn = undefined;\n  var l = undefined;\n  var prop = undefined;\n  var props = commonProps.concat();\n\n  eventNormalizers.forEach(function (normalizer) {\n    if (type.match(normalizer.reg)) {\n      props = props.concat(normalizer.props);\n      if (normalizer.fix) {\n        fixFns.push(normalizer.fix);\n      }\n    }\n  });\n\n  l = props.length;\n\n  // clone properties of the original event object\n  while (l) {\n    prop = props[--l];\n    this[prop] = nativeEvent[prop];\n  }\n\n  // fix target property, if necessary\n  if (!this.target && isNative) {\n    this.target = nativeEvent.srcElement || document; // srcElement might not be defined either\n  }\n\n  // check if target is a text node (safari)\n  if (this.target && this.target.nodeType === 3) {\n    this.target = this.target.parentNode;\n  }\n\n  l = fixFns.length;\n\n  while (l) {\n    fixFn = fixFns[--l];\n    fixFn(this, nativeEvent);\n  }\n\n  this.timeStamp = nativeEvent.timeStamp || Date.now();\n}\n\nvar EventBaseObjectProto = _EventBaseObject2['default'].prototype;\n\n(0, _objectAssign2['default'])(DomEventObject.prototype, EventBaseObjectProto, {\n  constructor: DomEventObject,\n\n  preventDefault: function preventDefault() {\n    var e = this.nativeEvent;\n\n    // if preventDefault exists run it on the original event\n    if (e.preventDefault) {\n      e.preventDefault();\n    } else {\n      // otherwise set the returnValue property of the original event to FALSE (IE)\n      e.returnValue = FALSE;\n    }\n\n    EventBaseObjectProto.preventDefault.call(this);\n  },\n\n  stopPropagation: function stopPropagation() {\n    var e = this.nativeEvent;\n\n    // if stopPropagation exists run it on the original event\n    if (e.stopPropagation) {\n      e.stopPropagation();\n    } else {\n      // otherwise set the cancelBubble property of the original event to TRUE (IE)\n      e.cancelBubble = TRUE;\n    }\n\n    EventBaseObjectProto.stopPropagation.call(this);\n  }\n});\n\nexports['default'] = DomEventObject;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ \"./node_modules/add-dom-event-listener/lib/index.js\":\n/*!**********************************************************!*\\\n  !*** ./node_modules/add-dom-event-listener/lib/index.js ***!\n  \\**********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, '__esModule', {\n  value: true\n});\nexports['default'] = addEventListener;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _EventObject = __webpack_require__(/*! ./EventObject */ \"./node_modules/add-dom-event-listener/lib/EventObject.js\");\n\nvar _EventObject2 = _interopRequireDefault(_EventObject);\n\nfunction addEventListener(target, eventType, callback, option) {\n  function wrapCallback(e) {\n    var ne = new _EventObject2['default'](e);\n    callback.call(target, ne);\n  }\n\n  if (target.addEventListener) {\n    var _ret = (function () {\n      var useCapture = false;\n      if (typeof option === 'object') {\n        useCapture = option.capture || false;\n      } else if (typeof option === 'boolean') {\n        useCapture = option;\n      }\n\n      target.addEventListener(eventType, wrapCallback, option || false);\n\n      return {\n        v: {\n          remove: function remove() {\n            target.removeEventListener(eventType, wrapCallback, useCapture);\n          }\n        }\n      };\n    })();\n\n    if (typeof _ret === 'object') return _ret.v;\n  } else if (target.attachEvent) {\n    target.attachEvent('on' + eventType, wrapCallback);\n    return {\n      remove: function remove() {\n        target.detachEvent('on' + eventType, wrapCallback);\n      }\n    };\n  }\n}\n\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/core-js/array/from.js\":\n/*!**********************************************************!*\\\n  !*** ./node_modules/babel-runtime/core-js/array/from.js ***!\n  \\**********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/array/from */ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/array/from.js\"), __esModule: true };\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/core-js/object/assign.js\":\n/*!*************************************************************!*\\\n  !*** ./node_modules/babel-runtime/core-js/object/assign.js ***!\n  \\*************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/object/assign */ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/object/assign.js\"), __esModule: true };\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/core-js/object/create.js\":\n/*!*************************************************************!*\\\n  !*** ./node_modules/babel-runtime/core-js/object/create.js ***!\n  \\*************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/object/create */ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/object/create.js\"), __esModule: true };\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/core-js/object/define-property.js\":\n/*!**********************************************************************!*\\\n  !*** ./node_modules/babel-runtime/core-js/object/define-property.js ***!\n  \\**********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/object/define-property */ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/object/define-property.js\"), __esModule: true };\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/core-js/object/get-own-property-descriptor.js\":\n/*!**********************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/core-js/object/get-own-property-descriptor.js ***!\n  \\**********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/object/get-own-property-descriptor */ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/object/get-own-property-descriptor.js\"), __esModule: true };\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/core-js/object/get-prototype-of.js\":\n/*!***********************************************************************!*\\\n  !*** ./node_modules/babel-runtime/core-js/object/get-prototype-of.js ***!\n  \\***********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/object/get-prototype-of */ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/object/get-prototype-of.js\"), __esModule: true };\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/core-js/object/set-prototype-of.js\":\n/*!***********************************************************************!*\\\n  !*** ./node_modules/babel-runtime/core-js/object/set-prototype-of.js ***!\n  \\***********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/object/set-prototype-of */ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/object/set-prototype-of.js\"), __esModule: true };\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/core-js/symbol.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/babel-runtime/core-js/symbol.js ***!\n  \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/symbol */ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/index.js\"), __esModule: true };\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/core-js/symbol/iterator.js\":\n/*!***************************************************************!*\\\n  !*** ./node_modules/babel-runtime/core-js/symbol/iterator.js ***!\n  \\***************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(/*! core-js/library/fn/symbol/iterator */ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/iterator.js\"), __esModule: true };\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/helpers/classCallCheck.js\":\n/*!**************************************************************!*\\\n  !*** ./node_modules/babel-runtime/helpers/classCallCheck.js ***!\n  \\**************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n};\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/helpers/createClass.js\":\n/*!***********************************************************!*\\\n  !*** ./node_modules/babel-runtime/helpers/createClass.js ***!\n  \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(/*! ../core-js/object/define-property */ \"./node_modules/babel-runtime/core-js/object/define-property.js\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n  function defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n      var descriptor = props[i];\n      descriptor.enumerable = descriptor.enumerable || false;\n      descriptor.configurable = true;\n      if (\"value\" in descriptor) descriptor.writable = true;\n      (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n    }\n  }\n\n  return function (Constructor, protoProps, staticProps) {\n    if (protoProps) defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) defineProperties(Constructor, staticProps);\n    return Constructor;\n  };\n}();\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/helpers/defineProperty.js\":\n/*!**************************************************************!*\\\n  !*** ./node_modules/babel-runtime/helpers/defineProperty.js ***!\n  \\**************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(/*! ../core-js/object/define-property */ \"./node_modules/babel-runtime/core-js/object/define-property.js\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/helpers/extends.js\":\n/*!*******************************************************!*\\\n  !*** ./node_modules/babel-runtime/helpers/extends.js ***!\n  \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _assign = __webpack_require__(/*! ../core-js/object/assign */ \"./node_modules/babel-runtime/core-js/object/assign.js\");\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _assign2.default || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/helpers/get.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/babel-runtime/helpers/get.js ***!\n  \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _getPrototypeOf = __webpack_require__(/*! ../core-js/object/get-prototype-of */ \"./node_modules/babel-runtime/core-js/object/get-prototype-of.js\");\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _getOwnPropertyDescriptor = __webpack_require__(/*! ../core-js/object/get-own-property-descriptor */ \"./node_modules/babel-runtime/core-js/object/get-own-property-descriptor.js\");\n\nvar _getOwnPropertyDescriptor2 = _interopRequireDefault(_getOwnPropertyDescriptor);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function get(object, property, receiver) {\n  if (object === null) object = Function.prototype;\n  var desc = (0, _getOwnPropertyDescriptor2.default)(object, property);\n\n  if (desc === undefined) {\n    var parent = (0, _getPrototypeOf2.default)(object);\n\n    if (parent === null) {\n      return undefined;\n    } else {\n      return get(parent, property, receiver);\n    }\n  } else if (\"value\" in desc) {\n    return desc.value;\n  } else {\n    var getter = desc.get;\n\n    if (getter === undefined) {\n      return undefined;\n    }\n\n    return getter.call(receiver);\n  }\n};\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/helpers/inherits.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/babel-runtime/helpers/inherits.js ***!\n  \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = __webpack_require__(/*! ../core-js/object/set-prototype-of */ \"./node_modules/babel-runtime/core-js/object/set-prototype-of.js\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = __webpack_require__(/*! ../core-js/object/create */ \"./node_modules/babel-runtime/core-js/object/create.js\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = __webpack_require__(/*! ../helpers/typeof */ \"./node_modules/babel-runtime/helpers/typeof.js\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n  if (typeof superClass !== \"function\" && superClass !== null) {\n    throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n  }\n\n  subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n    constructor: {\n      value: subClass,\n      enumerable: false,\n      writable: true,\n      configurable: true\n    }\n  });\n  if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/helpers/objectWithoutProperties.js\":\n/*!***********************************************************************!*\\\n  !*** ./node_modules/babel-runtime/helpers/objectWithoutProperties.js ***!\n  \\***********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nexports.default = function (obj, keys) {\n  var target = {};\n\n  for (var i in obj) {\n    if (keys.indexOf(i) >= 0) continue;\n    if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n    target[i] = obj[i];\n  }\n\n  return target;\n};\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/helpers/possibleConstructorReturn.js\":\n/*!*************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/helpers/possibleConstructorReturn.js ***!\n  \\*************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _typeof2 = __webpack_require__(/*! ../helpers/typeof */ \"./node_modules/babel-runtime/helpers/typeof.js\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n  if (!self) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n\n  return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/helpers/toConsumableArray.js\":\n/*!*****************************************************************!*\\\n  !*** ./node_modules/babel-runtime/helpers/toConsumableArray.js ***!\n  \\*****************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _from = __webpack_require__(/*! ../core-js/array/from */ \"./node_modules/babel-runtime/core-js/array/from.js\");\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n      arr2[i] = arr[i];\n    }\n\n    return arr2;\n  } else {\n    return (0, _from2.default)(arr);\n  }\n};\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/helpers/typeof.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/babel-runtime/helpers/typeof.js ***!\n  \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(/*! ../core-js/symbol/iterator */ \"./node_modules/babel-runtime/core-js/symbol/iterator.js\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(/*! ../core-js/symbol */ \"./node_modules/babel-runtime/core-js/symbol.js\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/array/from.js\":\n/*!**********************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/array/from.js ***!\n  \\**********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ../../modules/es6.string.iterator */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.string.iterator.js\");\n__webpack_require__(/*! ../../modules/es6.array.from */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.from.js\");\nmodule.exports = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\").Array.from;\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/object/assign.js\":\n/*!*************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/object/assign.js ***!\n  \\*************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ../../modules/es6.object.assign */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.assign.js\");\nmodule.exports = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\").Object.assign;\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/object/create.js\":\n/*!*************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/object/create.js ***!\n  \\*************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ../../modules/es6.object.create */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.create.js\");\nvar $Object = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\").Object;\nmodule.exports = function create(P, D) {\n  return $Object.create(P, D);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/object/define-property.js\":\n/*!**********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/object/define-property.js ***!\n  \\**********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ../../modules/es6.object.define-property */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.define-property.js\");\nvar $Object = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\").Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/object/get-own-property-descriptor.js\":\n/*!**********************************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/object/get-own-property-descriptor.js ***!\n  \\**********************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ../../modules/es6.object.get-own-property-descriptor */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js\");\nvar $Object = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\").Object;\nmodule.exports = function getOwnPropertyDescriptor(it, key) {\n  return $Object.getOwnPropertyDescriptor(it, key);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/object/get-prototype-of.js\":\n/*!***********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/object/get-prototype-of.js ***!\n  \\***********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ../../modules/es6.object.get-prototype-of */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.get-prototype-of.js\");\nmodule.exports = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\").Object.getPrototypeOf;\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/object/set-prototype-of.js\":\n/*!***********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/object/set-prototype-of.js ***!\n  \\***********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ../../modules/es6.object.set-prototype-of */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.set-prototype-of.js\");\nmodule.exports = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\").Object.setPrototypeOf;\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/index.js\":\n/*!************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/index.js ***!\n  \\************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ../../modules/es6.symbol */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js\");\n__webpack_require__(/*! ../../modules/es6.object.to-string */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.to-string.js\");\n__webpack_require__(/*! ../../modules/es7.symbol.async-iterator */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.async-iterator.js\");\n__webpack_require__(/*! ../../modules/es7.symbol.observable */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.observable.js\");\nmodule.exports = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\").Symbol;\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/iterator.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/iterator.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ../../modules/es6.string.iterator */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.string.iterator.js\");\n__webpack_require__(/*! ../../modules/web.dom.iterable */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js\");\nmodule.exports = __webpack_require__(/*! ../../modules/_wks-ext */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js\").f('iterator');\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_a-function.js\":\n/*!****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_a-function.js ***!\n  \\****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_add-to-unscopables.js\":\n/*!************************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_add-to-unscopables.js ***!\n  \\************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js\");\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_array-includes.js\":\n/*!********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_array-includes.js ***!\n  \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js\");\nvar toLength = __webpack_require__(/*! ./_to-length */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-length.js\");\nvar toAbsoluteIndex = __webpack_require__(/*! ./_to-absolute-index */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-absolute-index.js\");\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_classof.js\":\n/*!*************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_classof.js ***!\n  \\*************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(/*! ./_cof */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_cof.js\");\nvar TAG = __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\")('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_cof.js\":\n/*!*********************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_cof.js ***!\n  \\*********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\":\n/*!**********************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js ***!\n  \\**********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.6.9' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_create-property.js\":\n/*!*********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_create-property.js ***!\n  \\*********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $defineProperty = __webpack_require__(/*! ./_object-dp */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js\");\nvar createDesc = __webpack_require__(/*! ./_property-desc */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js\");\n\nmodule.exports = function (object, index, value) {\n  if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n  else object[index] = value;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_ctx.js\":\n/*!*********************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_ctx.js ***!\n  \\*********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(/*! ./_a-function */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_a-function.js\");\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_defined.js\":\n/*!*************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_defined.js ***!\n  \\*************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js\":\n/*!*****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js ***!\n  \\*****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(/*! ./_fails */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js\")(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_dom-create.js\":\n/*!****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_dom-create.js ***!\n  \\****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js\");\nvar document = __webpack_require__(/*! ./_global */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\").document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js\":\n/*!*******************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js ***!\n  \\*******************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-keys.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-keys.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(/*! ./_object-keys */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js\");\nvar gOPS = __webpack_require__(/*! ./_object-gops */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js\");\nvar pIE = __webpack_require__(/*! ./_object-pie */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js\");\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js\":\n/*!************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js ***!\n  \\************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(/*! ./_global */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\");\nvar core = __webpack_require__(/*! ./_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\");\nvar ctx = __webpack_require__(/*! ./_ctx */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_ctx.js\");\nvar hide = __webpack_require__(/*! ./_hide */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js\");\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js\");\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js\":\n/*!***********************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js ***!\n  \\***********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\":\n/*!************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js ***!\n  \\************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js\":\n/*!*********************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js ***!\n  \\*********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js\":\n/*!**********************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js ***!\n  \\**********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(/*! ./_object-dp */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js\");\nvar createDesc = __webpack_require__(/*! ./_property-desc */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js\");\nmodule.exports = __webpack_require__(/*! ./_descriptors */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js\") ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_html.js\":\n/*!**********************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_html.js ***!\n  \\**********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(/*! ./_global */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\").document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_ie8-dom-define.js\":\n/*!********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_ie8-dom-define.js ***!\n  \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(/*! ./_descriptors */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js\") && !__webpack_require__(/*! ./_fails */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js\")(function () {\n  return Object.defineProperty(__webpack_require__(/*! ./_dom-create */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_dom-create.js\")('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iobject.js\":\n/*!*************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_iobject.js ***!\n  \\*************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(/*! ./_cof */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_cof.js\");\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array-iter.js\":\n/*!*******************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array-iter.js ***!\n  \\*******************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(/*! ./_iterators */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js\");\nvar ITERATOR = __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\")('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array.js\":\n/*!**************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array.js ***!\n  \\**************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(/*! ./_cof */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_cof.js\");\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-call.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-call.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js\");\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-create.js\":\n/*!*****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-create.js ***!\n  \\*****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(/*! ./_object-create */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js\");\nvar descriptor = __webpack_require__(/*! ./_property-desc */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js\");\nvar setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js\");\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(/*! ./_hide */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js\")(IteratorPrototype, __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\")('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js\":\n/*!*****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js ***!\n  \\*****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(/*! ./_library */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js\");\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js\");\nvar redefine = __webpack_require__(/*! ./_redefine */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_redefine.js\");\nvar hide = __webpack_require__(/*! ./_hide */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js\");\nvar Iterators = __webpack_require__(/*! ./_iterators */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js\");\nvar $iterCreate = __webpack_require__(/*! ./_iter-create */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-create.js\");\nvar setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js\");\nvar getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gpo.js\");\nvar ITERATOR = __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\")('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-detect.js\":\n/*!*****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-detect.js ***!\n  \\*****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\")('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-step.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-step.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js\":\n/*!*************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js ***!\n  \\*************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_meta.js\":\n/*!**********************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_meta.js ***!\n  \\**********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(/*! ./_uid */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js\")('meta');\nvar isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js\");\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js\");\nvar setDesc = __webpack_require__(/*! ./_object-dp */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js\").f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__webpack_require__(/*! ./_fails */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js\")(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js\":\n/*!*******************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js ***!\n  \\*******************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = __webpack_require__(/*! ./_descriptors */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js\");\nvar getKeys = __webpack_require__(/*! ./_object-keys */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js\");\nvar gOPS = __webpack_require__(/*! ./_object-gops */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js\");\nvar pIE = __webpack_require__(/*! ./_object-pie */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js\");\nvar toObject = __webpack_require__(/*! ./_to-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js\");\nvar IObject = __webpack_require__(/*! ./_iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iobject.js\");\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(/*! ./_fails */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js\")(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) {\n      key = keys[j++];\n      if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n    }\n  } return T;\n} : $assign;\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js\":\n/*!*******************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js ***!\n  \\*******************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js\");\nvar dPs = __webpack_require__(/*! ./_object-dps */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dps.js\");\nvar enumBugKeys = __webpack_require__(/*! ./_enum-bug-keys */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js\");\nvar IE_PROTO = __webpack_require__(/*! ./_shared-key */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js\")('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(/*! ./_dom-create */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_dom-create.js\")('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(/*! ./_html */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_html.js\").appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js\");\nvar IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_ie8-dom-define.js\");\nvar toPrimitive = __webpack_require__(/*! ./_to-primitive */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js\");\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(/*! ./_descriptors */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js\") ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dps.js\":\n/*!****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dps.js ***!\n  \\****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(/*! ./_object-dp */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js\");\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js\");\nvar getKeys = __webpack_require__(/*! ./_object-keys */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js\");\n\nmodule.exports = __webpack_require__(/*! ./_descriptors */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js\") ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js\":\n/*!*****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js ***!\n  \\*****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(/*! ./_object-pie */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js\");\nvar createDesc = __webpack_require__(/*! ./_property-desc */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js\");\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js\");\nvar toPrimitive = __webpack_require__(/*! ./_to-primitive */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js\");\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js\");\nvar IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_ie8-dom-define.js\");\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(/*! ./_descriptors */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js\") ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn-ext.js\":\n/*!*********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn-ext.js ***!\n  \\*********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js\");\nvar gOPN = __webpack_require__(/*! ./_object-gopn */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn.js\").f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn.js\":\n/*!*****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn.js ***!\n  \\*****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(/*! ./_object-keys-internal */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js\");\nvar hiddenKeys = __webpack_require__(/*! ./_enum-bug-keys */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js\").concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js\":\n/*!*****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js ***!\n  \\*****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gpo.js\":\n/*!****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gpo.js ***!\n  \\****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js\");\nvar toObject = __webpack_require__(/*! ./_to-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js\");\nvar IE_PROTO = __webpack_require__(/*! ./_shared-key */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js\")('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js\":\n/*!**************************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js ***!\n  \\**************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js\");\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js\");\nvar arrayIndexOf = __webpack_require__(/*! ./_array-includes */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_array-includes.js\")(false);\nvar IE_PROTO = __webpack_require__(/*! ./_shared-key */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js\")('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js\":\n/*!*****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js ***!\n  \\*****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(/*! ./_object-keys-internal */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js\");\nvar enumBugKeys = __webpack_require__(/*! ./_enum-bug-keys */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js\");\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js\":\n/*!****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js ***!\n  \\****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-sap.js\":\n/*!****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-sap.js ***!\n  \\****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js\");\nvar core = __webpack_require__(/*! ./_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\");\nvar fails = __webpack_require__(/*! ./_fails */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js\");\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js\":\n/*!*******************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js ***!\n  \\*******************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_redefine.js\":\n/*!**************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_redefine.js ***!\n  \\**************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! ./_hide */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js\");\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-proto.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-proto.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js\");\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js\");\nvar check = function (O, proto) {\n  anObject(O);\n  if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n  set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n    function (test, buggy, set) {\n      try {\n        set = __webpack_require__(/*! ./_ctx */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_ctx.js\")(Function.call, __webpack_require__(/*! ./_object-gopd */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js\").f(Object.prototype, '__proto__').set, 2);\n        set(test, []);\n        buggy = !(test instanceof Array);\n      } catch (e) { buggy = true; }\n      return function setPrototypeOf(O, proto) {\n        check(O, proto);\n        if (buggy) O.__proto__ = proto;\n        else set(O, proto);\n        return O;\n      };\n    }({}, false) : undefined),\n  check: check\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js\":\n/*!***********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js ***!\n  \\***********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(/*! ./_object-dp */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js\").f;\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js\");\nvar TAG = __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\")('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js\":\n/*!****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js ***!\n  \\****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(/*! ./_shared */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js\")('keys');\nvar uid = __webpack_require__(/*! ./_uid */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js\");\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js\":\n/*!************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js ***!\n  \\************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(/*! ./_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\");\nvar global = __webpack_require__(/*! ./_global */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\");\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(/*! ./_library */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js\") ? 'pure' : 'global',\n  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_string-at.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_string-at.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(/*! ./_to-integer */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js\");\nvar defined = __webpack_require__(/*! ./_defined */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_defined.js\");\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-absolute-index.js\":\n/*!***********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-absolute-index.js ***!\n  \\***********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(/*! ./_to-integer */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js\");\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js\":\n/*!****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js ***!\n  \\****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js\":\n/*!****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js ***!\n  \\****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(/*! ./_iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iobject.js\");\nvar defined = __webpack_require__(/*! ./_defined */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_defined.js\");\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-length.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-length.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(/*! ./_to-integer */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js\");\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(/*! ./_defined */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_defined.js\");\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js\":\n/*!******************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js ***!\n  \\******************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js\");\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js\":\n/*!*********************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js ***!\n  \\*********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js\":\n/*!****************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js ***!\n  \\****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(/*! ./_global */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\");\nvar core = __webpack_require__(/*! ./_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\");\nvar LIBRARY = __webpack_require__(/*! ./_library */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js\");\nvar wksExt = __webpack_require__(/*! ./_wks-ext */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js\");\nvar defineProperty = __webpack_require__(/*! ./_object-dp */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js\").f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js\":\n/*!*************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js ***!\n  \\*************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\");\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\":\n/*!*********************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js ***!\n  \\*********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(/*! ./_shared */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js\")('wks');\nvar uid = __webpack_require__(/*! ./_uid */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js\");\nvar Symbol = __webpack_require__(/*! ./_global */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\").Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/core.get-iterator-method.js\":\n/*!*****************************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/core.get-iterator-method.js ***!\n  \\*****************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(/*! ./_classof */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_classof.js\");\nvar ITERATOR = __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\")('iterator');\nvar Iterators = __webpack_require__(/*! ./_iterators */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js\");\nmodule.exports = __webpack_require__(/*! ./_core */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js\").getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.from.js\":\n/*!*******************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.from.js ***!\n  \\*******************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ctx = __webpack_require__(/*! ./_ctx */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_ctx.js\");\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js\");\nvar toObject = __webpack_require__(/*! ./_to-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js\");\nvar call = __webpack_require__(/*! ./_iter-call */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-call.js\");\nvar isArrayIter = __webpack_require__(/*! ./_is-array-iter */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array-iter.js\");\nvar toLength = __webpack_require__(/*! ./_to-length */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-length.js\");\nvar createProperty = __webpack_require__(/*! ./_create-property */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_create-property.js\");\nvar getIterFn = __webpack_require__(/*! ./core.get-iterator-method */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/core.get-iterator-method.js\");\n\n$export($export.S + $export.F * !__webpack_require__(/*! ./_iter-detect */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-detect.js\")(function (iter) { Array.from(iter); }), 'Array', {\n  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n    var O = toObject(arrayLike);\n    var C = typeof this == 'function' ? this : Array;\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var index = 0;\n    var iterFn = getIterFn(O);\n    var length, result, step, iterator;\n    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n    // if object isn't iterable or it's array with default iterator - use simple case\n    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n      }\n    } else {\n      length = toLength(O.length);\n      for (result = new C(length); length > index; index++) {\n        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n      }\n    }\n    result.length = index;\n    return result;\n  }\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.iterator.js\":\n/*!***********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.iterator.js ***!\n  \\***********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(/*! ./_add-to-unscopables */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_add-to-unscopables.js\");\nvar step = __webpack_require__(/*! ./_iter-step */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-step.js\");\nvar Iterators = __webpack_require__(/*! ./_iterators */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js\");\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js\");\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(/*! ./_iter-define */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js\")(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.assign.js\":\n/*!**********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.assign.js ***!\n  \\**********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js\");\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(/*! ./_object-assign */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js\") });\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.create.js\":\n/*!**********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.create.js ***!\n  \\**********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js\");\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: __webpack_require__(/*! ./_object-create */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js\") });\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.define-property.js\":\n/*!*******************************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.define-property.js ***!\n  \\*******************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js\");\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(/*! ./_descriptors */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js\"), 'Object', { defineProperty: __webpack_require__(/*! ./_object-dp */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js\").f });\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js\":\n/*!*******************************************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js ***!\n  \\*******************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js\");\nvar $getOwnPropertyDescriptor = __webpack_require__(/*! ./_object-gopd */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js\").f;\n\n__webpack_require__(/*! ./_object-sap */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-sap.js\")('getOwnPropertyDescriptor', function () {\n  return function getOwnPropertyDescriptor(it, key) {\n    return $getOwnPropertyDescriptor(toIObject(it), key);\n  };\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.get-prototype-of.js\":\n/*!********************************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.get-prototype-of.js ***!\n  \\********************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = __webpack_require__(/*! ./_to-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js\");\nvar $getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gpo.js\");\n\n__webpack_require__(/*! ./_object-sap */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-sap.js\")('getPrototypeOf', function () {\n  return function getPrototypeOf(it) {\n    return $getPrototypeOf(toObject(it));\n  };\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.set-prototype-of.js\":\n/*!********************************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.set-prototype-of.js ***!\n  \\********************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js\");\n$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(/*! ./_set-proto */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-proto.js\").set });\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.to-string.js\":\n/*!*************************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.to-string.js ***!\n  \\*************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.string.iterator.js\":\n/*!************************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.string.iterator.js ***!\n  \\************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(/*! ./_string-at */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_string-at.js\")(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(/*! ./_iter-define */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js\")(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(/*! ./_global */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\");\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js\");\nvar DESCRIPTORS = __webpack_require__(/*! ./_descriptors */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js\");\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js\");\nvar redefine = __webpack_require__(/*! ./_redefine */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_redefine.js\");\nvar META = __webpack_require__(/*! ./_meta */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_meta.js\").KEY;\nvar $fails = __webpack_require__(/*! ./_fails */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js\");\nvar shared = __webpack_require__(/*! ./_shared */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js\");\nvar setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js\");\nvar uid = __webpack_require__(/*! ./_uid */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js\");\nvar wks = __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\");\nvar wksExt = __webpack_require__(/*! ./_wks-ext */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js\");\nvar wksDefine = __webpack_require__(/*! ./_wks-define */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js\");\nvar enumKeys = __webpack_require__(/*! ./_enum-keys */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-keys.js\");\nvar isArray = __webpack_require__(/*! ./_is-array */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array.js\");\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js\");\nvar isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js\");\nvar toObject = __webpack_require__(/*! ./_to-object */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js\");\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js\");\nvar toPrimitive = __webpack_require__(/*! ./_to-primitive */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js\");\nvar createDesc = __webpack_require__(/*! ./_property-desc */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js\");\nvar _create = __webpack_require__(/*! ./_object-create */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js\");\nvar gOPNExt = __webpack_require__(/*! ./_object-gopn-ext */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn-ext.js\");\nvar $GOPD = __webpack_require__(/*! ./_object-gopd */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js\");\nvar $GOPS = __webpack_require__(/*! ./_object-gops */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js\");\nvar $DP = __webpack_require__(/*! ./_object-dp */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js\");\nvar $keys = __webpack_require__(/*! ./_object-keys */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js\");\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  __webpack_require__(/*! ./_object-gopn */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn.js\").f = gOPNExt.f = $getOwnPropertyNames;\n  __webpack_require__(/*! ./_object-pie */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js\").f = $propertyIsEnumerable;\n  $GOPS.f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !__webpack_require__(/*! ./_library */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js\")) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n  getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n    return $GOPS.f(toObject(it));\n  }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(/*! ./_hide */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js\")($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.async-iterator.js\":\n/*!******************************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.async-iterator.js ***!\n  \\******************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ./_wks-define */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js\")('asyncIterator');\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.observable.js\":\n/*!**************************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.observable.js ***!\n  \\**************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ./_wks-define */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js\")('observable');\n\n\n/***/ }),\n\n/***/ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js\":\n/*!*********************************************************************************************!*\\\n  !*** ./node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js ***!\n  \\*********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ./es6.array.iterator */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.iterator.js\");\nvar global = __webpack_require__(/*! ./_global */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js\");\nvar hide = __webpack_require__(/*! ./_hide */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js\");\nvar Iterators = __webpack_require__(/*! ./_iterators */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js\");\nvar TO_STRING_TAG = __webpack_require__(/*! ./_wks */ \"./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js\")('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/classnames/index.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/classnames/index.js ***!\n  \\******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n  Copyright (c) 2017 Jed Watson.\n  Licensed under the MIT License (MIT), see\n  http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif ( true && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (true) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n\t\t\treturn classNames;\n\t\t}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else {}\n}());\n\n\n/***/ }),\n\n/***/ \"./node_modules/color-convert/conversions.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/color-convert/conversions.js ***!\n  \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* MIT license */\nvar cssKeywords = __webpack_require__(/*! color-name */ \"./node_modules/color-name/index.js\");\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n//       values that give correct `typeof` results).\n//       do not use box values types (i.e. Number(), String(), etc.)\n\nvar reverseKeywords = {};\nfor (var key in cssKeywords) {\n\tif (cssKeywords.hasOwnProperty(key)) {\n\t\treverseKeywords[cssKeywords[key]] = key;\n\t}\n}\n\nvar convert = module.exports = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\n// hide .channels and .labels properties\nfor (var model in convert) {\n\tif (convert.hasOwnProperty(model)) {\n\t\tif (!('channels' in convert[model])) {\n\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t}\n\n\t\tif (!('labels' in convert[model])) {\n\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t}\n\n\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t}\n\n\t\tvar channels = convert[model].channels;\n\t\tvar labels = convert[model].labels;\n\t\tdelete convert[model].channels;\n\t\tdelete convert[model].labels;\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t}\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar l;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tvar rdif;\n\tvar gdif;\n\tvar bdif;\n\tvar h;\n\tvar s;\n\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar v = Math.max(r, g, b);\n\tvar diff = v - Math.min(r, g, b);\n\tvar diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = s = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar h = convert.rgb.hsl(rgb)[0];\n\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar c;\n\tvar m;\n\tvar y;\n\tvar k;\n\n\tk = Math.min(1 - r, 1 - g, 1 - b);\n\tc = (1 - r - k) / (1 - k) || 0;\n\tm = (1 - g - k) / (1 - k) || 0;\n\ty = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\nfunction comparativeDistance(x, y) {\n\treturn (\n\t\tMath.pow(x[0] - y[0], 2) +\n\t\tMath.pow(x[1] - y[1], 2) +\n\t\tMath.pow(x[2] - y[2], 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tvar reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tvar currentClosestDistance = Infinity;\n\tvar currentClosestKeyword;\n\n\tfor (var keyword in cssKeywords) {\n\t\tif (cssKeywords.hasOwnProperty(keyword)) {\n\t\t\tvar value = cssKeywords[keyword];\n\n\t\t\t// Compute comparative distance\n\t\t\tvar distance = comparativeDistance(rgb, value);\n\n\t\t\t// Check if its less, if so set as closest\n\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tvar xyz = convert.rgb.xyz(rgb);\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tvar h = hsl[0] / 360;\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar t1;\n\tvar t2;\n\tvar t3;\n\tvar rgb;\n\tvar val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tt1 = 2 * l - t2;\n\n\trgb = [0, 0, 0];\n\tfor (var i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tvar h = hsl[0];\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar smin = s;\n\tvar lmin = Math.max(l, 0.01);\n\tvar sv;\n\tvar v;\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tv = (l + s) / 2;\n\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tvar h = hsv[0] / 60;\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar hi = Math.floor(h) % 6;\n\n\tvar f = h - Math.floor(h);\n\tvar p = 255 * v * (1 - s);\n\tvar q = 255 * v * (1 - (s * f));\n\tvar t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tvar h = hsv[0];\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar vmin = Math.max(v, 0.01);\n\tvar lmin;\n\tvar sl;\n\tvar l;\n\n\tl = (2 - s) * v;\n\tlmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tvar h = hwb[0] / 360;\n\tvar wh = hwb[1] / 100;\n\tvar bl = hwb[2] / 100;\n\tvar ratio = wh + bl;\n\tvar i;\n\tvar v;\n\tvar f;\n\tvar n;\n\n\t// wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\ti = Math.floor(6 * h);\n\tv = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tn = wh + f * (v - wh); // linear interpolation\n\n\tvar r;\n\tvar g;\n\tvar b;\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tvar c = cmyk[0] / 100;\n\tvar m = cmyk[1] / 100;\n\tvar y = cmyk[2] / 100;\n\tvar k = cmyk[3] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = 1 - Math.min(1, c * (1 - k) + k);\n\tg = 1 - Math.min(1, m * (1 - k) + k);\n\tb = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tvar x = xyz[0] / 100;\n\tvar y = xyz[1] / 100;\n\tvar z = xyz[2] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar x;\n\tvar y;\n\tvar z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tvar y2 = Math.pow(y, 3);\n\tvar x2 = Math.pow(x, 3);\n\tvar z2 = Math.pow(z, 3);\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar hr;\n\tvar h;\n\tvar c;\n\n\thr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tc = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tvar l = lch[0];\n\tvar c = lch[1];\n\tvar h = lch[2];\n\tvar a;\n\tvar b;\n\tvar hr;\n\n\thr = h / 360 * 2 * Math.PI;\n\ta = c * Math.cos(hr);\n\tb = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tvar ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\n\t// we use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tvar ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tvar color = args % 10;\n\n\t// handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tvar mult = (~~(args > 50) + 1) * 0.5;\n\tvar r = ((color & 1) * mult) * 255;\n\tvar g = (((color >> 1) & 1) * mult) * 255;\n\tvar b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// handle greyscale\n\tif (args >= 232) {\n\t\tvar c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tvar rem;\n\tvar r = Math.floor(args / 36) / 5 * 255;\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tvar b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tvar colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tvar integer = parseInt(colorString, 16);\n\tvar r = (integer >> 16) & 0xFF;\n\tvar g = (integer >> 8) & 0xFF;\n\tvar b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar max = Math.max(Math.max(r, g), b);\n\tvar min = Math.min(Math.min(r, g), b);\n\tvar chroma = (max - min);\n\tvar grayscale;\n\tvar hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma + 4;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar c = 1;\n\tvar f = 0;\n\n\tif (l < 0.5) {\n\t\tc = 2.0 * s * l;\n\t} else {\n\t\tc = 2.0 * s * (1.0 - l);\n\t}\n\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\n\tvar c = s * v;\n\tvar f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tvar h = hcg[0] / 360;\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tvar pure = [0, 0, 0];\n\tvar hi = (h % 1) * 6;\n\tvar v = hi % 1;\n\tvar w = 1 - v;\n\tvar mg = 0;\n\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar v = c + g * (1.0 - c);\n\tvar f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar l = g * (1.0 - c) + 0.5 * c;\n\tvar s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\tvar v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tvar w = hwb[1] / 100;\n\tvar b = hwb[2] / 100;\n\tvar v = 1 - b;\n\tvar c = v - w;\n\tvar g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = convert.gray.hsv = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tvar integer = (val << 16) + (val << 8) + val;\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/color-convert/index.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/color-convert/index.js ***!\n  \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar conversions = __webpack_require__(/*! ./conversions */ \"./node_modules/color-convert/conversions.js\");\nvar route = __webpack_require__(/*! ./route */ \"./node_modules/color-convert/route.js\");\n\nvar convert = {};\n\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\tvar result = fn(args);\n\n\t\t// we're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tvar routes = route(fromModel);\n\tvar routeModels = Object.keys(routes);\n\n\trouteModels.forEach(function (toModel) {\n\t\tvar fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n\n\n/***/ }),\n\n/***/ \"./node_modules/color-convert/route.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/color-convert/route.js ***!\n  \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar conversions = __webpack_require__(/*! ./conversions */ \"./node_modules/color-convert/conversions.js\");\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tvar graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tvar models = Object.keys(conversions);\n\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tvar graph = buildGraph();\n\tvar queue = [fromModel]; // unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tvar current = queue.pop();\n\t\tvar adjacents = Object.keys(conversions[current]);\n\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tvar adjacent = adjacents[i];\n\t\t\tvar node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tvar path = [graph[toModel].parent, toModel];\n\tvar fn = conversions[graph[toModel].parent][toModel];\n\n\tvar cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tvar graph = deriveBFS(fromModel);\n\tvar conversion = {};\n\n\tvar models = Object.keys(graph);\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tvar toModel = models[i];\n\t\tvar node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// no possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/color-name/index.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/color-name/index.js ***!\n  \\******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n\n\n/***/ }),\n\n/***/ \"./node_modules/color-string/index.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/color-string/index.js ***!\n  \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* MIT license */\nvar colorNames = __webpack_require__(/*! color-name */ \"./node_modules/color-name/index.js\");\nvar swizzle = __webpack_require__(/*! simple-swizzle */ \"./node_modules/simple-swizzle/index.js\");\n\nvar reverseNames = {};\n\n// create a list of reverse color names\nfor (var name in colorNames) {\n\tif (colorNames.hasOwnProperty(name)) {\n\t\treverseNames[colorNames[name]] = name;\n\t}\n}\n\nvar cs = module.exports = {\n\tto: {},\n\tget: {}\n};\n\ncs.get = function (string) {\n\tvar prefix = string.substring(0, 3).toLowerCase();\n\tvar val;\n\tvar model;\n\tswitch (prefix) {\n\t\tcase 'hsl':\n\t\t\tval = cs.get.hsl(string);\n\t\t\tmodel = 'hsl';\n\t\t\tbreak;\n\t\tcase 'hwb':\n\t\t\tval = cs.get.hwb(string);\n\t\t\tmodel = 'hwb';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tval = cs.get.rgb(string);\n\t\t\tmodel = 'rgb';\n\t\t\tbreak;\n\t}\n\n\tif (!val) {\n\t\treturn null;\n\t}\n\n\treturn {model: model, value: val};\n};\n\ncs.get.rgb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar abbr = /^#([a-f0-9]{3,4})$/i;\n\tvar hex = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i;\n\tvar rgba = /^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\tvar per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\tvar keyword = /(\\D+)/;\n\n\tvar rgb = [0, 0, 0, 1];\n\tvar match;\n\tvar i;\n\tvar hexAlpha;\n\n\tif (match = string.match(hex)) {\n\t\thexAlpha = match[2];\n\t\tmatch = match[1];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\t// https://jsperf.com/slice-vs-substr-vs-substring-methods-long-string/19\n\t\t\tvar i2 = i * 2;\n\t\t\trgb[i] = parseInt(match.slice(i2, i2 + 2), 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = Math.round((parseInt(hexAlpha, 16) / 255) * 100) / 100;\n\t\t}\n\t} else if (match = string.match(abbr)) {\n\t\tmatch = match[1];\n\t\thexAlpha = match[3];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i] + match[i], 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = Math.round((parseInt(hexAlpha + hexAlpha, 16) / 255) * 100) / 100;\n\t\t}\n\t} else if (match = string.match(rgba)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i + 1], 0);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\trgb[3] = parseFloat(match[4]);\n\t\t}\n\t} else if (match = string.match(per)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\trgb[3] = parseFloat(match[4]);\n\t\t}\n\t} else if (match = string.match(keyword)) {\n\t\tif (match[1] === 'transparent') {\n\t\t\treturn [0, 0, 0, 0];\n\t\t}\n\n\t\trgb = colorNames[match[1]];\n\n\t\tif (!rgb) {\n\t\t\treturn null;\n\t\t}\n\n\t\trgb[3] = 1;\n\n\t\treturn rgb;\n\t} else {\n\t\treturn null;\n\t}\n\n\tfor (i = 0; i < 3; i++) {\n\t\trgb[i] = clamp(rgb[i], 0, 255);\n\t}\n\trgb[3] = clamp(rgb[3], 0, 1);\n\n\treturn rgb;\n};\n\ncs.get.hsl = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hsl = /^hsla?\\(\\s*([+-]?(?:\\d*\\.)?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\tvar match = string.match(hsl);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = (parseFloat(match[1]) + 360) % 360;\n\t\tvar s = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar l = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\n\t\treturn [h, s, l, a];\n\t}\n\n\treturn null;\n};\n\ncs.get.hwb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hwb = /^hwb\\(\\s*([+-]?\\d*[\\.]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/;\n\tvar match = string.match(hwb);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = ((parseFloat(match[1]) % 360) + 360) % 360;\n\t\tvar w = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar b = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\t\treturn [h, w, b, a];\n\t}\n\n\treturn null;\n};\n\ncs.to.hex = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn (\n\t\t'#' +\n\t\thexDouble(rgba[0]) +\n\t\thexDouble(rgba[1]) +\n\t\thexDouble(rgba[2]) +\n\t\t(rgba[3] < 1\n\t\t\t? (hexDouble(Math.round(rgba[3] * 255)))\n\t\t\t: '')\n\t);\n};\n\ncs.to.rgb = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ')'\n\t\t: 'rgba(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ', ' + rgba[3] + ')';\n};\n\ncs.to.rgb.percent = function () {\n\tvar rgba = swizzle(arguments);\n\n\tvar r = Math.round(rgba[0] / 255 * 100);\n\tvar g = Math.round(rgba[1] / 255 * 100);\n\tvar b = Math.round(rgba[2] / 255 * 100);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + r + '%, ' + g + '%, ' + b + '%)'\n\t\t: 'rgba(' + r + '%, ' + g + '%, ' + b + '%, ' + rgba[3] + ')';\n};\n\ncs.to.hsl = function () {\n\tvar hsla = swizzle(arguments);\n\treturn hsla.length < 4 || hsla[3] === 1\n\t\t? 'hsl(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%)'\n\t\t: 'hsla(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%, ' + hsla[3] + ')';\n};\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\ncs.to.hwb = function () {\n\tvar hwba = swizzle(arguments);\n\n\tvar a = '';\n\tif (hwba.length >= 4 && hwba[3] !== 1) {\n\t\ta = ', ' + hwba[3];\n\t}\n\n\treturn 'hwb(' + hwba[0] + ', ' + hwba[1] + '%, ' + hwba[2] + '%' + a + ')';\n};\n\ncs.to.keyword = function (rgb) {\n\treturn reverseNames[rgb.slice(0, 3)];\n};\n\n// helpers\nfunction clamp(num, min, max) {\n\treturn Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n\tvar str = num.toString(16).toUpperCase();\n\treturn (str.length < 2) ? '0' + str : str;\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/color/index.js\":\n/*!*************************************!*\\\n  !*** ./node_modules/color/index.js ***!\n  \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar colorString = __webpack_require__(/*! color-string */ \"./node_modules/color-string/index.js\");\nvar convert = __webpack_require__(/*! color-convert */ \"./node_modules/color-convert/index.js\");\n\nvar _slice = [].slice;\n\nvar skippedModels = [\n\t// to be honest, I don't really feel like keyword belongs in color convert, but eh.\n\t'keyword',\n\n\t// gray conflicts with some method names, and has its own method defined.\n\t'gray',\n\n\t// shouldn't really be in color-convert either...\n\t'hex'\n];\n\nvar hashedModelKeys = {};\nObject.keys(convert).forEach(function (model) {\n\thashedModelKeys[_slice.call(convert[model].labels).sort().join('')] = model;\n});\n\nvar limiters = {};\n\nfunction Color(obj, model) {\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(obj, model);\n\t}\n\n\tif (model && model in skippedModels) {\n\t\tmodel = null;\n\t}\n\n\tif (model && !(model in convert)) {\n\t\tthrow new Error('Unknown model: ' + model);\n\t}\n\n\tvar i;\n\tvar channels;\n\n\tif (typeof obj === 'undefined') {\n\t\tthis.model = 'rgb';\n\t\tthis.color = [0, 0, 0];\n\t\tthis.valpha = 1;\n\t} else if (obj instanceof Color) {\n\t\tthis.model = obj.model;\n\t\tthis.color = obj.color.slice();\n\t\tthis.valpha = obj.valpha;\n\t} else if (typeof obj === 'string') {\n\t\tvar result = colorString.get(obj);\n\t\tif (result === null) {\n\t\t\tthrow new Error('Unable to parse color from string: ' + obj);\n\t\t}\n\n\t\tthis.model = result.model;\n\t\tchannels = convert[this.model].channels;\n\t\tthis.color = result.value.slice(0, channels);\n\t\tthis.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;\n\t} else if (obj.length) {\n\t\tthis.model = model || 'rgb';\n\t\tchannels = convert[this.model].channels;\n\t\tvar newArr = _slice.call(obj, 0, channels);\n\t\tthis.color = zeroArray(newArr, channels);\n\t\tthis.valpha = typeof obj[channels] === 'number' ? obj[channels] : 1;\n\t} else if (typeof obj === 'number') {\n\t\t// this is always RGB - can be converted later on.\n\t\tobj &= 0xFFFFFF;\n\t\tthis.model = 'rgb';\n\t\tthis.color = [\n\t\t\t(obj >> 16) & 0xFF,\n\t\t\t(obj >> 8) & 0xFF,\n\t\t\tobj & 0xFF\n\t\t];\n\t\tthis.valpha = 1;\n\t} else {\n\t\tthis.valpha = 1;\n\n\t\tvar keys = Object.keys(obj);\n\t\tif ('alpha' in obj) {\n\t\t\tkeys.splice(keys.indexOf('alpha'), 1);\n\t\t\tthis.valpha = typeof obj.alpha === 'number' ? obj.alpha : 0;\n\t\t}\n\n\t\tvar hashedKeys = keys.sort().join('');\n\t\tif (!(hashedKeys in hashedModelKeys)) {\n\t\t\tthrow new Error('Unable to parse color from object: ' + JSON.stringify(obj));\n\t\t}\n\n\t\tthis.model = hashedModelKeys[hashedKeys];\n\n\t\tvar labels = convert[this.model].labels;\n\t\tvar color = [];\n\t\tfor (i = 0; i < labels.length; i++) {\n\t\t\tcolor.push(obj[labels[i]]);\n\t\t}\n\n\t\tthis.color = zeroArray(color);\n\t}\n\n\t// perform limitations (clamping, etc.)\n\tif (limiters[this.model]) {\n\t\tchannels = convert[this.model].channels;\n\t\tfor (i = 0; i < channels; i++) {\n\t\t\tvar limit = limiters[this.model][i];\n\t\t\tif (limit) {\n\t\t\t\tthis.color[i] = limit(this.color[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\tthis.valpha = Math.max(0, Math.min(1, this.valpha));\n\n\tif (Object.freeze) {\n\t\tObject.freeze(this);\n\t}\n}\n\nColor.prototype = {\n\ttoString: function () {\n\t\treturn this.string();\n\t},\n\n\ttoJSON: function () {\n\t\treturn this[this.model]();\n\t},\n\n\tstring: function (places) {\n\t\tvar self = this.model in colorString.to ? this : this.rgb();\n\t\tself = self.round(typeof places === 'number' ? places : 1);\n\t\tvar args = self.valpha === 1 ? self.color : self.color.concat(this.valpha);\n\t\treturn colorString.to[self.model](args);\n\t},\n\n\tpercentString: function (places) {\n\t\tvar self = this.rgb().round(typeof places === 'number' ? places : 1);\n\t\tvar args = self.valpha === 1 ? self.color : self.color.concat(this.valpha);\n\t\treturn colorString.to.rgb.percent(args);\n\t},\n\n\tarray: function () {\n\t\treturn this.valpha === 1 ? this.color.slice() : this.color.concat(this.valpha);\n\t},\n\n\tobject: function () {\n\t\tvar result = {};\n\t\tvar channels = convert[this.model].channels;\n\t\tvar labels = convert[this.model].labels;\n\n\t\tfor (var i = 0; i < channels; i++) {\n\t\t\tresult[labels[i]] = this.color[i];\n\t\t}\n\n\t\tif (this.valpha !== 1) {\n\t\t\tresult.alpha = this.valpha;\n\t\t}\n\n\t\treturn result;\n\t},\n\n\tunitArray: function () {\n\t\tvar rgb = this.rgb().color;\n\t\trgb[0] /= 255;\n\t\trgb[1] /= 255;\n\t\trgb[2] /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.push(this.valpha);\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tunitObject: function () {\n\t\tvar rgb = this.rgb().object();\n\t\trgb.r /= 255;\n\t\trgb.g /= 255;\n\t\trgb.b /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.alpha = this.valpha;\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tround: function (places) {\n\t\tplaces = Math.max(places || 0, 0);\n\t\treturn new Color(this.color.map(roundToPlace(places)).concat(this.valpha), this.model);\n\t},\n\n\talpha: function (val) {\n\t\tif (arguments.length) {\n\t\t\treturn new Color(this.color.concat(Math.max(0, Math.min(1, val))), this.model);\n\t\t}\n\n\t\treturn this.valpha;\n\t},\n\n\t// rgb\n\tred: getset('rgb', 0, maxfn(255)),\n\tgreen: getset('rgb', 1, maxfn(255)),\n\tblue: getset('rgb', 2, maxfn(255)),\n\n\thue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, function (val) { return ((val % 360) + 360) % 360; }), // eslint-disable-line brace-style\n\n\tsaturationl: getset('hsl', 1, maxfn(100)),\n\tlightness: getset('hsl', 2, maxfn(100)),\n\n\tsaturationv: getset('hsv', 1, maxfn(100)),\n\tvalue: getset('hsv', 2, maxfn(100)),\n\n\tchroma: getset('hcg', 1, maxfn(100)),\n\tgray: getset('hcg', 2, maxfn(100)),\n\n\twhite: getset('hwb', 1, maxfn(100)),\n\twblack: getset('hwb', 2, maxfn(100)),\n\n\tcyan: getset('cmyk', 0, maxfn(100)),\n\tmagenta: getset('cmyk', 1, maxfn(100)),\n\tyellow: getset('cmyk', 2, maxfn(100)),\n\tblack: getset('cmyk', 3, maxfn(100)),\n\n\tx: getset('xyz', 0, maxfn(100)),\n\ty: getset('xyz', 1, maxfn(100)),\n\tz: getset('xyz', 2, maxfn(100)),\n\n\tl: getset('lab', 0, maxfn(100)),\n\ta: getset('lab', 1),\n\tb: getset('lab', 2),\n\n\tkeyword: function (val) {\n\t\tif (arguments.length) {\n\t\t\treturn new Color(val);\n\t\t}\n\n\t\treturn convert[this.model].keyword(this.color);\n\t},\n\n\thex: function (val) {\n\t\tif (arguments.length) {\n\t\t\treturn new Color(val);\n\t\t}\n\n\t\treturn colorString.to.hex(this.rgb().round().color);\n\t},\n\n\trgbNumber: function () {\n\t\tvar rgb = this.rgb().color;\n\t\treturn ((rgb[0] & 0xFF) << 16) | ((rgb[1] & 0xFF) << 8) | (rgb[2] & 0xFF);\n\t},\n\n\tluminosity: function () {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tvar rgb = this.rgb().color;\n\n\t\tvar lum = [];\n\t\tfor (var i = 0; i < rgb.length; i++) {\n\t\t\tvar chan = rgb[i] / 255;\n\t\t\tlum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);\n\t\t}\n\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast: function (color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tvar lum1 = this.luminosity();\n\t\tvar lum2 = color2.luminosity();\n\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel: function (color2) {\n\t\tvar contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7.1) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tisDark: function () {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tvar rgb = this.rgb().color;\n\t\tvar yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n\t\treturn yiq < 128;\n\t},\n\n\tisLight: function () {\n\t\treturn !this.isDark();\n\t},\n\n\tnegate: function () {\n\t\tvar rgb = this.rgb();\n\t\tfor (var i = 0; i < 3; i++) {\n\t\t\trgb.color[i] = 255 - rgb.color[i];\n\t\t}\n\t\treturn rgb;\n\t},\n\n\tlighten: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[2] += hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdarken: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[2] -= hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tsaturate: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[1] += hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdesaturate: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[1] -= hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\twhiten: function (ratio) {\n\t\tvar hwb = this.hwb();\n\t\thwb.color[1] += hwb.color[1] * ratio;\n\t\treturn hwb;\n\t},\n\n\tblacken: function (ratio) {\n\t\tvar hwb = this.hwb();\n\t\thwb.color[2] += hwb.color[2] * ratio;\n\t\treturn hwb;\n\t},\n\n\tgrayscale: function () {\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tvar rgb = this.rgb().color;\n\t\tvar val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\treturn Color.rgb(val, val, val);\n\t},\n\n\tfade: function (ratio) {\n\t\treturn this.alpha(this.valpha - (this.valpha * ratio));\n\t},\n\n\topaquer: function (ratio) {\n\t\treturn this.alpha(this.valpha + (this.valpha * ratio));\n\t},\n\n\trotate: function (degrees) {\n\t\tvar hsl = this.hsl();\n\t\tvar hue = hsl.color[0];\n\t\thue = (hue + degrees) % 360;\n\t\thue = hue < 0 ? 360 + hue : hue;\n\t\thsl.color[0] = hue;\n\t\treturn hsl;\n\t},\n\n\tmix: function (mixinColor, weight) {\n\t\t// ported from sass implementation in C\n\t\t// https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t\tif (!mixinColor || !mixinColor.rgb) {\n\t\t\tthrow new Error('Argument to \"mix\" was not a Color instance, but rather an instance of ' + typeof mixinColor);\n\t\t}\n\t\tvar color1 = mixinColor.rgb();\n\t\tvar color2 = this.rgb();\n\t\tvar p = weight === undefined ? 0.5 : weight;\n\n\t\tvar w = 2 * p - 1;\n\t\tvar a = color1.alpha() - color2.alpha();\n\n\t\tvar w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\tvar w2 = 1 - w1;\n\n\t\treturn Color.rgb(\n\t\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\t\tw1 * color1.blue() + w2 * color2.blue(),\n\t\t\t\tcolor1.alpha() * p + color2.alpha() * (1 - p));\n\t}\n};\n\n// model conversion methods and static constructors\nObject.keys(convert).forEach(function (model) {\n\tif (skippedModels.indexOf(model) !== -1) {\n\t\treturn;\n\t}\n\n\tvar channels = convert[model].channels;\n\n\t// conversion methods\n\tColor.prototype[model] = function () {\n\t\tif (this.model === model) {\n\t\t\treturn new Color(this);\n\t\t}\n\n\t\tif (arguments.length) {\n\t\t\treturn new Color(arguments, model);\n\t\t}\n\n\t\tvar newAlpha = typeof arguments[channels] === 'number' ? channels : this.valpha;\n\t\treturn new Color(assertArray(convert[this.model][model].raw(this.color)).concat(newAlpha), model);\n\t};\n\n\t// 'static' construction methods\n\tColor[model] = function (color) {\n\t\tif (typeof color === 'number') {\n\t\t\tcolor = zeroArray(_slice.call(arguments), channels);\n\t\t}\n\t\treturn new Color(color, model);\n\t};\n});\n\nfunction roundTo(num, places) {\n\treturn Number(num.toFixed(places));\n}\n\nfunction roundToPlace(places) {\n\treturn function (num) {\n\t\treturn roundTo(num, places);\n\t};\n}\n\nfunction getset(model, channel, modifier) {\n\tmodel = Array.isArray(model) ? model : [model];\n\n\tmodel.forEach(function (m) {\n\t\t(limiters[m] || (limiters[m] = []))[channel] = modifier;\n\t});\n\n\tmodel = model[0];\n\n\treturn function (val) {\n\t\tvar result;\n\n\t\tif (arguments.length) {\n\t\t\tif (modifier) {\n\t\t\t\tval = modifier(val);\n\t\t\t}\n\n\t\t\tresult = this[model]();\n\t\t\tresult.color[channel] = val;\n\t\t\treturn result;\n\t\t}\n\n\t\tresult = this[model]().color[channel];\n\t\tif (modifier) {\n\t\t\tresult = modifier(result);\n\t\t}\n\n\t\treturn result;\n\t};\n}\n\nfunction maxfn(max) {\n\treturn function (v) {\n\t\treturn Math.max(0, Math.min(max, v));\n\t};\n}\n\nfunction assertArray(val) {\n\treturn Array.isArray(val) ? val : [val];\n}\n\nfunction zeroArray(arr, length) {\n\tfor (var i = 0; i < length; i++) {\n\t\tif (typeof arr[i] !== 'number') {\n\t\t\tarr[i] = 0;\n\t\t}\n\t}\n\n\treturn arr;\n}\n\nmodule.exports = Color;\n\n\n/***/ }),\n\n/***/ \"./node_modules/conic-gradient/conic-gradient.js\":\n/*!*******************************************************!*\\\n  !*** ./node_modules/conic-gradient/conic-gradient.js ***!\n  \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n/**\n * CSS conic-gradient() polyfill\n * By Lea Verou — http://lea.verou.me\n * MIT license\n */\n\n(function(){\n\nvar π = Math.PI;\nvar τ = 2 * π;\nvar ε = .00001;\nvar deg = π/180;\n\nvar dummy = document.createElement(\"div\");\ndocument.head.appendChild(dummy);\n\nvar _ = self.ConicGradient = function(o) {\n\tvar me = this;\n\t_.all.push(this);\n\n\to = o || {};\n\n\tthis.canvas = document.createElement(\"canvas\");\n\tthis.context = this.canvas.getContext(\"2d\");\n\n\tthis.repeating = !!o.repeating;\n\n\tthis.size = o.size || Math.max(innerWidth, innerHeight);\n\n\tthis.canvas.width = this.canvas.height = this.size;\n\n\tvar stops = o.stops;\n\n\tthis.stops = (stops || \"\").split(/\\s*,(?![^(]*\\))\\s*/); // commas that are not followed by a ) without a ( first\n\n\tthis.from = 0;\n\n\tfor (var i=0; i<this.stops.length; i++) {\n\t\tif (this.stops[i]) {\n\t\t\tvar stop = this.stops[i] = new _.ColorStop(this, this.stops[i]);\n\n\t\t\tif (stop.next) {\n\t\t\t\tthis.stops.splice(i+1, 0, stop.next);\n\t\t\t\ti++;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tthis.stops.splice(i, 1);\n\t\t\ti--;\n\t\t}\n\t}\n\n\tif (this.stops[0].color.indexOf('from') == 0) {\n\t\tthis.from = this.stops[0].pos*360;\n\t\tthis.stops.shift();\n\t}\n\t// Normalize stops\n\n\t// Add dummy first stop or set first stop’s position to 0 if it doesn’t have one\n\tif (this.stops[0].pos === undefined) {\n\t\t\tthis.stops[0].pos = 0;\n\t\t}\n\telse if (this.stops[0].pos > 0) {\n\t\tvar first = this.stops[0].clone();\n\t\tfirst.pos = 0;\n\t\tthis.stops.unshift(first);\n\t}\n\n\t// Add dummy last stop or set first stop’s position to 100% if it doesn’t have one\n\tif (this.stops[this.stops.length - 1].pos === undefined) {\n\t\tthis.stops[this.stops.length - 1].pos = 1;\n\t}\n\telse if (!this.repeating && this.stops[this.stops.length - 1].pos < 1) {\n\t\tvar last = this.stops[this.stops.length - 1].clone();\n\t\tlast.pos = 1;\n\t\tthis.stops.push(last);\n\t}\n\n\tthis.stops.forEach(function(stop, i){\n\t\tif (stop.pos === undefined) {\n\t\t\t// Evenly space color stops with no position\n\t\t\tfor (var j=i+1; this[j]; j++) {\n\t\t\t\tif (this[j].pos !== undefined) {\n\t\t\t\t\tstop.pos = this[i-1].pos + (this[j].pos - this[i-1].pos)/(j-i+1);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if (i > 0) {\n\t\t\t// Normalize color stops whose position is smaller than the position of the stop before them\n\t\t\tstop.pos = Math.max(stop.pos, this[i-1].pos);\n\t\t}\n\t}, this.stops);\n\n\tif (this.repeating) {\n\t\t// Repeat color stops until >= 1\n\t\tvar stops = this.stops.slice();\n\t\tvar lastStop = stops[stops.length-1];\n\t\tvar difference = lastStop.pos - stops[0].pos;\n\n\t\tfor (var i=0; this.stops[this.stops.length-1].pos < 1 && i<10000; i++) {\n\t\t\tfor (var j=0; j<stops.length; j++) {\n\t\t\t\tvar s = stops[j].clone();\n\t\t\t\ts.pos += (i+1)*difference;\n\n\t\t\t\tthis.stops.push(s);\n\t\t\t}\n\t\t}\n\t}\n\n\tthis.paint();\n};\n\n_.all = [];\n\n_.prototype = {\n\ttoString: function() {\n\t\treturn \"url('\" + this.dataURL + \"')\";\n\t},\n\n\tget dataURL() {\n\t\t// IE/Edge only render data-URI based background-image when the image data\n\t\t// is escaped.\n\t\t// Ref: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7157459/#comment-3\n\t\treturn \"data:image/svg+xml,\" + encodeURIComponent(this.svg);\n\t},\n\n\tget blobURL() {\n\t\t// Warning: Flicker when updating due to slow blob: URL resolution :(\n\t\t// TODO cache this and only update it when color stops change\n\t\treturn URL.createObjectURL(new Blob([this.svg], {type: \"image/svg+xml\"}));\n\t},\n\n\tget svg() {\n\t\treturn '<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" preserveAspectRatio=\"none\">' +\n\t\t\t'<svg viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid slice\">' +\n\t\t\t'<image width=\"100\" height=\"100%\" xlink:href=\"' + this.png + '\" /></svg></svg>';\n\t},\n\n\tget png() {\n\t\treturn this.canvas.toDataURL();\n\t},\n\n\tget r() {\n\t\treturn Math.sqrt(2) * this.size / 2;\n\t},\n\n\t// Paint the conical gradient on the canvas\n\t// Algorithm inspired from http://jsdo.it/akm2/yr9B\n\tpaint: function() {\n\t\tvar c = this.context;\n\n\t\tvar radius = this.r;\n\t\tvar x = this.size / 2;\n\n\t\tvar stopIndex = 0; // The index of the current color\n\t\tvar stop = this.stops[stopIndex], prevStop;\n\n\t\tvar diff, t;\n\n\t\t// Transform coordinate system so that angles start from the top left, like in CSS\n\t\tc.translate(this.size/2, this.size/2);\n\t\tc.rotate(-90*deg);\n\t\tc.rotate(this.from*deg);\n\t\tc.translate(-this.size/2, -this.size/2);\n\n\t\tfor (var i = 0; i < 360;) {\n\t\t\tif (i/360 + ε >= stop.pos) {\n\t\t\t\t// Switch color stop\n\t\t\t\tdo {\n\t\t\t\t\tprevStop = stop;\n\n\t\t\t\t\tstopIndex++;\n\t\t\t\t\tstop = this.stops[stopIndex];\n\t\t\t\t} while(stop && stop != prevStop && stop.pos === prevStop.pos);\n\n\t\t\t\tif (!stop) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tvar sameColor = prevStop.color + \"\" === stop.color + \"\" && prevStop != stop;\n\n\t\t\t\tdiff = prevStop.color.map(function(c, i){\n\t\t\t\t\treturn stop.color[i] - c;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tt = (i/360 - prevStop.pos) / (stop.pos - prevStop.pos);\n\n\t\t\tvar interpolated = sameColor? stop.color : diff.map(function(d,i){\n\t\t\t\tvar ret = d * t + prevStop.color[i];\n\n\t\t\t\treturn i < 3? ret & 255 : ret;\n\t\t\t});\n\n\t\t\t// Draw a series of arcs, 1deg each\n\t\t\tc.fillStyle = 'rgba(' + interpolated.join(\",\") + ')';\n\t\t\tc.beginPath();\n\t\t\tc.moveTo(x, x);\n\n\t\t\tif (sameColor) {\n\t\t\t\tvar θ = 360 * (stop.pos - prevStop.pos);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tvar θ = .5;\n\t\t\t}\n\n\t\t\tvar beginArg = i*deg;\n\t\t\tbeginArg = Math.min(360*deg, beginArg);\n\n\t\t\t// .02: To prevent empty blank line and corresponding moire\n\t\t\t// only non-alpha colors are cared now\n\t\t\tvar endArg = beginArg + θ*deg;\n\t\t\tendArg = Math.min(360*deg, endArg + .02);\n\n\t\t\tc.arc(x, x, radius, beginArg, endArg);\n\n\t\t\tc.closePath();\n\t\t\tc.fill();\n\n\t\t\ti += θ;\n\t\t}\n\t}\n};\n\n_.ColorStop = function(gradient, stop) {\n\tthis.gradient = gradient;\n\n\tif (stop) {\n\t\tvar parts = stop.match(/^(.+?)(?:\\s+([\\d.]+)(%|deg|turn|grad|rad)?)?(?:\\s+([\\d.]+)(%|deg|turn|grad|rad)?)?\\s*$/);\n\n\t\tthis.color = _.ColorStop.colorToRGBA(parts[1]);\n\n\t\tif (parts[2]) {\n\t\t\tvar unit = parts[3];\n\n\t\t\tif (unit == \"%\" || parts[2] === \"0\" && !unit) {\n\t\t\t\tthis.pos = parts[2]/100;\n\t\t\t}\n\t\t\telse if (unit == \"turn\") {\n\t\t\t\tthis.pos  = +parts[2];\n\t\t\t}\n\t\t\telse if (unit == \"deg\") {\n\t\t\t\tthis.pos  = parts[2] / 360;\n\t\t\t}\n\t\t\telse if (unit == \"grad\") {\n\t\t\t\tthis.pos  = parts[2] / 400;\n\t\t\t}\n\t\t\telse if (unit == \"rad\") {\n\t\t\t\tthis.pos  = parts[2] / τ;\n\t\t\t}\n\t\t}\n\n\t\tif (parts[4]) {\n\t\t\tthis.next = new _.ColorStop(gradient, parts[1] + \" \" + parts[4] + parts[5]);\n\t\t}\n\t}\n}\n\n_.ColorStop.prototype = {\n\tclone: function() {\n\t\tvar ret = new _.ColorStop(this.gradient);\n\t\tret.color = this.color;\n\t\tret.pos = this.pos;\n\n\t\treturn ret;\n\t},\n\n\ttoString: function() {\n\t\treturn \"rgba(\" + this.color.join(\", \") + \") \" + this.pos * 100 + \"%\";\n\t}\n};\n\n_.ColorStop.colorToRGBA = function(color) {\n\tif (!Array.isArray(color) && color.indexOf(\"from\") == -1) {\n\t\tdummy.style.color = color;\n\n\t\tvar rgba = getComputedStyle(dummy).color.match(/rgba?\\(([\\d.]+), ([\\d.]+), ([\\d.]+)(?:, ([\\d.]+))?\\)/);\n\n\t\tif (rgba) {\n\t\t\trgba.shift();\n\t\t\trgba = rgba.map(function(a) { return +a });\n\t\t\trgba[3] = isNaN(rgba[3])? 1 : rgba[3];\n\t\t}\n\n\t\treturn rgba || [0,0,0,0];\n\t}\n\n\treturn color;\n};\n\n})();\n\nif (self.StyleFix) {\n\t// Test if conic gradients are supported first:\n\t(function(){\n\t\tvar dummy = document.createElement(\"p\");\n\t\tdummy.style.backgroundImage = \"conic-gradient(white, black)\";\n\t\tdummy.style.backgroundImage = PrefixFree.prefix + \"conic-gradient(white, black)\";\n\n\t\tif (!dummy.style.backgroundImage) {\n\t\t\t// Not supported, use polyfill\n\t\t\tStyleFix.register(function(css, raw) {\n\t\t\t\tif (css.indexOf(\"conic-gradient\") > -1) {\n\t\t\t\t\tcss = css.replace(/(?:repeating-)?conic-gradient\\(\\s*((?:\\([^()]+\\)|[^;()}])+?)\\)/g, function(gradient, stops) {\n\t\t\t\t\t\treturn new ConicGradient({\n\t\t\t\t\t\t\tstops: stops,\n\t\t\t\t\t\t\trepeating: gradient.indexOf(\"repeating-\") > -1\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn css;\n\t\t\t});\n\t\t}\n\t})();\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/rc-slider/assets/index.css\":\n/*!***************************************************************************************!*\\\n  !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/rc-slider/assets/index.css ***!\n  \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \".rc-slider {\\n  position: relative;\\n  height: 14px;\\n  padding: 5px 0;\\n  width: 100%;\\n  border-radius: 6px;\\n  -ms-touch-action: none;\\n      touch-action: none;\\n  box-sizing: border-box;\\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n}\\n.rc-slider * {\\n  box-sizing: border-box;\\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n}\\n.rc-slider-rail {\\n  position: absolute;\\n  width: 100%;\\n  background-color: #e9e9e9;\\n  height: 4px;\\n  border-radius: 6px;\\n}\\n.rc-slider-track {\\n  position: absolute;\\n  left: 0;\\n  height: 4px;\\n  border-radius: 6px;\\n  background-color: #abe2fb;\\n}\\n.rc-slider-handle {\\n  position: absolute;\\n  width: 14px;\\n  height: 14px;\\n  cursor: pointer;\\n  cursor: -webkit-grab;\\n  margin-top: -5px;\\n  cursor: grab;\\n  border-radius: 50%;\\n  border: solid 2px #96dbfa;\\n  background-color: #fff;\\n  -ms-touch-action: pan-x;\\n      touch-action: pan-x;\\n}\\n.rc-slider-handle:focus {\\n  border-color: #57c5f7;\\n  box-shadow: 0 0 0 5px #96dbfa;\\n  outline: none;\\n}\\n.rc-slider-handle-click-focused:focus {\\n  border-color: #96dbfa;\\n  box-shadow: unset;\\n}\\n.rc-slider-handle:hover {\\n  border-color: #57c5f7;\\n}\\n.rc-slider-handle:active {\\n  border-color: #57c5f7;\\n  box-shadow: 0 0 5px #57c5f7;\\n  cursor: -webkit-grabbing;\\n  cursor: grabbing;\\n}\\n.rc-slider-mark {\\n  position: absolute;\\n  top: 18px;\\n  left: 0;\\n  width: 100%;\\n  font-size: 12px;\\n}\\n.rc-slider-mark-text {\\n  position: absolute;\\n  display: inline-block;\\n  vertical-align: middle;\\n  text-align: center;\\n  cursor: pointer;\\n  color: #999;\\n}\\n.rc-slider-mark-text-active {\\n  color: #666;\\n}\\n.rc-slider-step {\\n  position: absolute;\\n  width: 100%;\\n  height: 4px;\\n  background: transparent;\\n}\\n.rc-slider-dot {\\n  position: absolute;\\n  bottom: -2px;\\n  margin-left: -4px;\\n  width: 8px;\\n  height: 8px;\\n  border: 2px solid #e9e9e9;\\n  background-color: #fff;\\n  cursor: pointer;\\n  border-radius: 50%;\\n  vertical-align: middle;\\n}\\n.rc-slider-dot-active {\\n  border-color: #96dbfa;\\n}\\n.rc-slider-dot-reverse {\\n  margin-left: 0;\\n  margin-right: -4px;\\n}\\n.rc-slider-disabled {\\n  background-color: #e9e9e9;\\n}\\n.rc-slider-disabled .rc-slider-track {\\n  background-color: #ccc;\\n}\\n.rc-slider-disabled .rc-slider-handle,\\n.rc-slider-disabled .rc-slider-dot {\\n  border-color: #ccc;\\n  box-shadow: none;\\n  background-color: #fff;\\n  cursor: not-allowed;\\n}\\n.rc-slider-disabled .rc-slider-mark-text,\\n.rc-slider-disabled .rc-slider-dot {\\n  cursor: not-allowed !important;\\n}\\n.rc-slider-vertical {\\n  width: 14px;\\n  height: 100%;\\n  padding: 0 5px;\\n}\\n.rc-slider-vertical .rc-slider-rail {\\n  height: 100%;\\n  width: 4px;\\n}\\n.rc-slider-vertical .rc-slider-track {\\n  left: 5px;\\n  bottom: 0;\\n  width: 4px;\\n}\\n.rc-slider-vertical .rc-slider-handle {\\n  margin-left: -5px;\\n  -ms-touch-action: pan-y;\\n      touch-action: pan-y;\\n}\\n.rc-slider-vertical .rc-slider-mark {\\n  top: 0;\\n  left: 18px;\\n  height: 100%;\\n}\\n.rc-slider-vertical .rc-slider-step {\\n  height: 100%;\\n  width: 4px;\\n}\\n.rc-slider-vertical .rc-slider-dot {\\n  left: 2px;\\n  margin-bottom: -4px;\\n}\\n.rc-slider-vertical .rc-slider-dot:first-child {\\n  margin-bottom: -4px;\\n}\\n.rc-slider-vertical .rc-slider-dot:last-child {\\n  margin-bottom: -4px;\\n}\\n.rc-slider-tooltip-zoom-down-enter,\\n.rc-slider-tooltip-zoom-down-appear {\\n  animation-duration: .3s;\\n  animation-fill-mode: both;\\n  display: block !important;\\n  animation-play-state: paused;\\n}\\n.rc-slider-tooltip-zoom-down-leave {\\n  animation-duration: .3s;\\n  animation-fill-mode: both;\\n  display: block !important;\\n  animation-play-state: paused;\\n}\\n.rc-slider-tooltip-zoom-down-enter.rc-slider-tooltip-zoom-down-enter-active,\\n.rc-slider-tooltip-zoom-down-appear.rc-slider-tooltip-zoom-down-appear-active {\\n  animation-name: rcSliderTooltipZoomDownIn;\\n  animation-play-state: running;\\n}\\n.rc-slider-tooltip-zoom-down-leave.rc-slider-tooltip-zoom-down-leave-active {\\n  animation-name: rcSliderTooltipZoomDownOut;\\n  animation-play-state: running;\\n}\\n.rc-slider-tooltip-zoom-down-enter,\\n.rc-slider-tooltip-zoom-down-appear {\\n  transform: scale(0, 0);\\n  animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);\\n}\\n.rc-slider-tooltip-zoom-down-leave {\\n  animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\\n}\\n@keyframes rcSliderTooltipZoomDownIn {\\n  0% {\\n    opacity: 0;\\n    transform-origin: 50% 100%;\\n    transform: scale(0, 0);\\n  }\\n  100% {\\n    transform-origin: 50% 100%;\\n    transform: scale(1, 1);\\n  }\\n}\\n@keyframes rcSliderTooltipZoomDownOut {\\n  0% {\\n    transform-origin: 50% 100%;\\n    transform: scale(1, 1);\\n  }\\n  100% {\\n    opacity: 0;\\n    transform-origin: 50% 100%;\\n    transform: scale(0, 0);\\n  }\\n}\\n.rc-slider-tooltip {\\n  position: absolute;\\n  left: -9999px;\\n  top: -9999px;\\n  visibility: visible;\\n  box-sizing: border-box;\\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n}\\n.rc-slider-tooltip * {\\n  box-sizing: border-box;\\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n}\\n.rc-slider-tooltip-hidden {\\n  display: none;\\n}\\n.rc-slider-tooltip-placement-top {\\n  padding: 4px 0 8px 0;\\n}\\n.rc-slider-tooltip-inner {\\n  padding: 6px 2px;\\n  min-width: 24px;\\n  height: 24px;\\n  font-size: 12px;\\n  line-height: 1;\\n  color: #fff;\\n  text-align: center;\\n  text-decoration: none;\\n  background-color: #6c6c6c;\\n  border-radius: 6px;\\n  box-shadow: 0 0 4px #d9d9d9;\\n}\\n.rc-slider-tooltip-arrow {\\n  position: absolute;\\n  width: 0;\\n  height: 0;\\n  border-color: transparent;\\n  border-style: solid;\\n}\\n.rc-slider-tooltip-placement-top .rc-slider-tooltip-arrow {\\n  bottom: 4px;\\n  left: 50%;\\n  margin-left: -4px;\\n  border-width: 4px 4px 0;\\n  border-top-color: #6c6c6c;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/runtime/api.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/css-loader/dist/runtime/api.js ***!\n  \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = cssWithMappingToString(item, useSourceMap);\n\n      if (item[2]) {\n        return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n      }\n\n      return content;\n    }).join('');\n  }; // import a list of modules into the list\n  // eslint-disable-next-line func-names\n\n\n  list.i = function (modules, mediaQuery, dedupe) {\n    if (typeof modules === 'string') {\n      // eslint-disable-next-line no-param-reassign\n      modules = [[null, modules, '']];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var i = 0; i < this.length; i++) {\n        // eslint-disable-next-line prefer-destructuring\n        var id = this[i][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _i = 0; _i < modules.length; _i++) {\n      var item = [].concat(modules[_i]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        // eslint-disable-next-line no-continue\n        continue;\n      }\n\n      if (mediaQuery) {\n        if (!item[2]) {\n          item[2] = mediaQuery;\n        } else {\n          item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n  var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n  var cssMapping = item[3];\n\n  if (!cssMapping) {\n    return content;\n  }\n\n  if (useSourceMap && typeof btoa === 'function') {\n    var sourceMapping = toComment(cssMapping);\n    var sourceURLs = cssMapping.sources.map(function (source) {\n      return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n    });\n    return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n  }\n\n  return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n  // eslint-disable-next-line no-undef\n  var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n  var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n  return \"/*# \".concat(data, \" */\");\n}\n\n/***/ }),\n\n/***/ \"./node_modules/deep-equal/index.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/deep-equal/index.js ***!\n  \\******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pSlice = Array.prototype.slice;\nvar objectKeys = __webpack_require__(/*! ./lib/keys.js */ \"./node_modules/deep-equal/lib/keys.js\");\nvar isArguments = __webpack_require__(/*! ./lib/is_arguments.js */ \"./node_modules/deep-equal/lib/is_arguments.js\");\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n  if (!opts) opts = {};\n  // 7.1. All identical values are equivalent, as determined by ===.\n  if (actual === expected) {\n    return true;\n\n  } else if (actual instanceof Date && expected instanceof Date) {\n    return actual.getTime() === expected.getTime();\n\n  // 7.3. Other pairs that do not both pass typeof value == 'object',\n  // equivalence is determined by ==.\n  } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n    return opts.strict ? actual === expected : actual == expected;\n\n  // 7.4. For all other Object pairs, including Array objects, equivalence is\n  // determined by having the same number of owned properties (as verified\n  // with Object.prototype.hasOwnProperty.call), the same set of keys\n  // (although not necessarily the same order), equivalent values for every\n  // corresponding key, and an identical 'prototype' property. Note: this\n  // accounts for both named and indexed properties on Arrays.\n  } else {\n    return objEquiv(actual, expected, opts);\n  }\n}\n\nfunction isUndefinedOrNull(value) {\n  return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n  if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n  if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n    return false;\n  }\n  if (x.length > 0 && typeof x[0] !== 'number') return false;\n  return true;\n}\n\nfunction objEquiv(a, b, opts) {\n  var i, key;\n  if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n    return false;\n  // an identical 'prototype' property.\n  if (a.prototype !== b.prototype) return false;\n  //~~~I've managed to break Object.keys through screwy arguments passing.\n  //   Converting to array solves the problem.\n  if (isArguments(a)) {\n    if (!isArguments(b)) {\n      return false;\n    }\n    a = pSlice.call(a);\n    b = pSlice.call(b);\n    return deepEqual(a, b, opts);\n  }\n  if (isBuffer(a)) {\n    if (!isBuffer(b)) {\n      return false;\n    }\n    if (a.length !== b.length) return false;\n    for (i = 0; i < a.length; i++) {\n      if (a[i] !== b[i]) return false;\n    }\n    return true;\n  }\n  try {\n    var ka = objectKeys(a),\n        kb = objectKeys(b);\n  } catch (e) {//happens when one is a string literal and the other isn't\n    return false;\n  }\n  // having the same number of owned properties (keys incorporates\n  // hasOwnProperty)\n  if (ka.length != kb.length)\n    return false;\n  //the same set of keys (although not necessarily the same order),\n  ka.sort();\n  kb.sort();\n  //~~~cheap key test\n  for (i = ka.length - 1; i >= 0; i--) {\n    if (ka[i] != kb[i])\n      return false;\n  }\n  //equivalent values for every corresponding key, and\n  //~~~possibly expensive deep test\n  for (i = ka.length - 1; i >= 0; i--) {\n    key = ka[i];\n    if (!deepEqual(a[key], b[key], opts)) return false;\n  }\n  return typeof a === typeof b;\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/deep-equal/lib/is_arguments.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/deep-equal/lib/is_arguments.js ***!\n  \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar supportsArgumentsClass = (function(){\n  return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n  return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n  return object &&\n    typeof object == 'object' &&\n    typeof object.length == 'number' &&\n    Object.prototype.hasOwnProperty.call(object, 'callee') &&\n    !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n    false;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/deep-equal/lib/keys.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/deep-equal/lib/keys.js ***!\n  \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nexports = module.exports = typeof Object.keys === 'function'\n  ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n  var keys = [];\n  for (var key in obj) keys.push(key);\n  return keys;\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/dom-align/dist-web/index.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/dom-align/dist-web/index.js ***!\n  \\**************************************************/\n/*! exports provided: default, alignElement, alignPoint */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"alignElement\", function() { return alignElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"alignPoint\", function() { return alignPoint; });\nfunction _typeof(obj) {\n  if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n    _typeof = function (obj) {\n      return typeof obj;\n    };\n  } else {\n    _typeof = function (obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n    };\n  }\n\n  return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n  var keys = Object.keys(object);\n\n  if (Object.getOwnPropertySymbols) {\n    var symbols = Object.getOwnPropertySymbols(object);\n    if (enumerableOnly) symbols = symbols.filter(function (sym) {\n      return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n    });\n    keys.push.apply(keys, symbols);\n  }\n\n  return keys;\n}\n\nfunction _objectSpread2(target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i] != null ? arguments[i] : {};\n\n    if (i % 2) {\n      ownKeys(source, true).forEach(function (key) {\n        _defineProperty(target, key, source[key]);\n      });\n    } else if (Object.getOwnPropertyDescriptors) {\n      Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n    } else {\n      ownKeys(source).forEach(function (key) {\n        Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n      });\n    }\n  }\n\n  return target;\n}\n\nvar vendorPrefix;\nvar jsCssMap = {\n  Webkit: '-webkit-',\n  Moz: '-moz-',\n  // IE did it wrong again ...\n  ms: '-ms-',\n  O: '-o-'\n};\n\nfunction getVendorPrefix() {\n  if (vendorPrefix !== undefined) {\n    return vendorPrefix;\n  }\n\n  vendorPrefix = '';\n  var style = document.createElement('p').style;\n  var testProp = 'Transform';\n\n  for (var key in jsCssMap) {\n    if (key + testProp in style) {\n      vendorPrefix = key;\n    }\n  }\n\n  return vendorPrefix;\n}\n\nfunction getTransitionName() {\n  return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"TransitionProperty\") : 'transitionProperty';\n}\n\nfunction getTransformName() {\n  return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"Transform\") : 'transform';\n}\nfunction setTransitionProperty(node, value) {\n  var name = getTransitionName();\n\n  if (name) {\n    node.style[name] = value;\n\n    if (name !== 'transitionProperty') {\n      node.style.transitionProperty = value;\n    }\n  }\n}\n\nfunction setTransform(node, value) {\n  var name = getTransformName();\n\n  if (name) {\n    node.style[name] = value;\n\n    if (name !== 'transform') {\n      node.style.transform = value;\n    }\n  }\n}\n\nfunction getTransitionProperty(node) {\n  return node.style.transitionProperty || node.style[getTransitionName()];\n}\nfunction getTransformXY(node) {\n  var style = window.getComputedStyle(node, null);\n  var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n\n  if (transform && transform !== 'none') {\n    var matrix = transform.replace(/[^0-9\\-.,]/g, '').split(',');\n    return {\n      x: parseFloat(matrix[12] || matrix[4], 0),\n      y: parseFloat(matrix[13] || matrix[5], 0)\n    };\n  }\n\n  return {\n    x: 0,\n    y: 0\n  };\n}\nvar matrix2d = /matrix\\((.*)\\)/;\nvar matrix3d = /matrix3d\\((.*)\\)/;\nfunction setTransformXY(node, xy) {\n  var style = window.getComputedStyle(node, null);\n  var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n\n  if (transform && transform !== 'none') {\n    var arr;\n    var match2d = transform.match(matrix2d);\n\n    if (match2d) {\n      match2d = match2d[1];\n      arr = match2d.split(',').map(function (item) {\n        return parseFloat(item, 10);\n      });\n      arr[4] = xy.x;\n      arr[5] = xy.y;\n      setTransform(node, \"matrix(\".concat(arr.join(','), \")\"));\n    } else {\n      var match3d = transform.match(matrix3d)[1];\n      arr = match3d.split(',').map(function (item) {\n        return parseFloat(item, 10);\n      });\n      arr[12] = xy.x;\n      arr[13] = xy.y;\n      setTransform(node, \"matrix3d(\".concat(arr.join(','), \")\"));\n    }\n  } else {\n    setTransform(node, \"translateX(\".concat(xy.x, \"px) translateY(\").concat(xy.y, \"px) translateZ(0)\"));\n  }\n}\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\nvar getComputedStyleX; // https://stackoverflow.com/a/3485654/3040605\n\nfunction forceRelayout(elem) {\n  var originalStyle = elem.style.display;\n  elem.style.display = 'none';\n  elem.offsetHeight; // eslint-disable-line\n\n  elem.style.display = originalStyle;\n}\n\nfunction css(el, name, v) {\n  var value = v;\n\n  if (_typeof(name) === 'object') {\n    for (var i in name) {\n      if (name.hasOwnProperty(i)) {\n        css(el, i, name[i]);\n      }\n    }\n\n    return undefined;\n  }\n\n  if (typeof value !== 'undefined') {\n    if (typeof value === 'number') {\n      value = \"\".concat(value, \"px\");\n    }\n\n    el.style[name] = value;\n    return undefined;\n  }\n\n  return getComputedStyleX(el, name);\n}\n\nfunction getClientPosition(elem) {\n  var box;\n  var x;\n  var y;\n  var doc = elem.ownerDocument;\n  var body = doc.body;\n  var docElem = doc && doc.documentElement; // 根据 GBS 最新数据，A-Grade Browsers 都已支持 getBoundingClientRect 方法，不用再考虑传统的实现方式\n\n  box = elem.getBoundingClientRect(); // 注：jQuery 还考虑减去 docElem.clientLeft/clientTop\n  // 但测试发现，这样反而会导致当 html 和 body 有边距/边框样式时，获取的值不正确\n  // 此外，ie6 会忽略 html 的 margin 值，幸运地是没有谁会去设置 html 的 margin\n\n  x = box.left;\n  y = box.top; // In IE, most of the time, 2 extra pixels are added to the top and left\n  // due to the implicit 2-pixel inset border.  In IE6/7 quirks mode and\n  // IE6 standards mode, this border can be overridden by setting the\n  // document element's border to zero -- thus, we cannot rely on the\n  // offset always being 2 pixels.\n  // In quirks mode, the offset can be determined by querying the body's\n  // clientLeft/clientTop, but in standards mode, it is found by querying\n  // the document element's clientLeft/clientTop.  Since we already called\n  // getClientBoundingRect we have already forced a reflow, so it is not\n  // too expensive just to query them all.\n  // ie 下应该减去窗口的边框吧，毕竟默认 absolute 都是相对窗口定位的\n  // 窗口边框标准是设 documentElement ,quirks 时设置 body\n  // 最好禁止在 body 和 html 上边框 ，但 ie < 9 html 默认有 2px ，减去\n  // 但是非 ie 不可能设置窗口边框，body html 也不是窗口 ,ie 可以通过 html,body 设置\n  // 标准 ie 下 docElem.clientTop 就是 border-top\n  // ie7 html 即窗口边框改变不了。永远为 2\n  // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框，即使设了 border-top 也为 0\n\n  x -= docElem.clientLeft || body.clientLeft || 0;\n  y -= docElem.clientTop || body.clientTop || 0;\n  return {\n    left: x,\n    top: y\n  };\n}\n\nfunction getScroll(w, top) {\n  var ret = w[\"page\".concat(top ? 'Y' : 'X', \"Offset\")];\n  var method = \"scroll\".concat(top ? 'Top' : 'Left');\n\n  if (typeof ret !== 'number') {\n    var d = w.document; // ie6,7,8 standard mode\n\n    ret = d.documentElement[method];\n\n    if (typeof ret !== 'number') {\n      // quirks mode\n      ret = d.body[method];\n    }\n  }\n\n  return ret;\n}\n\nfunction getScrollLeft(w) {\n  return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n  return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n  var pos = getClientPosition(el);\n  var doc = el.ownerDocument;\n  var w = doc.defaultView || doc.parentWindow;\n  pos.left += getScrollLeft(w);\n  pos.top += getScrollTop(w);\n  return pos;\n}\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\n\n\nfunction isWindow(obj) {\n  // must use == for ie8\n\n  /* eslint eqeqeq:0 */\n  return obj !== null && obj !== undefined && obj == obj.window;\n}\n\nfunction getDocument(node) {\n  if (isWindow(node)) {\n    return node.document;\n  }\n\n  if (node.nodeType === 9) {\n    return node;\n  }\n\n  return node.ownerDocument;\n}\n\nfunction _getComputedStyle(elem, name, cs) {\n  var computedStyle = cs;\n  var val = '';\n  var d = getDocument(elem);\n  computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null); // https://github.com/kissyteam/kissy/issues/61\n\n  if (computedStyle) {\n    val = computedStyle.getPropertyValue(name) || computedStyle[name];\n  }\n\n  return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp(\"^(\".concat(RE_NUM, \")(?!px)[a-z%]+$\"), 'i');\n\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n  // currentStyle maybe null\n  // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n  var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name]; // 当 width/height 设置为百分比时，通过 pixelLeft 方式转换的 width/height 值\n  // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n  // 在 ie 下不对，需要直接用 offset 方式\n  // borderWidth 等值也有问题，但考虑到 borderWidth 设为百分比的概率很小，这里就不考虑了\n  // From the awesome hack by Dean Edwards\n  // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n  // If we're not dealing with a regular pixel number\n  // but a number that has a weird ending, we need to convert it to pixels\n  // exclude left right for relativity\n\n  if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n    // Remember the original values\n    var style = elem.style;\n    var left = style[LEFT];\n    var rsLeft = elem[RUNTIME_STYLE][LEFT]; // prevent flashing of content\n\n    elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT]; // Put in the new values to get a computed value out\n\n    style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n    ret = style.pixelLeft + PX; // Revert the changed values\n\n    style[LEFT] = left;\n    elem[RUNTIME_STYLE][LEFT] = rsLeft;\n  }\n\n  return ret === '' ? 'auto' : ret;\n}\n\nif (typeof window !== 'undefined') {\n  getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction getOffsetDirection(dir, option) {\n  if (dir === 'left') {\n    return option.useCssRight ? 'right' : dir;\n  }\n\n  return option.useCssBottom ? 'bottom' : dir;\n}\n\nfunction oppositeOffsetDirection(dir) {\n  if (dir === 'left') {\n    return 'right';\n  } else if (dir === 'right') {\n    return 'left';\n  } else if (dir === 'top') {\n    return 'bottom';\n  } else if (dir === 'bottom') {\n    return 'top';\n  }\n} // 设置 elem 相对 elem.ownerDocument 的坐标\n\n\nfunction setLeftTop(elem, offset, option) {\n  // set position first, in-case top/left are set even on static elem\n  if (css(elem, 'position') === 'static') {\n    elem.style.position = 'relative';\n  }\n\n  var presetH = -999;\n  var presetV = -999;\n  var horizontalProperty = getOffsetDirection('left', option);\n  var verticalProperty = getOffsetDirection('top', option);\n  var oppositeHorizontalProperty = oppositeOffsetDirection(horizontalProperty);\n  var oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);\n\n  if (horizontalProperty !== 'left') {\n    presetH = 999;\n  }\n\n  if (verticalProperty !== 'top') {\n    presetV = 999;\n  }\n\n  var originalTransition = '';\n  var originalOffset = getOffset(elem);\n\n  if ('left' in offset || 'top' in offset) {\n    originalTransition = getTransitionProperty(elem) || '';\n    setTransitionProperty(elem, 'none');\n  }\n\n  if ('left' in offset) {\n    elem.style[oppositeHorizontalProperty] = '';\n    elem.style[horizontalProperty] = \"\".concat(presetH, \"px\");\n  }\n\n  if ('top' in offset) {\n    elem.style[oppositeVerticalProperty] = '';\n    elem.style[verticalProperty] = \"\".concat(presetV, \"px\");\n  } // force relayout\n\n\n  forceRelayout(elem);\n  var old = getOffset(elem);\n  var originalStyle = {};\n\n  for (var key in offset) {\n    if (offset.hasOwnProperty(key)) {\n      var dir = getOffsetDirection(key, option);\n      var preset = key === 'left' ? presetH : presetV;\n      var off = originalOffset[key] - old[key];\n\n      if (dir === key) {\n        originalStyle[dir] = preset + off;\n      } else {\n        originalStyle[dir] = preset - off;\n      }\n    }\n  }\n\n  css(elem, originalStyle); // force relayout\n\n  forceRelayout(elem);\n\n  if ('left' in offset || 'top' in offset) {\n    setTransitionProperty(elem, originalTransition);\n  }\n\n  var ret = {};\n\n  for (var _key in offset) {\n    if (offset.hasOwnProperty(_key)) {\n      var _dir = getOffsetDirection(_key, option);\n\n      var _off = offset[_key] - originalOffset[_key];\n\n      if (_key === _dir) {\n        ret[_dir] = originalStyle[_dir] + _off;\n      } else {\n        ret[_dir] = originalStyle[_dir] - _off;\n      }\n    }\n  }\n\n  css(elem, ret);\n}\n\nfunction setTransform$1(elem, offset) {\n  var originalOffset = getOffset(elem);\n  var originalXY = getTransformXY(elem);\n  var resultXY = {\n    x: originalXY.x,\n    y: originalXY.y\n  };\n\n  if ('left' in offset) {\n    resultXY.x = originalXY.x + offset.left - originalOffset.left;\n  }\n\n  if ('top' in offset) {\n    resultXY.y = originalXY.y + offset.top - originalOffset.top;\n  }\n\n  setTransformXY(elem, resultXY);\n}\n\nfunction setOffset(elem, offset, option) {\n  if (option.ignoreShake) {\n    var oriOffset = getOffset(elem);\n    var oLeft = oriOffset.left.toFixed(0);\n    var oTop = oriOffset.top.toFixed(0);\n    var tLeft = offset.left.toFixed(0);\n    var tTop = offset.top.toFixed(0);\n\n    if (oLeft === tLeft && oTop === tTop) {\n      return;\n    }\n  }\n\n  if (option.useCssRight || option.useCssBottom) {\n    setLeftTop(elem, offset, option);\n  } else if (option.useCssTransform && getTransformName() in document.body.style) {\n    setTransform$1(elem, offset);\n  } else {\n    setLeftTop(elem, offset, option);\n  }\n}\n\nfunction each(arr, fn) {\n  for (var i = 0; i < arr.length; i++) {\n    fn(arr[i]);\n  }\n}\n\nfunction isBorderBoxFn(elem) {\n  return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n  var old = {};\n  var style = elem.style;\n  var name; // Remember the old values, and insert the new ones\n\n  for (name in options) {\n    if (options.hasOwnProperty(name)) {\n      old[name] = style[name];\n      style[name] = options[name];\n    }\n  }\n\n  callback.call(elem); // Revert the old values\n\n  for (name in options) {\n    if (options.hasOwnProperty(name)) {\n      style[name] = old[name];\n    }\n  }\n}\n\nfunction getPBMWidth(elem, props, which) {\n  var value = 0;\n  var prop;\n  var j;\n  var i;\n\n  for (j = 0; j < props.length; j++) {\n    prop = props[j];\n\n    if (prop) {\n      for (i = 0; i < which.length; i++) {\n        var cssProp = void 0;\n\n        if (prop === 'border') {\n          cssProp = \"\".concat(prop).concat(which[i], \"Width\");\n        } else {\n          cssProp = prop + which[i];\n        }\n\n        value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n      }\n    }\n  }\n\n  return value;\n}\n\nvar domUtils = {\n  getParent: function getParent(element) {\n    var parent = element;\n\n    do {\n      if (parent.nodeType === 11 && parent.host) {\n        parent = parent.host;\n      } else {\n        parent = parent.parentNode;\n      }\n    } while (parent && parent.nodeType !== 1 && parent.nodeType !== 9);\n\n    return parent;\n  }\n};\neach(['Width', 'Height'], function (name) {\n  domUtils[\"doc\".concat(name)] = function (refWin) {\n    var d = refWin.document;\n    return Math.max( // firefox chrome documentElement.scrollHeight< body.scrollHeight\n    // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n    d.documentElement[\"scroll\".concat(name)], // quirks : documentElement.scrollHeight 最大等于可视窗口多一点？\n    d.body[\"scroll\".concat(name)], domUtils[\"viewport\".concat(name)](d));\n  };\n\n  domUtils[\"viewport\".concat(name)] = function (win) {\n    // pc browser includes scrollbar in window.innerWidth\n    var prop = \"client\".concat(name);\n    var doc = win.document;\n    var body = doc.body;\n    var documentElement = doc.documentElement;\n    var documentElementProp = documentElement[prop]; // 标准模式取 documentElement\n    // backcompat 取 body\n\n    return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n  };\n});\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra]  'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\n\nfunction getWH(elem, name, ex) {\n  var extra = ex;\n\n  if (isWindow(elem)) {\n    return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n  } else if (elem.nodeType === 9) {\n    return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n  }\n\n  var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n  var borderBoxValue = name === 'width' ? elem.getBoundingClientRect().width : elem.getBoundingClientRect().height;\n  var computedStyle = getComputedStyleX(elem);\n  var isBorderBox = isBorderBoxFn(elem);\n  var cssBoxValue = 0;\n\n  if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {\n    borderBoxValue = undefined; // Fall back to computed then un computed css if necessary\n\n    cssBoxValue = getComputedStyleX(elem, name);\n\n    if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {\n      cssBoxValue = elem.style[name] || 0;\n    } // Normalize '', auto, and prepare for extra\n\n\n    cssBoxValue = parseFloat(cssBoxValue) || 0;\n  }\n\n  if (extra === undefined) {\n    extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n  }\n\n  var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n  var val = borderBoxValue || cssBoxValue;\n\n  if (extra === CONTENT_INDEX) {\n    if (borderBoxValueOrIsBorderBox) {\n      return val - getPBMWidth(elem, ['border', 'padding'], which);\n    }\n\n    return cssBoxValue;\n  } else if (borderBoxValueOrIsBorderBox) {\n    if (extra === BORDER_INDEX) {\n      return val;\n    }\n\n    return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which) : getPBMWidth(elem, ['margin'], which));\n  }\n\n  return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which);\n}\n\nvar cssShow = {\n  position: 'absolute',\n  visibility: 'hidden',\n  display: 'block'\n}; // fix #119 : https://github.com/kissyteam/kissy/issues/119\n\nfunction getWHIgnoreDisplay() {\n  for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n    args[_key2] = arguments[_key2];\n  }\n\n  var val;\n  var elem = args[0]; // in case elem is window\n  // elem.offsetWidth === undefined\n\n  if (elem.offsetWidth !== 0) {\n    val = getWH.apply(undefined, args);\n  } else {\n    swap(elem, cssShow, function () {\n      val = getWH.apply(undefined, args);\n    });\n  }\n\n  return val;\n}\n\neach(['width', 'height'], function (name) {\n  var first = name.charAt(0).toUpperCase() + name.slice(1);\n\n  domUtils[\"outer\".concat(first)] = function (el, includeMargin) {\n    return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n  };\n\n  var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n  domUtils[name] = function (elem, v) {\n    var val = v;\n\n    if (val !== undefined) {\n      if (elem) {\n        var computedStyle = getComputedStyleX(elem);\n        var isBorderBox = isBorderBoxFn(elem);\n\n        if (isBorderBox) {\n          val += getPBMWidth(elem, ['padding', 'border'], which);\n        }\n\n        return css(elem, name, val);\n      }\n\n      return undefined;\n    }\n\n    return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n  };\n});\n\nfunction mix(to, from) {\n  for (var i in from) {\n    if (from.hasOwnProperty(i)) {\n      to[i] = from[i];\n    }\n  }\n\n  return to;\n}\n\nvar utils = {\n  getWindow: function getWindow(node) {\n    if (node && node.document && node.setTimeout) {\n      return node;\n    }\n\n    var doc = node.ownerDocument || node;\n    return doc.defaultView || doc.parentWindow;\n  },\n  getDocument: getDocument,\n  offset: function offset(el, value, option) {\n    if (typeof value !== 'undefined') {\n      setOffset(el, value, option || {});\n    } else {\n      return getOffset(el);\n    }\n  },\n  isWindow: isWindow,\n  each: each,\n  css: css,\n  clone: function clone(obj) {\n    var i;\n    var ret = {};\n\n    for (i in obj) {\n      if (obj.hasOwnProperty(i)) {\n        ret[i] = obj[i];\n      }\n    }\n\n    var overflow = obj.overflow;\n\n    if (overflow) {\n      for (i in obj) {\n        if (obj.hasOwnProperty(i)) {\n          ret.overflow[i] = obj.overflow[i];\n        }\n      }\n    }\n\n    return ret;\n  },\n  mix: mix,\n  getWindowScrollLeft: function getWindowScrollLeft(w) {\n    return getScrollLeft(w);\n  },\n  getWindowScrollTop: function getWindowScrollTop(w) {\n    return getScrollTop(w);\n  },\n  merge: function merge() {\n    var ret = {};\n\n    for (var i = 0; i < arguments.length; i++) {\n      utils.mix(ret, i < 0 || arguments.length <= i ? undefined : arguments[i]);\n    }\n\n    return ret;\n  },\n  viewportWidth: 0,\n  viewportHeight: 0\n};\nmix(utils, domUtils);\n\n/**\n * 得到会导致元素显示不全的祖先元素\n */\n\nvar getParent = utils.getParent;\n\nfunction getOffsetParent(element) {\n  if (utils.isWindow(element) || element.nodeType === 9) {\n    return null;\n  } // ie 这个也不是完全可行\n\n  /*\n   <div style=\"width: 50px;height: 100px;overflow: hidden\">\n   <div style=\"width: 50px;height: 100px;position: relative;\" id=\"d6\">\n   元素 6 高 100px 宽 50px<br/>\n   </div>\n   </div>\n   */\n  // element.offsetParent does the right thing in ie7 and below. Return parent with layout!\n  //  In other browsers it only includes elements with position absolute, relative or\n  // fixed, not elements with overflow set to auto or scroll.\n  //        if (UA.ie && ieMode < 8) {\n  //            return element.offsetParent;\n  //        }\n  // 统一的 offsetParent 方法\n\n\n  var doc = utils.getDocument(element);\n  var body = doc.body;\n  var parent;\n  var positionStyle = utils.css(element, 'position');\n  var skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';\n\n  if (!skipStatic) {\n    return element.nodeName.toLowerCase() === 'html' ? null : getParent(element);\n  }\n\n  for (parent = getParent(element); parent && parent !== body && parent.nodeType !== 9; parent = getParent(parent)) {\n    positionStyle = utils.css(parent, 'position');\n\n    if (positionStyle !== 'static') {\n      return parent;\n    }\n  }\n\n  return null;\n}\n\nvar getParent$1 = utils.getParent;\nfunction isAncestorFixed(element) {\n  if (utils.isWindow(element) || element.nodeType === 9) {\n    return false;\n  }\n\n  var doc = utils.getDocument(element);\n  var body = doc.body;\n  var parent = null;\n\n  for (parent = getParent$1(element); parent && parent !== body; parent = getParent$1(parent)) {\n    var positionStyle = utils.css(parent, 'position');\n\n    if (positionStyle === 'fixed') {\n      return true;\n    }\n  }\n\n  return false;\n}\n\n/**\n * 获得元素的显示部分的区域\n */\n\nfunction getVisibleRectForElement(element) {\n  var visibleRect = {\n    left: 0,\n    right: Infinity,\n    top: 0,\n    bottom: Infinity\n  };\n  var el = getOffsetParent(element);\n  var doc = utils.getDocument(element);\n  var win = doc.defaultView || doc.parentWindow;\n  var body = doc.body;\n  var documentElement = doc.documentElement; // Determine the size of the visible rect by climbing the dom accounting for\n  // all scrollable containers.\n\n  while (el) {\n    // clientWidth is zero for inline block elements in ie.\n    if ((navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) && // body may have overflow set on it, yet we still get the entire\n    // viewport. In some browsers, el.offsetParent may be\n    // document.documentElement, so check for that too.\n    el !== body && el !== documentElement && utils.css(el, 'overflow') !== 'visible') {\n      var pos = utils.offset(el); // add border\n\n      pos.left += el.clientLeft;\n      pos.top += el.clientTop;\n      visibleRect.top = Math.max(visibleRect.top, pos.top);\n      visibleRect.right = Math.min(visibleRect.right, // consider area without scrollBar\n      pos.left + el.clientWidth);\n      visibleRect.bottom = Math.min(visibleRect.bottom, pos.top + el.clientHeight);\n      visibleRect.left = Math.max(visibleRect.left, pos.left);\n    } else if (el === body || el === documentElement) {\n      break;\n    }\n\n    el = getOffsetParent(el);\n  } // Set element position to fixed\n  // make sure absolute element itself don't affect it's visible area\n  // https://github.com/ant-design/ant-design/issues/7601\n\n\n  var originalPosition = null;\n\n  if (!utils.isWindow(element) && element.nodeType !== 9) {\n    originalPosition = element.style.position;\n    var position = utils.css(element, 'position');\n\n    if (position === 'absolute') {\n      element.style.position = 'fixed';\n    }\n  }\n\n  var scrollX = utils.getWindowScrollLeft(win);\n  var scrollY = utils.getWindowScrollTop(win);\n  var viewportWidth = utils.viewportWidth(win);\n  var viewportHeight = utils.viewportHeight(win);\n  var documentWidth = documentElement.scrollWidth;\n  var documentHeight = documentElement.scrollHeight; // scrollXXX on html is sync with body which means overflow: hidden on body gets wrong scrollXXX.\n  // We should cut this ourself.\n\n  var bodyStyle = window.getComputedStyle(body);\n\n  if (bodyStyle.overflowX === 'hidden') {\n    documentWidth = win.innerWidth;\n  }\n\n  if (bodyStyle.overflowY === 'hidden') {\n    documentHeight = win.innerHeight;\n  } // Reset element position after calculate the visible area\n\n\n  if (element.style) {\n    element.style.position = originalPosition;\n  }\n\n  if (isAncestorFixed(element)) {\n    // Clip by viewport's size.\n    visibleRect.left = Math.max(visibleRect.left, scrollX);\n    visibleRect.top = Math.max(visibleRect.top, scrollY);\n    visibleRect.right = Math.min(visibleRect.right, scrollX + viewportWidth);\n    visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + viewportHeight);\n  } else {\n    // Clip by document's size.\n    var maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth);\n    visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth);\n    var maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight);\n    visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight);\n  }\n\n  return visibleRect.top >= 0 && visibleRect.left >= 0 && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null;\n}\n\nfunction adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {\n  var pos = utils.clone(elFuturePos);\n  var size = {\n    width: elRegion.width,\n    height: elRegion.height\n  };\n\n  if (overflow.adjustX && pos.left < visibleRect.left) {\n    pos.left = visibleRect.left;\n  } // Left edge inside and right edge outside viewport, try to resize it.\n\n\n  if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {\n    size.width -= pos.left + size.width - visibleRect.right;\n  } // Right edge outside viewport, try to move it.\n\n\n  if (overflow.adjustX && pos.left + size.width > visibleRect.right) {\n    // 保证左边界和可视区域左边界对齐\n    pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);\n  } // Top edge outside viewport, try to move it.\n\n\n  if (overflow.adjustY && pos.top < visibleRect.top) {\n    pos.top = visibleRect.top;\n  } // Top edge inside and bottom edge outside viewport, try to resize it.\n\n\n  if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {\n    size.height -= pos.top + size.height - visibleRect.bottom;\n  } // Bottom edge outside viewport, try to move it.\n\n\n  if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {\n    // 保证上边界和可视区域上边界对齐\n    pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);\n  }\n\n  return utils.mix(pos, size);\n}\n\nfunction getRegion(node) {\n  var offset;\n  var w;\n  var h;\n\n  if (!utils.isWindow(node) && node.nodeType !== 9) {\n    offset = utils.offset(node);\n    w = utils.outerWidth(node);\n    h = utils.outerHeight(node);\n  } else {\n    var win = utils.getWindow(node);\n    offset = {\n      left: utils.getWindowScrollLeft(win),\n      top: utils.getWindowScrollTop(win)\n    };\n    w = utils.viewportWidth(win);\n    h = utils.viewportHeight(win);\n  }\n\n  offset.width = w;\n  offset.height = h;\n  return offset;\n}\n\n/**\n * 获取 node 上的 align 对齐点 相对于页面的坐标\n */\nfunction getAlignOffset(region, align) {\n  var V = align.charAt(0);\n  var H = align.charAt(1);\n  var w = region.width;\n  var h = region.height;\n  var x = region.left;\n  var y = region.top;\n\n  if (V === 'c') {\n    y += h / 2;\n  } else if (V === 'b') {\n    y += h;\n  }\n\n  if (H === 'c') {\n    x += w / 2;\n  } else if (H === 'r') {\n    x += w;\n  }\n\n  return {\n    left: x,\n    top: y\n  };\n}\n\nfunction getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {\n  var p1 = getAlignOffset(refNodeRegion, points[1]);\n  var p2 = getAlignOffset(elRegion, points[0]);\n  var diff = [p2.left - p1.left, p2.top - p1.top];\n  return {\n    left: Math.round(elRegion.left - diff[0] + offset[0] - targetOffset[0]),\n    top: Math.round(elRegion.top - diff[1] + offset[1] - targetOffset[1])\n  };\n}\n\n/**\n * align dom node flexibly\n * @author yiminghe@gmail.com\n */\n\nfunction isFailX(elFuturePos, elRegion, visibleRect) {\n  return elFuturePos.left < visibleRect.left || elFuturePos.left + elRegion.width > visibleRect.right;\n}\n\nfunction isFailY(elFuturePos, elRegion, visibleRect) {\n  return elFuturePos.top < visibleRect.top || elFuturePos.top + elRegion.height > visibleRect.bottom;\n}\n\nfunction isCompleteFailX(elFuturePos, elRegion, visibleRect) {\n  return elFuturePos.left > visibleRect.right || elFuturePos.left + elRegion.width < visibleRect.left;\n}\n\nfunction isCompleteFailY(elFuturePos, elRegion, visibleRect) {\n  return elFuturePos.top > visibleRect.bottom || elFuturePos.top + elRegion.height < visibleRect.top;\n}\n\nfunction flip(points, reg, map) {\n  var ret = [];\n  utils.each(points, function (p) {\n    ret.push(p.replace(reg, function (m) {\n      return map[m];\n    }));\n  });\n  return ret;\n}\n\nfunction flipOffset(offset, index) {\n  offset[index] = -offset[index];\n  return offset;\n}\n\nfunction convertOffset(str, offsetLen) {\n  var n;\n\n  if (/%$/.test(str)) {\n    n = parseInt(str.substring(0, str.length - 1), 10) / 100 * offsetLen;\n  } else {\n    n = parseInt(str, 10);\n  }\n\n  return n || 0;\n}\n\nfunction normalizeOffset(offset, el) {\n  offset[0] = convertOffset(offset[0], el.width);\n  offset[1] = convertOffset(offset[1], el.height);\n}\n/**\n * @param el\n * @param tgtRegion 参照节点所占的区域: { left, top, width, height }\n * @param align\n */\n\n\nfunction doAlign(el, tgtRegion, align, isTgtRegionVisible) {\n  var points = align.points;\n  var offset = align.offset || [0, 0];\n  var targetOffset = align.targetOffset || [0, 0];\n  var overflow = align.overflow;\n  var source = align.source || el;\n  offset = [].concat(offset);\n  targetOffset = [].concat(targetOffset);\n  overflow = overflow || {};\n  var newOverflowCfg = {};\n  var fail = 0; // 当前节点可以被放置的显示区域\n\n  var visibleRect = getVisibleRectForElement(source); // 当前节点所占的区域, left/top/width/height\n\n  var elRegion = getRegion(source); // 将 offset 转换成数值，支持百分比\n\n  normalizeOffset(offset, elRegion);\n  normalizeOffset(targetOffset, tgtRegion); // 当前节点将要被放置的位置\n\n  var elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset); // 当前节点将要所处的区域\n\n  var newElRegion = utils.merge(elRegion, elFuturePos); // 如果可视区域不能完全放置当前节点时允许调整\n\n  if (visibleRect && (overflow.adjustX || overflow.adjustY) && isTgtRegionVisible) {\n    if (overflow.adjustX) {\n      // 如果横向不能放下\n      if (isFailX(elFuturePos, elRegion, visibleRect)) {\n        // 对齐位置反下\n        var newPoints = flip(points, /[lr]/gi, {\n          l: 'r',\n          r: 'l'\n        }); // 偏移量也反下\n\n        var newOffset = flipOffset(offset, 0);\n        var newTargetOffset = flipOffset(targetOffset, 0);\n        var newElFuturePos = getElFuturePos(elRegion, tgtRegion, newPoints, newOffset, newTargetOffset);\n\n        if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) {\n          fail = 1;\n          points = newPoints;\n          offset = newOffset;\n          targetOffset = newTargetOffset;\n        }\n      }\n    }\n\n    if (overflow.adjustY) {\n      // 如果纵向不能放下\n      if (isFailY(elFuturePos, elRegion, visibleRect)) {\n        // 对齐位置反下\n        var _newPoints = flip(points, /[tb]/gi, {\n          t: 'b',\n          b: 't'\n        }); // 偏移量也反下\n\n\n        var _newOffset = flipOffset(offset, 1);\n\n        var _newTargetOffset = flipOffset(targetOffset, 1);\n\n        var _newElFuturePos = getElFuturePos(elRegion, tgtRegion, _newPoints, _newOffset, _newTargetOffset);\n\n        if (!isCompleteFailY(_newElFuturePos, elRegion, visibleRect)) {\n          fail = 1;\n          points = _newPoints;\n          offset = _newOffset;\n          targetOffset = _newTargetOffset;\n        }\n      }\n    } // 如果失败，重新计算当前节点将要被放置的位置\n\n\n    if (fail) {\n      elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset);\n      utils.mix(newElRegion, elFuturePos);\n    }\n\n    var isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);\n    var isStillFailY = isFailY(elFuturePos, elRegion, visibleRect); // 检查反下后的位置是否可以放下了，如果仍然放不下：\n    // 1. 复原修改过的定位参数\n\n    if (isStillFailX || isStillFailY) {\n      points = align.points;\n      offset = align.offset || [0, 0];\n      targetOffset = align.targetOffset || [0, 0];\n    } // 2. 只有指定了可以调整当前方向才调整\n\n\n    newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;\n    newOverflowCfg.adjustY = overflow.adjustY && isStillFailY; // 确实要调整，甚至可能会调整高度宽度\n\n    if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {\n      newElRegion = adjustForViewport(elFuturePos, elRegion, visibleRect, newOverflowCfg);\n    }\n  } // need judge to in case set fixed with in css on height auto element\n\n\n  if (newElRegion.width !== elRegion.width) {\n    utils.css(source, 'width', utils.width(source) + newElRegion.width - elRegion.width);\n  }\n\n  if (newElRegion.height !== elRegion.height) {\n    utils.css(source, 'height', utils.height(source) + newElRegion.height - elRegion.height);\n  } // https://github.com/kissyteam/kissy/issues/190\n  // 相对于屏幕位置没变，而 left/top 变了\n  // 例如 <div 'relative'><el absolute></div>\n\n\n  utils.offset(source, {\n    left: newElRegion.left,\n    top: newElRegion.top\n  }, {\n    useCssRight: align.useCssRight,\n    useCssBottom: align.useCssBottom,\n    useCssTransform: align.useCssTransform,\n    ignoreShake: align.ignoreShake\n  });\n  return {\n    points: points,\n    offset: offset,\n    targetOffset: targetOffset,\n    overflow: newOverflowCfg\n  };\n}\n/**\n *  2012-04-26 yiminghe@gmail.com\n *   - 优化智能对齐算法\n *   - 慎用 resizeXX\n *\n *  2011-07-13 yiminghe@gmail.com note:\n *   - 增加智能对齐，以及大小调整选项\n **/\n\nfunction isOutOfVisibleRect(target) {\n  var visibleRect = getVisibleRectForElement(target);\n  var targetRegion = getRegion(target);\n  return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;\n}\n\nfunction alignElement(el, refNode, align) {\n  var target = align.target || refNode;\n  var refNodeRegion = getRegion(target);\n  var isTargetNotOutOfVisible = !isOutOfVisibleRect(target);\n  return doAlign(el, refNodeRegion, align, isTargetNotOutOfVisible);\n}\n\nalignElement.__getOffsetParent = getOffsetParent;\nalignElement.__getVisibleRectForElement = getVisibleRectForElement;\n\n/**\n * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.\n * If client position provided, will internal convert to page position.\n */\n\nfunction alignPoint(el, tgtPoint, align) {\n  var pageX;\n  var pageY;\n  var doc = utils.getDocument(el);\n  var win = doc.defaultView || doc.parentWindow;\n  var scrollX = utils.getWindowScrollLeft(win);\n  var scrollY = utils.getWindowScrollTop(win);\n  var viewportWidth = utils.viewportWidth(win);\n  var viewportHeight = utils.viewportHeight(win);\n\n  if ('pageX' in tgtPoint) {\n    pageX = tgtPoint.pageX;\n  } else {\n    pageX = scrollX + tgtPoint.clientX;\n  }\n\n  if ('pageY' in tgtPoint) {\n    pageY = tgtPoint.pageY;\n  } else {\n    pageY = scrollY + tgtPoint.clientY;\n  }\n\n  var tgtRegion = {\n    left: pageX,\n    top: pageY,\n    width: 0,\n    height: 0\n  };\n  var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight; // Provide default target point\n\n  var points = [align.points[0], 'cc'];\n  return doAlign(el, tgtRegion, _objectSpread2({}, align, {\n    points: points\n  }), pointInView);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (alignElement);\n\n//# sourceMappingURL=index.js.map\n\n\n/***/ }),\n\n/***/ \"./node_modules/is-arrayish/index.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/is-arrayish/index.js ***!\n  \\*******************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = function isArrayish(obj) {\n\tif (!obj || typeof obj === 'string') {\n\t\treturn false;\n\t}\n\n\treturn obj instanceof Array || Array.isArray(obj) ||\n\t\t(obj.length >= 0 && (obj.splice instanceof Function ||\n\t\t\t(Object.getOwnPropertyDescriptor(obj, (obj.length - 1)) && obj.constructor.name !== 'String')));\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/is-what/dist/index.esm.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/is-what/dist/index.esm.js ***!\n  \\************************************************/\n/*! exports provided: getType, isUndefined, isNull, isPlainObject, isObject, isAnyObject, isObjectLike, isFunction, isArray, isString, isFullString, isEmptyString, isNumber, isBoolean, isRegExp, isDate, isSymbol, isPrimitive, isType */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getType\", function() { return getType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isUndefined\", function() { return isUndefined; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isNull\", function() { return isNull; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isPlainObject\", function() { return isPlainObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isObject\", function() { return isObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isAnyObject\", function() { return isAnyObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isObjectLike\", function() { return isObjectLike; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isFunction\", function() { return isFunction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isArray\", function() { return isArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isString\", function() { return isString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isFullString\", function() { return isFullString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isEmptyString\", function() { return isEmptyString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isNumber\", function() { return isNumber; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isBoolean\", function() { return isBoolean; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isRegExp\", function() { return isRegExp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isDate\", function() { return isDate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isSymbol\", function() { return isSymbol; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isPrimitive\", function() { return isPrimitive; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isType\", function() { return isType; });\n/**\r\n * Returns the object type of the given payload\r\n *\r\n * @param {*} payload\r\n * @returns {string}\r\n */\r\nfunction getType(payload) {\r\n    return Object.prototype.toString.call(payload).slice(8, -1);\r\n}\r\n/**\r\n * Returns whether the payload is undefined\r\n *\r\n * @param {*} payload\r\n * @returns {payload is undefined}\r\n */\r\nfunction isUndefined(payload) {\r\n    return getType(payload) === 'Undefined';\r\n}\r\n/**\r\n * Returns whether the payload is null\r\n *\r\n * @param {*} payload\r\n * @returns {payload is null}\r\n */\r\nfunction isNull(payload) {\r\n    return getType(payload) === 'Null';\r\n}\r\n/**\r\n * Returns whether the payload is a plain JavaScript object (excluding special classes or objects with other prototypes)\r\n *\r\n * @param {*} payload\r\n * @returns {payload is {[key: string]: any}}\r\n */\r\nfunction isPlainObject(payload) {\r\n    if (getType(payload) !== 'Object')\r\n        return false;\r\n    return (payload.constructor === Object && Object.getPrototypeOf(payload) === Object.prototype);\r\n}\r\n/**\r\n * Returns whether the payload is a plain JavaScript object (excluding special classes or objects with other prototypes)\r\n *\r\n * @param {*} payload\r\n * @returns {payload is {[key: string]: any}}\r\n */\r\nfunction isObject(payload) {\r\n    return isPlainObject(payload);\r\n}\r\n/**\r\n * Returns whether the payload is an any kind of object (including special classes or objects with different prototypes)\r\n *\r\n * @param {*} payload\r\n * @returns {payload is {[key: string]: any}}\r\n */\r\nfunction isAnyObject(payload) {\r\n    return getType(payload) === 'Object';\r\n}\r\n/**\r\n * Returns whether the payload is an object like a type passed in < >\r\n *\r\n * Usage: isObjectLike<{id: any}>(payload) // will make sure it's an object and has an `id` prop.\r\n *\r\n * @template T this must be passed in < >\r\n * @param {*} payload\r\n * @returns {payload is T}\r\n */\r\nfunction isObjectLike(payload) {\r\n    return isAnyObject(payload);\r\n}\r\n/**\r\n * Returns whether the payload is a function\r\n *\r\n * @param {*} payload\r\n * @returns {payload is Function}\r\n */\r\nfunction isFunction(payload) {\r\n    return getType(payload) === 'Function';\r\n}\r\n/**\r\n * Returns whether the payload is an array\r\n *\r\n * @param {*} payload\r\n * @returns {payload is undefined}\r\n */\r\nfunction isArray(payload) {\r\n    return getType(payload) === 'Array';\r\n}\r\n/**\r\n * Returns whether the payload is a string\r\n *\r\n * @param {*} payload\r\n * @returns {payload is string}\r\n */\r\nfunction isString(payload) {\r\n    return getType(payload) === 'String';\r\n}\r\n/**\r\n * Returns whether the payload is a string, BUT returns false for ''\r\n *\r\n * @param {*} payload\r\n * @returns {payload is string}\r\n */\r\nfunction isFullString(payload) {\r\n    return isString(payload) && payload !== '';\r\n}\r\n/**\r\n * Returns whether the payload is ''\r\n *\r\n * @param {*} payload\r\n * @returns {payload is string}\r\n */\r\nfunction isEmptyString(payload) {\r\n    return payload === '';\r\n}\r\n/**\r\n * Returns whether the payload is a number\r\n *\r\n * This will return false for NaN\r\n *\r\n * @param {*} payload\r\n * @returns {payload is number}\r\n */\r\nfunction isNumber(payload) {\r\n    return (getType(payload) === 'Number' && !isNaN(payload));\r\n}\r\n/**\r\n * Returns whether the payload is a boolean\r\n *\r\n * @param {*} payload\r\n * @returns {payload is boolean}\r\n */\r\nfunction isBoolean(payload) {\r\n    return getType(payload) === 'Boolean';\r\n}\r\n/**\r\n * Returns whether the payload is a regular expression\r\n *\r\n * @param {*} payload\r\n * @returns {payload is RegExp}\r\n */\r\nfunction isRegExp(payload) {\r\n    return getType(payload) === 'RegExp';\r\n}\r\n/**\r\n * Returns whether the payload is a date, and that the date is Valid\r\n *\r\n * @param {*} payload\r\n * @returns {payload is Date}\r\n */\r\nfunction isDate(payload) {\r\n    return (getType(payload) === 'Date' && !isNaN(payload));\r\n}\r\n/**\r\n * Returns whether the payload is a Symbol\r\n *\r\n * @param {*} payload\r\n * @returns {payload is symbol}\r\n */\r\nfunction isSymbol(payload) {\r\n    return (getType(payload) === 'Symbol');\r\n}\r\n/**\r\n * Returns whether the payload is a primitive type (eg. Boolean | Null | Undefined | Number | String | Symbol)\r\n *\r\n * @param {*} payload\r\n * @returns {(payload is boolean | null | undefined | number | string | symbol)}\r\n */\r\nfunction isPrimitive(payload) {\r\n    return (isBoolean(payload) ||\r\n        isNull(payload) ||\r\n        isUndefined(payload) ||\r\n        isNumber(payload) ||\r\n        isString(payload) ||\r\n        isSymbol(payload));\r\n}\r\n/**\r\n * Does a generic check to check that the given payload is of a given type.\r\n * In cases like Number, it will return true for NaN as NaN is a Number (thanks javascript!);\r\n * It will, however, differentiate between object and null\r\n *\r\n * @template T\r\n * @param {*} payload\r\n * @param {T} type\r\n * @throws {TypeError} Will throw type error if type is an invalid type\r\n * @returns {payload is T}\r\n */\r\nfunction isType(payload, type) {\r\n    if (!(type instanceof Function)) {\r\n        throw new TypeError('Type must be a function');\r\n    }\r\n    if (!type.hasOwnProperty('prototype')) {\r\n        throw new TypeError('Type is not a class');\r\n    }\r\n    // Classes usually have names (as functions usually have names)\r\n    var name = type.name;\r\n    return (getType(payload) === name) || Boolean(payload && (payload.constructor === type));\r\n}\n\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/memoize-one/dist/memoize-one.esm.js\":\n/*!**********************************************************!*\\\n  !*** ./node_modules/memoize-one/dist/memoize-one.esm.js ***!\n  \\**********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\nfunction areInputsEqual(newInputs, lastInputs) {\n    if (newInputs.length !== lastInputs.length) {\n        return false;\n    }\n    for (var i = 0; i < newInputs.length; i++) {\n        if (newInputs[i] !== lastInputs[i]) {\n            return false;\n        }\n    }\n    return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n    if (isEqual === void 0) { isEqual = areInputsEqual; }\n    var lastThis;\n    var lastArgs = [];\n    var lastResult;\n    var calledOnce = false;\n    function memoized() {\n        var newArgs = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            newArgs[_i] = arguments[_i];\n        }\n        if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n            return lastResult;\n        }\n        lastResult = resultFn.apply(this, newArgs);\n        calledOnce = true;\n        lastThis = this;\n        lastArgs = newArgs;\n        return lastResult;\n    }\n    return memoized;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (memoizeOne);\n\n\n/***/ }),\n\n/***/ \"./node_modules/merge-anything/dist/index.esm.js\":\n/*!*******************************************************!*\\\n  !*** ./node_modules/merge-anything/dist/index.esm.js ***!\n  \\*******************************************************/\n/*! exports provided: default, merge, concatArrays */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"merge\", function() { return merge; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"concatArrays\", function() { return concatArrays; });\n/* harmony import */ var is_what__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! is-what */ \"./node_modules/is-what/dist/index.esm.js\");\n\n\nfunction assignProp(carry, key, newVal, originalObject) {\r\n    var propType = originalObject.propertyIsEnumerable(key)\r\n        ? 'enumerable'\r\n        : 'nonenumerable';\r\n    if (propType === 'enumerable')\r\n        carry[key] = newVal;\r\n    if (propType === 'nonenumerable') {\r\n        Object.defineProperty(carry, key, {\r\n            value: newVal,\r\n            enumerable: false,\r\n            writable: true,\r\n            configurable: true\r\n        });\r\n    }\r\n}\r\nfunction mergeRecursively(origin, newComer, extensions) {\r\n    // work directly on newComer if its not an object\r\n    if (!Object(is_what__WEBPACK_IMPORTED_MODULE_0__[\"isPlainObject\"])(newComer)) {\r\n        // extend merge rules\r\n        if (extensions && Object(is_what__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(extensions)) {\r\n            extensions.forEach(function (extend) {\r\n                newComer = extend(origin, newComer);\r\n            });\r\n        }\r\n        return newComer;\r\n    }\r\n    // define newObject to merge all values upon\r\n    var newObject = {};\r\n    if (Object(is_what__WEBPACK_IMPORTED_MODULE_0__[\"isPlainObject\"])(origin)) {\r\n        var props_1 = Object.getOwnPropertyNames(origin);\r\n        var symbols_1 = Object.getOwnPropertySymbols(origin);\r\n        newObject = props_1.concat(symbols_1).reduce(function (carry, key) {\r\n            // @ts-ignore\r\n            var targetVal = origin[key];\r\n            if ((!Object(is_what__WEBPACK_IMPORTED_MODULE_0__[\"isSymbol\"])(key) && !Object.getOwnPropertyNames(newComer).includes(key)) ||\r\n                (Object(is_what__WEBPACK_IMPORTED_MODULE_0__[\"isSymbol\"])(key) && !Object.getOwnPropertySymbols(newComer).includes(key))) {\r\n                assignProp(carry, key, targetVal, origin);\r\n            }\r\n            return carry;\r\n        }, {});\r\n    }\r\n    var props = Object.getOwnPropertyNames(newComer);\r\n    var symbols = Object.getOwnPropertySymbols(newComer);\r\n    var result = props.concat(symbols).reduce(function (carry, key) {\r\n        // re-define the origin and newComer as targetVal and newVal\r\n        var newVal = newComer[key];\r\n        var targetVal = (Object(is_what__WEBPACK_IMPORTED_MODULE_0__[\"isPlainObject\"])(origin))\r\n            // @ts-ignore\r\n            ? origin[key]\r\n            : undefined;\r\n        // extend merge rules\r\n        if (extensions && Object(is_what__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(extensions)) {\r\n            extensions.forEach(function (extend) {\r\n                newVal = extend(targetVal, newVal);\r\n            });\r\n        }\r\n        // When newVal is an object do the merge recursively\r\n        if (targetVal !== undefined && Object(is_what__WEBPACK_IMPORTED_MODULE_0__[\"isPlainObject\"])(newVal)) {\r\n            newVal = mergeRecursively(targetVal, newVal, extensions);\r\n        }\r\n        assignProp(carry, key, newVal, newComer);\r\n        return carry;\r\n    }, newObject);\r\n    return result;\r\n}\r\n/**\r\n * Merge anything recursively.\r\n * Objects get merged, special objects (classes etc.) are re-assigned \"as is\".\r\n * Basic types overwrite objects or other basic types.\r\n *\r\n * @param {(IConfig | any)} origin\r\n * @param {...any[]} newComers\r\n * @returns the result\r\n */\r\nfunction merge(origin) {\r\n    var newComers = [];\r\n    for (var _i = 1; _i < arguments.length; _i++) {\r\n        newComers[_i - 1] = arguments[_i];\r\n    }\r\n    var extensions = null;\r\n    var base = origin;\r\n    if (Object(is_what__WEBPACK_IMPORTED_MODULE_0__[\"isPlainObject\"])(origin) && origin.extensions && Object.keys(origin).length === 1) {\r\n        base = {};\r\n        extensions = origin.extensions;\r\n    }\r\n    return newComers.reduce(function (result, newComer) {\r\n        return mergeRecursively(result, newComer, extensions);\r\n    }, base);\r\n}\n\nfunction concatArrays(originVal, newVal) {\r\n    if (Object(is_what__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(originVal) && Object(is_what__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(newVal)) {\r\n        // concat logic\r\n        return originVal.concat(newVal);\r\n    }\r\n    return newVal; // always return newVal as fallback!!\r\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (merge);\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/nipplejs/dist/nipplejs.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/nipplejs/dist/nipplejs.js ***!\n  \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n(function(f){if(true){module.exports=f()}else { var g; }})(function(){var define,module,exports;\n'use strict';\n\n// Constants\nvar isTouch = !!('ontouchstart' in window);\nvar isPointer = window.PointerEvent ? true : false;\nvar isMSPointer = window.MSPointerEvent ? true : false;\nvar events = {\n    touch: {\n        start: 'touchstart',\n        move: 'touchmove',\n        end: 'touchend, touchcancel'\n    },\n    mouse: {\n        start: 'mousedown',\n        move: 'mousemove',\n        end: 'mouseup'\n    },\n    pointer: {\n        start: 'pointerdown',\n        move: 'pointermove',\n        end: 'pointerup, pointercancel'\n    },\n    MSPointer: {\n        start: 'MSPointerDown',\n        move: 'MSPointerMove',\n        end: 'MSPointerUp'\n    }\n};\nvar toBind;\nvar secondBind = {};\nif (isPointer) {\n    toBind = events.pointer;\n} else if (isMSPointer) {\n    toBind = events.MSPointer;\n} else if (isTouch) {\n    toBind = events.touch;\n    secondBind = events.mouse;\n} else {\n    toBind = events.mouse;\n}\n\n///////////////////////\n///      UTILS      ///\n///////////////////////\n\nvar u = {};\nu.distance = function (p1, p2) {\n    var dx = p2.x - p1.x;\n    var dy = p2.y - p1.y;\n\n    return Math.sqrt((dx * dx) + (dy * dy));\n};\n\nu.angle = function(p1, p2) {\n    var dx = p2.x - p1.x;\n    var dy = p2.y - p1.y;\n\n    return u.degrees(Math.atan2(dy, dx));\n};\n\nu.findCoord = function(p, d, a) {\n    var b = {x: 0, y: 0};\n    a = u.radians(a);\n    b.x = p.x - d * Math.cos(a);\n    b.y = p.y - d * Math.sin(a);\n    return b;\n};\n\nu.radians = function(a) {\n    return a * (Math.PI / 180);\n};\n\nu.degrees = function(a) {\n    return a * (180 / Math.PI);\n};\n\nu.bindEvt = function (el, arg, handler) {\n    var types = arg.split(/[ ,]+/g);\n    var type;\n    for (var i = 0; i < types.length; i += 1) {\n        type = types[i];\n        if (el.addEventListener) {\n            el.addEventListener(type, handler, false);\n        } else if (el.attachEvent) {\n            el.attachEvent(type, handler);\n        }\n    }\n};\n\nu.unbindEvt = function (el, arg, handler) {\n    var types = arg.split(/[ ,]+/g);\n    var type;\n    for (var i = 0; i < types.length; i += 1) {\n        type = types[i];\n        if (el.removeEventListener) {\n            el.removeEventListener(type, handler);\n        } else if (el.detachEvent) {\n            el.detachEvent(type, handler);\n        }\n    }\n};\n\nu.trigger = function (el, type, data) {\n    var evt = new CustomEvent(type, data);\n    el.dispatchEvent(evt);\n};\n\nu.prepareEvent = function (evt) {\n    evt.preventDefault();\n    return evt.type.match(/^touch/) ? evt.changedTouches : evt;\n};\n\nu.getScroll = function () {\n    var x = (window.pageXOffset !== undefined) ?\n        window.pageXOffset :\n        (document.documentElement || document.body.parentNode || document.body)\n            .scrollLeft;\n\n    var y = (window.pageYOffset !== undefined) ?\n        window.pageYOffset :\n        (document.documentElement || document.body.parentNode || document.body)\n            .scrollTop;\n    return {\n        x: x,\n        y: y\n    };\n};\n\nu.applyPosition = function (el, pos) {\n    if (pos.top || pos.right || pos.bottom || pos.left) {\n        el.style.top = pos.top;\n        el.style.right = pos.right;\n        el.style.bottom = pos.bottom;\n        el.style.left = pos.left;\n    } else {\n        el.style.left = pos.x + 'px';\n        el.style.top = pos.y + 'px';\n    }\n};\n\nu.getTransitionStyle = function (property, values, time) {\n    var obj = u.configStylePropertyObject(property);\n    for (var i in obj) {\n        if (obj.hasOwnProperty(i)) {\n            if (typeof values === 'string') {\n                obj[i] = values + ' ' + time;\n            } else {\n                var st = '';\n                for (var j = 0, max = values.length; j < max; j += 1) {\n                    st += values[j] + ' ' + time + ', ';\n                }\n                obj[i] = st.slice(0, -2);\n            }\n        }\n    }\n    return obj;\n};\n\nu.getVendorStyle = function (property, value) {\n    var obj = u.configStylePropertyObject(property);\n    for (var i in obj) {\n        if (obj.hasOwnProperty(i)) {\n            obj[i] = value;\n        }\n    }\n    return obj;\n};\n\nu.configStylePropertyObject = function (prop) {\n    var obj = {};\n    obj[prop] = '';\n    var vendors = ['webkit', 'Moz', 'o'];\n    vendors.forEach(function (vendor) {\n        obj[vendor + prop.charAt(0).toUpperCase() + prop.slice(1)] = '';\n    });\n    return obj;\n};\n\nu.extend = function (objA, objB) {\n    for (var i in objB) {\n        if (objB.hasOwnProperty(i)) {\n            objA[i] = objB[i];\n        }\n    }\n    return objA;\n};\n\n// Overwrite only what's already present\nu.safeExtend = function (objA, objB) {\n    var obj = {};\n    for (var i in objA) {\n        if (objA.hasOwnProperty(i) && objB.hasOwnProperty(i)) {\n            obj[i] = objB[i];\n        } else if (objA.hasOwnProperty(i)) {\n            obj[i] = objA[i];\n        }\n    }\n    return obj;\n};\n\n// Map for array or unique item.\nu.map = function (ar, fn) {\n    if (ar.length) {\n        for (var i = 0, max = ar.length; i < max; i += 1) {\n            fn(ar[i]);\n        }\n    } else {\n        fn(ar);\n    }\n};\n\n///////////////////////\n///   SUPER CLASS   ///\n///////////////////////\n\nfunction Super () {};\n\n// Basic event system.\nSuper.prototype.on = function (arg, cb) {\n    var self = this;\n    var types = arg.split(/[ ,]+/g);\n    var type;\n    self._handlers_ = self._handlers_ || {};\n\n    for (var i = 0; i < types.length; i += 1) {\n        type = types[i];\n        self._handlers_[type] = self._handlers_[type] || [];\n        self._handlers_[type].push(cb);\n    }\n    return self;\n};\n\nSuper.prototype.off = function (type, cb) {\n    var self = this;\n    self._handlers_ = self._handlers_ || {};\n\n    if (type === undefined) {\n        self._handlers_ = {};\n    } else if (cb === undefined) {\n        self._handlers_[type] = null;\n    } else if (self._handlers_[type] &&\n            self._handlers_[type].indexOf(cb) >= 0) {\n        self._handlers_[type].splice(self._handlers_[type].indexOf(cb), 1);\n    }\n\n    return self;\n};\n\nSuper.prototype.trigger = function (arg, data) {\n    var self = this;\n    var types = arg.split(/[ ,]+/g);\n    var type;\n    self._handlers_ = self._handlers_ || {};\n\n    for (var i = 0; i < types.length; i += 1) {\n        type = types[i];\n        if (self._handlers_[type] && self._handlers_[type].length) {\n            self._handlers_[type].forEach(function (handler) {\n                handler.call(self, {\n                    type: type,\n                    target: self\n                }, data);\n            });\n        }\n    }\n};\n\n// Configuration\nSuper.prototype.config = function (options) {\n    var self = this;\n    self.options = self.defaults || {};\n    if (options) {\n        self.options = u.safeExtend(self.options, options);\n    }\n};\n\n// Bind internal events.\nSuper.prototype.bindEvt = function (el, type) {\n    var self = this;\n    self._domHandlers_ = self._domHandlers_ || {};\n\n    self._domHandlers_[type] = function () {\n        if (typeof self['on' + type] === 'function') {\n            self['on' + type].apply(self, arguments);\n        } else {\n            console.warn('[WARNING] : Missing \"on' + type + '\" handler.');\n        }\n    };\n\n    u.bindEvt(el, toBind[type], self._domHandlers_[type]);\n\n    if (secondBind[type]) {\n        // Support for both touch and mouse at the same time.\n        u.bindEvt(el, secondBind[type], self._domHandlers_[type]);\n    }\n\n    return self;\n};\n\n// Unbind dom events.\nSuper.prototype.unbindEvt = function (el, type) {\n    var self = this;\n    self._domHandlers_ = self._domHandlers_ || {};\n\n    u.unbindEvt(el, toBind[type], self._domHandlers_[type]);\n\n    if (secondBind[type]) {\n        // Support for both touch and mouse at the same time.\n        u.unbindEvt(el, secondBind[type], self._domHandlers_[type]);\n    }\n\n    delete self._domHandlers_[type];\n\n    return this;\n};\n\n///////////////////////\n///   THE NIPPLE    ///\n///////////////////////\n\nfunction Nipple (collection, options) {\n    this.identifier = options.identifier;\n    this.position = options.position;\n    this.frontPosition = options.frontPosition;\n    this.collection = collection;\n\n    // Defaults\n    this.defaults = {\n        size: 100,\n        threshold: 0.1,\n        color: 'white',\n        fadeTime: 250,\n        dataOnly: false,\n        restJoystick: true,\n        restOpacity: 0.5,\n        mode: 'dynamic',\n        zone: document.body,\n        lockX: false,\n        lockY: false\n    };\n\n    this.config(options);\n\n    // Overwrites\n    if (this.options.mode === 'dynamic') {\n        this.options.restOpacity = 0;\n    }\n\n    this.id = Nipple.id;\n    Nipple.id += 1;\n    this.buildEl()\n        .stylize();\n\n    // Nipple's API.\n    this.instance = {\n        el: this.ui.el,\n        on: this.on.bind(this),\n        off: this.off.bind(this),\n        show: this.show.bind(this),\n        hide: this.hide.bind(this),\n        add: this.addToDom.bind(this),\n        remove: this.removeFromDom.bind(this),\n        destroy: this.destroy.bind(this),\n        resetDirection: this.resetDirection.bind(this),\n        computeDirection: this.computeDirection.bind(this),\n        trigger: this.trigger.bind(this),\n        position: this.position,\n        frontPosition: this.frontPosition,\n        ui: this.ui,\n        identifier: this.identifier,\n        id: this.id,\n        options: this.options\n    };\n\n    return this.instance;\n};\n\nNipple.prototype = new Super();\nNipple.constructor = Nipple;\nNipple.id = 0;\n\n// Build the dom element of the Nipple instance.\nNipple.prototype.buildEl = function (options) {\n    this.ui = {};\n\n    if (this.options.dataOnly) {\n        return this;\n    }\n\n    this.ui.el = document.createElement('div');\n    this.ui.back = document.createElement('div');\n    this.ui.front = document.createElement('div');\n\n    this.ui.el.className = 'nipple collection_' + this.collection.id;\n    this.ui.back.className = 'back';\n    this.ui.front.className = 'front';\n\n    this.ui.el.setAttribute('id', 'nipple_' + this.collection.id +\n        '_' + this.id);\n\n    this.ui.el.appendChild(this.ui.back);\n    this.ui.el.appendChild(this.ui.front);\n\n    return this;\n};\n\n// Apply CSS to the Nipple instance.\nNipple.prototype.stylize = function () {\n    if (this.options.dataOnly) {\n        return this;\n    }\n    var animTime = this.options.fadeTime + 'ms';\n    var borderStyle = u.getVendorStyle('borderRadius', '50%');\n    var transitStyle = u.getTransitionStyle('transition', 'opacity', animTime);\n    var styles = {};\n    styles.el = {\n        position: 'absolute',\n        opacity: this.options.restOpacity,\n        display: 'block',\n        'zIndex': 999\n    };\n\n    styles.back = {\n        position: 'absolute',\n        display: 'block',\n        width: this.options.size + 'px',\n        height: this.options.size + 'px',\n        marginLeft: -this.options.size / 2 + 'px',\n        marginTop: -this.options.size / 2 + 'px',\n        background: this.options.color,\n        'opacity': '.5'\n    };\n\n    styles.front = {\n        width: this.options.size / 2 + 'px',\n        height: this.options.size / 2 + 'px',\n        position: 'absolute',\n        display: 'block',\n        marginLeft: -this.options.size / 4 + 'px',\n        marginTop: -this.options.size / 4 + 'px',\n        background: this.options.color,\n        'opacity': '.5'\n    };\n\n    u.extend(styles.el, transitStyle);\n    u.extend(styles.back, borderStyle);\n    u.extend(styles.front, borderStyle);\n\n    this.applyStyles(styles);\n\n    return this;\n};\n\nNipple.prototype.applyStyles = function (styles) {\n    // Apply styles\n    for (var i in this.ui) {\n        if (this.ui.hasOwnProperty(i)) {\n            for (var j in styles[i]) {\n                this.ui[i].style[j] = styles[i][j];\n            }\n        }\n    }\n\n    return this;\n};\n\n// Inject the Nipple instance into DOM.\nNipple.prototype.addToDom = function () {\n    // We're not adding it if we're dataOnly or already in dom.\n    if (this.options.dataOnly || document.body.contains(this.ui.el)) {\n        return this;\n    }\n    this.options.zone.appendChild(this.ui.el);\n    return this;\n};\n\n// Remove the Nipple instance from DOM.\nNipple.prototype.removeFromDom = function () {\n    if (this.options.dataOnly || !document.body.contains(this.ui.el)) {\n        return this;\n    }\n    this.options.zone.removeChild(this.ui.el);\n    return this;\n};\n\n// Entirely destroy this nipple\nNipple.prototype.destroy = function () {\n    clearTimeout(this.removeTimeout);\n    clearTimeout(this.showTimeout);\n    clearTimeout(this.restTimeout);\n    this.trigger('destroyed', this.instance);\n    this.removeFromDom();\n    this.off();\n};\n\n// Fade in the Nipple instance.\nNipple.prototype.show = function (cb) {\n    var self = this;\n\n    if (self.options.dataOnly) {\n        return self;\n    }\n\n    clearTimeout(self.removeTimeout);\n    clearTimeout(self.showTimeout);\n    clearTimeout(self.restTimeout);\n\n    self.addToDom();\n\n    self.restCallback();\n\n    setTimeout(function () {\n        self.ui.el.style.opacity = 1;\n    }, 0);\n\n    self.showTimeout = setTimeout(function () {\n        self.trigger('shown', self.instance);\n        if (typeof cb === 'function') {\n            cb.call(this);\n        }\n    }, self.options.fadeTime);\n\n    return self;\n};\n\n// Fade out the Nipple instance.\nNipple.prototype.hide = function (cb) {\n    var self = this;\n\n    if (self.options.dataOnly) {\n        return self;\n    }\n\n    self.ui.el.style.opacity = self.options.restOpacity;\n\n    clearTimeout(self.removeTimeout);\n    clearTimeout(self.showTimeout);\n    clearTimeout(self.restTimeout);\n\n    self.removeTimeout = setTimeout(\n        function () {\n            var display = self.options.mode === 'dynamic' ? 'none' : 'block';\n            self.ui.el.style.display = display;\n            if (typeof cb === 'function') {\n                cb.call(self);\n            }\n\n            self.trigger('hidden', self.instance);\n        },\n        self.options.fadeTime\n    );\n    if (self.options.restJoystick) {\n        self.restPosition();\n    }\n\n    return self;\n};\n\nNipple.prototype.restPosition = function (cb) {\n    var self = this;\n    self.frontPosition = {\n        x: 0,\n        y: 0\n    };\n    var animTime = self.options.fadeTime + 'ms';\n\n    var transitStyle = {};\n    transitStyle.front = u.getTransitionStyle('transition',\n        ['top', 'left'], animTime);\n\n    var styles = {front: {}};\n    styles.front = {\n        left: self.frontPosition.x + 'px',\n        top: self.frontPosition.y + 'px'\n    };\n\n    self.applyStyles(transitStyle);\n    self.applyStyles(styles);\n\n    self.restTimeout = setTimeout(\n        function () {\n            if (typeof cb === 'function') {\n                cb.call(self);\n            }\n            self.restCallback();\n        },\n        self.options.fadeTime\n    );\n};\n\nNipple.prototype.restCallback = function () {\n    var self = this;\n    var transitStyle = {};\n    transitStyle.front = u.getTransitionStyle('transition', 'none', '');\n    self.applyStyles(transitStyle);\n    self.trigger('rested', self.instance);\n};\n\nNipple.prototype.resetDirection = function () {\n    // Fully rebuild the object to let the iteration possible.\n    this.direction = {\n        x: false,\n        y: false,\n        angle: false\n    };\n};\n\nNipple.prototype.computeDirection = function (obj) {\n    var rAngle = obj.angle.radian;\n    var angle45 = Math.PI / 4;\n    var angle90 = Math.PI / 2;\n    var direction, directionX, directionY;\n\n    // Angular direction\n    //     \\  UP /\n    //      \\   /\n    // LEFT       RIGHT\n    //      /   \\\n    //     /DOWN \\\n    //\n    if (\n        rAngle > angle45 &&\n        rAngle < (angle45 * 3) &&\n        !obj.lockX\n    ) {\n        direction = 'up';\n    } else if (\n        rAngle > -angle45 &&\n        rAngle <= angle45 &&\n        !obj.lockY\n    ) {\n        direction = 'left';\n    } else if (\n        rAngle > (-angle45 * 3) &&\n        rAngle <= -angle45 &&\n        !obj.lockX\n    ) {\n        direction = 'down';\n    } else if (!obj.lockY) {\n        direction = 'right';\n    }\n\n    // Plain direction\n    //    UP                 |\n    // _______               | RIGHT\n    //                  LEFT |\n    //   DOWN                |\n    if (!obj.lockY) {\n        if (rAngle > -angle90 && rAngle < angle90) {\n            directionX = 'left';\n        } else {\n            directionX = 'right';\n        }\n    }\n\n    if (!obj.lockX) {\n        if (rAngle > 0) {\n            directionY = 'up';\n        } else {\n            directionY = 'down';\n        }\n    }\n\n    if (obj.force > this.options.threshold) {\n        var oldDirection = {};\n        for (var i in this.direction) {\n            if (this.direction.hasOwnProperty(i)) {\n                oldDirection[i] = this.direction[i];\n            }\n        }\n\n        var same = {};\n\n        this.direction = {\n            x: directionX,\n            y: directionY,\n            angle: direction\n        };\n\n        obj.direction = this.direction;\n\n        for (var i in oldDirection) {\n            if (oldDirection[i] === this.direction[i]) {\n                same[i] = true;\n            }\n        }\n\n        // If all 3 directions are the same, we don't trigger anything.\n        if (same.x && same.y && same.angle) {\n            return obj;\n        }\n\n        if (!same.x || !same.y) {\n            this.trigger('plain', obj);\n        }\n\n        if (!same.x) {\n            this.trigger('plain:' + directionX, obj);\n        }\n\n        if (!same.y) {\n            this.trigger('plain:' + directionY, obj);\n        }\n\n        if (!same.angle) {\n            this.trigger('dir dir:' + direction, obj);\n        }\n    }\n    return obj;\n};\n\n/* global Nipple, Super */\n\n///////////////////////////\n///   THE COLLECTION    ///\n///////////////////////////\n\nfunction Collection (manager, options) {\n    var self = this;\n    self.nipples = [];\n    self.idles = [];\n    self.actives = [];\n    self.ids = [];\n    self.pressureIntervals = {};\n    self.manager = manager;\n    self.id = Collection.id;\n    Collection.id += 1;\n\n    // Defaults\n    self.defaults = {\n        zone: document.body,\n        multitouch: false,\n        maxNumberOfNipples: 10,\n        mode: 'dynamic',\n        position: {top: 0, left: 0},\n        catchDistance: 200,\n        size: 100,\n        threshold: 0.1,\n        color: 'white',\n        fadeTime: 250,\n        dataOnly: false,\n        restJoystick: true,\n        restOpacity: 0.5,\n        lockX: false,\n        lockY: false\n    };\n\n    self.config(options);\n\n    // Overwrites\n    if (self.options.mode === 'static' || self.options.mode === 'semi') {\n        self.options.multitouch = false;\n    }\n\n    if (!self.options.multitouch) {\n        self.options.maxNumberOfNipples = 1;\n    }\n\n    self.updateBox();\n    self.prepareNipples();\n    self.bindings();\n    self.begin();\n\n    return self.nipples;\n}\n\nCollection.prototype = new Super();\nCollection.constructor = Collection;\nCollection.id = 0;\n\nCollection.prototype.prepareNipples = function () {\n    var self = this;\n    var nips = self.nipples;\n\n    // Public API Preparation.\n    nips.on = self.on.bind(self);\n    nips.off = self.off.bind(self);\n    nips.options = self.options;\n    nips.destroy = self.destroy.bind(self);\n    nips.ids = self.ids;\n    nips.id = self.id;\n    nips.processOnMove = self.processOnMove.bind(self);\n    nips.processOnEnd = self.processOnEnd.bind(self);\n    nips.get = function (id) {\n        if (id === undefined) {\n            return nips[0];\n        }\n        for (var i = 0, max = nips.length; i < max; i += 1) {\n            if (nips[i].identifier === id) {\n                return nips[i];\n            }\n        }\n        return false;\n    };\n};\n\nCollection.prototype.bindings = function () {\n    var self = this;\n    // Touch start event.\n    self.bindEvt(self.options.zone, 'start');\n    // Avoid native touch actions (scroll, zoom etc...) on the zone.\n    self.options.zone.style.touchAction = 'none';\n    self.options.zone.style.msTouchAction = 'none';\n};\n\nCollection.prototype.begin = function () {\n    var self = this;\n    var opts = self.options;\n\n    // We place our static nipple\n    // if needed.\n    if (opts.mode === 'static') {\n        var nipple = self.createNipple(\n            opts.position,\n            self.manager.getIdentifier()\n        );\n        // Add it to the dom.\n        nipple.add();\n        // Store it in idles.\n        self.idles.push(nipple);\n    }\n};\n\n// Nipple Factory\nCollection.prototype.createNipple = function (position, identifier) {\n    var self = this;\n    var scroll = u.getScroll();\n    var toPutOn = {};\n    var opts = self.options;\n\n    if (position.x && position.y) {\n        toPutOn = {\n            x: position.x -\n                (scroll.x + self.box.left),\n            y: position.y -\n                (scroll.y + self.box.top)\n        };\n    } else if (\n            position.top ||\n            position.right ||\n            position.bottom ||\n            position.left\n        ) {\n\n        // We need to compute the position X / Y of the joystick.\n        var dumb = document.createElement('DIV');\n        dumb.style.display = 'hidden';\n        dumb.style.top = position.top;\n        dumb.style.right = position.right;\n        dumb.style.bottom = position.bottom;\n        dumb.style.left = position.left;\n        dumb.style.position = 'absolute';\n\n        opts.zone.appendChild(dumb);\n        var dumbBox = dumb.getBoundingClientRect();\n        opts.zone.removeChild(dumb);\n\n        toPutOn = position;\n        position = {\n            x: dumbBox.left + scroll.x,\n            y: dumbBox.top + scroll.y\n        };\n    }\n\n    var nipple = new Nipple(self, {\n        color: opts.color,\n        size: opts.size,\n        threshold: opts.threshold,\n        fadeTime: opts.fadeTime,\n        dataOnly: opts.dataOnly,\n        restJoystick: opts.restJoystick,\n        restOpacity: opts.restOpacity,\n        mode: opts.mode,\n        identifier: identifier,\n        position: position,\n        zone: opts.zone,\n        frontPosition: {\n            x: 0,\n            y: 0\n        }\n    });\n\n    if (!opts.dataOnly) {\n        u.applyPosition(nipple.ui.el, toPutOn);\n        u.applyPosition(nipple.ui.front, nipple.frontPosition);\n    }\n    self.nipples.push(nipple);\n    self.trigger('added ' + nipple.identifier + ':added', nipple);\n    self.manager.trigger('added ' + nipple.identifier + ':added', nipple);\n\n    self.bindNipple(nipple);\n\n    return nipple;\n};\n\nCollection.prototype.updateBox = function () {\n    var self = this;\n    self.box = self.options.zone.getBoundingClientRect();\n};\n\nCollection.prototype.bindNipple = function (nipple) {\n    var self = this;\n    var type;\n    // Bubble up identified events.\n    var handler = function (evt, data) {\n        // Identify the event type with the nipple's id.\n        type = evt.type + ' ' + data.id + ':' + evt.type;\n        self.trigger(type, data);\n    };\n\n    // When it gets destroyed.\n    nipple.on('destroyed', self.onDestroyed.bind(self));\n\n    // Other events that will get bubbled up.\n    nipple.on('shown hidden rested dir plain', handler);\n    nipple.on('dir:up dir:right dir:down dir:left', handler);\n    nipple.on('plain:up plain:right plain:down plain:left', handler);\n};\n\nCollection.prototype.pressureFn = function (touch, nipple, identifier) {\n    var self = this;\n    var previousPressure = 0;\n    clearInterval(self.pressureIntervals[identifier]);\n    // Create an interval that will read the pressure every 100ms\n    self.pressureIntervals[identifier] = setInterval(function () {\n        var pressure = touch.force || touch.pressure ||\n            touch.webkitForce || 0;\n        if (pressure !== previousPressure) {\n            nipple.trigger('pressure', pressure);\n            self.trigger('pressure ' +\n                nipple.identifier + ':pressure', pressure);\n            previousPressure = pressure;\n        }\n    }.bind(self), 100);\n};\n\nCollection.prototype.onstart = function (evt) {\n    var self = this;\n    var opts = self.options;\n    evt = u.prepareEvent(evt);\n\n    // Update the box position\n    self.updateBox();\n\n    var process = function (touch) {\n        // If we can create new nipples\n        // meaning we don't have more active nipples than we should.\n        if (self.actives.length < opts.maxNumberOfNipples) {\n            self.processOnStart(touch);\n        }\n    };\n\n    u.map(evt, process);\n\n    // We ask upstream to bind the document\n    // on 'move' and 'end'\n    self.manager.bindDocument();\n    return false;\n};\n\nCollection.prototype.processOnStart = function (evt) {\n    var self = this;\n    var opts = self.options;\n    var indexInIdles;\n    var identifier = self.manager.getIdentifier(evt);\n    var pressure = evt.force || evt.pressure || evt.webkitForce || 0;\n    var position = {\n        x: evt.pageX,\n        y: evt.pageY\n    };\n\n    var nipple = self.getOrCreate(identifier, position);\n\n    // Update its touch identifier\n    if (nipple.identifier !== identifier) {\n        self.manager.removeIdentifier(nipple.identifier);\n    }\n    nipple.identifier = identifier;\n\n    var process = function (nip) {\n        // Trigger the start.\n        nip.trigger('start', nip);\n        self.trigger('start ' + nip.id + ':start', nip);\n\n        nip.show();\n        if (pressure > 0) {\n            self.pressureFn(evt, nip, nip.identifier);\n        }\n        // Trigger the first move event.\n        self.processOnMove(evt);\n    };\n\n    // Transfer it from idles to actives.\n    if ((indexInIdles = self.idles.indexOf(nipple)) >= 0) {\n        self.idles.splice(indexInIdles, 1);\n    }\n\n    // Store the nipple in the actives array\n    self.actives.push(nipple);\n    self.ids.push(nipple.identifier);\n\n    if (opts.mode !== 'semi') {\n        process(nipple);\n    } else {\n        // In semi we check the distance of the touch\n        // to decide if we have to reset the nipple\n        var distance = u.distance(position, nipple.position);\n        if (distance <= opts.catchDistance) {\n            process(nipple);\n        } else {\n            nipple.destroy();\n            self.processOnStart(evt);\n            return;\n        }\n    }\n\n    return nipple;\n};\n\nCollection.prototype.getOrCreate = function (identifier, position) {\n    var self = this;\n    var opts = self.options;\n    var nipple;\n\n    // If we're in static or semi, we might already have an active.\n    if (/(semi|static)/.test(opts.mode)) {\n        // Get the active one.\n        // TODO: Multi-touche for semi and static will start here.\n        // Return the nearest one.\n        nipple = self.idles[0];\n        if (nipple) {\n            self.idles.splice(0, 1);\n            return nipple;\n        }\n\n        if (opts.mode === 'semi') {\n            // If we're in semi mode, we need to create one.\n            return self.createNipple(position, identifier);\n        }\n\n        console.warn('Coudln\\'t find the needed nipple.');\n        return false;\n    }\n    // In dynamic, we create a new one.\n    nipple = self.createNipple(position, identifier);\n    return nipple;\n};\n\nCollection.prototype.processOnMove = function (evt) {\n    var self = this;\n    var opts = self.options;\n    var identifier = self.manager.getIdentifier(evt);\n    var nipple = self.nipples.get(identifier);\n\n    if (!nipple) {\n        // This is here just for safety.\n        // It shouldn't happen.\n        console.error('Found zombie joystick with ID ' + identifier);\n        self.manager.removeIdentifier(identifier);\n        return;\n    }\n\n    nipple.identifier = identifier;\n\n    var size = nipple.options.size / 2;\n    var pos = {\n        x: evt.pageX,\n        y: evt.pageY\n    };\n\n    var dist = u.distance(pos, nipple.position);\n    var angle = u.angle(pos, nipple.position);\n    var rAngle = u.radians(angle);\n    var force = dist / size;\n\n    // If distance is bigger than nipple's size\n    // we clamp the position.\n    if (dist > size) {\n        dist = size;\n        pos = u.findCoord(nipple.position, dist, angle);\n    }\n\n    var xPosition = pos.x - nipple.position.x\n    var yPosition = pos.y - nipple.position.y\n\n    if (opts.lockX){\n        yPosition = 0\n    }\n    if (opts.lockY) {\n        xPosition = 0\n    }\n\n    nipple.frontPosition = {\n        x: xPosition,\n        y: yPosition\n    };\n\n    if (!opts.dataOnly) {\n        u.applyPosition(nipple.ui.front, nipple.frontPosition);\n    }\n\n    // Prepare event's datas.\n    var toSend = {\n        identifier: nipple.identifier,\n        position: pos,\n        force: force,\n        pressure: evt.force || evt.pressure || evt.webkitForce || 0,\n        distance: dist,\n        angle: {\n            radian: rAngle,\n            degree: angle\n        },\n        instance: nipple,\n        lockX: opts.lockX,\n        lockY: opts.lockY\n    };\n\n    // Compute the direction's datas.\n    toSend = nipple.computeDirection(toSend);\n\n    // Offset angles to follow units circle.\n    toSend.angle = {\n        radian: u.radians(180 - angle),\n        degree: 180 - angle\n    };\n\n    // Send everything to everyone.\n    nipple.trigger('move', toSend);\n    self.trigger('move ' + nipple.id + ':move', toSend);\n};\n\nCollection.prototype.processOnEnd = function (evt) {\n    var self = this;\n    var opts = self.options;\n    var identifier = self.manager.getIdentifier(evt);\n    var nipple = self.nipples.get(identifier);\n    var removedIdentifier = self.manager.removeIdentifier(nipple.identifier);\n\n    if (!nipple) {\n        return;\n    }\n\n    if (!opts.dataOnly) {\n        nipple.hide(function () {\n            if (opts.mode === 'dynamic') {\n                nipple.trigger('removed', nipple);\n                self.trigger('removed ' + nipple.id + ':removed', nipple);\n                self.manager\n                    .trigger('removed ' + nipple.id + ':removed', nipple);\n                nipple.destroy();\n            }\n        });\n    }\n\n    // Clear the pressure interval reader\n    clearInterval(self.pressureIntervals[nipple.identifier]);\n\n    // Reset the direciton of the nipple, to be able to trigger a new direction\n    // on start.\n    nipple.resetDirection();\n\n    nipple.trigger('end', nipple);\n    self.trigger('end ' + nipple.id + ':end', nipple);\n\n    // Remove identifier from our bank.\n    if (self.ids.indexOf(nipple.identifier) >= 0) {\n        self.ids.splice(self.ids.indexOf(nipple.identifier), 1);\n    }\n\n    // Clean our actives array.\n    if (self.actives.indexOf(nipple) >= 0) {\n        self.actives.splice(self.actives.indexOf(nipple), 1);\n    }\n\n    if (/(semi|static)/.test(opts.mode)) {\n        // Transfer nipple from actives to idles\n        // if we're in semi or static mode.\n        self.idles.push(nipple);\n    } else if (self.nipples.indexOf(nipple) >= 0) {\n        // Only if we're not in semi or static mode\n        // we can remove the instance.\n        self.nipples.splice(self.nipples.indexOf(nipple), 1);\n    }\n\n    // We unbind move and end.\n    self.manager.unbindDocument();\n\n    // We add back the identifier of the idle nipple;\n    if (/(semi|static)/.test(opts.mode)) {\n        self.manager.ids[removedIdentifier.id] = removedIdentifier.identifier;\n    }\n};\n\n// Remove destroyed nipple from the lists\nCollection.prototype.onDestroyed = function(evt, nipple) {\n    var self = this;\n    if (self.nipples.indexOf(nipple) >= 0) {\n        self.nipples.splice(self.nipples.indexOf(nipple), 1);\n    }\n    if (self.actives.indexOf(nipple) >= 0) {\n        self.actives.splice(self.actives.indexOf(nipple), 1);\n    }\n    if (self.idles.indexOf(nipple) >= 0) {\n        self.idles.splice(self.idles.indexOf(nipple), 1);\n    }\n    if (self.ids.indexOf(nipple.identifier) >= 0) {\n        self.ids.splice(self.ids.indexOf(nipple.identifier), 1);\n    }\n\n    // Remove the identifier from our bank\n    self.manager.removeIdentifier(nipple.identifier);\n\n    // We unbind move and end.\n    self.manager.unbindDocument();\n};\n\n// Cleanly destroy the manager\nCollection.prototype.destroy = function () {\n    var self = this;\n    self.unbindEvt(self.options.zone, 'start');\n\n    // Destroy nipples.\n    self.nipples.forEach(function(nipple) {\n        nipple.destroy();\n    });\n\n    // Clean 3DTouch intervals.\n    for (var i in self.pressureIntervals) {\n        if (self.pressureIntervals.hasOwnProperty(i)) {\n            clearInterval(self.pressureIntervals[i]);\n        }\n    }\n\n    // Notify the manager passing the instance\n    self.trigger('destroyed', self.nipples);\n    // We unbind move and end.\n    self.manager.unbindDocument();\n    // Unbind everything.\n    self.off();\n};\n\n/* global u, Super, Collection */\n\n///////////////////////\n///     MANAGER     ///\n///////////////////////\n\nfunction Manager (options) {\n    var self = this;\n    self.ids = {};\n    self.index = 0;\n    self.collections = [];\n\n    self.config(options);\n    self.prepareCollections();\n\n    // Listen for resize, to reposition every joysticks\n    var resizeTimer;\n    u.bindEvt(window, 'resize', function (evt) {\n        clearTimeout(resizeTimer);\n        resizeTimer = setTimeout(function () {\n            var pos;\n            var scroll = u.getScroll();\n            self.collections.forEach(function (collection) {\n                collection.forEach(function (nipple) {\n                    pos = nipple.el.getBoundingClientRect();\n                    nipple.position = {\n                        x: scroll.x + pos.left,\n                        y: scroll.y + pos.top\n                    };\n                });\n            });\n        }, 100);\n    });\n\n    return self.collections;\n};\n\nManager.prototype = new Super();\nManager.constructor = Manager;\n\nManager.prototype.prepareCollections = function () {\n    var self = this;\n    // Public API Preparation.\n    self.collections.create = self.create.bind(self);\n    // Listen to anything\n    self.collections.on = self.on.bind(self);\n    // Unbind general events\n    self.collections.off = self.off.bind(self);\n    // Destroy everything\n    self.collections.destroy = self.destroy.bind(self);\n    // Get any nipple\n    self.collections.get = function (id) {\n        var nipple;\n        self.collections.every(function (collection) {\n            if (nipple = collection.get(id)) {\n                return false;\n            }\n            return true;\n        });\n        return nipple;\n    };\n};\n\nManager.prototype.create = function (options) {\n    return this.createCollection(options);\n};\n\n// Collection Factory\nManager.prototype.createCollection = function (options) {\n    var self = this;\n    var collection = new Collection(self, options);\n\n    self.bindCollection(collection);\n    self.collections.push(collection);\n\n    return collection;\n};\n\nManager.prototype.bindCollection = function (collection) {\n    var self = this;\n    var type;\n    // Bubble up identified events.\n    var handler = function (evt, data) {\n        // Identify the event type with the nipple's identifier.\n        type = evt.type + ' ' + data.id + ':' + evt.type;\n        self.trigger(type, data);\n    };\n\n    // When it gets destroyed we clean.\n    collection.on('destroyed', self.onDestroyed.bind(self));\n\n    // Other events that will get bubbled up.\n    collection.on('shown hidden rested dir plain', handler);\n    collection.on('dir:up dir:right dir:down dir:left', handler);\n    collection.on('plain:up plain:right plain:down plain:left', handler);\n};\n\nManager.prototype.bindDocument = function () {\n    var self = this;\n    // Bind only if not already binded\n    if (!self.binded) {\n        self.bindEvt(document, 'move')\n            .bindEvt(document, 'end');\n        self.binded = true;\n    }\n};\n\nManager.prototype.unbindDocument = function (force) {\n    var self = this;\n    // If there are no touch left\n    // unbind the document.\n    if (!Object.keys(self.ids).length || force === true) {\n        self.unbindEvt(document, 'move')\n            .unbindEvt(document, 'end');\n        self.binded = false;\n    }\n};\n\nManager.prototype.getIdentifier = function (evt) {\n    var id;\n    // If no event, simple increment\n    if (!evt) {\n        id = this.index;\n    } else {\n        // Extract identifier from event object.\n        // Unavailable in mouse events so replaced by latest increment.\n        id = evt.identifier === undefined ? evt.pointerId : evt.identifier;\n        if (id === undefined) {\n            id = this.latest || 0;\n        }\n    }\n\n    if (this.ids[id] === undefined) {\n        this.ids[id] = this.index;\n        this.index += 1;\n    }\n\n    // Keep the latest id used in case we're using an unidentified mouseEvent\n    this.latest = id;\n    return this.ids[id];\n};\n\nManager.prototype.removeIdentifier = function (identifier) {\n    var removed = {};\n    for (var id in this.ids) {\n        if (this.ids[id] === identifier) {\n            removed.id = id;\n            removed.identifier = this.ids[id];\n            delete this.ids[id];\n            break;\n        }\n    }\n    return removed;\n};\n\nManager.prototype.onmove = function (evt) {\n    var self = this;\n    self.onAny('move', evt);\n    return false;\n};\n\nManager.prototype.onend = function (evt) {\n    var self = this;\n    self.onAny('end', evt);\n    return false;\n};\n\nManager.prototype.oncancel = function (evt) {\n    var self = this;\n    self.onAny('end', evt);\n    return false;\n};\n\nManager.prototype.onAny = function (which, evt) {\n    var self = this;\n    var id;\n    var processFn = 'processOn' + which.charAt(0).toUpperCase() +\n        which.slice(1);\n    evt = u.prepareEvent(evt);\n    var processColl = function (e, id, coll) {\n        if (coll.ids.indexOf(id) >= 0) {\n            coll[processFn](e);\n            // Mark the event to avoid cleaning it later.\n            e._found_ = true;\n        }\n    };\n    var processEvt = function (e) {\n        id = self.getIdentifier(e);\n        u.map(self.collections, processColl.bind(null, e, id));\n        // If the event isn't handled by any collection,\n        // we need to clean its identifier.\n        if (!e._found_) {\n            self.removeIdentifier(id);\n        }\n    };\n\n    u.map(evt, processEvt);\n\n    return false;\n};\n\n// Cleanly destroy the manager\nManager.prototype.destroy = function () {\n    var self = this;\n    self.unbindDocument(true);\n    self.ids = {};\n    self.index = 0;\n    self.collections.forEach(function(collection) {\n        collection.destroy();\n    });\n    self.off();\n};\n\n// When a collection gets destroyed\n// we clean behind.\nManager.prototype.onDestroyed = function (evt, coll) {\n    var self = this;\n    if (self.collections.indexOf(coll) < 0) {\n        return false;\n    }\n    self.collections.splice(self.collections.indexOf(coll), 1);\n};\n\nvar factory = new Manager();\nreturn {\n    create: function (options) {\n        return factory.create(options);\n    },\n    factory: factory\n};\n\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/object-assign/index.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/object-assign/index.js ***!\n  \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc');  // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/performance-now/lib/performance-now.js\":\n/*!*************************************************************!*\\\n  !*** ./node_modules/performance-now/lib/performance-now.js ***!\n  \\*************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {// Generated by CoffeeScript 1.12.2\n(function() {\n  var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n\n  if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n    module.exports = function() {\n      return performance.now();\n    };\n  } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n    module.exports = function() {\n      return (getNanoSeconds() - nodeLoadTime) / 1e6;\n    };\n    hrtime = process.hrtime;\n    getNanoSeconds = function() {\n      var hr;\n      hr = hrtime();\n      return hr[0] * 1e9 + hr[1];\n    };\n    moduleLoadTime = getNanoSeconds();\n    upTime = process.uptime() * 1e9;\n    nodeLoadTime = moduleLoadTime - upTime;\n  } else if (Date.now) {\n    module.exports = function() {\n      return Date.now() - loadTime;\n    };\n    loadTime = Date.now();\n  } else {\n    module.exports = function() {\n      return new Date().getTime() - loadTime;\n    };\n    loadTime = new Date().getTime();\n  }\n\n}).call(this);\n\n//# sourceMappingURL=performance-now.js.map\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../process/browser.js */ \"./node_modules/process/browser.js\")))\n\n/***/ }),\n\n/***/ \"./node_modules/process/browser.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/process/browser.js ***!\n  \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n\n/***/ \"./node_modules/raf/index.js\":\n/*!***********************************!*\\\n  !*** ./node_modules/raf/index.js ***!\n  \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {var now = __webpack_require__(/*! performance-now */ \"./node_modules/performance-now/lib/performance-now.js\")\n  , root = typeof window === 'undefined' ? global : window\n  , vendors = ['moz', 'webkit']\n  , suffix = 'AnimationFrame'\n  , raf = root['request' + suffix]\n  , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n  raf = root[vendors[i] + 'Request' + suffix]\n  caf = root[vendors[i] + 'Cancel' + suffix]\n      || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n  var last = 0\n    , id = 0\n    , queue = []\n    , frameDuration = 1000 / 60\n\n  raf = function(callback) {\n    if(queue.length === 0) {\n      var _now = now()\n        , next = Math.max(0, frameDuration - (_now - last))\n      last = next + _now\n      setTimeout(function() {\n        var cp = queue.slice(0)\n        // Clear queue here to prevent\n        // callbacks from appending listeners\n        // to the current frame's queue\n        queue.length = 0\n        for(var i = 0; i < cp.length; i++) {\n          if(!cp[i].cancelled) {\n            try{\n              cp[i].callback(last)\n            } catch(e) {\n              setTimeout(function() { throw e }, 0)\n            }\n          }\n        }\n      }, Math.round(next))\n    }\n    queue.push({\n      handle: ++id,\n      callback: callback,\n      cancelled: false\n    })\n    return id\n  }\n\n  caf = function(handle) {\n    for(var i = 0; i < queue.length; i++) {\n      if(queue[i].handle === handle) {\n        queue[i].cancelled = true\n      }\n    }\n  }\n}\n\nmodule.exports = function(fn) {\n  // Wrap in a new function to prevent\n  // `cancel` potentially being assigned\n  // to the native rAF function\n  return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n  caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n  if (!object) {\n    object = root;\n  }\n  object.requestAnimationFrame = raf\n  object.cancelAnimationFrame = caf\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/F.js\":\n/*!************************************!*\\\n  !*** ./node_modules/ramda/es/F.js ***!\n  \\************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _always__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./always */ \"./node_modules/ramda/es/always.js\");\n\n\n/**\n * A function that always returns `false`. Any passed in parameters are ignored.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Function\n * @sig * -> Boolean\n * @param {*}\n * @return {Boolean}\n * @see R.always, R.T\n * @example\n *\n *      R.F(); //=> false\n */\nvar F = /*#__PURE__*/Object(_always__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(false);\n/* harmony default export */ __webpack_exports__[\"default\"] = (F);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/T.js\":\n/*!************************************!*\\\n  !*** ./node_modules/ramda/es/T.js ***!\n  \\************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _always__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./always */ \"./node_modules/ramda/es/always.js\");\n\n\n/**\n * A function that always returns `true`. Any passed in parameters are ignored.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Function\n * @sig * -> Boolean\n * @param {*}\n * @return {Boolean}\n * @see R.always, R.F\n * @example\n *\n *      R.T(); //=> true\n */\nvar T = /*#__PURE__*/Object(_always__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(true);\n/* harmony default export */ __webpack_exports__[\"default\"] = (T);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/__.js\":\n/*!*************************************!*\\\n  !*** ./node_modules/ramda/es/__.js ***!\n  \\*************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/**\n * A special placeholder value used to specify \"gaps\" within curried functions,\n * allowing partial application of any combination of arguments, regardless of\n * their positions.\n *\n * If `g` is a curried ternary function and `_` is `R.__`, the following are\n * equivalent:\n *\n *   - `g(1, 2, 3)`\n *   - `g(_, 2, 3)(1)`\n *   - `g(_, _, 3)(1)(2)`\n *   - `g(_, _, 3)(1, 2)`\n *   - `g(_, 2, _)(1, 3)`\n *   - `g(_, 2)(1)(3)`\n *   - `g(_, 2)(1, 3)`\n *   - `g(_, 2)(_, 3)(1)`\n *\n * @constant\n * @memberOf R\n * @since v0.6.0\n * @category Function\n * @example\n *\n *      var greet = R.replace('{name}', R.__, 'Hello, {name}!');\n *      greet('Alice'); //=> 'Hello, Alice!'\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({ '@@functional/placeholder': true });\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/add.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/add.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Adds two values.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a\n * @param {Number} b\n * @return {Number}\n * @see R.subtract\n * @example\n *\n *      R.add(2, 3);       //=>  5\n *      R.add(7)(10);      //=> 17\n */\nvar add = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function add(a, b) {\n  return Number(a) + Number(b);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (add);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/addIndex.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/addIndex.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat */ \"./node_modules/ramda/es/internal/_concat.js\");\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n\n\n\n\n/**\n * Creates a new list iteration function from an existing one by adding two new\n * parameters to its callback function: the current index, and the entire list.\n *\n * This would turn, for instance, [`R.map`](#map) function into one that\n * more closely resembles `Array.prototype.map`. Note that this will only work\n * for functions in which the iteration callback function is the first\n * parameter, and where the list is the last parameter. (This latter might be\n * unimportant if the list parameter is not used.)\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Function\n * @category List\n * @sig ((a ... -> b) ... -> [a] -> *) -> (a ..., Int, [a] -> b) ... -> [a] -> *)\n * @param {Function} fn A list iteration function that does not pass index or list to its callback\n * @return {Function} An altered list iteration function that passes (item, index, list) to its callback\n * @example\n *\n *      var mapIndexed = R.addIndex(R.map);\n *      mapIndexed((val, idx) => idx + '-' + val, ['f', 'o', 'o', 'b', 'a', 'r']);\n *      //=> ['0-f', '1-o', '2-o', '3-b', '4-a', '5-r']\n */\nvar addIndex = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function addIndex(fn) {\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(fn.length, function () {\n    var idx = 0;\n    var origFn = arguments[0];\n    var list = arguments[arguments.length - 1];\n    var args = Array.prototype.slice.call(arguments, 0);\n    args[0] = function () {\n      var result = origFn.apply(this, Object(_internal_concat__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(arguments, [idx, list]));\n      idx += 1;\n      return result;\n    };\n    return fn.apply(this, args);\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (addIndex);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/adjust.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/adjust.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat */ \"./node_modules/ramda/es/internal/_concat.js\");\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n\n/**\n * Applies a function to the value at the given index of an array, returning a\n * new copy of the array with the element at the given index replaced with the\n * result of the function application.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig (a -> a) -> Number -> [a] -> [a]\n * @param {Function} fn The function to apply.\n * @param {Number} idx The index.\n * @param {Array|Arguments} list An array-like object whose value\n *        at the supplied index will be replaced.\n * @return {Array} A copy of the supplied array-like object with\n *         the element at index `idx` replaced with the value\n *         returned by applying `fn` to the existing element.\n * @see R.update\n * @example\n *\n *      R.adjust(R.add(10), 1, [1, 2, 3]);     //=> [1, 12, 3]\n *      R.adjust(R.add(10))(1)([1, 2, 3]);     //=> [1, 12, 3]\n * @symb R.adjust(f, -1, [a, b]) = [a, f(b)]\n * @symb R.adjust(f, 0, [a, b]) = [f(a), b]\n */\nvar adjust = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function adjust(fn, idx, list) {\n  if (idx >= list.length || idx < -list.length) {\n    return list;\n  }\n  var start = idx < 0 ? list.length : 0;\n  var _idx = start + idx;\n  var _list = Object(_internal_concat__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(list);\n  _list[_idx] = fn(list[_idx]);\n  return _list;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (adjust);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/all.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/all.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xall__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xall */ \"./node_modules/ramda/es/internal/_xall.js\");\n\n\n\n\n/**\n * Returns `true` if all elements of the list match the predicate, `false` if\n * there are any that don't.\n *\n * Dispatches to the `all` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> Boolean\n * @param {Function} fn The predicate function.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if the predicate is satisfied by every element, `false`\n *         otherwise.\n * @see R.any, R.none, R.transduce\n * @example\n *\n *      var equals3 = R.equals(3);\n *      R.all(equals3)([3, 3, 3, 3]); //=> true\n *      R.all(equals3)([3, 3, 1, 3]); //=> false\n */\nvar all = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(['all'], _internal_xall__WEBPACK_IMPORTED_MODULE_2__[\"default\"], function all(fn, list) {\n  var idx = 0;\n  while (idx < list.length) {\n    if (!fn(list[idx])) {\n      return false;\n    }\n    idx += 1;\n  }\n  return true;\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (all);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/allPass.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/allPass.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n/* harmony import */ var _max__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./max */ \"./node_modules/ramda/es/max.js\");\n/* harmony import */ var _pluck__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pluck */ \"./node_modules/ramda/es/pluck.js\");\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reduce */ \"./node_modules/ramda/es/reduce.js\");\n\n\n\n\n\n\n/**\n * Takes a list of predicates and returns a predicate that returns true for a\n * given list of arguments if every one of the provided predicates is satisfied\n * by those arguments.\n *\n * The function returned is a curried function whose arity matches that of the\n * highest-arity predicate.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Logic\n * @sig [(*... -> Boolean)] -> (*... -> Boolean)\n * @param {Array} predicates An array of predicates to check\n * @return {Function} The combined predicate\n * @see R.anyPass\n * @example\n *\n *      var isQueen = R.propEq('rank', 'Q');\n *      var isSpade = R.propEq('suit', '♠︎');\n *      var isQueenOfSpades = R.allPass([isQueen, isSpade]);\n *\n *      isQueenOfSpades({rank: 'Q', suit: '♣︎'}); //=> false\n *      isQueenOfSpades({rank: 'Q', suit: '♠︎'}); //=> true\n */\nvar allPass = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function allPass(preds) {\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_reduce__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(_max__WEBPACK_IMPORTED_MODULE_2__[\"default\"], 0, Object(_pluck__WEBPACK_IMPORTED_MODULE_3__[\"default\"])('length', preds)), function () {\n    var idx = 0;\n    var len = preds.length;\n    while (idx < len) {\n      if (!preds[idx].apply(this, arguments)) {\n        return false;\n      }\n      idx += 1;\n    }\n    return true;\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (allPass);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/always.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/always.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n/**\n * Returns a function that always returns the given value. Note that for\n * non-primitives the value returned is a reference to the original value.\n *\n * This function is known as `const`, `constant`, or `K` (for K combinator) in\n * other languages and libraries.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig a -> (* -> a)\n * @param {*} val The value to wrap in a function\n * @return {Function} A Function :: * -> val.\n * @example\n *\n *      var t = R.always('Tee');\n *      t(); //=> 'Tee'\n */\nvar always = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function always(val) {\n  return function () {\n    return val;\n  };\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (always);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/and.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/and.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns `true` if both arguments are `true`; `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig a -> b -> a | b\n * @param {Any} a\n * @param {Any} b\n * @return {Any} the first argument if it is falsy, otherwise the second argument.\n * @see R.both\n * @example\n *\n *      R.and(true, true); //=> true\n *      R.and(true, false); //=> false\n *      R.and(false, true); //=> false\n *      R.and(false, false); //=> false\n */\nvar and = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function and(a, b) {\n  return a && b;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (and);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/any.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/any.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xany__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xany */ \"./node_modules/ramda/es/internal/_xany.js\");\n\n\n\n\n/**\n * Returns `true` if at least one of elements of the list match the predicate,\n * `false` otherwise.\n *\n * Dispatches to the `any` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> Boolean\n * @param {Function} fn The predicate function.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if the predicate is satisfied by at least one element, `false`\n *         otherwise.\n * @see R.all, R.none, R.transduce\n * @example\n *\n *      var lessThan0 = R.flip(R.lt)(0);\n *      var lessThan2 = R.flip(R.lt)(2);\n *      R.any(lessThan0)([1, 2]); //=> false\n *      R.any(lessThan2)([1, 2]); //=> true\n */\nvar any = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(['any'], _internal_xany__WEBPACK_IMPORTED_MODULE_2__[\"default\"], function any(fn, list) {\n  var idx = 0;\n  while (idx < list.length) {\n    if (fn(list[idx])) {\n      return true;\n    }\n    idx += 1;\n  }\n  return false;\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (any);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/anyPass.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/anyPass.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n/* harmony import */ var _max__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./max */ \"./node_modules/ramda/es/max.js\");\n/* harmony import */ var _pluck__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pluck */ \"./node_modules/ramda/es/pluck.js\");\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reduce */ \"./node_modules/ramda/es/reduce.js\");\n\n\n\n\n\n\n/**\n * Takes a list of predicates and returns a predicate that returns true for a\n * given list of arguments if at least one of the provided predicates is\n * satisfied by those arguments.\n *\n * The function returned is a curried function whose arity matches that of the\n * highest-arity predicate.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Logic\n * @sig [(*... -> Boolean)] -> (*... -> Boolean)\n * @param {Array} predicates An array of predicates to check\n * @return {Function} The combined predicate\n * @see R.allPass\n * @example\n *\n *      var isClub = R.propEq('suit', '♣');\n *      var isSpade = R.propEq('suit', '♠');\n *      var isBlackCard = R.anyPass([isClub, isSpade]);\n *\n *      isBlackCard({rank: '10', suit: '♣'}); //=> true\n *      isBlackCard({rank: 'Q', suit: '♠'}); //=> true\n *      isBlackCard({rank: 'Q', suit: '♦'}); //=> false\n */\nvar anyPass = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function anyPass(preds) {\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_reduce__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(_max__WEBPACK_IMPORTED_MODULE_2__[\"default\"], 0, Object(_pluck__WEBPACK_IMPORTED_MODULE_3__[\"default\"])('length', preds)), function () {\n    var idx = 0;\n    var len = preds.length;\n    while (idx < len) {\n      if (preds[idx].apply(this, arguments)) {\n        return true;\n      }\n      idx += 1;\n    }\n    return false;\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (anyPass);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/ap.js\":\n/*!*************************************!*\\\n  !*** ./node_modules/ramda/es/ap.js ***!\n  \\*************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat */ \"./node_modules/ramda/es/internal/_concat.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_reduce__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_reduce */ \"./node_modules/ramda/es/internal/_reduce.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./map */ \"./node_modules/ramda/es/map.js\");\n\n\n\n\n\n/**\n * ap applies a list of functions to a list of values.\n *\n * Dispatches to the `ap` method of the second argument, if present. Also\n * treats curried functions as applicatives.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig [a -> b] -> [a] -> [b]\n * @sig Apply f => f (a -> b) -> f a -> f b\n * @sig (a -> b -> c) -> (a -> b) -> (a -> c)\n * @param {*} applyF\n * @param {*} applyX\n * @return {*}\n * @example\n *\n *      R.ap([R.multiply(2), R.add(3)], [1,2,3]); //=> [2, 4, 6, 4, 5, 6]\n *      R.ap([R.concat('tasty '), R.toUpper], ['pizza', 'salad']); //=> [\"tasty pizza\", \"tasty salad\", \"PIZZA\", \"SALAD\"]\n *\n *      // R.ap can also be used as S combinator\n *      // when only two functions are passed\n *      R.ap(R.concat, R.toUpper)('Ramda') //=> 'RamdaRAMDA'\n * @symb R.ap([f, g], [a, b]) = [f(a), f(b), g(a), g(b)]\n */\nvar ap = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function ap(applyF, applyX) {\n  return typeof applyX['fantasy-land/ap'] === 'function' ? applyX['fantasy-land/ap'](applyF) : typeof applyF.ap === 'function' ? applyF.ap(applyX) : typeof applyF === 'function' ? function (x) {\n    return applyF(x)(applyX(x));\n  } :\n  // else\n  Object(_internal_reduce__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function (acc, f) {\n    return Object(_internal_concat__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(acc, Object(_map__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(f, applyX));\n  }, [], applyF);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (ap);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/aperture.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/aperture.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_aperture__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_aperture */ \"./node_modules/ramda/es/internal/_aperture.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xaperture__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_xaperture */ \"./node_modules/ramda/es/internal/_xaperture.js\");\n\n\n\n\n\n/**\n * Returns a new list, composed of n-tuples of consecutive elements. If `n` is\n * greater than the length of the list, an empty list is returned.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category List\n * @sig Number -> [a] -> [[a]]\n * @param {Number} n The size of the tuples to create\n * @param {Array} list The list to split into `n`-length tuples\n * @return {Array} The resulting list of `n`-length tuples\n * @see R.transduce\n * @example\n *\n *      R.aperture(2, [1, 2, 3, 4, 5]); //=> [[1, 2], [2, 3], [3, 4], [4, 5]]\n *      R.aperture(3, [1, 2, 3, 4, 5]); //=> [[1, 2, 3], [2, 3, 4], [3, 4, 5]]\n *      R.aperture(7, [1, 2, 3, 4, 5]); //=> []\n */\nvar aperture = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_2__[\"default\"])([], _internal_xaperture__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _internal_aperture__WEBPACK_IMPORTED_MODULE_0__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (aperture);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/append.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/append.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat */ \"./node_modules/ramda/es/internal/_concat.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n\n/**\n * Returns a new list containing the contents of the given list, followed by\n * the given element.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> [a]\n * @param {*} el The element to add to the end of the new list.\n * @param {Array} list The list of elements to add a new item to.\n *        list.\n * @return {Array} A new list containing the elements of the old list followed by `el`.\n * @see R.prepend\n * @example\n *\n *      R.append('tests', ['write', 'more']); //=> ['write', 'more', 'tests']\n *      R.append('tests', []); //=> ['tests']\n *      R.append(['tests'], ['write', 'more']); //=> ['write', 'more', ['tests']]\n */\nvar append = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function append(el, list) {\n  return Object(_internal_concat__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(list, [el]);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (append);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/apply.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/apply.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Applies function `fn` to the argument list `args`. This is useful for\n * creating a fixed-arity function from a variadic function. `fn` should be a\n * bound function if context is significant.\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Function\n * @sig (*... -> a) -> [*] -> a\n * @param {Function} fn The function which will be called with `args`\n * @param {Array} args The arguments to call `fn` with\n * @return {*} result The result, equivalent to `fn(...args)`\n * @see R.call, R.unapply\n * @example\n *\n *      var nums = [1, 2, 3, -99, 42, 6, 7];\n *      R.apply(Math.max, nums); //=> 42\n * @symb R.apply(f, [a, b, c]) = f(a, b, c)\n */\nvar apply = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function apply(fn, args) {\n  return fn.apply(this, args);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (apply);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/applySpec.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/applySpec.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _apply__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./apply */ \"./node_modules/ramda/es/apply.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./map */ \"./node_modules/ramda/es/map.js\");\n/* harmony import */ var _max__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./max */ \"./node_modules/ramda/es/max.js\");\n/* harmony import */ var _pluck__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./pluck */ \"./node_modules/ramda/es/pluck.js\");\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./reduce */ \"./node_modules/ramda/es/reduce.js\");\n/* harmony import */ var _values__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./values */ \"./node_modules/ramda/es/values.js\");\n\n\n\n\n\n\n\n\n\n/**\n * Given a spec object recursively mapping properties to functions, creates a\n * function producing an object of the same structure, by mapping each property\n * to the result of calling its associated function with the supplied arguments.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category Function\n * @sig {k: ((a, b, ..., m) -> v)} -> ((a, b, ..., m) -> {k: v})\n * @param {Object} spec an object recursively mapping properties to functions for\n *        producing the values for these properties.\n * @return {Function} A function that returns an object of the same structure\n * as `spec', with each property set to the value returned by calling its\n * associated function with the supplied arguments.\n * @see R.converge, R.juxt\n * @example\n *\n *      var getMetrics = R.applySpec({\n *        sum: R.add,\n *        nested: { mul: R.multiply }\n *      });\n *      getMetrics(2, 4); // => { sum: 6, nested: { mul: 8 } }\n * @symb R.applySpec({ x: f, y: { z: g } })(a, b) = { x: f(a, b), y: { z: g(a, b) } }\n */\nvar applySpec = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function applySpec(spec) {\n  spec = Object(_map__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(function (v) {\n    return typeof v == 'function' ? v : applySpec(v);\n  }, spec);\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_reduce__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(_max__WEBPACK_IMPORTED_MODULE_4__[\"default\"], 0, Object(_pluck__WEBPACK_IMPORTED_MODULE_5__[\"default\"])('length', Object(_values__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(spec))), function () {\n    var args = arguments;\n    return Object(_map__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(function (f) {\n      return Object(_apply__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(f, args);\n    }, spec);\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (applySpec);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/applyTo.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/applyTo.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n* Takes a value and applies a function to it.\n*\n* This function is also known as the `thrush` combinator.\n*\n* @func\n* @memberOf R\n * @since v0.25.0\n* @category Function\n* @sig a -> (a -> b) -> b\n* @param {*} x The value\n* @param {Function} f The function to apply\n* @return {*} The result of applying `f` to `x`\n* @example\n*\n*      var t42 = R.applyTo(42);\n*      t42(R.identity); //=> 42\n*      t42(R.add(1)); //=> 43\n*/\nvar applyTo = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function applyTo(x, f) {\n  return f(x);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (applyTo);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/ascend.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/ascend.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Makes an ascending comparator function out of a function that returns a value\n * that can be compared with `<` and `>`.\n *\n * @func\n * @memberOf R\n * @since v0.23.0\n * @category Function\n * @sig Ord b => (a -> b) -> a -> a -> Number\n * @param {Function} fn A function of arity one that returns a value that can be compared\n * @param {*} a The first item to be compared.\n * @param {*} b The second item to be compared.\n * @return {Number} `-1` if fn(a) < fn(b), `1` if fn(b) < fn(a), otherwise `0`\n * @see R.descend\n * @example\n *\n *      var byAge = R.ascend(R.prop('age'));\n *      var people = [\n *        // ...\n *      ];\n *      var peopleByYoungestFirst = R.sort(byAge, people);\n */\nvar ascend = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function ascend(fn, a, b) {\n  var aa = fn(a);\n  var bb = fn(b);\n  return aa < bb ? -1 : aa > bb ? 1 : 0;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (ascend);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/assoc.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/assoc.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Makes a shallow clone of an object, setting or overriding the specified\n * property with the given value. Note that this copies and flattens prototype\n * properties onto the new object as well. All non-primitive properties are\n * copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @sig String -> a -> {k: v} -> {k: v}\n * @param {String} prop The property name to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except for the changed property.\n * @see R.dissoc\n * @example\n *\n *      R.assoc('c', 3, {a: 1, b: 2}); //=> {a: 1, b: 2, c: 3}\n */\nvar assoc = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function assoc(prop, val, obj) {\n  var result = {};\n  for (var p in obj) {\n    result[p] = obj[p];\n  }\n  result[prop] = val;\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (assoc);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/assocPath.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/assocPath.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _internal_has__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has */ \"./node_modules/ramda/es/internal/_has.js\");\n/* harmony import */ var _internal_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isArray */ \"./node_modules/ramda/es/internal/_isArray.js\");\n/* harmony import */ var _internal_isInteger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_isInteger */ \"./node_modules/ramda/es/internal/_isInteger.js\");\n/* harmony import */ var _assoc__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./assoc */ \"./node_modules/ramda/es/assoc.js\");\n/* harmony import */ var _isNil__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isNil */ \"./node_modules/ramda/es/isNil.js\");\n\n\n\n\n\n\n\n/**\n * Makes a shallow clone of an object, setting or overriding the nodes required\n * to create the given path, and placing the specific value at the tail end of\n * that path. Note that this copies and flattens prototype properties onto the\n * new object as well. All non-primitive properties are copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> a -> {a} -> {a}\n * @param {Array} path the path to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except along the specified path.\n * @see R.dissocPath\n * @example\n *\n *      R.assocPath(['a', 'b', 'c'], 42, {a: {b: {c: 0}}}); //=> {a: {b: {c: 42}}}\n *\n *      // Any missing or non-object keys in path will be overridden\n *      R.assocPath(['a', 'b', 'c'], 42, {a: 5}); //=> {a: {b: {c: 42}}}\n */\nvar assocPath = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function assocPath(path, val, obj) {\n  if (path.length === 0) {\n    return val;\n  }\n  var idx = path[0];\n  if (path.length > 1) {\n    var nextObj = !Object(_isNil__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(obj) && Object(_internal_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(idx, obj) ? obj[idx] : Object(_internal_isInteger__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(path[1]) ? [] : {};\n    val = assocPath(Array.prototype.slice.call(path, 1), val, nextObj);\n  }\n  if (Object(_internal_isInteger__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(idx) && Object(_internal_isArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(obj)) {\n    var arr = [].concat(obj);\n    arr[idx] = val;\n    return arr;\n  } else {\n    return Object(_assoc__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(idx, val, obj);\n  }\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (assocPath);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/binary.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/binary.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _nAry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./nAry */ \"./node_modules/ramda/es/nAry.js\");\n\n\n\n/**\n * Wraps a function of any arity (including nullary) in a function that accepts\n * exactly 2 parameters. Any extraneous parameters will not be passed to the\n * supplied function.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Function\n * @sig (* -> c) -> (a, b -> c)\n * @param {Function} fn The function to wrap.\n * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of\n *         arity 2.\n * @see R.nAry, R.unary\n * @example\n *\n *      var takesThreeArgs = function(a, b, c) {\n *        return [a, b, c];\n *      };\n *      takesThreeArgs.length; //=> 3\n *      takesThreeArgs(1, 2, 3); //=> [1, 2, 3]\n *\n *      var takesTwoArgs = R.binary(takesThreeArgs);\n *      takesTwoArgs.length; //=> 2\n *      // Only 2 arguments are passed to the wrapped function\n *      takesTwoArgs(1, 2, 3); //=> [1, 2, undefined]\n * @symb R.binary(f)(a, b, c) = f(a, b)\n */\nvar binary = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function binary(fn) {\n  return Object(_nAry__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(2, fn);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (binary);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/bind.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/bind.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_arity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity */ \"./node_modules/ramda/es/internal/_arity.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n\n/**\n * Creates a function that is bound to a context.\n * Note: `R.bind` does not provide the additional argument-binding capabilities of\n * [Function.prototype.bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Function\n * @category Object\n * @sig (* -> *) -> {*} -> (* -> *)\n * @param {Function} fn The function to bind to context\n * @param {Object} thisObj The context to bind `fn` to\n * @return {Function} A function that will execute in the context of `thisObj`.\n * @see R.partial\n * @example\n *\n *      var log = R.bind(console.log, console);\n *      R.pipe(R.assoc('a', 2), R.tap(log), R.assoc('a', 3))({a: 1}); //=> {a: 3}\n *      // logs {a: 2}\n * @symb R.bind(f, o)(a, b) = f.call(o, a, b)\n */\nvar bind = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function bind(fn, thisObj) {\n  return Object(_internal_arity__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fn.length, function () {\n    return fn.apply(thisObj, arguments);\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (bind);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/both.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/both.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_isFunction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isFunction */ \"./node_modules/ramda/es/internal/_isFunction.js\");\n/* harmony import */ var _and__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./and */ \"./node_modules/ramda/es/and.js\");\n/* harmony import */ var _lift__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lift */ \"./node_modules/ramda/es/lift.js\");\n\n\n\n\n\n/**\n * A function which calls the two provided functions and returns the `&&`\n * of the results.\n * It returns the result of the first function if it is false-y and the result\n * of the second function otherwise. Note that this is short-circuited,\n * meaning that the second function will not be invoked if the first returns a\n * false-y value.\n *\n * In addition to functions, `R.both` also accepts any fantasy-land compatible\n * applicative functor.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category Logic\n * @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean)\n * @param {Function} f A predicate\n * @param {Function} g Another predicate\n * @return {Function} a function that applies its arguments to `f` and `g` and `&&`s their outputs together.\n * @see R.and\n * @example\n *\n *      var gt10 = R.gt(R.__, 10)\n *      var lt20 = R.lt(R.__, 20)\n *      var f = R.both(gt10, lt20);\n *      f(15); //=> true\n *      f(30); //=> false\n */\nvar both = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function both(f, g) {\n  return Object(_internal_isFunction__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(f) ? function _both() {\n    return f.apply(this, arguments) && g.apply(this, arguments);\n  } : Object(_lift__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_and__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(f, g);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (both);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/call.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/call.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./curry */ \"./node_modules/ramda/es/curry.js\");\n\n\n/**\n * Returns the result of calling its first argument with the remaining\n * arguments. This is occasionally useful as a converging function for\n * [`R.converge`](#converge): the first branch can produce a function while the\n * remaining branches produce values to be passed to that function as its\n * arguments.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Function\n * @sig (*... -> a),*... -> a\n * @param {Function} fn The function to apply to the remaining arguments.\n * @param {...*} args Any number of positional arguments.\n * @return {*}\n * @see R.apply\n * @example\n *\n *      R.call(R.add, 1, 2); //=> 3\n *\n *      var indentN = R.pipe(R.repeat(' '),\n *                           R.join(''),\n *                           R.replace(/^(?!$)/gm));\n *\n *      var format = R.converge(R.call, [\n *                                  R.pipe(R.prop('indent'), indentN),\n *                                  R.prop('value')\n *                              ]);\n *\n *      format({indent: 2, value: 'foo\\nbar\\nbaz\\n'}); //=> '  foo\\n  bar\\n  baz\\n'\n * @symb R.call(f, a, b) = f(a, b)\n */\nvar call = /*#__PURE__*/Object(_curry__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function call(fn) {\n  return fn.apply(this, Array.prototype.slice.call(arguments, 1));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (call);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/chain.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/chain.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_makeFlat__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_makeFlat */ \"./node_modules/ramda/es/internal/_makeFlat.js\");\n/* harmony import */ var _internal_xchain__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_xchain */ \"./node_modules/ramda/es/internal/_xchain.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./map */ \"./node_modules/ramda/es/map.js\");\n\n\n\n\n\n\n/**\n * `chain` maps a function over a list and concatenates the results. `chain`\n * is also known as `flatMap` in some libraries\n *\n * Dispatches to the `chain` method of the second argument, if present,\n * according to the [FantasyLand Chain spec](https://github.com/fantasyland/fantasy-land#chain).\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig Chain m => (a -> m b) -> m a -> m b\n * @param {Function} fn The function to map with\n * @param {Array} list The list to map over\n * @return {Array} The result of flat-mapping `list` with `fn`\n * @example\n *\n *      var duplicate = n => [n, n];\n *      R.chain(duplicate, [1, 2, 3]); //=> [1, 1, 2, 2, 3, 3]\n *\n *      R.chain(R.append, R.head)([1, 2, 3]); //=> [1, 2, 3, 1]\n */\nvar chain = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(['fantasy-land/chain', 'chain'], _internal_xchain__WEBPACK_IMPORTED_MODULE_3__[\"default\"], function chain(fn, monad) {\n  if (typeof monad === 'function') {\n    return function (x) {\n      return fn(monad(x))(x);\n    };\n  }\n  return Object(_internal_makeFlat__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(false)(Object(_map__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(fn, monad));\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (chain);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/clamp.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/clamp.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Restricts a number to be within a range.\n *\n * Also works for other ordered types such as Strings and Dates.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category Relation\n * @sig Ord a => a -> a -> a -> a\n * @param {Number} minimum The lower limit of the clamp (inclusive)\n * @param {Number} maximum The upper limit of the clamp (inclusive)\n * @param {Number} value Value to be clamped\n * @return {Number} Returns `minimum` when `val < minimum`, `maximum` when `val > maximum`, returns `val` otherwise\n * @example\n *\n *      R.clamp(1, 10, -5) // => 1\n *      R.clamp(1, 10, 15) // => 10\n *      R.clamp(1, 10, 4)  // => 4\n */\nvar clamp = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function clamp(min, max, value) {\n  if (min > max) {\n    throw new Error('min must not be greater than max in clamp(min, max, value)');\n  }\n  return value < min ? min : value > max ? max : value;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (clamp);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/clone.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/clone.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_clone__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_clone */ \"./node_modules/ramda/es/internal/_clone.js\");\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n\n/**\n * Creates a deep copy of the value which may contain (nested) `Array`s and\n * `Object`s, `Number`s, `String`s, `Boolean`s and `Date`s. `Function`s are\n * assigned by reference rather than copied\n *\n * Dispatches to a `clone` method if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {*} -> {*}\n * @param {*} value The object or array to clone\n * @return {*} A deeply cloned copy of `val`\n * @example\n *\n *      var objects = [{}, {}, {}];\n *      var objectsClone = R.clone(objects);\n *      objects === objectsClone; //=> false\n *      objects[0] === objectsClone[0]; //=> false\n */\nvar clone = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function clone(value) {\n  return value != null && typeof value.clone === 'function' ? value.clone() : Object(_internal_clone__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value, [], [], true);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (clone);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/comparator.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/ramda/es/comparator.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n/**\n * Makes a comparator function out of a function that reports whether the first\n * element is less than the second.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((a, b) -> Boolean) -> ((a, b) -> Number)\n * @param {Function} pred A predicate function of arity two which will return `true` if the first argument\n * is less than the second, `false` otherwise\n * @return {Function} A Function :: a -> b -> Int that returns `-1` if a < b, `1` if b < a, otherwise `0`\n * @example\n *\n *      var byAge = R.comparator((a, b) => a.age < b.age);\n *      var people = [\n *        // ...\n *      ];\n *      var peopleByIncreasingAge = R.sort(byAge, people);\n */\nvar comparator = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function comparator(pred) {\n  return function (a, b) {\n    return pred(a, b) ? -1 : pred(b, a) ? 1 : 0;\n  };\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (comparator);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/complement.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/ramda/es/complement.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lift__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lift */ \"./node_modules/ramda/es/lift.js\");\n/* harmony import */ var _not__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./not */ \"./node_modules/ramda/es/not.js\");\n\n\n\n/**\n * Takes a function `f` and returns a function `g` such that if called with the same arguments\n * when `f` returns a \"truthy\" value, `g` returns `false` and when `f` returns a \"falsy\" value `g` returns `true`.\n *\n * `R.complement` may be applied to any functor\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category Logic\n * @sig (*... -> *) -> (*... -> Boolean)\n * @param {Function} f\n * @return {Function}\n * @see R.not\n * @example\n *\n *      var isNotNil = R.complement(R.isNil);\n *      isNil(null); //=> true\n *      isNotNil(null); //=> false\n *      isNil(7); //=> false\n *      isNotNil(7); //=> true\n */\nvar complement = /*#__PURE__*/Object(_lift__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_not__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (complement);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/compose.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/compose.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return compose; });\n/* harmony import */ var _pipe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pipe */ \"./node_modules/ramda/es/pipe.js\");\n/* harmony import */ var _reverse__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reverse */ \"./node_modules/ramda/es/reverse.js\");\n\n\n\n/**\n * Performs right-to-left function composition. The rightmost function may have\n * any arity; the remaining functions must be unary.\n *\n * **Note:** The result of compose is not automatically curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((y -> z), (x -> y), ..., (o -> p), ((a, b, ..., n) -> o)) -> ((a, b, ..., n) -> z)\n * @param {...Function} ...functions The functions to compose\n * @return {Function}\n * @see R.pipe\n * @example\n *\n *      var classyGreeting = (firstName, lastName) => \"The name's \" + lastName + \", \" + firstName + \" \" + lastName\n *      var yellGreeting = R.compose(R.toUpper, classyGreeting);\n *      yellGreeting('James', 'Bond'); //=> \"THE NAME'S BOND, JAMES BOND\"\n *\n *      R.compose(Math.abs, R.add(1), R.multiply(2))(-4) //=> 7\n *\n * @symb R.compose(f, g, h)(a, b) = f(g(h(a, b)))\n */\nfunction compose() {\n  if (arguments.length === 0) {\n    throw new Error('compose requires at least one argument');\n  }\n  return _pipe__WEBPACK_IMPORTED_MODULE_0__[\"default\"].apply(this, Object(_reverse__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(arguments));\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/composeK.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/composeK.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return composeK; });\n/* harmony import */ var _chain__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chain */ \"./node_modules/ramda/es/chain.js\");\n/* harmony import */ var _compose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./compose */ \"./node_modules/ramda/es/compose.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./map */ \"./node_modules/ramda/es/map.js\");\n\n\n\n\n/**\n * Returns the right-to-left Kleisli composition of the provided functions,\n * each of which must return a value of a type supported by [`chain`](#chain).\n *\n * `R.composeK(h, g, f)` is equivalent to `R.compose(R.chain(h), R.chain(g), f)`.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Function\n * @sig Chain m => ((y -> m z), (x -> m y), ..., (a -> m b)) -> (a -> m z)\n * @param {...Function} ...functions The functions to compose\n * @return {Function}\n * @see R.pipeK\n * @example\n *\n *       //  get :: String -> Object -> Maybe *\n *       var get = R.curry((propName, obj) => Maybe(obj[propName]))\n *\n *       //  getStateCode :: Maybe String -> Maybe String\n *       var getStateCode = R.composeK(\n *         R.compose(Maybe.of, R.toUpper),\n *         get('state'),\n *         get('address'),\n *         get('user'),\n *       );\n *       getStateCode({\"user\":{\"address\":{\"state\":\"ny\"}}}); //=> Maybe.Just(\"NY\")\n *       getStateCode({}); //=> Maybe.Nothing()\n * @symb R.composeK(f, g, h)(a) = R.chain(f, R.chain(g, h(a)))\n */\nfunction composeK() {\n  if (arguments.length === 0) {\n    throw new Error('composeK requires at least one argument');\n  }\n  var init = Array.prototype.slice.call(arguments);\n  var last = init.pop();\n  return Object(_compose__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_compose__WEBPACK_IMPORTED_MODULE_1__[\"default\"].apply(this, Object(_map__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_chain__WEBPACK_IMPORTED_MODULE_0__[\"default\"], init)), last);\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/composeP.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/composeP.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return composeP; });\n/* harmony import */ var _pipeP__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pipeP */ \"./node_modules/ramda/es/pipeP.js\");\n/* harmony import */ var _reverse__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reverse */ \"./node_modules/ramda/es/reverse.js\");\n\n\n\n/**\n * Performs right-to-left composition of one or more Promise-returning\n * functions. The rightmost function may have any arity; the remaining\n * functions must be unary.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Function\n * @sig ((y -> Promise z), (x -> Promise y), ..., (a -> Promise b)) -> (a -> Promise z)\n * @param {...Function} functions The functions to compose\n * @return {Function}\n * @see R.pipeP\n * @example\n *\n *      var db = {\n *        users: {\n *          JOE: {\n *            name: 'Joe',\n *            followers: ['STEVE', 'SUZY']\n *          }\n *        }\n *      }\n *\n *      // We'll pretend to do a db lookup which returns a promise\n *      var lookupUser = (userId) => Promise.resolve(db.users[userId])\n *      var lookupFollowers = (user) => Promise.resolve(user.followers)\n *      lookupUser('JOE').then(lookupFollowers)\n *\n *      //  followersForUser :: String -> Promise [UserId]\n *      var followersForUser = R.composeP(lookupFollowers, lookupUser);\n *      followersForUser('JOE').then(followers => console.log('Followers:', followers))\n *      // Followers: [\"STEVE\",\"SUZY\"]\n */\nfunction composeP() {\n  if (arguments.length === 0) {\n    throw new Error('composeP requires at least one argument');\n  }\n  return _pipeP__WEBPACK_IMPORTED_MODULE_0__[\"default\"].apply(this, Object(_reverse__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(arguments));\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/concat.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/concat.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_isArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isArray */ \"./node_modules/ramda/es/internal/_isArray.js\");\n/* harmony import */ var _internal_isFunction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isFunction */ \"./node_modules/ramda/es/internal/_isFunction.js\");\n/* harmony import */ var _internal_isString__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_isString */ \"./node_modules/ramda/es/internal/_isString.js\");\n/* harmony import */ var _toString__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./toString */ \"./node_modules/ramda/es/toString.js\");\n\n\n\n\n\n\n/**\n * Returns the result of concatenating the given lists or strings.\n *\n * Note: `R.concat` expects both arguments to be of the same type,\n * unlike the native `Array.prototype.concat` method. It will throw\n * an error if you `concat` an Array with a non-Array value.\n *\n * Dispatches to the `concat` method of the first argument, if present.\n * Can also concatenate two members of a [fantasy-land\n * compatible semigroup](https://github.com/fantasyland/fantasy-land#semigroup).\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a] -> [a]\n * @sig String -> String -> String\n * @param {Array|String} firstList The first list\n * @param {Array|String} secondList The second list\n * @return {Array|String} A list consisting of the elements of `firstList` followed by the elements of\n * `secondList`.\n *\n * @example\n *\n *      R.concat('ABC', 'DEF'); // 'ABCDEF'\n *      R.concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n *      R.concat([], []); //=> []\n */\nvar concat = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function concat(a, b) {\n  if (Object(_internal_isArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(a)) {\n    if (Object(_internal_isArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(b)) {\n      return a.concat(b);\n    }\n    throw new TypeError(Object(_toString__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(b) + ' is not an array');\n  }\n  if (Object(_internal_isString__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(a)) {\n    if (Object(_internal_isString__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(b)) {\n      return a + b;\n    }\n    throw new TypeError(Object(_toString__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(b) + ' is not a string');\n  }\n  if (a != null && Object(_internal_isFunction__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(a['fantasy-land/concat'])) {\n    return a['fantasy-land/concat'](b);\n  }\n  if (a != null && Object(_internal_isFunction__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(a.concat)) {\n    return a.concat(b);\n  }\n  throw new TypeError(Object(_toString__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(a) + ' does not have a method named \"concat\" or \"fantasy-land/concat\"');\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (concat);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/cond.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/cond.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_arity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity */ \"./node_modules/ramda/es/internal/_arity.js\");\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./map */ \"./node_modules/ramda/es/map.js\");\n/* harmony import */ var _max__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./max */ \"./node_modules/ramda/es/max.js\");\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reduce */ \"./node_modules/ramda/es/reduce.js\");\n\n\n\n\n\n\n/**\n * Returns a function, `fn`, which encapsulates `if/else, if/else, ...` logic.\n * `R.cond` takes a list of [predicate, transformer] pairs. All of the arguments\n * to `fn` are applied to each of the predicates in turn until one returns a\n * \"truthy\" value, at which point `fn` returns the result of applying its\n * arguments to the corresponding transformer. If none of the predicates\n * matches, `fn` returns undefined.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Logic\n * @sig [[(*... -> Boolean),(*... -> *)]] -> (*... -> *)\n * @param {Array} pairs A list of [predicate, transformer]\n * @return {Function}\n * @example\n *\n *      var fn = R.cond([\n *        [R.equals(0),   R.always('water freezes at 0°C')],\n *        [R.equals(100), R.always('water boils at 100°C')],\n *        [R.T,           temp => 'nothing special happens at ' + temp + '°C']\n *      ]);\n *      fn(0); //=> 'water freezes at 0°C'\n *      fn(50); //=> 'nothing special happens at 50°C'\n *      fn(100); //=> 'water boils at 100°C'\n */\nvar cond = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function cond(pairs) {\n  var arity = Object(_reduce__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(_max__WEBPACK_IMPORTED_MODULE_3__[\"default\"], 0, Object(_map__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function (pair) {\n    return pair[0].length;\n  }, pairs));\n  return Object(_internal_arity__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(arity, function () {\n    var idx = 0;\n    while (idx < pairs.length) {\n      if (pairs[idx][0].apply(this, arguments)) {\n        return pairs[idx][1].apply(this, arguments);\n      }\n      idx += 1;\n    }\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (cond);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/construct.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/construct.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _constructN__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constructN */ \"./node_modules/ramda/es/constructN.js\");\n\n\n\n/**\n * Wraps a constructor function inside a curried function that can be called\n * with the same arguments and returns the same type.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (* -> {*}) -> (* -> {*})\n * @param {Function} fn The constructor function to wrap.\n * @return {Function} A wrapped, curried constructor function.\n * @see R.invoker\n * @example\n *\n *      // Constructor function\n *      function Animal(kind) {\n *        this.kind = kind;\n *      };\n *      Animal.prototype.sighting = function() {\n *        return \"It's a \" + this.kind + \"!\";\n *      }\n *\n *      var AnimalConstructor = R.construct(Animal)\n *\n *      // Notice we no longer need the 'new' keyword:\n *      AnimalConstructor('Pig'); //=> {\"kind\": \"Pig\", \"sighting\": function (){...}};\n *\n *      var animalTypes = [\"Lion\", \"Tiger\", \"Bear\"];\n *      var animalSighting = R.invoker(0, 'sighting');\n *      var sightNewAnimal = R.compose(animalSighting, AnimalConstructor);\n *      R.map(sightNewAnimal, animalTypes); //=> [\"It's a Lion!\", \"It's a Tiger!\", \"It's a Bear!\"]\n */\nvar construct = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function construct(Fn) {\n  return Object(_constructN__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Fn.length, Fn);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (construct);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/constructN.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/ramda/es/constructN.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _curry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curry */ \"./node_modules/ramda/es/curry.js\");\n/* harmony import */ var _nAry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./nAry */ \"./node_modules/ramda/es/nAry.js\");\n\n\n\n\n/**\n * Wraps a constructor function inside a curried function that can be called\n * with the same arguments and returns the same type. The arity of the function\n * returned is specified to allow using variadic constructor functions.\n *\n * @func\n * @memberOf R\n * @since v0.4.0\n * @category Function\n * @sig Number -> (* -> {*}) -> (* -> {*})\n * @param {Number} n The arity of the constructor function.\n * @param {Function} Fn The constructor function to wrap.\n * @return {Function} A wrapped, curried constructor function.\n * @example\n *\n *      // Variadic Constructor function\n *      function Salad() {\n *        this.ingredients = arguments;\n *      }\n *\n *      Salad.prototype.recipe = function() {\n *        var instructions = R.map(ingredient => 'Add a dollop of ' + ingredient, this.ingredients);\n *        return R.join('\\n', instructions);\n *      };\n *\n *      var ThreeLayerSalad = R.constructN(3, Salad);\n *\n *      // Notice we no longer need the 'new' keyword, and the constructor is curried for 3 arguments.\n *      var salad = ThreeLayerSalad('Mayonnaise')('Potato Chips')('Ketchup');\n *\n *      console.log(salad.recipe());\n *      // Add a dollop of Mayonnaise\n *      // Add a dollop of Potato Chips\n *      // Add a dollop of Ketchup\n */\nvar constructN = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function constructN(n, Fn) {\n  if (n > 10) {\n    throw new Error('Constructor with greater than ten arguments');\n  }\n  if (n === 0) {\n    return function () {\n      return new Fn();\n    };\n  }\n  return Object(_curry__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_nAry__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(n, function ($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {\n    switch (arguments.length) {\n      case 1:\n        return new Fn($0);\n      case 2:\n        return new Fn($0, $1);\n      case 3:\n        return new Fn($0, $1, $2);\n      case 4:\n        return new Fn($0, $1, $2, $3);\n      case 5:\n        return new Fn($0, $1, $2, $3, $4);\n      case 6:\n        return new Fn($0, $1, $2, $3, $4, $5);\n      case 7:\n        return new Fn($0, $1, $2, $3, $4, $5, $6);\n      case 8:\n        return new Fn($0, $1, $2, $3, $4, $5, $6, $7);\n      case 9:\n        return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8);\n      case 10:\n        return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8, $9);\n    }\n  }));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (constructN);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/contains.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/contains.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_contains__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_contains */ \"./node_modules/ramda/es/internal/_contains.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n\n/**\n * Returns `true` if the specified value is equal, in [`R.equals`](#equals)\n * terms, to at least one element of the given list; `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> Boolean\n * @param {Object} a The item to compare against.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if an equivalent item is in the list, `false` otherwise.\n * @see R.any\n * @example\n *\n *      R.contains(3, [1, 2, 3]); //=> true\n *      R.contains(4, [1, 2, 3]); //=> false\n *      R.contains({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true\n *      R.contains([42], [[42]]); //=> true\n */\nvar contains = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_internal_contains__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (contains);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/converge.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/converge.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_map */ \"./node_modules/ramda/es/internal/_map.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n/* harmony import */ var _max__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./max */ \"./node_modules/ramda/es/max.js\");\n/* harmony import */ var _pluck__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./pluck */ \"./node_modules/ramda/es/pluck.js\");\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./reduce */ \"./node_modules/ramda/es/reduce.js\");\n\n\n\n\n\n\n\n/**\n * Accepts a converging function and a list of branching functions and returns\n * a new function. When invoked, this new function is applied to some\n * arguments, each branching function is applied to those same arguments. The\n * results of each branching function are passed as arguments to the converging\n * function to produce the return value.\n *\n * @func\n * @memberOf R\n * @since v0.4.2\n * @category Function\n * @sig ((x1, x2, ...) -> z) -> [((a, b, ...) -> x1), ((a, b, ...) -> x2), ...] -> (a -> b -> ... -> z)\n * @param {Function} after A function. `after` will be invoked with the return values of\n *        `fn1` and `fn2` as its arguments.\n * @param {Array} functions A list of functions.\n * @return {Function} A new function.\n * @see R.useWith\n * @example\n *\n *      var average = R.converge(R.divide, [R.sum, R.length])\n *      average([1, 2, 3, 4, 5, 6, 7]) //=> 4\n *\n *      var strangeConcat = R.converge(R.concat, [R.toUpper, R.toLower])\n *      strangeConcat(\"Yodel\") //=> \"YODELyodel\"\n *\n * @symb R.converge(f, [g, h])(a, b) = f(g(a, b), h(a, b))\n */\nvar converge = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function converge(after, fns) {\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_reduce__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(_max__WEBPACK_IMPORTED_MODULE_3__[\"default\"], 0, Object(_pluck__WEBPACK_IMPORTED_MODULE_4__[\"default\"])('length', fns)), function () {\n    var args = arguments;\n    var context = this;\n    return after.apply(context, Object(_internal_map__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (fn) {\n      return fn.apply(context, args);\n    }, fns));\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (converge);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/countBy.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/countBy.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _reduceBy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./reduceBy */ \"./node_modules/ramda/es/reduceBy.js\");\n\n\n/**\n * Counts the elements of a list according to how many match each value of a\n * key generated by the supplied function. Returns an object mapping the keys\n * produced by `fn` to the number of occurrences in the list. Note that all\n * keys are coerced to strings because of how JavaScript objects work.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig (a -> String) -> [a] -> {*}\n * @param {Function} fn The function used to map values to keys.\n * @param {Array} list The list to count elements from.\n * @return {Object} An object mapping keys to number of occurrences in the list.\n * @example\n *\n *      var numbers = [1.0, 1.1, 1.2, 2.0, 3.0, 2.2];\n *      R.countBy(Math.floor)(numbers);    //=> {'1': 3, '2': 2, '3': 1}\n *\n *      var letters = ['a', 'b', 'A', 'a', 'B', 'c'];\n *      R.countBy(R.toLower)(letters);   //=> {'a': 3, 'b': 2, 'c': 1}\n */\nvar countBy = /*#__PURE__*/Object(_reduceBy__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (acc, elem) {\n  return acc + 1;\n}, 0);\n/* harmony default export */ __webpack_exports__[\"default\"] = (countBy);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/curry.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/curry.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n\n\n\n/**\n * Returns a curried equivalent of the provided function. The curried function\n * has two unusual capabilities. First, its arguments needn't be provided one\n * at a time. If `f` is a ternary function and `g` is `R.curry(f)`, the\n * following are equivalent:\n *\n *   - `g(1)(2)(3)`\n *   - `g(1)(2, 3)`\n *   - `g(1, 2)(3)`\n *   - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n * the following are equivalent:\n *\n *   - `g(1, 2, 3)`\n *   - `g(_, 2, 3)(1)`\n *   - `g(_, _, 3)(1)(2)`\n *   - `g(_, _, 3)(1, 2)`\n *   - `g(_, 2)(1)(3)`\n *   - `g(_, 2)(1, 3)`\n *   - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (* -> a) -> (* -> a)\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curryN\n * @example\n *\n *      var addFourNumbers = (a, b, c, d) => a + b + c + d;\n *\n *      var curriedAddFourNumbers = R.curry(addFourNumbers);\n *      var f = curriedAddFourNumbers(1, 2);\n *      var g = f(3);\n *      g(4); //=> 10\n */\nvar curry = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function curry(fn) {\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fn.length, fn);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (curry);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/curryN.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/curryN.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_arity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity */ \"./node_modules/ramda/es/internal/_arity.js\");\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_curryN__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_curryN */ \"./node_modules/ramda/es/internal/_curryN.js\");\n\n\n\n\n\n/**\n * Returns a curried equivalent of the provided function, with the specified\n * arity. The curried function has two unusual capabilities. First, its\n * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the\n * following are equivalent:\n *\n *   - `g(1)(2)(3)`\n *   - `g(1)(2, 3)`\n *   - `g(1, 2)(3)`\n *   - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n * the following are equivalent:\n *\n *   - `g(1, 2, 3)`\n *   - `g(_, 2, 3)(1)`\n *   - `g(_, _, 3)(1)(2)`\n *   - `g(_, _, 3)(1, 2)`\n *   - `g(_, 2)(1)(3)`\n *   - `g(_, 2)(1, 3)`\n *   - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.5.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curry\n * @example\n *\n *      var sumArgs = (...args) => R.sum(args);\n *\n *      var curriedAddFourNumbers = R.curryN(4, sumArgs);\n *      var f = curriedAddFourNumbers(1, 2);\n *      var g = f(3);\n *      g(4); //=> 10\n */\nvar curryN = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function curryN(length, fn) {\n  if (length === 1) {\n    return Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fn);\n  }\n  return Object(_internal_arity__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(length, Object(_internal_curryN__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(length, [], fn));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (curryN);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/dec.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/dec.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _add__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./add */ \"./node_modules/ramda/es/add.js\");\n\n\n/**\n * Decrements its argument.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Math\n * @sig Number -> Number\n * @param {Number} n\n * @return {Number} n - 1\n * @see R.inc\n * @example\n *\n *      R.dec(42); //=> 41\n */\nvar dec = /*#__PURE__*/Object(_add__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(-1);\n/* harmony default export */ __webpack_exports__[\"default\"] = (dec);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/defaultTo.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/defaultTo.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns the second argument if it is not `null`, `undefined` or `NaN`;\n * otherwise the first argument is returned.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Logic\n * @sig a -> b -> a | b\n * @param {a} default The default value.\n * @param {b} val `val` will be returned instead of `default` unless `val` is `null`, `undefined` or `NaN`.\n * @return {*} The second value if it is not `null`, `undefined` or `NaN`, otherwise the default value\n * @example\n *\n *      var defaultTo42 = R.defaultTo(42);\n *\n *      defaultTo42(null);  //=> 42\n *      defaultTo42(undefined);  //=> 42\n *      defaultTo42('Ramda');  //=> 'Ramda'\n *      // parseInt('string') results in NaN\n *      defaultTo42(parseInt('string')); //=> 42\n */\nvar defaultTo = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function defaultTo(d, v) {\n  return v == null || v !== v ? d : v;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (defaultTo);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/descend.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/descend.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Makes a descending comparator function out of a function that returns a value\n * that can be compared with `<` and `>`.\n *\n * @func\n * @memberOf R\n * @since v0.23.0\n * @category Function\n * @sig Ord b => (a -> b) -> a -> a -> Number\n * @param {Function} fn A function of arity one that returns a value that can be compared\n * @param {*} a The first item to be compared.\n * @param {*} b The second item to be compared.\n * @return {Number} `-1` if fn(a) > fn(b), `1` if fn(b) > fn(a), otherwise `0`\n * @see R.ascend\n * @example\n *\n *      var byAge = R.descend(R.prop('age'));\n *      var people = [\n *        // ...\n *      ];\n *      var peopleByOldestFirst = R.sort(byAge, people);\n */\nvar descend = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function descend(fn, a, b) {\n  var aa = fn(a);\n  var bb = fn(b);\n  return aa > bb ? -1 : aa < bb ? 1 : 0;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (descend);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/difference.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/ramda/es/difference.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_contains__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_contains */ \"./node_modules/ramda/es/internal/_contains.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n\n/**\n * Finds the set (i.e. no duplicates) of all elements in the first list not\n * contained in the second list. Objects and Arrays are compared in terms of\n * value equality, not reference equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The elements in `list1` that are not in `list2`.\n * @see R.differenceWith, R.symmetricDifference, R.symmetricDifferenceWith, R.without\n * @example\n *\n *      R.difference([1,2,3,4], [7,6,5,4,3]); //=> [1,2]\n *      R.difference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5]\n *      R.difference([{a: 1}, {b: 2}], [{a: 1}, {c: 3}]) //=> [{b: 2}]\n */\nvar difference = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function difference(first, second) {\n  var out = [];\n  var idx = 0;\n  var firstLen = first.length;\n  while (idx < firstLen) {\n    if (!Object(_internal_contains__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(first[idx], second) && !Object(_internal_contains__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(first[idx], out)) {\n      out[out.length] = first[idx];\n    }\n    idx += 1;\n  }\n  return out;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (difference);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/differenceWith.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/ramda/es/differenceWith.js ***!\n  \\*************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_containsWith__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_containsWith */ \"./node_modules/ramda/es/internal/_containsWith.js\");\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n\n/**\n * Finds the set (i.e. no duplicates) of all elements in the first list not\n * contained in the second list. Duplication is determined according to the\n * value returned by applying the supplied predicate to two list elements.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig ((a, a) -> Boolean) -> [a] -> [a] -> [a]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The elements in `list1` that are not in `list2`.\n * @see R.difference, R.symmetricDifference, R.symmetricDifferenceWith\n * @example\n *\n *      var cmp = (x, y) => x.a === y.a;\n *      var l1 = [{a: 1}, {a: 2}, {a: 3}];\n *      var l2 = [{a: 3}, {a: 4}];\n *      R.differenceWith(cmp, l1, l2); //=> [{a: 1}, {a: 2}]\n */\nvar differenceWith = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function differenceWith(pred, first, second) {\n  var out = [];\n  var idx = 0;\n  var firstLen = first.length;\n  while (idx < firstLen) {\n    if (!Object(_internal_containsWith__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pred, first[idx], second) && !Object(_internal_containsWith__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pred, first[idx], out)) {\n      out.push(first[idx]);\n    }\n    idx += 1;\n  }\n  return out;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (differenceWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/dissoc.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/dissoc.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns a new object that does not contain a `prop` property.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Object\n * @sig String -> {k: v} -> {k: v}\n * @param {String} prop The name of the property to dissociate\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original but without the specified property\n * @see R.assoc\n * @example\n *\n *      R.dissoc('b', {a: 1, b: 2, c: 3}); //=> {a: 1, c: 3}\n */\nvar dissoc = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function dissoc(prop, obj) {\n  var result = {};\n  for (var p in obj) {\n    result[p] = obj[p];\n  }\n  delete result[prop];\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (dissoc);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/dissocPath.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/ramda/es/dissocPath.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_isInteger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isInteger */ \"./node_modules/ramda/es/internal/_isInteger.js\");\n/* harmony import */ var _assoc__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./assoc */ \"./node_modules/ramda/es/assoc.js\");\n/* harmony import */ var _dissoc__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dissoc */ \"./node_modules/ramda/es/dissoc.js\");\n/* harmony import */ var _remove__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./remove */ \"./node_modules/ramda/es/remove.js\");\n/* harmony import */ var _update__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./update */ \"./node_modules/ramda/es/update.js\");\n\n\n\n\n\n\n\n/**\n * Makes a shallow clone of an object, omitting the property at the given path.\n * Note that this copies and flattens prototype properties onto the new object\n * as well. All non-primitive properties are copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.11.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> {k: v} -> {k: v}\n * @param {Array} path The path to the value to omit\n * @param {Object} obj The object to clone\n * @return {Object} A new object without the property at path\n * @see R.assocPath\n * @example\n *\n *      R.dissocPath(['a', 'b', 'c'], {a: {b: {c: 42}}}); //=> {a: {b: {}}}\n */\nvar dissocPath = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function dissocPath(path, obj) {\n  switch (path.length) {\n    case 0:\n      return obj;\n    case 1:\n      return Object(_internal_isInteger__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(path[0]) ? Object(_remove__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(path[0], 1, obj) : Object(_dissoc__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(path[0], obj);\n    default:\n      var head = path[0];\n      var tail = Array.prototype.slice.call(path, 1);\n      if (obj[head] == null) {\n        return obj;\n      } else if (Object(_internal_isInteger__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(path[0])) {\n        return Object(_update__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(head, dissocPath(tail, obj[head]), obj);\n      } else {\n        return Object(_assoc__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(head, dissocPath(tail, obj[head]), obj);\n      }\n  }\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (dissocPath);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/divide.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/divide.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Divides two numbers. Equivalent to `a / b`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a The first value.\n * @param {Number} b The second value.\n * @return {Number} The result of `a / b`.\n * @see R.multiply\n * @example\n *\n *      R.divide(71, 100); //=> 0.71\n *\n *      var half = R.divide(R.__, 2);\n *      half(42); //=> 21\n *\n *      var reciprocal = R.divide(1);\n *      reciprocal(4);   //=> 0.25\n */\nvar divide = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function divide(a, b) {\n  return a / b;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (divide);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/drop.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/drop.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xdrop__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xdrop */ \"./node_modules/ramda/es/internal/_xdrop.js\");\n/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./slice */ \"./node_modules/ramda/es/slice.js\");\n\n\n\n\n\n/**\n * Returns all but the first `n` elements of the given list, string, or\n * transducer/transformer (or object with a `drop` method).\n *\n * Dispatches to the `drop` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n\n * @param {*} list\n * @return {*} A copy of list without the first `n` elements\n * @see R.take, R.transduce, R.dropLast, R.dropWhile\n * @example\n *\n *      R.drop(1, ['foo', 'bar', 'baz']); //=> ['bar', 'baz']\n *      R.drop(2, ['foo', 'bar', 'baz']); //=> ['baz']\n *      R.drop(3, ['foo', 'bar', 'baz']); //=> []\n *      R.drop(4, ['foo', 'bar', 'baz']); //=> []\n *      R.drop(3, 'ramda');               //=> 'da'\n */\nvar drop = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(['drop'], _internal_xdrop__WEBPACK_IMPORTED_MODULE_2__[\"default\"], function drop(n, xs) {\n  return Object(_slice__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(Math.max(0, n), Infinity, xs);\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (drop);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/dropLast.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/dropLast.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_dropLast__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_dropLast */ \"./node_modules/ramda/es/internal/_dropLast.js\");\n/* harmony import */ var _internal_xdropLast__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_xdropLast */ \"./node_modules/ramda/es/internal/_xdropLast.js\");\n\n\n\n\n\n/**\n * Returns a list containing all but the last `n` elements of the given `list`.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n The number of elements of `list` to skip.\n * @param {Array} list The list of elements to consider.\n * @return {Array} A copy of the list with only the first `list.length - n` elements\n * @see R.takeLast, R.drop, R.dropWhile, R.dropLastWhile\n * @example\n *\n *      R.dropLast(1, ['foo', 'bar', 'baz']); //=> ['foo', 'bar']\n *      R.dropLast(2, ['foo', 'bar', 'baz']); //=> ['foo']\n *      R.dropLast(3, ['foo', 'bar', 'baz']); //=> []\n *      R.dropLast(4, ['foo', 'bar', 'baz']); //=> []\n *      R.dropLast(3, 'ramda');               //=> 'ra'\n */\nvar dropLast = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([], _internal_xdropLast__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _internal_dropLast__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (dropLast);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/dropLastWhile.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/ramda/es/dropLastWhile.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_dropLastWhile__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_dropLastWhile */ \"./node_modules/ramda/es/internal/_dropLastWhile.js\");\n/* harmony import */ var _internal_xdropLastWhile__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_xdropLastWhile */ \"./node_modules/ramda/es/internal/_xdropLastWhile.js\");\n\n\n\n\n\n/**\n * Returns a new list excluding all the tailing elements of a given list which\n * satisfy the supplied predicate function. It passes each value from the right\n * to the supplied predicate function, skipping elements until the predicate\n * function returns a `falsy` value. The predicate function is applied to one argument:\n * *(value)*.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [a]\n * @sig (a -> Boolean) -> String -> String\n * @param {Function} predicate The function to be called on each element\n * @param {Array} xs The collection to iterate over.\n * @return {Array} A new array without any trailing elements that return `falsy` values from the `predicate`.\n * @see R.takeLastWhile, R.addIndex, R.drop, R.dropWhile\n * @example\n *\n *      var lteThree = x => x <= 3;\n *\n *      R.dropLastWhile(lteThree, [1, 2, 3, 4, 3, 2, 1]); //=> [1, 2, 3, 4]\n *\n *      R.dropLastWhile(x => x !== 'd' , 'Ramda'); //=> 'Ramd'\n */\nvar dropLastWhile = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([], _internal_xdropLastWhile__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _internal_dropLastWhile__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (dropLastWhile);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/dropRepeats.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/ramda/es/dropRepeats.js ***!\n  \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xdropRepeatsWith__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xdropRepeatsWith */ \"./node_modules/ramda/es/internal/_xdropRepeatsWith.js\");\n/* harmony import */ var _dropRepeatsWith__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dropRepeatsWith */ \"./node_modules/ramda/es/dropRepeatsWith.js\");\n/* harmony import */ var _equals__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./equals */ \"./node_modules/ramda/es/equals.js\");\n\n\n\n\n\n\n/**\n * Returns a new list without any consecutively repeating elements.\n * [`R.equals`](#equals) is used to determine equality.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig [a] -> [a]\n * @param {Array} list The array to consider.\n * @return {Array} `list` without repeating elements.\n * @see R.transduce\n * @example\n *\n *     R.dropRepeats([1, 1, 1, 2, 3, 4, 4, 2, 2]); //=> [1, 2, 3, 4, 2]\n */\nvar dropRepeats = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([], /*#__PURE__*/Object(_internal_xdropRepeatsWith__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_equals__WEBPACK_IMPORTED_MODULE_4__[\"default\"]), /*#__PURE__*/Object(_dropRepeatsWith__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_equals__WEBPACK_IMPORTED_MODULE_4__[\"default\"])));\n/* harmony default export */ __webpack_exports__[\"default\"] = (dropRepeats);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/dropRepeatsWith.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/ramda/es/dropRepeatsWith.js ***!\n  \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xdropRepeatsWith__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xdropRepeatsWith */ \"./node_modules/ramda/es/internal/_xdropRepeatsWith.js\");\n/* harmony import */ var _last__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./last */ \"./node_modules/ramda/es/last.js\");\n\n\n\n\n\n/**\n * Returns a new list without any consecutively repeating elements. Equality is\n * determined by applying the supplied predicate to each pair of consecutive elements. The\n * first element in a series of equal elements will be preserved.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig ((a, a) -> Boolean) -> [a] -> [a]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list The array to consider.\n * @return {Array} `list` without repeating elements.\n * @see R.transduce\n * @example\n *\n *      var l = [1, -1, 1, 3, 4, -4, -4, -5, 5, 3, 3];\n *      R.dropRepeatsWith(R.eqBy(Math.abs), l); //=> [1, 3, 4, -5, 3]\n */\nvar dropRepeatsWith = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([], _internal_xdropRepeatsWith__WEBPACK_IMPORTED_MODULE_2__[\"default\"], function dropRepeatsWith(pred, list) {\n  var result = [];\n  var idx = 1;\n  var len = list.length;\n  if (len !== 0) {\n    result[0] = list[0];\n    while (idx < len) {\n      if (!pred(Object(_last__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(result), list[idx])) {\n        result[result.length] = list[idx];\n      }\n      idx += 1;\n    }\n  }\n  return result;\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (dropRepeatsWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/dropWhile.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/dropWhile.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xdropWhile__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xdropWhile */ \"./node_modules/ramda/es/internal/_xdropWhile.js\");\n/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./slice */ \"./node_modules/ramda/es/slice.js\");\n\n\n\n\n\n/**\n * Returns a new list excluding the leading elements of a given list which\n * satisfy the supplied predicate function. It passes each value to the supplied\n * predicate function, skipping elements while the predicate function returns\n * `true`. The predicate function is applied to one argument: *(value)*.\n *\n * Dispatches to the `dropWhile` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [a]\n * @sig (a -> Boolean) -> String -> String\n * @param {Function} fn The function called per iteration.\n * @param {Array} xs The collection to iterate over.\n * @return {Array} A new array.\n * @see R.takeWhile, R.transduce, R.addIndex\n * @example\n *\n *      var lteTwo = x => x <= 2;\n *\n *      R.dropWhile(lteTwo, [1, 2, 3, 4, 3, 2, 1]); //=> [3, 4, 3, 2, 1]\n *\n *      R.dropWhile(x => x !== 'd' , 'Ramda'); //=> 'da'\n */\nvar dropWhile = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(['dropWhile'], _internal_xdropWhile__WEBPACK_IMPORTED_MODULE_2__[\"default\"], function dropWhile(pred, xs) {\n  var idx = 0;\n  var len = xs.length;\n  while (idx < len && pred(xs[idx])) {\n    idx += 1;\n  }\n  return Object(_slice__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(idx, Infinity, xs);\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (dropWhile);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/either.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/either.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_isFunction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isFunction */ \"./node_modules/ramda/es/internal/_isFunction.js\");\n/* harmony import */ var _lift__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lift */ \"./node_modules/ramda/es/lift.js\");\n/* harmony import */ var _or__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./or */ \"./node_modules/ramda/es/or.js\");\n\n\n\n\n\n/**\n * A function wrapping calls to the two functions in an `||` operation,\n * returning the result of the first function if it is truth-y and the result\n * of the second function otherwise. Note that this is short-circuited,\n * meaning that the second function will not be invoked if the first returns a\n * truth-y value.\n *\n * In addition to functions, `R.either` also accepts any fantasy-land compatible\n * applicative functor.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category Logic\n * @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean)\n * @param {Function} f a predicate\n * @param {Function} g another predicate\n * @return {Function} a function that applies its arguments to `f` and `g` and `||`s their outputs together.\n * @see R.or\n * @example\n *\n *      var gt10 = x => x > 10;\n *      var even = x => x % 2 === 0;\n *      var f = R.either(gt10, even);\n *      f(101); //=> true\n *      f(8); //=> true\n */\nvar either = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function either(f, g) {\n  return Object(_internal_isFunction__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(f) ? function _either() {\n    return f.apply(this, arguments) || g.apply(this, arguments);\n  } : Object(_lift__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_or__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(f, g);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (either);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/empty.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/empty.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_isArguments__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isArguments */ \"./node_modules/ramda/es/internal/_isArguments.js\");\n/* harmony import */ var _internal_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isArray */ \"./node_modules/ramda/es/internal/_isArray.js\");\n/* harmony import */ var _internal_isObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_isObject */ \"./node_modules/ramda/es/internal/_isObject.js\");\n/* harmony import */ var _internal_isString__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./internal/_isString */ \"./node_modules/ramda/es/internal/_isString.js\");\n\n\n\n\n\n\n/**\n * Returns the empty value of its argument's type. Ramda defines the empty\n * value of Array (`[]`), Object (`{}`), String (`''`), and Arguments. Other\n * types are supported if they define `<Type>.empty`,\n * `<Type>.prototype.empty` or implement the\n * [FantasyLand Monoid spec](https://github.com/fantasyland/fantasy-land#monoid).\n *\n * Dispatches to the `empty` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig a -> a\n * @param {*} x\n * @return {*}\n * @example\n *\n *      R.empty(Just(42));      //=> Nothing()\n *      R.empty([1, 2, 3]);     //=> []\n *      R.empty('unicorns');    //=> ''\n *      R.empty({x: 1, y: 2});  //=> {}\n */\nvar empty = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function empty(x) {\n  return x != null && typeof x['fantasy-land/empty'] === 'function' ? x['fantasy-land/empty']() : x != null && x.constructor != null && typeof x.constructor['fantasy-land/empty'] === 'function' ? x.constructor['fantasy-land/empty']() : x != null && typeof x.empty === 'function' ? x.empty() : x != null && x.constructor != null && typeof x.constructor.empty === 'function' ? x.constructor.empty() : Object(_internal_isArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(x) ? [] : Object(_internal_isString__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(x) ? '' : Object(_internal_isObject__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(x) ? {} : Object(_internal_isArguments__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(x) ? function () {\n    return arguments;\n  }() :\n  // else\n  void 0;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (empty);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/endsWith.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/endsWith.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _equals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals */ \"./node_modules/ramda/es/equals.js\");\n/* harmony import */ var _takeLast__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./takeLast */ \"./node_modules/ramda/es/takeLast.js\");\n\n\n\n\n/**\n * Checks if a list ends with the provided values\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category List\n * @sig [a] -> Boolean\n * @sig String -> Boolean\n * @param {*} suffix\n * @param {*} list\n * @return {Boolean}\n * @example\n *\n *      R.endsWith('c', 'abc')                //=> true\n *      R.endsWith('b', 'abc')                //=> false\n *      R.endsWith(['c'], ['a', 'b', 'c'])    //=> true\n *      R.endsWith(['b'], ['a', 'b', 'c'])    //=> false\n */\nvar endsWith = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (suffix, list) {\n  return Object(_equals__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_takeLast__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(suffix.length, list), suffix);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (endsWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/eqBy.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/eqBy.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _equals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals */ \"./node_modules/ramda/es/equals.js\");\n\n\n\n/**\n * Takes a function and two values in its domain and returns `true` if the\n * values map to the same value in the codomain; `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Relation\n * @sig (a -> b) -> a -> a -> Boolean\n * @param {Function} f\n * @param {*} x\n * @param {*} y\n * @return {Boolean}\n * @example\n *\n *      R.eqBy(Math.abs, 5, -5); //=> true\n */\nvar eqBy = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function eqBy(f, x, y) {\n  return Object(_equals__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(f(x), f(y));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (eqBy);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/eqProps.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/eqProps.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _equals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals */ \"./node_modules/ramda/es/equals.js\");\n\n\n\n/**\n * Reports whether two objects have the same value, in [`R.equals`](#equals)\n * terms, for the specified property. Useful as a curried predicate.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig k -> {k: v} -> {k: v} -> Boolean\n * @param {String} prop The name of the property to compare\n * @param {Object} obj1\n * @param {Object} obj2\n * @return {Boolean}\n *\n * @example\n *\n *      var o1 = { a: 1, b: 2, c: 3, d: 4 };\n *      var o2 = { a: 10, b: 20, c: 3, d: 40 };\n *      R.eqProps('a', o1, o2); //=> false\n *      R.eqProps('c', o1, o2); //=> true\n */\nvar eqProps = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function eqProps(prop, obj1, obj2) {\n  return Object(_equals__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(obj1[prop], obj2[prop]);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (eqProps);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/equals.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/equals.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_equals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_equals */ \"./node_modules/ramda/es/internal/_equals.js\");\n\n\n\n/**\n * Returns `true` if its arguments are equivalent, `false` otherwise. Handles\n * cyclical data structures.\n *\n * Dispatches symmetrically to the `equals` methods of both arguments, if\n * present.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Relation\n * @sig a -> b -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @example\n *\n *      R.equals(1, 1); //=> true\n *      R.equals(1, '1'); //=> false\n *      R.equals([1, 2, 3], [1, 2, 3]); //=> true\n *\n *      var a = {}; a.v = a;\n *      var b = {}; b.v = b;\n *      R.equals(a, b); //=> true\n */\nvar equals = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function equals(a, b) {\n  return Object(_internal_equals__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(a, b, [], []);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (equals);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/evolve.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/evolve.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Creates a new object by recursively evolving a shallow copy of `object`,\n * according to the `transformation` functions. All non-primitive properties\n * are copied by reference.\n *\n * A `transformation` function will not be invoked if its corresponding key\n * does not exist in the evolved object.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Object\n * @sig {k: (v -> v)} -> {k: v} -> {k: v}\n * @param {Object} transformations The object specifying transformation functions to apply\n *        to the object.\n * @param {Object} object The object to be transformed.\n * @return {Object} The transformed object.\n * @example\n *\n *      var tomato  = {firstName: '  Tomato ', data: {elapsed: 100, remaining: 1400}, id:123};\n *      var transformations = {\n *        firstName: R.trim,\n *        lastName: R.trim, // Will not get invoked.\n *        data: {elapsed: R.add(1), remaining: R.add(-1)}\n *      };\n *      R.evolve(transformations, tomato); //=> {firstName: 'Tomato', data: {elapsed: 101, remaining: 1399}, id:123}\n */\nvar evolve = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function evolve(transformations, object) {\n  var result = {};\n  var transformation, key, type;\n  for (key in object) {\n    transformation = transformations[key];\n    type = typeof transformation;\n    result[key] = type === 'function' ? transformation(object[key]) : transformation && type === 'object' ? evolve(transformation, object[key]) : object[key];\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (evolve);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/filter.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/filter.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_filter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_filter */ \"./node_modules/ramda/es/internal/_filter.js\");\n/* harmony import */ var _internal_isObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_isObject */ \"./node_modules/ramda/es/internal/_isObject.js\");\n/* harmony import */ var _internal_reduce__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./internal/_reduce */ \"./node_modules/ramda/es/internal/_reduce.js\");\n/* harmony import */ var _internal_xfilter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./internal/_xfilter */ \"./node_modules/ramda/es/internal/_xfilter.js\");\n/* harmony import */ var _keys__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./keys */ \"./node_modules/ramda/es/keys.js\");\n\n\n\n\n\n\n\n\n/**\n * Takes a predicate and a `Filterable`, and returns a new filterable of the\n * same type containing the members of the given filterable which satisfy the\n * given predicate. Filterable objects include plain objects or any object\n * that has a filter method such as `Array`.\n *\n * Dispatches to the `filter` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array} Filterable\n * @see R.reject, R.transduce, R.addIndex\n * @example\n *\n *      var isEven = n => n % 2 === 0;\n *\n *      R.filter(isEven, [1, 2, 3, 4]); //=> [2, 4]\n *\n *      R.filter(isEven, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\nvar filter = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(['filter'], _internal_xfilter__WEBPACK_IMPORTED_MODULE_5__[\"default\"], function (pred, filterable) {\n  return Object(_internal_isObject__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(filterable) ? Object(_internal_reduce__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(function (acc, key) {\n    if (pred(filterable[key])) {\n      acc[key] = filterable[key];\n    }\n    return acc;\n  }, {}, Object(_keys__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(filterable)) :\n  // else\n  Object(_internal_filter__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(pred, filterable);\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (filter);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/find.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/find.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xfind__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xfind */ \"./node_modules/ramda/es/internal/_xfind.js\");\n\n\n\n\n/**\n * Returns the first element of the list which matches the predicate, or\n * `undefined` if no element matches.\n *\n * Dispatches to the `find` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> a | undefined\n * @param {Function} fn The predicate function used to determine if the element is the\n *        desired one.\n * @param {Array} list The array to consider.\n * @return {Object} The element found, or `undefined`.\n * @see R.transduce\n * @example\n *\n *      var xs = [{a: 1}, {a: 2}, {a: 3}];\n *      R.find(R.propEq('a', 2))(xs); //=> {a: 2}\n *      R.find(R.propEq('a', 4))(xs); //=> undefined\n */\nvar find = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(['find'], _internal_xfind__WEBPACK_IMPORTED_MODULE_2__[\"default\"], function find(fn, list) {\n  var idx = 0;\n  var len = list.length;\n  while (idx < len) {\n    if (fn(list[idx])) {\n      return list[idx];\n    }\n    idx += 1;\n  }\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (find);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/findIndex.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/findIndex.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xfindIndex__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xfindIndex */ \"./node_modules/ramda/es/internal/_xfindIndex.js\");\n\n\n\n\n/**\n * Returns the index of the first element of the list which matches the\n * predicate, or `-1` if no element matches.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> Boolean) -> [a] -> Number\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Number} The index of the element found, or `-1`.\n * @see R.transduce\n * @example\n *\n *      var xs = [{a: 1}, {a: 2}, {a: 3}];\n *      R.findIndex(R.propEq('a', 2))(xs); //=> 1\n *      R.findIndex(R.propEq('a', 4))(xs); //=> -1\n */\nvar findIndex = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([], _internal_xfindIndex__WEBPACK_IMPORTED_MODULE_2__[\"default\"], function findIndex(fn, list) {\n  var idx = 0;\n  var len = list.length;\n  while (idx < len) {\n    if (fn(list[idx])) {\n      return idx;\n    }\n    idx += 1;\n  }\n  return -1;\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (findIndex);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/findLast.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/findLast.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xfindLast__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xfindLast */ \"./node_modules/ramda/es/internal/_xfindLast.js\");\n\n\n\n\n/**\n * Returns the last element of the list which matches the predicate, or\n * `undefined` if no element matches.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> Boolean) -> [a] -> a | undefined\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Object} The element found, or `undefined`.\n * @see R.transduce\n * @example\n *\n *      var xs = [{a: 1, b: 0}, {a:1, b: 1}];\n *      R.findLast(R.propEq('a', 1))(xs); //=> {a: 1, b: 1}\n *      R.findLast(R.propEq('a', 4))(xs); //=> undefined\n */\nvar findLast = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([], _internal_xfindLast__WEBPACK_IMPORTED_MODULE_2__[\"default\"], function findLast(fn, list) {\n  var idx = list.length - 1;\n  while (idx >= 0) {\n    if (fn(list[idx])) {\n      return list[idx];\n    }\n    idx -= 1;\n  }\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (findLast);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/findLastIndex.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/ramda/es/findLastIndex.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xfindLastIndex__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xfindLastIndex */ \"./node_modules/ramda/es/internal/_xfindLastIndex.js\");\n\n\n\n\n/**\n * Returns the index of the last element of the list which matches the\n * predicate, or `-1` if no element matches.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> Boolean) -> [a] -> Number\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Number} The index of the element found, or `-1`.\n * @see R.transduce\n * @example\n *\n *      var xs = [{a: 1, b: 0}, {a:1, b: 1}];\n *      R.findLastIndex(R.propEq('a', 1))(xs); //=> 1\n *      R.findLastIndex(R.propEq('a', 4))(xs); //=> -1\n */\nvar findLastIndex = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([], _internal_xfindLastIndex__WEBPACK_IMPORTED_MODULE_2__[\"default\"], function findLastIndex(fn, list) {\n  var idx = list.length - 1;\n  while (idx >= 0) {\n    if (fn(list[idx])) {\n      return idx;\n    }\n    idx -= 1;\n  }\n  return -1;\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (findLastIndex);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/flatten.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/flatten.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_makeFlat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_makeFlat */ \"./node_modules/ramda/es/internal/_makeFlat.js\");\n\n\n\n/**\n * Returns a new list by pulling every item out of it (and all its sub-arrays)\n * and putting them in a new array, depth-first.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [b]\n * @param {Array} list The array to consider.\n * @return {Array} The flattened list.\n * @see R.unnest\n * @example\n *\n *      R.flatten([1, 2, [3, 4], 5, [6, [7, 8, [9, [10, 11], 12]]]]);\n *      //=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\n */\nvar flatten = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_makeFlat__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(true));\n/* harmony default export */ __webpack_exports__[\"default\"] = (flatten);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/flip.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/flip.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n\n\n\n/**\n * Returns a new function much like the supplied one, except that the first two\n * arguments' order is reversed.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((a, b, c, ...) -> z) -> (b -> a -> c -> ... -> z)\n * @param {Function} fn The function to invoke with its first two parameters reversed.\n * @return {*} The result of invoking `fn` with its first two parameters' order reversed.\n * @example\n *\n *      var mergeThree = (a, b, c) => [].concat(a, b, c);\n *\n *      mergeThree(1, 2, 3); //=> [1, 2, 3]\n *\n *      R.flip(mergeThree)(1, 2, 3); //=> [2, 1, 3]\n * @symb R.flip(f)(a, b, c) = f(b, a, c)\n */\nvar flip = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function flip(fn) {\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fn.length, function (a, b) {\n    var args = Array.prototype.slice.call(arguments, 0);\n    args[0] = b;\n    args[1] = a;\n    return fn.apply(this, args);\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (flip);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/forEach.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/forEach.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_checkForMethod__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_checkForMethod */ \"./node_modules/ramda/es/internal/_checkForMethod.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n\n/**\n * Iterate over an input `list`, calling a provided function `fn` for each\n * element in the list.\n *\n * `fn` receives one argument: *(value)*.\n *\n * Note: `R.forEach` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.forEach` method. For more\n * details on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach#Description\n *\n * Also note that, unlike `Array.prototype.forEach`, Ramda's `forEach` returns\n * the original array. In some libraries this function is named `each`.\n *\n * Dispatches to the `forEach` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> *) -> [a] -> [a]\n * @param {Function} fn The function to invoke. Receives one argument, `value`.\n * @param {Array} list The list to iterate over.\n * @return {Array} The original list.\n * @see R.addIndex\n * @example\n *\n *      var printXPlusFive = x => console.log(x + 5);\n *      R.forEach(printXPlusFive, [1, 2, 3]); //=> [1, 2, 3]\n *      // logs 6\n *      // logs 7\n *      // logs 8\n * @symb R.forEach(f, [a, b, c]) = [a, b, c]\n */\nvar forEach = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/Object(_internal_checkForMethod__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('forEach', function forEach(fn, list) {\n  var len = list.length;\n  var idx = 0;\n  while (idx < len) {\n    fn(list[idx]);\n    idx += 1;\n  }\n  return list;\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (forEach);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/forEachObjIndexed.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/ramda/es/forEachObjIndexed.js ***!\n  \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _keys__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys */ \"./node_modules/ramda/es/keys.js\");\n\n\n\n/**\n * Iterate over an input `object`, calling a provided function `fn` for each\n * key and value in the object.\n *\n * `fn` receives three argument: *(value, key, obj)*.\n *\n * @func\n * @memberOf R\n * @since v0.23.0\n * @category Object\n * @sig ((a, String, StrMap a) -> Any) -> StrMap a -> StrMap a\n * @param {Function} fn The function to invoke. Receives three argument, `value`, `key`, `obj`.\n * @param {Object} obj The object to iterate over.\n * @return {Object} The original object.\n * @example\n *\n *      var printKeyConcatValue = (value, key) => console.log(key + ':' + value);\n *      R.forEachObjIndexed(printKeyConcatValue, {x: 1, y: 2}); //=> {x: 1, y: 2}\n *      // logs x:1\n *      // logs y:2\n * @symb R.forEachObjIndexed(f, {x: a, y: b}) = {x: a, y: b}\n */\nvar forEachObjIndexed = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function forEachObjIndexed(fn, obj) {\n  var keyList = Object(_keys__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(obj);\n  var idx = 0;\n  while (idx < keyList.length) {\n    var key = keyList[idx];\n    fn(obj[key], key, obj);\n    idx += 1;\n  }\n  return obj;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (forEachObjIndexed);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/fromPairs.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/fromPairs.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n/**\n * Creates a new object from a list key-value pairs. If a key appears in\n * multiple pairs, the rightmost pair is included in the object.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig [[k,v]] -> {k: v}\n * @param {Array} pairs An array of two-element arrays that will be the keys and values of the output object.\n * @return {Object} The object made by pairing up `keys` and `values`.\n * @see R.toPairs, R.pair\n * @example\n *\n *      R.fromPairs([['a', 1], ['b', 2], ['c', 3]]); //=> {a: 1, b: 2, c: 3}\n */\nvar fromPairs = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function fromPairs(pairs) {\n  var result = {};\n  var idx = 0;\n  while (idx < pairs.length) {\n    result[pairs[idx][0]] = pairs[idx][1];\n    idx += 1;\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (fromPairs);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/groupBy.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/groupBy.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_checkForMethod__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_checkForMethod */ \"./node_modules/ramda/es/internal/_checkForMethod.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _reduceBy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reduceBy */ \"./node_modules/ramda/es/reduceBy.js\");\n\n\n\n\n/**\n * Splits a list into sub-lists stored in an object, based on the result of\n * calling a String-returning function on each element, and grouping the\n * results according to values returned.\n *\n * Dispatches to the `groupBy` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> String) -> [a] -> {String: [a]}\n * @param {Function} fn Function :: a -> String\n * @param {Array} list The array to group\n * @return {Object} An object with the output of `fn` for keys, mapped to arrays of elements\n *         that produced that key when passed to `fn`.\n * @see R.transduce\n * @example\n *\n *      var byGrade = R.groupBy(function(student) {\n *        var score = student.score;\n *        return score < 65 ? 'F' :\n *               score < 70 ? 'D' :\n *               score < 80 ? 'C' :\n *               score < 90 ? 'B' : 'A';\n *      });\n *      var students = [{name: 'Abby', score: 84},\n *                      {name: 'Eddy', score: 58},\n *                      // ...\n *                      {name: 'Jack', score: 69}];\n *      byGrade(students);\n *      // {\n *      //   'A': [{name: 'Dianne', score: 99}],\n *      //   'B': [{name: 'Abby', score: 84}]\n *      //   // ...,\n *      //   'F': [{name: 'Eddy', score: 58}]\n *      // }\n */\nvar groupBy = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/Object(_internal_checkForMethod__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('groupBy', /*#__PURE__*/Object(_reduceBy__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function (acc, item) {\n  if (acc == null) {\n    acc = [];\n  }\n  acc.push(item);\n  return acc;\n}, null)));\n/* harmony default export */ __webpack_exports__[\"default\"] = (groupBy);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/groupWith.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/groupWith.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Takes a list and returns a list of lists where each sublist's elements are\n * all satisfied pairwise comparison according to the provided function.\n * Only adjacent elements are passed to the comparison function.\n *\n * @func\n * @memberOf R\n * @since v0.21.0\n * @category List\n * @sig ((a, a) → Boolean) → [a] → [[a]]\n * @param {Function} fn Function for determining whether two given (adjacent)\n *        elements should be in the same group\n * @param {Array} list The array to group. Also accepts a string, which will be\n *        treated as a list of characters.\n * @return {List} A list that contains sublists of elements,\n *         whose concatenations are equal to the original list.\n * @example\n *\n * R.groupWith(R.equals, [0, 1, 1, 2, 3, 5, 8, 13, 21])\n * //=> [[0], [1, 1], [2], [3], [5], [8], [13], [21]]\n *\n * R.groupWith((a, b) => a + 1 === b, [0, 1, 1, 2, 3, 5, 8, 13, 21])\n * //=> [[0, 1], [1, 2, 3], [5], [8], [13], [21]]\n *\n * R.groupWith((a, b) => a % 2 === b % 2, [0, 1, 1, 2, 3, 5, 8, 13, 21])\n * //=> [[0], [1, 1], [2], [3, 5], [8], [13, 21]]\n *\n * R.groupWith(R.eqBy(isVowel), 'aestiou')\n * //=> ['ae', 'st', 'iou']\n */\nvar groupWith = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (fn, list) {\n  var res = [];\n  var idx = 0;\n  var len = list.length;\n  while (idx < len) {\n    var nextidx = idx + 1;\n    while (nextidx < len && fn(list[nextidx - 1], list[nextidx])) {\n      nextidx += 1;\n    }\n    res.push(list.slice(idx, nextidx));\n    idx = nextidx;\n  }\n  return res;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (groupWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/gt.js\":\n/*!*************************************!*\\\n  !*** ./node_modules/ramda/es/gt.js ***!\n  \\*************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns `true` if the first argument is greater than the second; `false`\n * otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @see R.lt\n * @example\n *\n *      R.gt(2, 1); //=> true\n *      R.gt(2, 2); //=> false\n *      R.gt(2, 3); //=> false\n *      R.gt('a', 'z'); //=> false\n *      R.gt('z', 'a'); //=> true\n */\nvar gt = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function gt(a, b) {\n  return a > b;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (gt);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/gte.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/gte.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns `true` if the first argument is greater than or equal to the second;\n * `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> Boolean\n * @param {Number} a\n * @param {Number} b\n * @return {Boolean}\n * @see R.lte\n * @example\n *\n *      R.gte(2, 1); //=> true\n *      R.gte(2, 2); //=> true\n *      R.gte(2, 3); //=> false\n *      R.gte('a', 'z'); //=> false\n *      R.gte('z', 'a'); //=> true\n */\nvar gte = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function gte(a, b) {\n  return a >= b;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (gte);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/has.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/has.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_has__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has */ \"./node_modules/ramda/es/internal/_has.js\");\n\n\n\n/**\n * Returns whether or not an object has an own property with the specified name\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Object\n * @sig s -> {s: x} -> Boolean\n * @param {String} prop The name of the property to check for.\n * @param {Object} obj The object to query.\n * @return {Boolean} Whether the property exists.\n * @example\n *\n *      var hasName = R.has('name');\n *      hasName({name: 'alice'});   //=> true\n *      hasName({name: 'bob'});     //=> true\n *      hasName({});                //=> false\n *\n *      var point = {x: 0, y: 0};\n *      var pointHas = R.has(R.__, point);\n *      pointHas('x');  //=> true\n *      pointHas('y');  //=> true\n *      pointHas('z');  //=> false\n */\nvar has = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_internal_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (has);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/hasIn.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/hasIn.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns whether or not an object or its prototype chain has a property with\n * the specified name\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Object\n * @sig s -> {s: x} -> Boolean\n * @param {String} prop The name of the property to check for.\n * @param {Object} obj The object to query.\n * @return {Boolean} Whether the property exists.\n * @example\n *\n *      function Rectangle(width, height) {\n *        this.width = width;\n *        this.height = height;\n *      }\n *      Rectangle.prototype.area = function() {\n *        return this.width * this.height;\n *      };\n *\n *      var square = new Rectangle(2, 2);\n *      R.hasIn('width', square);  //=> true\n *      R.hasIn('area', square);  //=> true\n */\nvar hasIn = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function hasIn(prop, obj) {\n  return prop in obj;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (hasIn);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/head.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/head.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nth__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./nth */ \"./node_modules/ramda/es/nth.js\");\n\n\n/**\n * Returns the first element of the given list or string. In some libraries\n * this function is named `first`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> a | Undefined\n * @sig String -> String\n * @param {Array|String} list\n * @return {*}\n * @see R.tail, R.init, R.last\n * @example\n *\n *      R.head(['fi', 'fo', 'fum']); //=> 'fi'\n *      R.head([]); //=> undefined\n *\n *      R.head('abc'); //=> 'a'\n *      R.head(''); //=> ''\n */\nvar head = /*#__PURE__*/Object(_nth__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(0);\n/* harmony default export */ __webpack_exports__[\"default\"] = (head);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/identical.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/identical.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns true if its arguments are identical, false otherwise. Values are\n * identical if they reference the same memory. `NaN` is identical to `NaN`;\n * `0` and `-0` are not identical.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Relation\n * @sig a -> a -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @example\n *\n *      var o = {};\n *      R.identical(o, o); //=> true\n *      R.identical(1, 1); //=> true\n *      R.identical(1, '1'); //=> false\n *      R.identical([], []); //=> false\n *      R.identical(0, -0); //=> false\n *      R.identical(NaN, NaN); //=> true\n */\nvar identical = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function identical(a, b) {\n  // SameValue algorithm\n  if (a === b) {\n    // Steps 1-5, 7-10\n    // Steps 6.b-6.e: +0 != -0\n    return a !== 0 || 1 / a === 1 / b;\n  } else {\n    // Step 6.a: NaN == NaN\n    return a !== a && b !== b;\n  }\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (identical);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/identity.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/identity.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_identity */ \"./node_modules/ramda/es/internal/_identity.js\");\n\n\n\n/**\n * A function that does nothing but return the parameter supplied to it. Good\n * as a default or placeholder function.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig a -> a\n * @param {*} x The value to return.\n * @return {*} The input value, `x`.\n * @example\n *\n *      R.identity(1); //=> 1\n *\n *      var obj = {};\n *      R.identity(obj) === obj; //=> true\n * @symb R.identity(a) = a\n */\nvar identity = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_internal_identity__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (identity);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/ifElse.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/ifElse.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n\n\n\n/**\n * Creates a function that will process either the `onTrue` or the `onFalse`\n * function depending upon the result of the `condition` predicate.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Logic\n * @sig (*... -> Boolean) -> (*... -> *) -> (*... -> *) -> (*... -> *)\n * @param {Function} condition A predicate function\n * @param {Function} onTrue A function to invoke when the `condition` evaluates to a truthy value.\n * @param {Function} onFalse A function to invoke when the `condition` evaluates to a falsy value.\n * @return {Function} A new unary function that will process either the `onTrue` or the `onFalse`\n *                    function depending upon the result of the `condition` predicate.\n * @see R.unless, R.when\n * @example\n *\n *      var incCount = R.ifElse(\n *        R.has('count'),\n *        R.over(R.lensProp('count'), R.inc),\n *        R.assoc('count', 1)\n *      );\n *      incCount({});           //=> { count: 1 }\n *      incCount({ count: 1 }); //=> { count: 2 }\n */\nvar ifElse = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function ifElse(condition, onTrue, onFalse) {\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Math.max(condition.length, onTrue.length, onFalse.length), function _ifElse() {\n    return condition.apply(this, arguments) ? onTrue.apply(this, arguments) : onFalse.apply(this, arguments);\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (ifElse);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/inc.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/inc.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _add__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./add */ \"./node_modules/ramda/es/add.js\");\n\n\n/**\n * Increments its argument.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Math\n * @sig Number -> Number\n * @param {Number} n\n * @return {Number} n + 1\n * @see R.dec\n * @example\n *\n *      R.inc(42); //=> 43\n */\nvar inc = /*#__PURE__*/Object(_add__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(1);\n/* harmony default export */ __webpack_exports__[\"default\"] = (inc);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/index.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/index.js ***!\n  \\****************************************/\n/*! exports provided: F, T, __, add, addIndex, adjust, all, allPass, always, and, any, anyPass, ap, aperture, append, apply, applySpec, applyTo, ascend, assoc, assocPath, binary, bind, both, call, chain, clamp, clone, comparator, complement, compose, composeK, composeP, concat, cond, construct, constructN, contains, converge, countBy, curry, curryN, dec, defaultTo, descend, difference, differenceWith, dissoc, dissocPath, divide, drop, dropLast, dropLastWhile, dropRepeats, dropRepeatsWith, dropWhile, either, empty, endsWith, eqBy, eqProps, equals, evolve, filter, find, findIndex, findLast, findLastIndex, flatten, flip, forEach, forEachObjIndexed, fromPairs, groupBy, groupWith, gt, gte, has, hasIn, head, identical, identity, ifElse, inc, indexBy, indexOf, init, innerJoin, insert, insertAll, intersection, intersperse, into, invert, invertObj, invoker, is, isEmpty, isNil, join, juxt, keys, keysIn, last, lastIndexOf, length, lens, lensIndex, lensPath, lensProp, lift, liftN, lt, lte, map, mapAccum, mapAccumRight, mapObjIndexed, match, mathMod, max, maxBy, mean, median, memoize, memoizeWith, merge, mergeAll, mergeDeepLeft, mergeDeepRight, mergeDeepWith, mergeDeepWithKey, mergeWith, mergeWithKey, min, minBy, modulo, multiply, nAry, negate, none, not, nth, nthArg, o, objOf, of, omit, once, or, over, pair, partial, partialRight, partition, path, pathEq, pathOr, pathSatisfies, pick, pickAll, pickBy, pipe, pipeK, pipeP, pluck, prepend, product, project, prop, propEq, propIs, propOr, propSatisfies, props, range, reduce, reduceBy, reduceRight, reduceWhile, reduced, reject, remove, repeat, replace, reverse, scan, sequence, set, slice, sort, sortBy, sortWith, split, splitAt, splitEvery, splitWhen, startsWith, subtract, sum, symmetricDifference, symmetricDifferenceWith, tail, take, takeLast, takeLastWhile, takeWhile, tap, test, times, toLower, toPairs, toPairsIn, toString, toUpper, transduce, transpose, traverse, trim, tryCatch, type, unapply, unary, uncurryN, unfold, union, unionWith, uniq, uniqBy, uniqWith, unless, unnest, until, update, useWith, values, valuesIn, view, when, where, whereEq, without, xprod, zip, zipObj, zipWith */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _F__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./F */ \"./node_modules/ramda/es/F.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"F\", function() { return _F__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _T__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./T */ \"./node_modules/ramda/es/T.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"T\", function() { return _T__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./__ */ \"./node_modules/ramda/es/__.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"__\", function() { return ___WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _add__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./add */ \"./node_modules/ramda/es/add.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"add\", function() { return _add__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _addIndex__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./addIndex */ \"./node_modules/ramda/es/addIndex.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"addIndex\", function() { return _addIndex__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _adjust__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./adjust */ \"./node_modules/ramda/es/adjust.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"adjust\", function() { return _adjust__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _all__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./all */ \"./node_modules/ramda/es/all.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"all\", function() { return _all__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _allPass__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./allPass */ \"./node_modules/ramda/es/allPass.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"allPass\", function() { return _allPass__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _always__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./always */ \"./node_modules/ramda/es/always.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"always\", function() { return _always__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _and__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./and */ \"./node_modules/ramda/es/and.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"and\", function() { return _and__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _any__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./any */ \"./node_modules/ramda/es/any.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"any\", function() { return _any__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _anyPass__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./anyPass */ \"./node_modules/ramda/es/anyPass.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"anyPass\", function() { return _anyPass__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _ap__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./ap */ \"./node_modules/ramda/es/ap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ap\", function() { return _ap__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _aperture__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./aperture */ \"./node_modules/ramda/es/aperture.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"aperture\", function() { return _aperture__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _append__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./append */ \"./node_modules/ramda/es/append.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"append\", function() { return _append__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _apply__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./apply */ \"./node_modules/ramda/es/apply.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"apply\", function() { return _apply__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _applySpec__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./applySpec */ \"./node_modules/ramda/es/applySpec.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"applySpec\", function() { return _applySpec__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _applyTo__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./applyTo */ \"./node_modules/ramda/es/applyTo.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"applyTo\", function() { return _applyTo__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var _ascend__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./ascend */ \"./node_modules/ramda/es/ascend.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ascend\", function() { return _ascend__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var _assoc__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./assoc */ \"./node_modules/ramda/es/assoc.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assoc\", function() { return _assoc__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var _assocPath__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./assocPath */ \"./node_modules/ramda/es/assocPath.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assocPath\", function() { return _assocPath__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _binary__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./binary */ \"./node_modules/ramda/es/binary.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"binary\", function() { return _binary__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _bind__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./bind */ \"./node_modules/ramda/es/bind.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bind\", function() { return _bind__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var _both__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./both */ \"./node_modules/ramda/es/both.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"both\", function() { return _both__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n/* harmony import */ var _call__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./call */ \"./node_modules/ramda/es/call.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"call\", function() { return _call__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony import */ var _chain__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./chain */ \"./node_modules/ramda/es/chain.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"chain\", function() { return _chain__WEBPACK_IMPORTED_MODULE_25__[\"default\"]; });\n\n/* harmony import */ var _clamp__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./clamp */ \"./node_modules/ramda/es/clamp.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clamp\", function() { return _clamp__WEBPACK_IMPORTED_MODULE_26__[\"default\"]; });\n\n/* harmony import */ var _clone__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./clone */ \"./node_modules/ramda/es/clone.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clone\", function() { return _clone__WEBPACK_IMPORTED_MODULE_27__[\"default\"]; });\n\n/* harmony import */ var _comparator__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./comparator */ \"./node_modules/ramda/es/comparator.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"comparator\", function() { return _comparator__WEBPACK_IMPORTED_MODULE_28__[\"default\"]; });\n\n/* harmony import */ var _complement__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./complement */ \"./node_modules/ramda/es/complement.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"complement\", function() { return _complement__WEBPACK_IMPORTED_MODULE_29__[\"default\"]; });\n\n/* harmony import */ var _compose__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./compose */ \"./node_modules/ramda/es/compose.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"compose\", function() { return _compose__WEBPACK_IMPORTED_MODULE_30__[\"default\"]; });\n\n/* harmony import */ var _composeK__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./composeK */ \"./node_modules/ramda/es/composeK.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"composeK\", function() { return _composeK__WEBPACK_IMPORTED_MODULE_31__[\"default\"]; });\n\n/* harmony import */ var _composeP__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./composeP */ \"./node_modules/ramda/es/composeP.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"composeP\", function() { return _composeP__WEBPACK_IMPORTED_MODULE_32__[\"default\"]; });\n\n/* harmony import */ var _concat__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./concat */ \"./node_modules/ramda/es/concat.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"concat\", function() { return _concat__WEBPACK_IMPORTED_MODULE_33__[\"default\"]; });\n\n/* harmony import */ var _cond__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./cond */ \"./node_modules/ramda/es/cond.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cond\", function() { return _cond__WEBPACK_IMPORTED_MODULE_34__[\"default\"]; });\n\n/* harmony import */ var _construct__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./construct */ \"./node_modules/ramda/es/construct.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"construct\", function() { return _construct__WEBPACK_IMPORTED_MODULE_35__[\"default\"]; });\n\n/* harmony import */ var _constructN__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./constructN */ \"./node_modules/ramda/es/constructN.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"constructN\", function() { return _constructN__WEBPACK_IMPORTED_MODULE_36__[\"default\"]; });\n\n/* harmony import */ var _contains__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./contains */ \"./node_modules/ramda/es/contains.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"contains\", function() { return _contains__WEBPACK_IMPORTED_MODULE_37__[\"default\"]; });\n\n/* harmony import */ var _converge__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./converge */ \"./node_modules/ramda/es/converge.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"converge\", function() { return _converge__WEBPACK_IMPORTED_MODULE_38__[\"default\"]; });\n\n/* harmony import */ var _countBy__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./countBy */ \"./node_modules/ramda/es/countBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"countBy\", function() { return _countBy__WEBPACK_IMPORTED_MODULE_39__[\"default\"]; });\n\n/* harmony import */ var _curry__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./curry */ \"./node_modules/ramda/es/curry.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curry\", function() { return _curry__WEBPACK_IMPORTED_MODULE_40__[\"default\"]; });\n\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"curryN\", function() { return _curryN__WEBPACK_IMPORTED_MODULE_41__[\"default\"]; });\n\n/* harmony import */ var _dec__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./dec */ \"./node_modules/ramda/es/dec.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dec\", function() { return _dec__WEBPACK_IMPORTED_MODULE_42__[\"default\"]; });\n\n/* harmony import */ var _defaultTo__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./defaultTo */ \"./node_modules/ramda/es/defaultTo.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultTo\", function() { return _defaultTo__WEBPACK_IMPORTED_MODULE_43__[\"default\"]; });\n\n/* harmony import */ var _descend__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./descend */ \"./node_modules/ramda/es/descend.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"descend\", function() { return _descend__WEBPACK_IMPORTED_MODULE_44__[\"default\"]; });\n\n/* harmony import */ var _difference__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./difference */ \"./node_modules/ramda/es/difference.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"difference\", function() { return _difference__WEBPACK_IMPORTED_MODULE_45__[\"default\"]; });\n\n/* harmony import */ var _differenceWith__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./differenceWith */ \"./node_modules/ramda/es/differenceWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceWith\", function() { return _differenceWith__WEBPACK_IMPORTED_MODULE_46__[\"default\"]; });\n\n/* harmony import */ var _dissoc__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./dissoc */ \"./node_modules/ramda/es/dissoc.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dissoc\", function() { return _dissoc__WEBPACK_IMPORTED_MODULE_47__[\"default\"]; });\n\n/* harmony import */ var _dissocPath__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./dissocPath */ \"./node_modules/ramda/es/dissocPath.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dissocPath\", function() { return _dissocPath__WEBPACK_IMPORTED_MODULE_48__[\"default\"]; });\n\n/* harmony import */ var _divide__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./divide */ \"./node_modules/ramda/es/divide.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"divide\", function() { return _divide__WEBPACK_IMPORTED_MODULE_49__[\"default\"]; });\n\n/* harmony import */ var _drop__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./drop */ \"./node_modules/ramda/es/drop.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drop\", function() { return _drop__WEBPACK_IMPORTED_MODULE_50__[\"default\"]; });\n\n/* harmony import */ var _dropLast__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./dropLast */ \"./node_modules/ramda/es/dropLast.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dropLast\", function() { return _dropLast__WEBPACK_IMPORTED_MODULE_51__[\"default\"]; });\n\n/* harmony import */ var _dropLastWhile__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./dropLastWhile */ \"./node_modules/ramda/es/dropLastWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dropLastWhile\", function() { return _dropLastWhile__WEBPACK_IMPORTED_MODULE_52__[\"default\"]; });\n\n/* harmony import */ var _dropRepeats__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./dropRepeats */ \"./node_modules/ramda/es/dropRepeats.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dropRepeats\", function() { return _dropRepeats__WEBPACK_IMPORTED_MODULE_53__[\"default\"]; });\n\n/* harmony import */ var _dropRepeatsWith__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./dropRepeatsWith */ \"./node_modules/ramda/es/dropRepeatsWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dropRepeatsWith\", function() { return _dropRepeatsWith__WEBPACK_IMPORTED_MODULE_54__[\"default\"]; });\n\n/* harmony import */ var _dropWhile__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./dropWhile */ \"./node_modules/ramda/es/dropWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dropWhile\", function() { return _dropWhile__WEBPACK_IMPORTED_MODULE_55__[\"default\"]; });\n\n/* harmony import */ var _either__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./either */ \"./node_modules/ramda/es/either.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"either\", function() { return _either__WEBPACK_IMPORTED_MODULE_56__[\"default\"]; });\n\n/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./empty */ \"./node_modules/ramda/es/empty.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"empty\", function() { return _empty__WEBPACK_IMPORTED_MODULE_57__[\"default\"]; });\n\n/* harmony import */ var _endsWith__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ./endsWith */ \"./node_modules/ramda/es/endsWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endsWith\", function() { return _endsWith__WEBPACK_IMPORTED_MODULE_58__[\"default\"]; });\n\n/* harmony import */ var _eqBy__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ./eqBy */ \"./node_modules/ramda/es/eqBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"eqBy\", function() { return _eqBy__WEBPACK_IMPORTED_MODULE_59__[\"default\"]; });\n\n/* harmony import */ var _eqProps__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ./eqProps */ \"./node_modules/ramda/es/eqProps.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"eqProps\", function() { return _eqProps__WEBPACK_IMPORTED_MODULE_60__[\"default\"]; });\n\n/* harmony import */ var _equals__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ./equals */ \"./node_modules/ramda/es/equals.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"equals\", function() { return _equals__WEBPACK_IMPORTED_MODULE_61__[\"default\"]; });\n\n/* harmony import */ var _evolve__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ./evolve */ \"./node_modules/ramda/es/evolve.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"evolve\", function() { return _evolve__WEBPACK_IMPORTED_MODULE_62__[\"default\"]; });\n\n/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ./filter */ \"./node_modules/ramda/es/filter.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"filter\", function() { return _filter__WEBPACK_IMPORTED_MODULE_63__[\"default\"]; });\n\n/* harmony import */ var _find__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ./find */ \"./node_modules/ramda/es/find.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"find\", function() { return _find__WEBPACK_IMPORTED_MODULE_64__[\"default\"]; });\n\n/* harmony import */ var _findIndex__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ./findIndex */ \"./node_modules/ramda/es/findIndex.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findIndex\", function() { return _findIndex__WEBPACK_IMPORTED_MODULE_65__[\"default\"]; });\n\n/* harmony import */ var _findLast__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ./findLast */ \"./node_modules/ramda/es/findLast.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findLast\", function() { return _findLast__WEBPACK_IMPORTED_MODULE_66__[\"default\"]; });\n\n/* harmony import */ var _findLastIndex__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ./findLastIndex */ \"./node_modules/ramda/es/findLastIndex.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findLastIndex\", function() { return _findLastIndex__WEBPACK_IMPORTED_MODULE_67__[\"default\"]; });\n\n/* harmony import */ var _flatten__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ./flatten */ \"./node_modules/ramda/es/flatten.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flatten\", function() { return _flatten__WEBPACK_IMPORTED_MODULE_68__[\"default\"]; });\n\n/* harmony import */ var _flip__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ./flip */ \"./node_modules/ramda/es/flip.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"flip\", function() { return _flip__WEBPACK_IMPORTED_MODULE_69__[\"default\"]; });\n\n/* harmony import */ var _forEach__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ./forEach */ \"./node_modules/ramda/es/forEach.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forEach\", function() { return _forEach__WEBPACK_IMPORTED_MODULE_70__[\"default\"]; });\n\n/* harmony import */ var _forEachObjIndexed__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ./forEachObjIndexed */ \"./node_modules/ramda/es/forEachObjIndexed.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forEachObjIndexed\", function() { return _forEachObjIndexed__WEBPACK_IMPORTED_MODULE_71__[\"default\"]; });\n\n/* harmony import */ var _fromPairs__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ./fromPairs */ \"./node_modules/ramda/es/fromPairs.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fromPairs\", function() { return _fromPairs__WEBPACK_IMPORTED_MODULE_72__[\"default\"]; });\n\n/* harmony import */ var _groupBy__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ./groupBy */ \"./node_modules/ramda/es/groupBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"groupBy\", function() { return _groupBy__WEBPACK_IMPORTED_MODULE_73__[\"default\"]; });\n\n/* harmony import */ var _groupWith__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ./groupWith */ \"./node_modules/ramda/es/groupWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"groupWith\", function() { return _groupWith__WEBPACK_IMPORTED_MODULE_74__[\"default\"]; });\n\n/* harmony import */ var _gt__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ./gt */ \"./node_modules/ramda/es/gt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"gt\", function() { return _gt__WEBPACK_IMPORTED_MODULE_75__[\"default\"]; });\n\n/* harmony import */ var _gte__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ./gte */ \"./node_modules/ramda/es/gte.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"gte\", function() { return _gte__WEBPACK_IMPORTED_MODULE_76__[\"default\"]; });\n\n/* harmony import */ var _has__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ./has */ \"./node_modules/ramda/es/has.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"has\", function() { return _has__WEBPACK_IMPORTED_MODULE_77__[\"default\"]; });\n\n/* harmony import */ var _hasIn__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! ./hasIn */ \"./node_modules/ramda/es/hasIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasIn\", function() { return _hasIn__WEBPACK_IMPORTED_MODULE_78__[\"default\"]; });\n\n/* harmony import */ var _head__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ./head */ \"./node_modules/ramda/es/head.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"head\", function() { return _head__WEBPACK_IMPORTED_MODULE_79__[\"default\"]; });\n\n/* harmony import */ var _identical__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! ./identical */ \"./node_modules/ramda/es/identical.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"identical\", function() { return _identical__WEBPACK_IMPORTED_MODULE_80__[\"default\"]; });\n\n/* harmony import */ var _identity__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(/*! ./identity */ \"./node_modules/ramda/es/identity.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"identity\", function() { return _identity__WEBPACK_IMPORTED_MODULE_81__[\"default\"]; });\n\n/* harmony import */ var _ifElse__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(/*! ./ifElse */ \"./node_modules/ramda/es/ifElse.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ifElse\", function() { return _ifElse__WEBPACK_IMPORTED_MODULE_82__[\"default\"]; });\n\n/* harmony import */ var _inc__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(/*! ./inc */ \"./node_modules/ramda/es/inc.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"inc\", function() { return _inc__WEBPACK_IMPORTED_MODULE_83__[\"default\"]; });\n\n/* harmony import */ var _indexBy__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(/*! ./indexBy */ \"./node_modules/ramda/es/indexBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"indexBy\", function() { return _indexBy__WEBPACK_IMPORTED_MODULE_84__[\"default\"]; });\n\n/* harmony import */ var _indexOf__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(/*! ./indexOf */ \"./node_modules/ramda/es/indexOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"indexOf\", function() { return _indexOf__WEBPACK_IMPORTED_MODULE_85__[\"default\"]; });\n\n/* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(/*! ./init */ \"./node_modules/ramda/es/init.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return _init__WEBPACK_IMPORTED_MODULE_86__[\"default\"]; });\n\n/* harmony import */ var _innerJoin__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(/*! ./innerJoin */ \"./node_modules/ramda/es/innerJoin.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"innerJoin\", function() { return _innerJoin__WEBPACK_IMPORTED_MODULE_87__[\"default\"]; });\n\n/* harmony import */ var _insert__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(/*! ./insert */ \"./node_modules/ramda/es/insert.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"insert\", function() { return _insert__WEBPACK_IMPORTED_MODULE_88__[\"default\"]; });\n\n/* harmony import */ var _insertAll__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(/*! ./insertAll */ \"./node_modules/ramda/es/insertAll.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"insertAll\", function() { return _insertAll__WEBPACK_IMPORTED_MODULE_89__[\"default\"]; });\n\n/* harmony import */ var _intersection__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(/*! ./intersection */ \"./node_modules/ramda/es/intersection.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"intersection\", function() { return _intersection__WEBPACK_IMPORTED_MODULE_90__[\"default\"]; });\n\n/* harmony import */ var _intersperse__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(/*! ./intersperse */ \"./node_modules/ramda/es/intersperse.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"intersperse\", function() { return _intersperse__WEBPACK_IMPORTED_MODULE_91__[\"default\"]; });\n\n/* harmony import */ var _into__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(/*! ./into */ \"./node_modules/ramda/es/into.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"into\", function() { return _into__WEBPACK_IMPORTED_MODULE_92__[\"default\"]; });\n\n/* harmony import */ var _invert__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(/*! ./invert */ \"./node_modules/ramda/es/invert.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"invert\", function() { return _invert__WEBPACK_IMPORTED_MODULE_93__[\"default\"]; });\n\n/* harmony import */ var _invertObj__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(/*! ./invertObj */ \"./node_modules/ramda/es/invertObj.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"invertObj\", function() { return _invertObj__WEBPACK_IMPORTED_MODULE_94__[\"default\"]; });\n\n/* harmony import */ var _invoker__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(/*! ./invoker */ \"./node_modules/ramda/es/invoker.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"invoker\", function() { return _invoker__WEBPACK_IMPORTED_MODULE_95__[\"default\"]; });\n\n/* harmony import */ var _is__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(/*! ./is */ \"./node_modules/ramda/es/is.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"is\", function() { return _is__WEBPACK_IMPORTED_MODULE_96__[\"default\"]; });\n\n/* harmony import */ var _isEmpty__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(/*! ./isEmpty */ \"./node_modules/ramda/es/isEmpty.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isEmpty\", function() { return _isEmpty__WEBPACK_IMPORTED_MODULE_97__[\"default\"]; });\n\n/* harmony import */ var _isNil__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(/*! ./isNil */ \"./node_modules/ramda/es/isNil.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNil\", function() { return _isNil__WEBPACK_IMPORTED_MODULE_98__[\"default\"]; });\n\n/* harmony import */ var _join__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(/*! ./join */ \"./node_modules/ramda/es/join.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"join\", function() { return _join__WEBPACK_IMPORTED_MODULE_99__[\"default\"]; });\n\n/* harmony import */ var _juxt__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(/*! ./juxt */ \"./node_modules/ramda/es/juxt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"juxt\", function() { return _juxt__WEBPACK_IMPORTED_MODULE_100__[\"default\"]; });\n\n/* harmony import */ var _keys__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(/*! ./keys */ \"./node_modules/ramda/es/keys.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"keys\", function() { return _keys__WEBPACK_IMPORTED_MODULE_101__[\"default\"]; });\n\n/* harmony import */ var _keysIn__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(/*! ./keysIn */ \"./node_modules/ramda/es/keysIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"keysIn\", function() { return _keysIn__WEBPACK_IMPORTED_MODULE_102__[\"default\"]; });\n\n/* harmony import */ var _last__WEBPACK_IMPORTED_MODULE_103__ = __webpack_require__(/*! ./last */ \"./node_modules/ramda/es/last.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"last\", function() { return _last__WEBPACK_IMPORTED_MODULE_103__[\"default\"]; });\n\n/* harmony import */ var _lastIndexOf__WEBPACK_IMPORTED_MODULE_104__ = __webpack_require__(/*! ./lastIndexOf */ \"./node_modules/ramda/es/lastIndexOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lastIndexOf\", function() { return _lastIndexOf__WEBPACK_IMPORTED_MODULE_104__[\"default\"]; });\n\n/* harmony import */ var _length__WEBPACK_IMPORTED_MODULE_105__ = __webpack_require__(/*! ./length */ \"./node_modules/ramda/es/length.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"length\", function() { return _length__WEBPACK_IMPORTED_MODULE_105__[\"default\"]; });\n\n/* harmony import */ var _lens__WEBPACK_IMPORTED_MODULE_106__ = __webpack_require__(/*! ./lens */ \"./node_modules/ramda/es/lens.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lens\", function() { return _lens__WEBPACK_IMPORTED_MODULE_106__[\"default\"]; });\n\n/* harmony import */ var _lensIndex__WEBPACK_IMPORTED_MODULE_107__ = __webpack_require__(/*! ./lensIndex */ \"./node_modules/ramda/es/lensIndex.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lensIndex\", function() { return _lensIndex__WEBPACK_IMPORTED_MODULE_107__[\"default\"]; });\n\n/* harmony import */ var _lensPath__WEBPACK_IMPORTED_MODULE_108__ = __webpack_require__(/*! ./lensPath */ \"./node_modules/ramda/es/lensPath.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lensPath\", function() { return _lensPath__WEBPACK_IMPORTED_MODULE_108__[\"default\"]; });\n\n/* harmony import */ var _lensProp__WEBPACK_IMPORTED_MODULE_109__ = __webpack_require__(/*! ./lensProp */ \"./node_modules/ramda/es/lensProp.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lensProp\", function() { return _lensProp__WEBPACK_IMPORTED_MODULE_109__[\"default\"]; });\n\n/* harmony import */ var _lift__WEBPACK_IMPORTED_MODULE_110__ = __webpack_require__(/*! ./lift */ \"./node_modules/ramda/es/lift.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lift\", function() { return _lift__WEBPACK_IMPORTED_MODULE_110__[\"default\"]; });\n\n/* harmony import */ var _liftN__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(/*! ./liftN */ \"./node_modules/ramda/es/liftN.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"liftN\", function() { return _liftN__WEBPACK_IMPORTED_MODULE_111__[\"default\"]; });\n\n/* harmony import */ var _lt__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(/*! ./lt */ \"./node_modules/ramda/es/lt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lt\", function() { return _lt__WEBPACK_IMPORTED_MODULE_112__[\"default\"]; });\n\n/* harmony import */ var _lte__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(/*! ./lte */ \"./node_modules/ramda/es/lte.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lte\", function() { return _lte__WEBPACK_IMPORTED_MODULE_113__[\"default\"]; });\n\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(/*! ./map */ \"./node_modules/ramda/es/map.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"map\", function() { return _map__WEBPACK_IMPORTED_MODULE_114__[\"default\"]; });\n\n/* harmony import */ var _mapAccum__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(/*! ./mapAccum */ \"./node_modules/ramda/es/mapAccum.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mapAccum\", function() { return _mapAccum__WEBPACK_IMPORTED_MODULE_115__[\"default\"]; });\n\n/* harmony import */ var _mapAccumRight__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(/*! ./mapAccumRight */ \"./node_modules/ramda/es/mapAccumRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mapAccumRight\", function() { return _mapAccumRight__WEBPACK_IMPORTED_MODULE_116__[\"default\"]; });\n\n/* harmony import */ var _mapObjIndexed__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(/*! ./mapObjIndexed */ \"./node_modules/ramda/es/mapObjIndexed.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mapObjIndexed\", function() { return _mapObjIndexed__WEBPACK_IMPORTED_MODULE_117__[\"default\"]; });\n\n/* harmony import */ var _match__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(/*! ./match */ \"./node_modules/ramda/es/match.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"match\", function() { return _match__WEBPACK_IMPORTED_MODULE_118__[\"default\"]; });\n\n/* harmony import */ var _mathMod__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(/*! ./mathMod */ \"./node_modules/ramda/es/mathMod.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mathMod\", function() { return _mathMod__WEBPACK_IMPORTED_MODULE_119__[\"default\"]; });\n\n/* harmony import */ var _max__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(/*! ./max */ \"./node_modules/ramda/es/max.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"max\", function() { return _max__WEBPACK_IMPORTED_MODULE_120__[\"default\"]; });\n\n/* harmony import */ var _maxBy__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(/*! ./maxBy */ \"./node_modules/ramda/es/maxBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"maxBy\", function() { return _maxBy__WEBPACK_IMPORTED_MODULE_121__[\"default\"]; });\n\n/* harmony import */ var _mean__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(/*! ./mean */ \"./node_modules/ramda/es/mean.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mean\", function() { return _mean__WEBPACK_IMPORTED_MODULE_122__[\"default\"]; });\n\n/* harmony import */ var _median__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(/*! ./median */ \"./node_modules/ramda/es/median.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"median\", function() { return _median__WEBPACK_IMPORTED_MODULE_123__[\"default\"]; });\n\n/* harmony import */ var _memoize__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(/*! ./memoize */ \"./node_modules/ramda/es/memoize.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"memoize\", function() { return _memoize__WEBPACK_IMPORTED_MODULE_124__[\"default\"]; });\n\n/* harmony import */ var _memoizeWith__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(/*! ./memoizeWith */ \"./node_modules/ramda/es/memoizeWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"memoizeWith\", function() { return _memoizeWith__WEBPACK_IMPORTED_MODULE_125__[\"default\"]; });\n\n/* harmony import */ var _merge__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(/*! ./merge */ \"./node_modules/ramda/es/merge.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"merge\", function() { return _merge__WEBPACK_IMPORTED_MODULE_126__[\"default\"]; });\n\n/* harmony import */ var _mergeAll__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(/*! ./mergeAll */ \"./node_modules/ramda/es/mergeAll.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeAll\", function() { return _mergeAll__WEBPACK_IMPORTED_MODULE_127__[\"default\"]; });\n\n/* harmony import */ var _mergeDeepLeft__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(/*! ./mergeDeepLeft */ \"./node_modules/ramda/es/mergeDeepLeft.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeDeepLeft\", function() { return _mergeDeepLeft__WEBPACK_IMPORTED_MODULE_128__[\"default\"]; });\n\n/* harmony import */ var _mergeDeepRight__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(/*! ./mergeDeepRight */ \"./node_modules/ramda/es/mergeDeepRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeDeepRight\", function() { return _mergeDeepRight__WEBPACK_IMPORTED_MODULE_129__[\"default\"]; });\n\n/* harmony import */ var _mergeDeepWith__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(/*! ./mergeDeepWith */ \"./node_modules/ramda/es/mergeDeepWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeDeepWith\", function() { return _mergeDeepWith__WEBPACK_IMPORTED_MODULE_130__[\"default\"]; });\n\n/* harmony import */ var _mergeDeepWithKey__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(/*! ./mergeDeepWithKey */ \"./node_modules/ramda/es/mergeDeepWithKey.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeDeepWithKey\", function() { return _mergeDeepWithKey__WEBPACK_IMPORTED_MODULE_131__[\"default\"]; });\n\n/* harmony import */ var _mergeWith__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(/*! ./mergeWith */ \"./node_modules/ramda/es/mergeWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeWith\", function() { return _mergeWith__WEBPACK_IMPORTED_MODULE_132__[\"default\"]; });\n\n/* harmony import */ var _mergeWithKey__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(/*! ./mergeWithKey */ \"./node_modules/ramda/es/mergeWithKey.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeWithKey\", function() { return _mergeWithKey__WEBPACK_IMPORTED_MODULE_133__[\"default\"]; });\n\n/* harmony import */ var _min__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(/*! ./min */ \"./node_modules/ramda/es/min.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"min\", function() { return _min__WEBPACK_IMPORTED_MODULE_134__[\"default\"]; });\n\n/* harmony import */ var _minBy__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(/*! ./minBy */ \"./node_modules/ramda/es/minBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"minBy\", function() { return _minBy__WEBPACK_IMPORTED_MODULE_135__[\"default\"]; });\n\n/* harmony import */ var _modulo__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(/*! ./modulo */ \"./node_modules/ramda/es/modulo.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"modulo\", function() { return _modulo__WEBPACK_IMPORTED_MODULE_136__[\"default\"]; });\n\n/* harmony import */ var _multiply__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(/*! ./multiply */ \"./node_modules/ramda/es/multiply.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"multiply\", function() { return _multiply__WEBPACK_IMPORTED_MODULE_137__[\"default\"]; });\n\n/* harmony import */ var _nAry__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(/*! ./nAry */ \"./node_modules/ramda/es/nAry.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nAry\", function() { return _nAry__WEBPACK_IMPORTED_MODULE_138__[\"default\"]; });\n\n/* harmony import */ var _negate__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(/*! ./negate */ \"./node_modules/ramda/es/negate.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"negate\", function() { return _negate__WEBPACK_IMPORTED_MODULE_139__[\"default\"]; });\n\n/* harmony import */ var _none__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(/*! ./none */ \"./node_modules/ramda/es/none.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"none\", function() { return _none__WEBPACK_IMPORTED_MODULE_140__[\"default\"]; });\n\n/* harmony import */ var _not__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(/*! ./not */ \"./node_modules/ramda/es/not.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"not\", function() { return _not__WEBPACK_IMPORTED_MODULE_141__[\"default\"]; });\n\n/* harmony import */ var _nth__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(/*! ./nth */ \"./node_modules/ramda/es/nth.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nth\", function() { return _nth__WEBPACK_IMPORTED_MODULE_142__[\"default\"]; });\n\n/* harmony import */ var _nthArg__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(/*! ./nthArg */ \"./node_modules/ramda/es/nthArg.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nthArg\", function() { return _nthArg__WEBPACK_IMPORTED_MODULE_143__[\"default\"]; });\n\n/* harmony import */ var _o__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(/*! ./o */ \"./node_modules/ramda/es/o.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return _o__WEBPACK_IMPORTED_MODULE_144__[\"default\"]; });\n\n/* harmony import */ var _objOf__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(/*! ./objOf */ \"./node_modules/ramda/es/objOf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"objOf\", function() { return _objOf__WEBPACK_IMPORTED_MODULE_145__[\"default\"]; });\n\n/* harmony import */ var _of__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(/*! ./of */ \"./node_modules/ramda/es/of.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"of\", function() { return _of__WEBPACK_IMPORTED_MODULE_146__[\"default\"]; });\n\n/* harmony import */ var _omit__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(/*! ./omit */ \"./node_modules/ramda/es/omit.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"omit\", function() { return _omit__WEBPACK_IMPORTED_MODULE_147__[\"default\"]; });\n\n/* harmony import */ var _once__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(/*! ./once */ \"./node_modules/ramda/es/once.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"once\", function() { return _once__WEBPACK_IMPORTED_MODULE_148__[\"default\"]; });\n\n/* harmony import */ var _or__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(/*! ./or */ \"./node_modules/ramda/es/or.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"or\", function() { return _or__WEBPACK_IMPORTED_MODULE_149__[\"default\"]; });\n\n/* harmony import */ var _over__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(/*! ./over */ \"./node_modules/ramda/es/over.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"over\", function() { return _over__WEBPACK_IMPORTED_MODULE_150__[\"default\"]; });\n\n/* harmony import */ var _pair__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(/*! ./pair */ \"./node_modules/ramda/es/pair.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pair\", function() { return _pair__WEBPACK_IMPORTED_MODULE_151__[\"default\"]; });\n\n/* harmony import */ var _partial__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(/*! ./partial */ \"./node_modules/ramda/es/partial.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"partial\", function() { return _partial__WEBPACK_IMPORTED_MODULE_152__[\"default\"]; });\n\n/* harmony import */ var _partialRight__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(/*! ./partialRight */ \"./node_modules/ramda/es/partialRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"partialRight\", function() { return _partialRight__WEBPACK_IMPORTED_MODULE_153__[\"default\"]; });\n\n/* harmony import */ var _partition__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(/*! ./partition */ \"./node_modules/ramda/es/partition.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"partition\", function() { return _partition__WEBPACK_IMPORTED_MODULE_154__[\"default\"]; });\n\n/* harmony import */ var _path__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(/*! ./path */ \"./node_modules/ramda/es/path.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"path\", function() { return _path__WEBPACK_IMPORTED_MODULE_155__[\"default\"]; });\n\n/* harmony import */ var _pathEq__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(/*! ./pathEq */ \"./node_modules/ramda/es/pathEq.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pathEq\", function() { return _pathEq__WEBPACK_IMPORTED_MODULE_156__[\"default\"]; });\n\n/* harmony import */ var _pathOr__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(/*! ./pathOr */ \"./node_modules/ramda/es/pathOr.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pathOr\", function() { return _pathOr__WEBPACK_IMPORTED_MODULE_157__[\"default\"]; });\n\n/* harmony import */ var _pathSatisfies__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(/*! ./pathSatisfies */ \"./node_modules/ramda/es/pathSatisfies.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pathSatisfies\", function() { return _pathSatisfies__WEBPACK_IMPORTED_MODULE_158__[\"default\"]; });\n\n/* harmony import */ var _pick__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(/*! ./pick */ \"./node_modules/ramda/es/pick.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pick\", function() { return _pick__WEBPACK_IMPORTED_MODULE_159__[\"default\"]; });\n\n/* harmony import */ var _pickAll__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(/*! ./pickAll */ \"./node_modules/ramda/es/pickAll.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pickAll\", function() { return _pickAll__WEBPACK_IMPORTED_MODULE_160__[\"default\"]; });\n\n/* harmony import */ var _pickBy__WEBPACK_IMPORTED_MODULE_161__ = __webpack_require__(/*! ./pickBy */ \"./node_modules/ramda/es/pickBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pickBy\", function() { return _pickBy__WEBPACK_IMPORTED_MODULE_161__[\"default\"]; });\n\n/* harmony import */ var _pipe__WEBPACK_IMPORTED_MODULE_162__ = __webpack_require__(/*! ./pipe */ \"./node_modules/ramda/es/pipe.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pipe\", function() { return _pipe__WEBPACK_IMPORTED_MODULE_162__[\"default\"]; });\n\n/* harmony import */ var _pipeK__WEBPACK_IMPORTED_MODULE_163__ = __webpack_require__(/*! ./pipeK */ \"./node_modules/ramda/es/pipeK.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pipeK\", function() { return _pipeK__WEBPACK_IMPORTED_MODULE_163__[\"default\"]; });\n\n/* harmony import */ var _pipeP__WEBPACK_IMPORTED_MODULE_164__ = __webpack_require__(/*! ./pipeP */ \"./node_modules/ramda/es/pipeP.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pipeP\", function() { return _pipeP__WEBPACK_IMPORTED_MODULE_164__[\"default\"]; });\n\n/* harmony import */ var _pluck__WEBPACK_IMPORTED_MODULE_165__ = __webpack_require__(/*! ./pluck */ \"./node_modules/ramda/es/pluck.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pluck\", function() { return _pluck__WEBPACK_IMPORTED_MODULE_165__[\"default\"]; });\n\n/* harmony import */ var _prepend__WEBPACK_IMPORTED_MODULE_166__ = __webpack_require__(/*! ./prepend */ \"./node_modules/ramda/es/prepend.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"prepend\", function() { return _prepend__WEBPACK_IMPORTED_MODULE_166__[\"default\"]; });\n\n/* harmony import */ var _product__WEBPACK_IMPORTED_MODULE_167__ = __webpack_require__(/*! ./product */ \"./node_modules/ramda/es/product.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"product\", function() { return _product__WEBPACK_IMPORTED_MODULE_167__[\"default\"]; });\n\n/* harmony import */ var _project__WEBPACK_IMPORTED_MODULE_168__ = __webpack_require__(/*! ./project */ \"./node_modules/ramda/es/project.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"project\", function() { return _project__WEBPACK_IMPORTED_MODULE_168__[\"default\"]; });\n\n/* harmony import */ var _prop__WEBPACK_IMPORTED_MODULE_169__ = __webpack_require__(/*! ./prop */ \"./node_modules/ramda/es/prop.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"prop\", function() { return _prop__WEBPACK_IMPORTED_MODULE_169__[\"default\"]; });\n\n/* harmony import */ var _propEq__WEBPACK_IMPORTED_MODULE_170__ = __webpack_require__(/*! ./propEq */ \"./node_modules/ramda/es/propEq.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"propEq\", function() { return _propEq__WEBPACK_IMPORTED_MODULE_170__[\"default\"]; });\n\n/* harmony import */ var _propIs__WEBPACK_IMPORTED_MODULE_171__ = __webpack_require__(/*! ./propIs */ \"./node_modules/ramda/es/propIs.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"propIs\", function() { return _propIs__WEBPACK_IMPORTED_MODULE_171__[\"default\"]; });\n\n/* harmony import */ var _propOr__WEBPACK_IMPORTED_MODULE_172__ = __webpack_require__(/*! ./propOr */ \"./node_modules/ramda/es/propOr.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"propOr\", function() { return _propOr__WEBPACK_IMPORTED_MODULE_172__[\"default\"]; });\n\n/* harmony import */ var _propSatisfies__WEBPACK_IMPORTED_MODULE_173__ = __webpack_require__(/*! ./propSatisfies */ \"./node_modules/ramda/es/propSatisfies.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"propSatisfies\", function() { return _propSatisfies__WEBPACK_IMPORTED_MODULE_173__[\"default\"]; });\n\n/* harmony import */ var _props__WEBPACK_IMPORTED_MODULE_174__ = __webpack_require__(/*! ./props */ \"./node_modules/ramda/es/props.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"props\", function() { return _props__WEBPACK_IMPORTED_MODULE_174__[\"default\"]; });\n\n/* harmony import */ var _range__WEBPACK_IMPORTED_MODULE_175__ = __webpack_require__(/*! ./range */ \"./node_modules/ramda/es/range.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"range\", function() { return _range__WEBPACK_IMPORTED_MODULE_175__[\"default\"]; });\n\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_176__ = __webpack_require__(/*! ./reduce */ \"./node_modules/ramda/es/reduce.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reduce\", function() { return _reduce__WEBPACK_IMPORTED_MODULE_176__[\"default\"]; });\n\n/* harmony import */ var _reduceBy__WEBPACK_IMPORTED_MODULE_177__ = __webpack_require__(/*! ./reduceBy */ \"./node_modules/ramda/es/reduceBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reduceBy\", function() { return _reduceBy__WEBPACK_IMPORTED_MODULE_177__[\"default\"]; });\n\n/* harmony import */ var _reduceRight__WEBPACK_IMPORTED_MODULE_178__ = __webpack_require__(/*! ./reduceRight */ \"./node_modules/ramda/es/reduceRight.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reduceRight\", function() { return _reduceRight__WEBPACK_IMPORTED_MODULE_178__[\"default\"]; });\n\n/* harmony import */ var _reduceWhile__WEBPACK_IMPORTED_MODULE_179__ = __webpack_require__(/*! ./reduceWhile */ \"./node_modules/ramda/es/reduceWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reduceWhile\", function() { return _reduceWhile__WEBPACK_IMPORTED_MODULE_179__[\"default\"]; });\n\n/* harmony import */ var _reduced__WEBPACK_IMPORTED_MODULE_180__ = __webpack_require__(/*! ./reduced */ \"./node_modules/ramda/es/reduced.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reduced\", function() { return _reduced__WEBPACK_IMPORTED_MODULE_180__[\"default\"]; });\n\n/* harmony import */ var _reject__WEBPACK_IMPORTED_MODULE_181__ = __webpack_require__(/*! ./reject */ \"./node_modules/ramda/es/reject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reject\", function() { return _reject__WEBPACK_IMPORTED_MODULE_181__[\"default\"]; });\n\n/* harmony import */ var _remove__WEBPACK_IMPORTED_MODULE_182__ = __webpack_require__(/*! ./remove */ \"./node_modules/ramda/es/remove.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"remove\", function() { return _remove__WEBPACK_IMPORTED_MODULE_182__[\"default\"]; });\n\n/* harmony import */ var _repeat__WEBPACK_IMPORTED_MODULE_183__ = __webpack_require__(/*! ./repeat */ \"./node_modules/ramda/es/repeat.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"repeat\", function() { return _repeat__WEBPACK_IMPORTED_MODULE_183__[\"default\"]; });\n\n/* harmony import */ var _replace__WEBPACK_IMPORTED_MODULE_184__ = __webpack_require__(/*! ./replace */ \"./node_modules/ramda/es/replace.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"replace\", function() { return _replace__WEBPACK_IMPORTED_MODULE_184__[\"default\"]; });\n\n/* harmony import */ var _reverse__WEBPACK_IMPORTED_MODULE_185__ = __webpack_require__(/*! ./reverse */ \"./node_modules/ramda/es/reverse.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reverse\", function() { return _reverse__WEBPACK_IMPORTED_MODULE_185__[\"default\"]; });\n\n/* harmony import */ var _scan__WEBPACK_IMPORTED_MODULE_186__ = __webpack_require__(/*! ./scan */ \"./node_modules/ramda/es/scan.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"scan\", function() { return _scan__WEBPACK_IMPORTED_MODULE_186__[\"default\"]; });\n\n/* harmony import */ var _sequence__WEBPACK_IMPORTED_MODULE_187__ = __webpack_require__(/*! ./sequence */ \"./node_modules/ramda/es/sequence.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sequence\", function() { return _sequence__WEBPACK_IMPORTED_MODULE_187__[\"default\"]; });\n\n/* harmony import */ var _set__WEBPACK_IMPORTED_MODULE_188__ = __webpack_require__(/*! ./set */ \"./node_modules/ramda/es/set.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"set\", function() { return _set__WEBPACK_IMPORTED_MODULE_188__[\"default\"]; });\n\n/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_189__ = __webpack_require__(/*! ./slice */ \"./node_modules/ramda/es/slice.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"slice\", function() { return _slice__WEBPACK_IMPORTED_MODULE_189__[\"default\"]; });\n\n/* harmony import */ var _sort__WEBPACK_IMPORTED_MODULE_190__ = __webpack_require__(/*! ./sort */ \"./node_modules/ramda/es/sort.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sort\", function() { return _sort__WEBPACK_IMPORTED_MODULE_190__[\"default\"]; });\n\n/* harmony import */ var _sortBy__WEBPACK_IMPORTED_MODULE_191__ = __webpack_require__(/*! ./sortBy */ \"./node_modules/ramda/es/sortBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortBy\", function() { return _sortBy__WEBPACK_IMPORTED_MODULE_191__[\"default\"]; });\n\n/* harmony import */ var _sortWith__WEBPACK_IMPORTED_MODULE_192__ = __webpack_require__(/*! ./sortWith */ \"./node_modules/ramda/es/sortWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortWith\", function() { return _sortWith__WEBPACK_IMPORTED_MODULE_192__[\"default\"]; });\n\n/* harmony import */ var _split__WEBPACK_IMPORTED_MODULE_193__ = __webpack_require__(/*! ./split */ \"./node_modules/ramda/es/split.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"split\", function() { return _split__WEBPACK_IMPORTED_MODULE_193__[\"default\"]; });\n\n/* harmony import */ var _splitAt__WEBPACK_IMPORTED_MODULE_194__ = __webpack_require__(/*! ./splitAt */ \"./node_modules/ramda/es/splitAt.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"splitAt\", function() { return _splitAt__WEBPACK_IMPORTED_MODULE_194__[\"default\"]; });\n\n/* harmony import */ var _splitEvery__WEBPACK_IMPORTED_MODULE_195__ = __webpack_require__(/*! ./splitEvery */ \"./node_modules/ramda/es/splitEvery.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"splitEvery\", function() { return _splitEvery__WEBPACK_IMPORTED_MODULE_195__[\"default\"]; });\n\n/* harmony import */ var _splitWhen__WEBPACK_IMPORTED_MODULE_196__ = __webpack_require__(/*! ./splitWhen */ \"./node_modules/ramda/es/splitWhen.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"splitWhen\", function() { return _splitWhen__WEBPACK_IMPORTED_MODULE_196__[\"default\"]; });\n\n/* harmony import */ var _startsWith__WEBPACK_IMPORTED_MODULE_197__ = __webpack_require__(/*! ./startsWith */ \"./node_modules/ramda/es/startsWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"startsWith\", function() { return _startsWith__WEBPACK_IMPORTED_MODULE_197__[\"default\"]; });\n\n/* harmony import */ var _subtract__WEBPACK_IMPORTED_MODULE_198__ = __webpack_require__(/*! ./subtract */ \"./node_modules/ramda/es/subtract.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"subtract\", function() { return _subtract__WEBPACK_IMPORTED_MODULE_198__[\"default\"]; });\n\n/* harmony import */ var _sum__WEBPACK_IMPORTED_MODULE_199__ = __webpack_require__(/*! ./sum */ \"./node_modules/ramda/es/sum.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sum\", function() { return _sum__WEBPACK_IMPORTED_MODULE_199__[\"default\"]; });\n\n/* harmony import */ var _symmetricDifference__WEBPACK_IMPORTED_MODULE_200__ = __webpack_require__(/*! ./symmetricDifference */ \"./node_modules/ramda/es/symmetricDifference.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"symmetricDifference\", function() { return _symmetricDifference__WEBPACK_IMPORTED_MODULE_200__[\"default\"]; });\n\n/* harmony import */ var _symmetricDifferenceWith__WEBPACK_IMPORTED_MODULE_201__ = __webpack_require__(/*! ./symmetricDifferenceWith */ \"./node_modules/ramda/es/symmetricDifferenceWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"symmetricDifferenceWith\", function() { return _symmetricDifferenceWith__WEBPACK_IMPORTED_MODULE_201__[\"default\"]; });\n\n/* harmony import */ var _tail__WEBPACK_IMPORTED_MODULE_202__ = __webpack_require__(/*! ./tail */ \"./node_modules/ramda/es/tail.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tail\", function() { return _tail__WEBPACK_IMPORTED_MODULE_202__[\"default\"]; });\n\n/* harmony import */ var _take__WEBPACK_IMPORTED_MODULE_203__ = __webpack_require__(/*! ./take */ \"./node_modules/ramda/es/take.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"take\", function() { return _take__WEBPACK_IMPORTED_MODULE_203__[\"default\"]; });\n\n/* harmony import */ var _takeLast__WEBPACK_IMPORTED_MODULE_204__ = __webpack_require__(/*! ./takeLast */ \"./node_modules/ramda/es/takeLast.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"takeLast\", function() { return _takeLast__WEBPACK_IMPORTED_MODULE_204__[\"default\"]; });\n\n/* harmony import */ var _takeLastWhile__WEBPACK_IMPORTED_MODULE_205__ = __webpack_require__(/*! ./takeLastWhile */ \"./node_modules/ramda/es/takeLastWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"takeLastWhile\", function() { return _takeLastWhile__WEBPACK_IMPORTED_MODULE_205__[\"default\"]; });\n\n/* harmony import */ var _takeWhile__WEBPACK_IMPORTED_MODULE_206__ = __webpack_require__(/*! ./takeWhile */ \"./node_modules/ramda/es/takeWhile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"takeWhile\", function() { return _takeWhile__WEBPACK_IMPORTED_MODULE_206__[\"default\"]; });\n\n/* harmony import */ var _tap__WEBPACK_IMPORTED_MODULE_207__ = __webpack_require__(/*! ./tap */ \"./node_modules/ramda/es/tap.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tap\", function() { return _tap__WEBPACK_IMPORTED_MODULE_207__[\"default\"]; });\n\n/* harmony import */ var _test__WEBPACK_IMPORTED_MODULE_208__ = __webpack_require__(/*! ./test */ \"./node_modules/ramda/es/test.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"test\", function() { return _test__WEBPACK_IMPORTED_MODULE_208__[\"default\"]; });\n\n/* harmony import */ var _times__WEBPACK_IMPORTED_MODULE_209__ = __webpack_require__(/*! ./times */ \"./node_modules/ramda/es/times.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"times\", function() { return _times__WEBPACK_IMPORTED_MODULE_209__[\"default\"]; });\n\n/* harmony import */ var _toLower__WEBPACK_IMPORTED_MODULE_210__ = __webpack_require__(/*! ./toLower */ \"./node_modules/ramda/es/toLower.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toLower\", function() { return _toLower__WEBPACK_IMPORTED_MODULE_210__[\"default\"]; });\n\n/* harmony import */ var _toPairs__WEBPACK_IMPORTED_MODULE_211__ = __webpack_require__(/*! ./toPairs */ \"./node_modules/ramda/es/toPairs.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toPairs\", function() { return _toPairs__WEBPACK_IMPORTED_MODULE_211__[\"default\"]; });\n\n/* harmony import */ var _toPairsIn__WEBPACK_IMPORTED_MODULE_212__ = __webpack_require__(/*! ./toPairsIn */ \"./node_modules/ramda/es/toPairsIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toPairsIn\", function() { return _toPairsIn__WEBPACK_IMPORTED_MODULE_212__[\"default\"]; });\n\n/* harmony import */ var _toString__WEBPACK_IMPORTED_MODULE_213__ = __webpack_require__(/*! ./toString */ \"./node_modules/ramda/es/toString.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toString\", function() { return _toString__WEBPACK_IMPORTED_MODULE_213__[\"default\"]; });\n\n/* harmony import */ var _toUpper__WEBPACK_IMPORTED_MODULE_214__ = __webpack_require__(/*! ./toUpper */ \"./node_modules/ramda/es/toUpper.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toUpper\", function() { return _toUpper__WEBPACK_IMPORTED_MODULE_214__[\"default\"]; });\n\n/* harmony import */ var _transduce__WEBPACK_IMPORTED_MODULE_215__ = __webpack_require__(/*! ./transduce */ \"./node_modules/ramda/es/transduce.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"transduce\", function() { return _transduce__WEBPACK_IMPORTED_MODULE_215__[\"default\"]; });\n\n/* harmony import */ var _transpose__WEBPACK_IMPORTED_MODULE_216__ = __webpack_require__(/*! ./transpose */ \"./node_modules/ramda/es/transpose.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"transpose\", function() { return _transpose__WEBPACK_IMPORTED_MODULE_216__[\"default\"]; });\n\n/* harmony import */ var _traverse__WEBPACK_IMPORTED_MODULE_217__ = __webpack_require__(/*! ./traverse */ \"./node_modules/ramda/es/traverse.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"traverse\", function() { return _traverse__WEBPACK_IMPORTED_MODULE_217__[\"default\"]; });\n\n/* harmony import */ var _trim__WEBPACK_IMPORTED_MODULE_218__ = __webpack_require__(/*! ./trim */ \"./node_modules/ramda/es/trim.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"trim\", function() { return _trim__WEBPACK_IMPORTED_MODULE_218__[\"default\"]; });\n\n/* harmony import */ var _tryCatch__WEBPACK_IMPORTED_MODULE_219__ = __webpack_require__(/*! ./tryCatch */ \"./node_modules/ramda/es/tryCatch.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tryCatch\", function() { return _tryCatch__WEBPACK_IMPORTED_MODULE_219__[\"default\"]; });\n\n/* harmony import */ var _type__WEBPACK_IMPORTED_MODULE_220__ = __webpack_require__(/*! ./type */ \"./node_modules/ramda/es/type.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"type\", function() { return _type__WEBPACK_IMPORTED_MODULE_220__[\"default\"]; });\n\n/* harmony import */ var _unapply__WEBPACK_IMPORTED_MODULE_221__ = __webpack_require__(/*! ./unapply */ \"./node_modules/ramda/es/unapply.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unapply\", function() { return _unapply__WEBPACK_IMPORTED_MODULE_221__[\"default\"]; });\n\n/* harmony import */ var _unary__WEBPACK_IMPORTED_MODULE_222__ = __webpack_require__(/*! ./unary */ \"./node_modules/ramda/es/unary.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unary\", function() { return _unary__WEBPACK_IMPORTED_MODULE_222__[\"default\"]; });\n\n/* harmony import */ var _uncurryN__WEBPACK_IMPORTED_MODULE_223__ = __webpack_require__(/*! ./uncurryN */ \"./node_modules/ramda/es/uncurryN.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"uncurryN\", function() { return _uncurryN__WEBPACK_IMPORTED_MODULE_223__[\"default\"]; });\n\n/* harmony import */ var _unfold__WEBPACK_IMPORTED_MODULE_224__ = __webpack_require__(/*! ./unfold */ \"./node_modules/ramda/es/unfold.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unfold\", function() { return _unfold__WEBPACK_IMPORTED_MODULE_224__[\"default\"]; });\n\n/* harmony import */ var _union__WEBPACK_IMPORTED_MODULE_225__ = __webpack_require__(/*! ./union */ \"./node_modules/ramda/es/union.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"union\", function() { return _union__WEBPACK_IMPORTED_MODULE_225__[\"default\"]; });\n\n/* harmony import */ var _unionWith__WEBPACK_IMPORTED_MODULE_226__ = __webpack_require__(/*! ./unionWith */ \"./node_modules/ramda/es/unionWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unionWith\", function() { return _unionWith__WEBPACK_IMPORTED_MODULE_226__[\"default\"]; });\n\n/* harmony import */ var _uniq__WEBPACK_IMPORTED_MODULE_227__ = __webpack_require__(/*! ./uniq */ \"./node_modules/ramda/es/uniq.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"uniq\", function() { return _uniq__WEBPACK_IMPORTED_MODULE_227__[\"default\"]; });\n\n/* harmony import */ var _uniqBy__WEBPACK_IMPORTED_MODULE_228__ = __webpack_require__(/*! ./uniqBy */ \"./node_modules/ramda/es/uniqBy.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"uniqBy\", function() { return _uniqBy__WEBPACK_IMPORTED_MODULE_228__[\"default\"]; });\n\n/* harmony import */ var _uniqWith__WEBPACK_IMPORTED_MODULE_229__ = __webpack_require__(/*! ./uniqWith */ \"./node_modules/ramda/es/uniqWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"uniqWith\", function() { return _uniqWith__WEBPACK_IMPORTED_MODULE_229__[\"default\"]; });\n\n/* harmony import */ var _unless__WEBPACK_IMPORTED_MODULE_230__ = __webpack_require__(/*! ./unless */ \"./node_modules/ramda/es/unless.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unless\", function() { return _unless__WEBPACK_IMPORTED_MODULE_230__[\"default\"]; });\n\n/* harmony import */ var _unnest__WEBPACK_IMPORTED_MODULE_231__ = __webpack_require__(/*! ./unnest */ \"./node_modules/ramda/es/unnest.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unnest\", function() { return _unnest__WEBPACK_IMPORTED_MODULE_231__[\"default\"]; });\n\n/* harmony import */ var _until__WEBPACK_IMPORTED_MODULE_232__ = __webpack_require__(/*! ./until */ \"./node_modules/ramda/es/until.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"until\", function() { return _until__WEBPACK_IMPORTED_MODULE_232__[\"default\"]; });\n\n/* harmony import */ var _update__WEBPACK_IMPORTED_MODULE_233__ = __webpack_require__(/*! ./update */ \"./node_modules/ramda/es/update.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"update\", function() { return _update__WEBPACK_IMPORTED_MODULE_233__[\"default\"]; });\n\n/* harmony import */ var _useWith__WEBPACK_IMPORTED_MODULE_234__ = __webpack_require__(/*! ./useWith */ \"./node_modules/ramda/es/useWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"useWith\", function() { return _useWith__WEBPACK_IMPORTED_MODULE_234__[\"default\"]; });\n\n/* harmony import */ var _values__WEBPACK_IMPORTED_MODULE_235__ = __webpack_require__(/*! ./values */ \"./node_modules/ramda/es/values.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"values\", function() { return _values__WEBPACK_IMPORTED_MODULE_235__[\"default\"]; });\n\n/* harmony import */ var _valuesIn__WEBPACK_IMPORTED_MODULE_236__ = __webpack_require__(/*! ./valuesIn */ \"./node_modules/ramda/es/valuesIn.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"valuesIn\", function() { return _valuesIn__WEBPACK_IMPORTED_MODULE_236__[\"default\"]; });\n\n/* harmony import */ var _view__WEBPACK_IMPORTED_MODULE_237__ = __webpack_require__(/*! ./view */ \"./node_modules/ramda/es/view.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"view\", function() { return _view__WEBPACK_IMPORTED_MODULE_237__[\"default\"]; });\n\n/* harmony import */ var _when__WEBPACK_IMPORTED_MODULE_238__ = __webpack_require__(/*! ./when */ \"./node_modules/ramda/es/when.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"when\", function() { return _when__WEBPACK_IMPORTED_MODULE_238__[\"default\"]; });\n\n/* harmony import */ var _where__WEBPACK_IMPORTED_MODULE_239__ = __webpack_require__(/*! ./where */ \"./node_modules/ramda/es/where.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"where\", function() { return _where__WEBPACK_IMPORTED_MODULE_239__[\"default\"]; });\n\n/* harmony import */ var _whereEq__WEBPACK_IMPORTED_MODULE_240__ = __webpack_require__(/*! ./whereEq */ \"./node_modules/ramda/es/whereEq.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"whereEq\", function() { return _whereEq__WEBPACK_IMPORTED_MODULE_240__[\"default\"]; });\n\n/* harmony import */ var _without__WEBPACK_IMPORTED_MODULE_241__ = __webpack_require__(/*! ./without */ \"./node_modules/ramda/es/without.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"without\", function() { return _without__WEBPACK_IMPORTED_MODULE_241__[\"default\"]; });\n\n/* harmony import */ var _xprod__WEBPACK_IMPORTED_MODULE_242__ = __webpack_require__(/*! ./xprod */ \"./node_modules/ramda/es/xprod.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"xprod\", function() { return _xprod__WEBPACK_IMPORTED_MODULE_242__[\"default\"]; });\n\n/* harmony import */ var _zip__WEBPACK_IMPORTED_MODULE_243__ = __webpack_require__(/*! ./zip */ \"./node_modules/ramda/es/zip.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zip\", function() { return _zip__WEBPACK_IMPORTED_MODULE_243__[\"default\"]; });\n\n/* harmony import */ var _zipObj__WEBPACK_IMPORTED_MODULE_244__ = __webpack_require__(/*! ./zipObj */ \"./node_modules/ramda/es/zipObj.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zipObj\", function() { return _zipObj__WEBPACK_IMPORTED_MODULE_244__[\"default\"]; });\n\n/* harmony import */ var _zipWith__WEBPACK_IMPORTED_MODULE_245__ = __webpack_require__(/*! ./zipWith */ \"./node_modules/ramda/es/zipWith.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zipWith\", function() { return _zipWith__WEBPACK_IMPORTED_MODULE_245__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/indexBy.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/indexBy.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _reduceBy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./reduceBy */ \"./node_modules/ramda/es/reduceBy.js\");\n\n\n/**\n * Given a function that generates a key, turns a list of objects into an\n * object indexing the objects by the given key. Note that if multiple\n * objects generate the same value for the indexing key only the last value\n * will be included in the generated object.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig (a -> String) -> [{k: v}] -> {k: {k: v}}\n * @param {Function} fn Function :: a -> String\n * @param {Array} array The array of objects to index\n * @return {Object} An object indexing each array element by the given property.\n * @example\n *\n *      var list = [{id: 'xyz', title: 'A'}, {id: 'abc', title: 'B'}];\n *      R.indexBy(R.prop('id'), list);\n *      //=> {abc: {id: 'abc', title: 'B'}, xyz: {id: 'xyz', title: 'A'}}\n */\nvar indexBy = /*#__PURE__*/Object(_reduceBy__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (acc, elem) {\n  return elem;\n}, null);\n/* harmony default export */ __webpack_exports__[\"default\"] = (indexBy);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/indexOf.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/indexOf.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_indexOf__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_indexOf */ \"./node_modules/ramda/es/internal/_indexOf.js\");\n/* harmony import */ var _internal_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isArray */ \"./node_modules/ramda/es/internal/_isArray.js\");\n\n\n\n\n/**\n * Returns the position of the first occurrence of an item in an array, or -1\n * if the item is not included in the array. [`R.equals`](#equals) is used to\n * determine equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> Number\n * @param {*} target The item to find.\n * @param {Array} xs The array to search in.\n * @return {Number} the index of the target, or -1 if the target is not found.\n * @see R.lastIndexOf\n * @example\n *\n *      R.indexOf(3, [1,2,3,4]); //=> 2\n *      R.indexOf(10, [1,2,3,4]); //=> -1\n */\nvar indexOf = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function indexOf(target, xs) {\n  return typeof xs.indexOf === 'function' && !Object(_internal_isArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(xs) ? xs.indexOf(target) : Object(_internal_indexOf__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(xs, target, 0);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (indexOf);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/init.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/init.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./slice */ \"./node_modules/ramda/es/slice.js\");\n\n\n/**\n * Returns all but the last element of the given list or string.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {*} list\n * @return {*}\n * @see R.last, R.head, R.tail\n * @example\n *\n *      R.init([1, 2, 3]);  //=> [1, 2]\n *      R.init([1, 2]);     //=> [1]\n *      R.init([1]);        //=> []\n *      R.init([]);         //=> []\n *\n *      R.init('abc');  //=> 'ab'\n *      R.init('ab');   //=> 'a'\n *      R.init('a');    //=> ''\n *      R.init('');     //=> ''\n */\nvar init = /*#__PURE__*/Object(_slice__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(0, -1);\n/* harmony default export */ __webpack_exports__[\"default\"] = (init);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/innerJoin.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/innerJoin.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_containsWith__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_containsWith */ \"./node_modules/ramda/es/internal/_containsWith.js\");\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _internal_filter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_filter */ \"./node_modules/ramda/es/internal/_filter.js\");\n\n\n\n\n/**\n * Takes a predicate `pred`, a list `xs`, and a list `ys`, and returns a list\n * `xs'` comprising each of the elements of `xs` which is equal to one or more\n * elements of `ys` according to `pred`.\n *\n * `pred` must be a binary function expecting an element from each list.\n *\n * `xs`, `ys`, and `xs'` are treated as sets, semantically, so ordering should\n * not be significant, but since `xs'` is ordered the implementation guarantees\n * that its values are in the same order as they appear in `xs`. Duplicates are\n * not removed, so `xs'` may contain duplicates if `xs` contains duplicates.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Relation\n * @sig ((a, b) -> Boolean) -> [a] -> [b] -> [a]\n * @param {Function} pred\n * @param {Array} xs\n * @param {Array} ys\n * @return {Array}\n * @see R.intersection\n * @example\n *\n *      R.innerJoin(\n *        (record, id) => record.id === id,\n *        [{id: 824, name: 'Richie Furay'},\n *         {id: 956, name: 'Dewey Martin'},\n *         {id: 313, name: 'Bruce Palmer'},\n *         {id: 456, name: 'Stephen Stills'},\n *         {id: 177, name: 'Neil Young'}],\n *        [177, 456, 999]\n *      );\n *      //=> [{id: 456, name: 'Stephen Stills'}, {id: 177, name: 'Neil Young'}]\n */\nvar innerJoin = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function innerJoin(pred, xs, ys) {\n  return Object(_internal_filter__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function (x) {\n    return Object(_internal_containsWith__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pred, x, ys);\n  }, xs);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (innerJoin);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/insert.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/insert.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Inserts the supplied element into the list, at the specified `index`. _Note that\n\n * this is not destructive_: it returns a copy of the list with the changes.\n * <small>No lists have been harmed in the application of this function.</small>\n *\n * @func\n * @memberOf R\n * @since v0.2.2\n * @category List\n * @sig Number -> a -> [a] -> [a]\n * @param {Number} index The position to insert the element\n * @param {*} elt The element to insert into the Array\n * @param {Array} list The list to insert into\n * @return {Array} A new Array with `elt` inserted at `index`.\n * @example\n *\n *      R.insert(2, 'x', [1,2,3,4]); //=> [1,2,'x',3,4]\n */\nvar insert = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function insert(idx, elt, list) {\n  idx = idx < list.length && idx >= 0 ? idx : list.length;\n  var result = Array.prototype.slice.call(list, 0);\n  result.splice(idx, 0, elt);\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (insert);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/insertAll.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/insertAll.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Inserts the sub-list into the list, at the specified `index`. _Note that this is not\n * destructive_: it returns a copy of the list with the changes.\n * <small>No lists have been harmed in the application of this function.</small>\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category List\n * @sig Number -> [a] -> [a] -> [a]\n * @param {Number} index The position to insert the sub-list\n * @param {Array} elts The sub-list to insert into the Array\n * @param {Array} list The list to insert the sub-list into\n * @return {Array} A new Array with `elts` inserted starting at `index`.\n * @example\n *\n *      R.insertAll(2, ['x','y','z'], [1,2,3,4]); //=> [1,2,'x','y','z',3,4]\n */\nvar insertAll = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function insertAll(idx, elts, list) {\n  idx = idx < list.length && idx >= 0 ? idx : list.length;\n  return [].concat(Array.prototype.slice.call(list, 0, idx), elts, Array.prototype.slice.call(list, idx));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (insertAll);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_Set.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_Set.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contains__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_contains */ \"./node_modules/ramda/es/internal/_contains.js\");\n\n\nvar _Set = /*#__PURE__*/function () {\n  function _Set() {\n    /* globals Set */\n    this._nativeSet = typeof Set === 'function' ? new Set() : null;\n    this._items = {};\n  }\n\n  // until we figure out why jsdoc chokes on this\n  // @param item The item to add to the Set\n  // @returns {boolean} true if the item did not exist prior, otherwise false\n  //\n  _Set.prototype.add = function (item) {\n    return !hasOrAdd(item, true, this);\n  };\n\n  //\n  // @param item The item to check for existence in the Set\n  // @returns {boolean} true if the item exists in the Set, otherwise false\n  //\n  _Set.prototype.has = function (item) {\n    return hasOrAdd(item, false, this);\n  };\n\n  //\n  // Combines the logic for checking whether an item is a member of the set and\n  // for adding a new item to the set.\n  //\n  // @param item       The item to check or add to the Set instance.\n  // @param shouldAdd  If true, the item will be added to the set if it doesn't\n  //                   already exist.\n  // @param set        The set instance to check or add to.\n  // @return {boolean} true if the item already existed, otherwise false.\n  //\n  return _Set;\n}();\n\nfunction hasOrAdd(item, shouldAdd, set) {\n  var type = typeof item;\n  var prevSize, newSize;\n  switch (type) {\n    case 'string':\n    case 'number':\n      // distinguish between +0 and -0\n      if (item === 0 && 1 / item === -Infinity) {\n        if (set._items['-0']) {\n          return true;\n        } else {\n          if (shouldAdd) {\n            set._items['-0'] = true;\n          }\n          return false;\n        }\n      }\n      // these types can all utilise the native Set\n      if (set._nativeSet !== null) {\n        if (shouldAdd) {\n          prevSize = set._nativeSet.size;\n          set._nativeSet.add(item);\n          newSize = set._nativeSet.size;\n          return newSize === prevSize;\n        } else {\n          return set._nativeSet.has(item);\n        }\n      } else {\n        if (!(type in set._items)) {\n          if (shouldAdd) {\n            set._items[type] = {};\n            set._items[type][item] = true;\n          }\n          return false;\n        } else if (item in set._items[type]) {\n          return true;\n        } else {\n          if (shouldAdd) {\n            set._items[type][item] = true;\n          }\n          return false;\n        }\n      }\n\n    case 'boolean':\n      // set._items['boolean'] holds a two element array\n      // representing [ falseExists, trueExists ]\n      if (type in set._items) {\n        var bIdx = item ? 1 : 0;\n        if (set._items[type][bIdx]) {\n          return true;\n        } else {\n          if (shouldAdd) {\n            set._items[type][bIdx] = true;\n          }\n          return false;\n        }\n      } else {\n        if (shouldAdd) {\n          set._items[type] = item ? [false, true] : [true, false];\n        }\n        return false;\n      }\n\n    case 'function':\n      // compare functions for reference equality\n      if (set._nativeSet !== null) {\n        if (shouldAdd) {\n          prevSize = set._nativeSet.size;\n          set._nativeSet.add(item);\n          newSize = set._nativeSet.size;\n          return newSize === prevSize;\n        } else {\n          return set._nativeSet.has(item);\n        }\n      } else {\n        if (!(type in set._items)) {\n          if (shouldAdd) {\n            set._items[type] = [item];\n          }\n          return false;\n        }\n        if (!Object(_contains__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(item, set._items[type])) {\n          if (shouldAdd) {\n            set._items[type].push(item);\n          }\n          return false;\n        }\n        return true;\n      }\n\n    case 'undefined':\n      if (set._items[type]) {\n        return true;\n      } else {\n        if (shouldAdd) {\n          set._items[type] = true;\n        }\n        return false;\n      }\n\n    case 'object':\n      if (item === null) {\n        if (!set._items['null']) {\n          if (shouldAdd) {\n            set._items['null'] = true;\n          }\n          return false;\n        }\n        return true;\n      }\n    /* falls through */\n    default:\n      // reduce the search size of heterogeneous sets by creating buckets\n      // for each type.\n      type = Object.prototype.toString.call(item);\n      if (!(type in set._items)) {\n        if (shouldAdd) {\n          set._items[type] = [item];\n        }\n        return false;\n      }\n      // scan through all previously applied items\n      if (!Object(_contains__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(item, set._items[type])) {\n        if (shouldAdd) {\n          set._items[type].push(item);\n        }\n        return false;\n      }\n      return true;\n  }\n}\n\n// A simple Set type that honours R.equals semantics\n/* harmony default export */ __webpack_exports__[\"default\"] = (_Set);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_aperture.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_aperture.js ***!\n  \\*****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _aperture; });\nfunction _aperture(n, list) {\n  var idx = 0;\n  var limit = list.length - (n - 1);\n  var acc = new Array(limit >= 0 ? limit : 0);\n  while (idx < limit) {\n    acc[idx] = Array.prototype.slice.call(list, idx, idx + n);\n    idx += 1;\n  }\n  return acc;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_arity.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_arity.js ***!\n  \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _arity; });\nfunction _arity(n, fn) {\n  /* eslint-disable no-unused-vars */\n  switch (n) {\n    case 0:\n      return function () {\n        return fn.apply(this, arguments);\n      };\n    case 1:\n      return function (a0) {\n        return fn.apply(this, arguments);\n      };\n    case 2:\n      return function (a0, a1) {\n        return fn.apply(this, arguments);\n      };\n    case 3:\n      return function (a0, a1, a2) {\n        return fn.apply(this, arguments);\n      };\n    case 4:\n      return function (a0, a1, a2, a3) {\n        return fn.apply(this, arguments);\n      };\n    case 5:\n      return function (a0, a1, a2, a3, a4) {\n        return fn.apply(this, arguments);\n      };\n    case 6:\n      return function (a0, a1, a2, a3, a4, a5) {\n        return fn.apply(this, arguments);\n      };\n    case 7:\n      return function (a0, a1, a2, a3, a4, a5, a6) {\n        return fn.apply(this, arguments);\n      };\n    case 8:\n      return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n        return fn.apply(this, arguments);\n      };\n    case 9:\n      return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n        return fn.apply(this, arguments);\n      };\n    case 10:\n      return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n        return fn.apply(this, arguments);\n      };\n    default:\n      throw new Error('First argument to _arity must be a non-negative integer no greater than ten');\n  }\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_arrayFromIterator.js\":\n/*!**************************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_arrayFromIterator.js ***!\n  \\**************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _arrayFromIterator; });\nfunction _arrayFromIterator(iter) {\n  var list = [];\n  var next;\n  while (!(next = iter.next()).done) {\n    list.push(next.value);\n  }\n  return list;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_assign.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_assign.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _objectAssign__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_objectAssign */ \"./node_modules/ramda/es/internal/_objectAssign.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (typeof Object.assign === 'function' ? Object.assign : _objectAssign__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_checkForMethod.js\":\n/*!***********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_checkForMethod.js ***!\n  \\***********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _checkForMethod; });\n/* harmony import */ var _isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isArray */ \"./node_modules/ramda/es/internal/_isArray.js\");\n\n\n/**\n * This checks whether a function has a [methodname] function. If it isn't an\n * array it will execute that function otherwise it will default to the ramda\n * implementation.\n *\n * @private\n * @param {Function} fn ramda implemtation\n * @param {String} methodname property to check for a custom implementation\n * @return {Object} Whatever the return value of the method is.\n */\nfunction _checkForMethod(methodname, fn) {\n  return function () {\n    var length = arguments.length;\n    if (length === 0) {\n      return fn();\n    }\n    var obj = arguments[length - 1];\n    return Object(_isArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(obj) || typeof obj[methodname] !== 'function' ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1));\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_clone.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_clone.js ***!\n  \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _clone; });\n/* harmony import */ var _cloneRegExp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_cloneRegExp */ \"./node_modules/ramda/es/internal/_cloneRegExp.js\");\n/* harmony import */ var _type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../type */ \"./node_modules/ramda/es/type.js\");\n\n\n\n/**\n * Copies an object.\n *\n * @private\n * @param {*} value The value to be copied\n * @param {Array} refFrom Array containing the source references\n * @param {Array} refTo Array containing the copied source references\n * @param {Boolean} deep Whether or not to perform deep cloning.\n * @return {*} The copied value.\n */\nfunction _clone(value, refFrom, refTo, deep) {\n  var copy = function copy(copiedValue) {\n    var len = refFrom.length;\n    var idx = 0;\n    while (idx < len) {\n      if (value === refFrom[idx]) {\n        return refTo[idx];\n      }\n      idx += 1;\n    }\n    refFrom[idx + 1] = value;\n    refTo[idx + 1] = copiedValue;\n    for (var key in value) {\n      copiedValue[key] = deep ? _clone(value[key], refFrom, refTo, true) : value[key];\n    }\n    return copiedValue;\n  };\n  switch (Object(_type__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value)) {\n    case 'Object':\n      return copy({});\n    case 'Array':\n      return copy([]);\n    case 'Date':\n      return new Date(value.valueOf());\n    case 'RegExp':\n      return Object(_cloneRegExp__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value);\n    default:\n      return value;\n  }\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_cloneRegExp.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_cloneRegExp.js ***!\n  \\********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _cloneRegExp; });\nfunction _cloneRegExp(pattern) {\n                                  return new RegExp(pattern.source, (pattern.global ? 'g' : '') + (pattern.ignoreCase ? 'i' : '') + (pattern.multiline ? 'm' : '') + (pattern.sticky ? 'y' : '') + (pattern.unicode ? 'u' : ''));\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_complement.js\":\n/*!*******************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_complement.js ***!\n  \\*******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _complement; });\nfunction _complement(f) {\n  return function () {\n    return !f.apply(this, arguments);\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_concat.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_concat.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _concat; });\n/**\n * Private `concat` function to merge two array-like objects.\n *\n * @private\n * @param {Array|Arguments} [set1=[]] An array-like object.\n * @param {Array|Arguments} [set2=[]] An array-like object.\n * @return {Array} A new, merged array.\n * @example\n *\n *      _concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n */\nfunction _concat(set1, set2) {\n  set1 = set1 || [];\n  set2 = set2 || [];\n  var idx;\n  var len1 = set1.length;\n  var len2 = set2.length;\n  var result = [];\n\n  idx = 0;\n  while (idx < len1) {\n    result[result.length] = set1[idx];\n    idx += 1;\n  }\n  idx = 0;\n  while (idx < len2) {\n    result[result.length] = set2[idx];\n    idx += 1;\n  }\n  return result;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_contains.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_contains.js ***!\n  \\*****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _contains; });\n/* harmony import */ var _indexOf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_indexOf */ \"./node_modules/ramda/es/internal/_indexOf.js\");\n\n\nfunction _contains(a, list) {\n  return Object(_indexOf__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(list, a, 0) >= 0;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_containsWith.js\":\n/*!*********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_containsWith.js ***!\n  \\*********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _containsWith; });\nfunction _containsWith(pred, x, list) {\n  var idx = 0;\n  var len = list.length;\n\n  while (idx < len) {\n    if (pred(x, list[idx])) {\n      return true;\n    }\n    idx += 1;\n  }\n  return false;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_createPartialApplicator.js\":\n/*!********************************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_createPartialApplicator.js ***!\n  \\********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _createPartialApplicator; });\n/* harmony import */ var _arity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arity */ \"./node_modules/ramda/es/internal/_arity.js\");\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n\nfunction _createPartialApplicator(concat) {\n  return Object(_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (fn, args) {\n    return Object(_arity__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Math.max(0, fn.length - args.length), function () {\n      return fn.apply(this, concat(args, arguments));\n    });\n  });\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_curry1.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_curry1.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _curry1; });\n/* harmony import */ var _isPlaceholder__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isPlaceholder */ \"./node_modules/ramda/es/internal/_isPlaceholder.js\");\n\n\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nfunction _curry1(fn) {\n  return function f1(a) {\n    if (arguments.length === 0 || Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(a)) {\n      return f1;\n    } else {\n      return fn.apply(this, arguments);\n    }\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_curry2.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_curry2.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _curry2; });\n/* harmony import */ var _curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _isPlaceholder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isPlaceholder */ \"./node_modules/ramda/es/internal/_isPlaceholder.js\");\n\n\n\n/**\n * Optimized internal two-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nfunction _curry2(fn) {\n  return function f2(a, b) {\n    switch (arguments.length) {\n      case 0:\n        return f2;\n      case 1:\n        return Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(a) ? f2 : Object(_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (_b) {\n          return fn(a, _b);\n        });\n      default:\n        return Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(a) && Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(b) ? f2 : Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(a) ? Object(_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (_a) {\n          return fn(_a, b);\n        }) : Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(b) ? Object(_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (_b) {\n          return fn(a, _b);\n        }) : fn(a, b);\n    }\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_curry3.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_curry3.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _curry3; });\n/* harmony import */ var _curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _isPlaceholder__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_isPlaceholder */ \"./node_modules/ramda/es/internal/_isPlaceholder.js\");\n\n\n\n\n/**\n * Optimized internal three-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nfunction _curry3(fn) {\n  return function f3(a, b, c) {\n    switch (arguments.length) {\n      case 0:\n        return f3;\n      case 1:\n        return Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(a) ? f3 : Object(_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (_b, _c) {\n          return fn(a, _b, _c);\n        });\n      case 2:\n        return Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(a) && Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(b) ? f3 : Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(a) ? Object(_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (_a, _c) {\n          return fn(_a, b, _c);\n        }) : Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(b) ? Object(_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (_b, _c) {\n          return fn(a, _b, _c);\n        }) : Object(_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (_c) {\n          return fn(a, b, _c);\n        });\n      default:\n        return Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(a) && Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(b) && Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(c) ? f3 : Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(a) && Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(b) ? Object(_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (_a, _b) {\n          return fn(_a, _b, c);\n        }) : Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(a) && Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(c) ? Object(_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (_a, _c) {\n          return fn(_a, b, _c);\n        }) : Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(b) && Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(c) ? Object(_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (_b, _c) {\n          return fn(a, _b, _c);\n        }) : Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(a) ? Object(_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (_a) {\n          return fn(_a, b, c);\n        }) : Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(b) ? Object(_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (_b) {\n          return fn(a, _b, c);\n        }) : Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(c) ? Object(_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (_c) {\n          return fn(a, b, _c);\n        }) : fn(a, b, c);\n    }\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_curryN.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_curryN.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _curryN; });\n/* harmony import */ var _arity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arity */ \"./node_modules/ramda/es/internal/_arity.js\");\n/* harmony import */ var _isPlaceholder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isPlaceholder */ \"./node_modules/ramda/es/internal/_isPlaceholder.js\");\n\n\n\n/**\n * Internal curryN function.\n *\n * @private\n * @category Function\n * @param {Number} length The arity of the curried function.\n * @param {Array} received An array of arguments received thus far.\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nfunction _curryN(length, received, fn) {\n  return function () {\n    var combined = [];\n    var argsIdx = 0;\n    var left = length;\n    var combinedIdx = 0;\n    while (combinedIdx < received.length || argsIdx < arguments.length) {\n      var result;\n      if (combinedIdx < received.length && (!Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(received[combinedIdx]) || argsIdx >= arguments.length)) {\n        result = received[combinedIdx];\n      } else {\n        result = arguments[argsIdx];\n        argsIdx += 1;\n      }\n      combined[combinedIdx] = result;\n      if (!Object(_isPlaceholder__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(result)) {\n        left -= 1;\n      }\n      combinedIdx += 1;\n    }\n    return left <= 0 ? fn.apply(this, combined) : Object(_arity__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(left, _curryN(length, combined, fn));\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_dispatchable.js\":\n/*!*********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_dispatchable.js ***!\n  \\*********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _dispatchable; });\n/* harmony import */ var _isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isArray */ \"./node_modules/ramda/es/internal/_isArray.js\");\n/* harmony import */ var _isTransformer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isTransformer */ \"./node_modules/ramda/es/internal/_isTransformer.js\");\n\n\n\n/**\n * Returns a function that dispatches with different strategies based on the\n * object in list position (last argument). If it is an array, executes [fn].\n * Otherwise, if it has a function with one of the given method names, it will\n * execute that function (functor case). Otherwise, if it is a transformer,\n * uses transducer [xf] to return a new transformer (transducer case).\n * Otherwise, it will default to executing [fn].\n *\n * @private\n * @param {Array} methodNames properties to check for a custom implementation\n * @param {Function} xf transducer to initialize if object is transformer\n * @param {Function} fn default ramda implementation\n * @return {Function} A function that dispatches on object in list position\n */\nfunction _dispatchable(methodNames, xf, fn) {\n  return function () {\n    if (arguments.length === 0) {\n      return fn();\n    }\n    var args = Array.prototype.slice.call(arguments, 0);\n    var obj = args.pop();\n    if (!Object(_isArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(obj)) {\n      var idx = 0;\n      while (idx < methodNames.length) {\n        if (typeof obj[methodNames[idx]] === 'function') {\n          return obj[methodNames[idx]].apply(obj, args);\n        }\n        idx += 1;\n      }\n      if (Object(_isTransformer__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(obj)) {\n        var transducer = xf.apply(null, args);\n        return transducer(obj);\n      }\n    }\n    return fn.apply(this, arguments);\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_dropLast.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_dropLast.js ***!\n  \\*****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return dropLast; });\n/* harmony import */ var _take__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../take */ \"./node_modules/ramda/es/take.js\");\n\n\nfunction dropLast(n, xs) {\n  return Object(_take__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(n < xs.length ? xs.length - n : 0, xs);\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_dropLastWhile.js\":\n/*!**********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_dropLastWhile.js ***!\n  \\**********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return dropLastWhile; });\n/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../slice */ \"./node_modules/ramda/es/slice.js\");\n\n\nfunction dropLastWhile(pred, xs) {\n  var idx = xs.length - 1;\n  while (idx >= 0 && pred(xs[idx])) {\n    idx -= 1;\n  }\n  return Object(_slice__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(0, idx + 1, xs);\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_equals.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_equals.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _equals; });\n/* harmony import */ var _arrayFromIterator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayFromIterator */ \"./node_modules/ramda/es/internal/_arrayFromIterator.js\");\n/* harmony import */ var _containsWith__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_containsWith */ \"./node_modules/ramda/es/internal/_containsWith.js\");\n/* harmony import */ var _functionName__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_functionName */ \"./node_modules/ramda/es/internal/_functionName.js\");\n/* harmony import */ var _has__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_has */ \"./node_modules/ramda/es/internal/_has.js\");\n/* harmony import */ var _identical__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../identical */ \"./node_modules/ramda/es/identical.js\");\n/* harmony import */ var _keys__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../keys */ \"./node_modules/ramda/es/keys.js\");\n/* harmony import */ var _type__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../type */ \"./node_modules/ramda/es/type.js\");\n\n\n\n\n\n\n\n\n/**\n * private _uniqContentEquals function.\n * That function is checking equality of 2 iterator contents with 2 assumptions\n * - iterators lengths are the same\n * - iterators values are unique\n *\n * false-positive result will be returned for comparision of, e.g.\n * - [1,2,3] and [1,2,3,4]\n * - [1,1,1] and [1,2,3]\n * */\n\nfunction _uniqContentEquals(aIterator, bIterator, stackA, stackB) {\n  var a = Object(_arrayFromIterator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(aIterator);\n  var b = Object(_arrayFromIterator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(bIterator);\n\n  function eq(_a, _b) {\n    return _equals(_a, _b, stackA.slice(), stackB.slice());\n  }\n\n  // if *a* array contains any element that is not included in *b*\n  return !Object(_containsWith__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (b, aItem) {\n    return !Object(_containsWith__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(eq, aItem, b);\n  }, b, a);\n}\n\nfunction _equals(a, b, stackA, stackB) {\n  if (Object(_identical__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(a, b)) {\n    return true;\n  }\n\n  var typeA = Object(_type__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(a);\n\n  if (typeA !== Object(_type__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(b)) {\n    return false;\n  }\n\n  if (a == null || b == null) {\n    return false;\n  }\n\n  if (typeof a['fantasy-land/equals'] === 'function' || typeof b['fantasy-land/equals'] === 'function') {\n    return typeof a['fantasy-land/equals'] === 'function' && a['fantasy-land/equals'](b) && typeof b['fantasy-land/equals'] === 'function' && b['fantasy-land/equals'](a);\n  }\n\n  if (typeof a.equals === 'function' || typeof b.equals === 'function') {\n    return typeof a.equals === 'function' && a.equals(b) && typeof b.equals === 'function' && b.equals(a);\n  }\n\n  switch (typeA) {\n    case 'Arguments':\n    case 'Array':\n    case 'Object':\n      if (typeof a.constructor === 'function' && Object(_functionName__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(a.constructor) === 'Promise') {\n        return a === b;\n      }\n      break;\n    case 'Boolean':\n    case 'Number':\n    case 'String':\n      if (!(typeof a === typeof b && Object(_identical__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(a.valueOf(), b.valueOf()))) {\n        return false;\n      }\n      break;\n    case 'Date':\n      if (!Object(_identical__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(a.valueOf(), b.valueOf())) {\n        return false;\n      }\n      break;\n    case 'Error':\n      return a.name === b.name && a.message === b.message;\n    case 'RegExp':\n      if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) {\n        return false;\n      }\n      break;\n  }\n\n  var idx = stackA.length - 1;\n  while (idx >= 0) {\n    if (stackA[idx] === a) {\n      return stackB[idx] === b;\n    }\n    idx -= 1;\n  }\n\n  switch (typeA) {\n    case 'Map':\n      if (a.size !== b.size) {\n        return false;\n      }\n\n      return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b]));\n    case 'Set':\n      if (a.size !== b.size) {\n        return false;\n      }\n\n      return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b]));\n    case 'Arguments':\n    case 'Array':\n    case 'Object':\n    case 'Boolean':\n    case 'Number':\n    case 'String':\n    case 'Date':\n    case 'Error':\n    case 'RegExp':\n    case 'Int8Array':\n    case 'Uint8Array':\n    case 'Uint8ClampedArray':\n    case 'Int16Array':\n    case 'Uint16Array':\n    case 'Int32Array':\n    case 'Uint32Array':\n    case 'Float32Array':\n    case 'Float64Array':\n    case 'ArrayBuffer':\n      break;\n    default:\n      // Values of other types are only equal if identical.\n      return false;\n  }\n\n  var keysA = Object(_keys__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(a);\n  if (keysA.length !== Object(_keys__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(b).length) {\n    return false;\n  }\n\n  var extendedStackA = stackA.concat([a]);\n  var extendedStackB = stackB.concat([b]);\n\n  idx = keysA.length - 1;\n  while (idx >= 0) {\n    var key = keysA[idx];\n    if (!(Object(_has__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) {\n      return false;\n    }\n    idx -= 1;\n  }\n  return true;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_filter.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_filter.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _filter; });\nfunction _filter(fn, list) {\n  var idx = 0;\n  var len = list.length;\n  var result = [];\n\n  while (idx < len) {\n    if (fn(list[idx])) {\n      result[result.length] = list[idx];\n    }\n    idx += 1;\n  }\n  return result;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_flatCat.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_flatCat.js ***!\n  \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _forceReduced__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_forceReduced */ \"./node_modules/ramda/es/internal/_forceReduced.js\");\n/* harmony import */ var _isArrayLike__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isArrayLike */ \"./node_modules/ramda/es/internal/_isArrayLike.js\");\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_reduce */ \"./node_modules/ramda/es/internal/_reduce.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\n\n\nvar preservingReduced = function (xf) {\n  return {\n    '@@transducer/init': _xfBase__WEBPACK_IMPORTED_MODULE_3__[\"default\"].init,\n    '@@transducer/result': function (result) {\n      return xf['@@transducer/result'](result);\n    },\n    '@@transducer/step': function (result, input) {\n      var ret = xf['@@transducer/step'](result, input);\n      return ret['@@transducer/reduced'] ? Object(_forceReduced__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ret) : ret;\n    }\n  };\n};\n\nvar _flatCat = function _xcat(xf) {\n  var rxf = preservingReduced(xf);\n  return {\n    '@@transducer/init': _xfBase__WEBPACK_IMPORTED_MODULE_3__[\"default\"].init,\n    '@@transducer/result': function (result) {\n      return rxf['@@transducer/result'](result);\n    },\n    '@@transducer/step': function (result, input) {\n      return !Object(_isArrayLike__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(input) ? Object(_reduce__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(rxf, result, [input]) : Object(_reduce__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(rxf, result, input);\n    }\n  };\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_flatCat);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_forceReduced.js\":\n/*!*********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_forceReduced.js ***!\n  \\*********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _forceReduced; });\nfunction _forceReduced(x) {\n  return {\n    '@@transducer/value': x,\n    '@@transducer/reduced': true\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_functionName.js\":\n/*!*********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_functionName.js ***!\n  \\*********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _functionName; });\nfunction _functionName(f) {\n  // String(x => x) evaluates to \"x => x\", so the pattern may not match.\n  var match = String(f).match(/^function (\\w*)/);\n  return match == null ? '' : match[1];\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_has.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_has.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _has; });\nfunction _has(prop, obj) {\n  return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_identity.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_identity.js ***!\n  \\*****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _identity; });\nfunction _identity(x) {\n  return x;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_indexOf.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_indexOf.js ***!\n  \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _indexOf; });\n/* harmony import */ var _equals__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../equals */ \"./node_modules/ramda/es/equals.js\");\n\n\nfunction _indexOf(list, a, idx) {\n  var inf, item;\n  // Array.prototype.indexOf doesn't exist below IE9\n  if (typeof list.indexOf === 'function') {\n    switch (typeof a) {\n      case 'number':\n        if (a === 0) {\n          // manually crawl the list to distinguish between +0 and -0\n          inf = 1 / a;\n          while (idx < list.length) {\n            item = list[idx];\n            if (item === 0 && 1 / item === inf) {\n              return idx;\n            }\n            idx += 1;\n          }\n          return -1;\n        } else if (a !== a) {\n          // NaN\n          while (idx < list.length) {\n            item = list[idx];\n            if (typeof item === 'number' && item !== item) {\n              return idx;\n            }\n            idx += 1;\n          }\n          return -1;\n        }\n        // non-zero numbers can utilise Set\n        return list.indexOf(a, idx);\n\n      // all these types can utilise Set\n      case 'string':\n      case 'boolean':\n      case 'function':\n      case 'undefined':\n        return list.indexOf(a, idx);\n\n      case 'object':\n        if (a === null) {\n          // null can utilise Set\n          return list.indexOf(a, idx);\n        }\n    }\n  }\n  // anything else not covered above, defer to R.equals\n  while (idx < list.length) {\n    if (Object(_equals__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(list[idx], a)) {\n      return idx;\n    }\n    idx += 1;\n  }\n  return -1;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_isArguments.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_isArguments.js ***!\n  \\********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _has__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_has */ \"./node_modules/ramda/es/internal/_has.js\");\n\n\nvar toString = Object.prototype.toString;\nvar _isArguments = function () {\n  return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) {\n    return toString.call(x) === '[object Arguments]';\n  } : function _isArguments(x) {\n    return Object(_has__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('callee', x);\n  };\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_isArguments);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_isArray.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_isArray.js ***!\n  \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/**\n * Tests whether or not an object is an array.\n *\n * @private\n * @param {*} val The object to test.\n * @return {Boolean} `true` if `val` is an array, `false` otherwise.\n * @example\n *\n *      _isArray([]); //=> true\n *      _isArray(null); //=> false\n *      _isArray({}); //=> false\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = (Array.isArray || function _isArray(val) {\n  return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]';\n});\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_isArrayLike.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_isArrayLike.js ***!\n  \\********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _isArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isArray */ \"./node_modules/ramda/es/internal/_isArray.js\");\n/* harmony import */ var _isString__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_isString */ \"./node_modules/ramda/es/internal/_isString.js\");\n\n\n\n\n/**\n * Tests whether or not an object is similar to an array.\n *\n * @private\n * @category Type\n * @category List\n * @sig * -> Boolean\n * @param {*} x The object to test.\n * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise.\n * @example\n *\n *      _isArrayLike([]); //=> true\n *      _isArrayLike(true); //=> false\n *      _isArrayLike({}); //=> false\n *      _isArrayLike({length: 10}); //=> false\n *      _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true\n */\nvar _isArrayLike = /*#__PURE__*/Object(_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function isArrayLike(x) {\n  if (Object(_isArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(x)) {\n    return true;\n  }\n  if (!x) {\n    return false;\n  }\n  if (typeof x !== 'object') {\n    return false;\n  }\n  if (Object(_isString__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(x)) {\n    return false;\n  }\n  if (x.nodeType === 1) {\n    return !!x.length;\n  }\n  if (x.length === 0) {\n    return true;\n  }\n  if (x.length > 0) {\n    return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1);\n  }\n  return false;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_isArrayLike);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_isFunction.js\":\n/*!*******************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_isFunction.js ***!\n  \\*******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _isFunction; });\nfunction _isFunction(x) {\n  return Object.prototype.toString.call(x) === '[object Function]';\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_isInteger.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_isInteger.js ***!\n  \\******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/**\n * Determine if the passed argument is an integer.\n *\n * @private\n * @param {*} n\n * @category Type\n * @return {Boolean}\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = (Number.isInteger || function _isInteger(n) {\n  return n << 0 === n;\n});\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_isNumber.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_isNumber.js ***!\n  \\*****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _isNumber; });\nfunction _isNumber(x) {\n  return Object.prototype.toString.call(x) === '[object Number]';\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_isObject.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_isObject.js ***!\n  \\*****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _isObject; });\nfunction _isObject(x) {\n  return Object.prototype.toString.call(x) === '[object Object]';\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_isPlaceholder.js\":\n/*!**********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_isPlaceholder.js ***!\n  \\**********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _isPlaceholder; });\nfunction _isPlaceholder(a) {\n       return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_isRegExp.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_isRegExp.js ***!\n  \\*****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _isRegExp; });\nfunction _isRegExp(x) {\n  return Object.prototype.toString.call(x) === '[object RegExp]';\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_isString.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_isString.js ***!\n  \\*****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _isString; });\nfunction _isString(x) {\n  return Object.prototype.toString.call(x) === '[object String]';\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_isTransformer.js\":\n/*!**********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_isTransformer.js ***!\n  \\**********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _isTransformer; });\nfunction _isTransformer(obj) {\n  return typeof obj['@@transducer/step'] === 'function';\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_makeFlat.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_makeFlat.js ***!\n  \\*****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _makeFlat; });\n/* harmony import */ var _isArrayLike__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isArrayLike */ \"./node_modules/ramda/es/internal/_isArrayLike.js\");\n\n\n/**\n * `_makeFlat` is a helper function that returns a one-level or fully recursive\n * function based on the flag passed in.\n *\n * @private\n */\nfunction _makeFlat(recursive) {\n  return function flatt(list) {\n    var value, jlen, j;\n    var result = [];\n    var idx = 0;\n    var ilen = list.length;\n\n    while (idx < ilen) {\n      if (Object(_isArrayLike__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(list[idx])) {\n        value = recursive ? flatt(list[idx]) : list[idx];\n        j = 0;\n        jlen = value.length;\n        while (j < jlen) {\n          result[result.length] = value[j];\n          j += 1;\n        }\n      } else {\n        result[result.length] = list[idx];\n      }\n      idx += 1;\n    }\n    return result;\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_map.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_map.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _map; });\nfunction _map(fn, functor) {\n  var idx = 0;\n  var len = functor.length;\n  var result = Array(len);\n  while (idx < len) {\n    result[idx] = fn(functor[idx]);\n    idx += 1;\n  }\n  return result;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_objectAssign.js\":\n/*!*********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_objectAssign.js ***!\n  \\*********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _objectAssign; });\n/* harmony import */ var _has__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_has */ \"./node_modules/ramda/es/internal/_has.js\");\n\n\n// Based on https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\nfunction _objectAssign(target) {\n  if (target == null) {\n    throw new TypeError('Cannot convert undefined or null to object');\n  }\n\n  var output = Object(target);\n  var idx = 1;\n  var length = arguments.length;\n  while (idx < length) {\n    var source = arguments[idx];\n    if (source != null) {\n      for (var nextKey in source) {\n        if (Object(_has__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(nextKey, source)) {\n          output[nextKey] = source[nextKey];\n        }\n      }\n    }\n    idx += 1;\n  }\n  return output;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_of.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_of.js ***!\n  \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _of; });\nfunction _of(x) {\n  return [x];\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_pipe.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_pipe.js ***!\n  \\*************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _pipe; });\nfunction _pipe(f, g) {\n  return function () {\n    return g.call(this, f.apply(this, arguments));\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_pipeP.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_pipeP.js ***!\n  \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _pipeP; });\nfunction _pipeP(f, g) {\n  return function () {\n    var ctx = this;\n    return f.apply(ctx, arguments).then(function (x) {\n      return g.call(ctx, x);\n    });\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_quote.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_quote.js ***!\n  \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _quote; });\nfunction _quote(s) {\n  var escaped = s.replace(/\\\\/g, '\\\\\\\\').replace(/[\\b]/g, '\\\\b') // \\b matches word boundary; [\\b] matches backspace\n  .replace(/\\f/g, '\\\\f').replace(/\\n/g, '\\\\n').replace(/\\r/g, '\\\\r').replace(/\\t/g, '\\\\t').replace(/\\v/g, '\\\\v').replace(/\\0/g, '\\\\0');\n\n  return '\"' + escaped.replace(/\"/g, '\\\\\"') + '\"';\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_reduce.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_reduce.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _reduce; });\n/* harmony import */ var _isArrayLike__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isArrayLike */ \"./node_modules/ramda/es/internal/_isArrayLike.js\");\n/* harmony import */ var _xwrap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xwrap */ \"./node_modules/ramda/es/internal/_xwrap.js\");\n/* harmony import */ var _bind__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../bind */ \"./node_modules/ramda/es/bind.js\");\n\n\n\n\nfunction _arrayReduce(xf, acc, list) {\n  var idx = 0;\n  var len = list.length;\n  while (idx < len) {\n    acc = xf['@@transducer/step'](acc, list[idx]);\n    if (acc && acc['@@transducer/reduced']) {\n      acc = acc['@@transducer/value'];\n      break;\n    }\n    idx += 1;\n  }\n  return xf['@@transducer/result'](acc);\n}\n\nfunction _iterableReduce(xf, acc, iter) {\n  var step = iter.next();\n  while (!step.done) {\n    acc = xf['@@transducer/step'](acc, step.value);\n    if (acc && acc['@@transducer/reduced']) {\n      acc = acc['@@transducer/value'];\n      break;\n    }\n    step = iter.next();\n  }\n  return xf['@@transducer/result'](acc);\n}\n\nfunction _methodReduce(xf, acc, obj, methodName) {\n  return xf['@@transducer/result'](obj[methodName](Object(_bind__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(xf['@@transducer/step'], xf), acc));\n}\n\nvar symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator';\n\nfunction _reduce(fn, acc, list) {\n  if (typeof fn === 'function') {\n    fn = Object(_xwrap__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fn);\n  }\n  if (Object(_isArrayLike__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(list)) {\n    return _arrayReduce(fn, acc, list);\n  }\n  if (typeof list['fantasy-land/reduce'] === 'function') {\n    return _methodReduce(fn, acc, list, 'fantasy-land/reduce');\n  }\n  if (list[symIterator] != null) {\n    return _iterableReduce(fn, acc, list[symIterator]());\n  }\n  if (typeof list.next === 'function') {\n    return _iterableReduce(fn, acc, list);\n  }\n  if (typeof list.reduce === 'function') {\n    return _methodReduce(fn, acc, list, 'reduce');\n  }\n\n  throw new TypeError('reduce: list must be array or iterable');\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_reduced.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_reduced.js ***!\n  \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _reduced; });\nfunction _reduced(x) {\n  return x && x['@@transducer/reduced'] ? x : {\n    '@@transducer/value': x,\n    '@@transducer/reduced': true\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_stepCat.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_stepCat.js ***!\n  \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _stepCat; });\n/* harmony import */ var _assign__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assign */ \"./node_modules/ramda/es/internal/_assign.js\");\n/* harmony import */ var _identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_identity */ \"./node_modules/ramda/es/internal/_identity.js\");\n/* harmony import */ var _isArrayLike__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_isArrayLike */ \"./node_modules/ramda/es/internal/_isArrayLike.js\");\n/* harmony import */ var _isTransformer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_isTransformer */ \"./node_modules/ramda/es/internal/_isTransformer.js\");\n/* harmony import */ var _objOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objOf */ \"./node_modules/ramda/es/objOf.js\");\n\n\n\n\n\n\nvar _stepCatArray = {\n  '@@transducer/init': Array,\n  '@@transducer/step': function (xs, x) {\n    xs.push(x);\n    return xs;\n  },\n  '@@transducer/result': _identity__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n};\nvar _stepCatString = {\n  '@@transducer/init': String,\n  '@@transducer/step': function (a, b) {\n    return a + b;\n  },\n  '@@transducer/result': _identity__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n};\nvar _stepCatObject = {\n  '@@transducer/init': Object,\n  '@@transducer/step': function (result, input) {\n    return Object(_assign__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(result, Object(_isArrayLike__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(input) ? Object(_objOf__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(input[0], input[1]) : input);\n  },\n  '@@transducer/result': _identity__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n};\n\nfunction _stepCat(obj) {\n  if (Object(_isTransformer__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(obj)) {\n    return obj;\n  }\n  if (Object(_isArrayLike__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(obj)) {\n    return _stepCatArray;\n  }\n  if (typeof obj === 'string') {\n    return _stepCatString;\n  }\n  if (typeof obj === 'object') {\n    return _stepCatObject;\n  }\n  throw new Error('Cannot create transformer for ' + obj);\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_toISOString.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_toISOString.js ***!\n  \\********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/**\n * Polyfill from <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString>.\n */\nvar pad = function pad(n) {\n  return (n < 10 ? '0' : '') + n;\n};\n\nvar _toISOString = typeof Date.prototype.toISOString === 'function' ? function _toISOString(d) {\n  return d.toISOString();\n} : function _toISOString(d) {\n  return d.getUTCFullYear() + '-' + pad(d.getUTCMonth() + 1) + '-' + pad(d.getUTCDate()) + 'T' + pad(d.getUTCHours()) + ':' + pad(d.getUTCMinutes()) + ':' + pad(d.getUTCSeconds()) + '.' + (d.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) + 'Z';\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_toISOString);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_toString.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_toString.js ***!\n  \\*****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _toString; });\n/* harmony import */ var _contains__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_contains */ \"./node_modules/ramda/es/internal/_contains.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_map */ \"./node_modules/ramda/es/internal/_map.js\");\n/* harmony import */ var _quote__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_quote */ \"./node_modules/ramda/es/internal/_quote.js\");\n/* harmony import */ var _toISOString__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_toISOString */ \"./node_modules/ramda/es/internal/_toISOString.js\");\n/* harmony import */ var _keys__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../keys */ \"./node_modules/ramda/es/keys.js\");\n/* harmony import */ var _reject__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../reject */ \"./node_modules/ramda/es/reject.js\");\n\n\n\n\n\n\n\nfunction _toString(x, seen) {\n  var recur = function recur(y) {\n    var xs = seen.concat([x]);\n    return Object(_contains__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(y, xs) ? '<Circular>' : _toString(y, xs);\n  };\n\n  //  mapPairs :: (Object, [String]) -> [String]\n  var mapPairs = function (obj, keys) {\n    return Object(_map__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (k) {\n      return Object(_quote__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(k) + ': ' + recur(obj[k]);\n    }, keys.slice().sort());\n  };\n\n  switch (Object.prototype.toString.call(x)) {\n    case '[object Arguments]':\n      return '(function() { return arguments; }(' + Object(_map__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(recur, x).join(', ') + '))';\n    case '[object Array]':\n      return '[' + Object(_map__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(recur, x).concat(mapPairs(x, Object(_reject__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(function (k) {\n        return (/^\\d+$/.test(k)\n        );\n      }, Object(_keys__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(x)))).join(', ') + ']';\n    case '[object Boolean]':\n      return typeof x === 'object' ? 'new Boolean(' + recur(x.valueOf()) + ')' : x.toString();\n    case '[object Date]':\n      return 'new Date(' + (isNaN(x.valueOf()) ? recur(NaN) : Object(_quote__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_toISOString__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(x))) + ')';\n    case '[object Null]':\n      return 'null';\n    case '[object Number]':\n      return typeof x === 'object' ? 'new Number(' + recur(x.valueOf()) + ')' : 1 / x === -Infinity ? '-0' : x.toString(10);\n    case '[object String]':\n      return typeof x === 'object' ? 'new String(' + recur(x.valueOf()) + ')' : Object(_quote__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(x);\n    case '[object Undefined]':\n      return 'undefined';\n    default:\n      if (typeof x.toString === 'function') {\n        var repr = x.toString();\n        if (repr !== '[object Object]') {\n          return repr;\n        }\n      }\n      return '{' + mapPairs(x, Object(_keys__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(x)).join(', ') + '}';\n  }\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xall.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xall.js ***!\n  \\*************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _reduced__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduced */ \"./node_modules/ramda/es/internal/_reduced.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\n\nvar XAll = /*#__PURE__*/function () {\n  function XAll(f, xf) {\n    this.xf = xf;\n    this.f = f;\n    this.all = true;\n  }\n  XAll.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_2__[\"default\"].init;\n  XAll.prototype['@@transducer/result'] = function (result) {\n    if (this.all) {\n      result = this.xf['@@transducer/step'](result, true);\n    }\n    return this.xf['@@transducer/result'](result);\n  };\n  XAll.prototype['@@transducer/step'] = function (result, input) {\n    if (!this.f(input)) {\n      this.all = false;\n      result = Object(_reduced__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.xf['@@transducer/step'](result, false));\n    }\n    return result;\n  };\n\n  return XAll;\n}();\n\nvar _xall = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xall(f, xf) {\n  return new XAll(f, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xall);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xany.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xany.js ***!\n  \\*************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _reduced__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduced */ \"./node_modules/ramda/es/internal/_reduced.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\n\nvar XAny = /*#__PURE__*/function () {\n  function XAny(f, xf) {\n    this.xf = xf;\n    this.f = f;\n    this.any = false;\n  }\n  XAny.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_2__[\"default\"].init;\n  XAny.prototype['@@transducer/result'] = function (result) {\n    if (!this.any) {\n      result = this.xf['@@transducer/step'](result, false);\n    }\n    return this.xf['@@transducer/result'](result);\n  };\n  XAny.prototype['@@transducer/step'] = function (result, input) {\n    if (this.f(input)) {\n      this.any = true;\n      result = Object(_reduced__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.xf['@@transducer/step'](result, true));\n    }\n    return result;\n  };\n\n  return XAny;\n}();\n\nvar _xany = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xany(f, xf) {\n  return new XAny(f, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xany);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xaperture.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xaperture.js ***!\n  \\******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_concat */ \"./node_modules/ramda/es/internal/_concat.js\");\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\n\nvar XAperture = /*#__PURE__*/function () {\n  function XAperture(n, xf) {\n    this.xf = xf;\n    this.pos = 0;\n    this.full = false;\n    this.acc = new Array(n);\n  }\n  XAperture.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_2__[\"default\"].init;\n  XAperture.prototype['@@transducer/result'] = function (result) {\n    this.acc = null;\n    return this.xf['@@transducer/result'](result);\n  };\n  XAperture.prototype['@@transducer/step'] = function (result, input) {\n    this.store(input);\n    return this.full ? this.xf['@@transducer/step'](result, this.getCopy()) : result;\n  };\n  XAperture.prototype.store = function (input) {\n    this.acc[this.pos] = input;\n    this.pos += 1;\n    if (this.pos === this.acc.length) {\n      this.pos = 0;\n      this.full = true;\n    }\n  };\n  XAperture.prototype.getCopy = function () {\n    return Object(_concat__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Array.prototype.slice.call(this.acc, this.pos), Array.prototype.slice.call(this.acc, 0, this.pos));\n  };\n\n  return XAperture;\n}();\n\nvar _xaperture = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function _xaperture(n, xf) {\n  return new XAperture(n, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xaperture);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xchain.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xchain.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _flatCat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_flatCat */ \"./node_modules/ramda/es/internal/_flatCat.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../map */ \"./node_modules/ramda/es/map.js\");\n\n\n\n\nvar _xchain = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xchain(f, xf) {\n  return Object(_map__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(f, Object(_flatCat__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(xf));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xchain);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xdrop.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xdrop.js ***!\n  \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\nvar XDrop = /*#__PURE__*/function () {\n  function XDrop(n, xf) {\n    this.xf = xf;\n    this.n = n;\n  }\n  XDrop.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init;\n  XDrop.prototype['@@transducer/result'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].result;\n  XDrop.prototype['@@transducer/step'] = function (result, input) {\n    if (this.n > 0) {\n      this.n -= 1;\n      return result;\n    }\n    return this.xf['@@transducer/step'](result, input);\n  };\n\n  return XDrop;\n}();\n\nvar _xdrop = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xdrop(n, xf) {\n  return new XDrop(n, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xdrop);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xdropLast.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xdropLast.js ***!\n  \\******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\nvar XDropLast = /*#__PURE__*/function () {\n  function XDropLast(n, xf) {\n    this.xf = xf;\n    this.pos = 0;\n    this.full = false;\n    this.acc = new Array(n);\n  }\n  XDropLast.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init;\n  XDropLast.prototype['@@transducer/result'] = function (result) {\n    this.acc = null;\n    return this.xf['@@transducer/result'](result);\n  };\n  XDropLast.prototype['@@transducer/step'] = function (result, input) {\n    if (this.full) {\n      result = this.xf['@@transducer/step'](result, this.acc[this.pos]);\n    }\n    this.store(input);\n    return result;\n  };\n  XDropLast.prototype.store = function (input) {\n    this.acc[this.pos] = input;\n    this.pos += 1;\n    if (this.pos === this.acc.length) {\n      this.pos = 0;\n      this.full = true;\n    }\n  };\n\n  return XDropLast;\n}();\n\nvar _xdropLast = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xdropLast(n, xf) {\n  return new XDropLast(n, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xdropLast);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xdropLastWhile.js\":\n/*!***********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xdropLastWhile.js ***!\n  \\***********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduce */ \"./node_modules/ramda/es/internal/_reduce.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\n\nvar XDropLastWhile = /*#__PURE__*/function () {\n  function XDropLastWhile(fn, xf) {\n    this.f = fn;\n    this.retained = [];\n    this.xf = xf;\n  }\n  XDropLastWhile.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_2__[\"default\"].init;\n  XDropLastWhile.prototype['@@transducer/result'] = function (result) {\n    this.retained = null;\n    return this.xf['@@transducer/result'](result);\n  };\n  XDropLastWhile.prototype['@@transducer/step'] = function (result, input) {\n    return this.f(input) ? this.retain(result, input) : this.flush(result, input);\n  };\n  XDropLastWhile.prototype.flush = function (result, input) {\n    result = Object(_reduce__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.xf['@@transducer/step'], result, this.retained);\n    this.retained = [];\n    return this.xf['@@transducer/step'](result, input);\n  };\n  XDropLastWhile.prototype.retain = function (result, input) {\n    this.retained.push(input);\n    return result;\n  };\n\n  return XDropLastWhile;\n}();\n\nvar _xdropLastWhile = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xdropLastWhile(fn, xf) {\n  return new XDropLastWhile(fn, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xdropLastWhile);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xdropRepeatsWith.js\":\n/*!*************************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xdropRepeatsWith.js ***!\n  \\*************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\nvar XDropRepeatsWith = /*#__PURE__*/function () {\n  function XDropRepeatsWith(pred, xf) {\n    this.xf = xf;\n    this.pred = pred;\n    this.lastValue = undefined;\n    this.seenFirstValue = false;\n  }\n\n  XDropRepeatsWith.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init;\n  XDropRepeatsWith.prototype['@@transducer/result'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].result;\n  XDropRepeatsWith.prototype['@@transducer/step'] = function (result, input) {\n    var sameAsLast = false;\n    if (!this.seenFirstValue) {\n      this.seenFirstValue = true;\n    } else if (this.pred(this.lastValue, input)) {\n      sameAsLast = true;\n    }\n    this.lastValue = input;\n    return sameAsLast ? result : this.xf['@@transducer/step'](result, input);\n  };\n\n  return XDropRepeatsWith;\n}();\n\nvar _xdropRepeatsWith = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xdropRepeatsWith(pred, xf) {\n  return new XDropRepeatsWith(pred, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xdropRepeatsWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xdropWhile.js\":\n/*!*******************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xdropWhile.js ***!\n  \\*******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\nvar XDropWhile = /*#__PURE__*/function () {\n  function XDropWhile(f, xf) {\n    this.xf = xf;\n    this.f = f;\n  }\n  XDropWhile.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init;\n  XDropWhile.prototype['@@transducer/result'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].result;\n  XDropWhile.prototype['@@transducer/step'] = function (result, input) {\n    if (this.f) {\n      if (this.f(input)) {\n        return result;\n      }\n      this.f = null;\n    }\n    return this.xf['@@transducer/step'](result, input);\n  };\n\n  return XDropWhile;\n}();\n\nvar _xdropWhile = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xdropWhile(f, xf) {\n  return new XDropWhile(f, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xdropWhile);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xfBase.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xfBase.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  init: function () {\n    return this.xf['@@transducer/init']();\n  },\n  result: function (result) {\n    return this.xf['@@transducer/result'](result);\n  }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xfilter.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xfilter.js ***!\n  \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\nvar XFilter = /*#__PURE__*/function () {\n  function XFilter(f, xf) {\n    this.xf = xf;\n    this.f = f;\n  }\n  XFilter.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init;\n  XFilter.prototype['@@transducer/result'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].result;\n  XFilter.prototype['@@transducer/step'] = function (result, input) {\n    return this.f(input) ? this.xf['@@transducer/step'](result, input) : result;\n  };\n\n  return XFilter;\n}();\n\nvar _xfilter = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xfilter(f, xf) {\n  return new XFilter(f, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xfilter);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xfind.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xfind.js ***!\n  \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _reduced__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduced */ \"./node_modules/ramda/es/internal/_reduced.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\n\nvar XFind = /*#__PURE__*/function () {\n  function XFind(f, xf) {\n    this.xf = xf;\n    this.f = f;\n    this.found = false;\n  }\n  XFind.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_2__[\"default\"].init;\n  XFind.prototype['@@transducer/result'] = function (result) {\n    if (!this.found) {\n      result = this.xf['@@transducer/step'](result, void 0);\n    }\n    return this.xf['@@transducer/result'](result);\n  };\n  XFind.prototype['@@transducer/step'] = function (result, input) {\n    if (this.f(input)) {\n      this.found = true;\n      result = Object(_reduced__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.xf['@@transducer/step'](result, input));\n    }\n    return result;\n  };\n\n  return XFind;\n}();\n\nvar _xfind = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xfind(f, xf) {\n  return new XFind(f, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xfind);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xfindIndex.js\":\n/*!*******************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xfindIndex.js ***!\n  \\*******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _reduced__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduced */ \"./node_modules/ramda/es/internal/_reduced.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\n\nvar XFindIndex = /*#__PURE__*/function () {\n  function XFindIndex(f, xf) {\n    this.xf = xf;\n    this.f = f;\n    this.idx = -1;\n    this.found = false;\n  }\n  XFindIndex.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_2__[\"default\"].init;\n  XFindIndex.prototype['@@transducer/result'] = function (result) {\n    if (!this.found) {\n      result = this.xf['@@transducer/step'](result, -1);\n    }\n    return this.xf['@@transducer/result'](result);\n  };\n  XFindIndex.prototype['@@transducer/step'] = function (result, input) {\n    this.idx += 1;\n    if (this.f(input)) {\n      this.found = true;\n      result = Object(_reduced__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.xf['@@transducer/step'](result, this.idx));\n    }\n    return result;\n  };\n\n  return XFindIndex;\n}();\n\nvar _xfindIndex = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xfindIndex(f, xf) {\n  return new XFindIndex(f, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xfindIndex);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xfindLast.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xfindLast.js ***!\n  \\******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\nvar XFindLast = /*#__PURE__*/function () {\n  function XFindLast(f, xf) {\n    this.xf = xf;\n    this.f = f;\n  }\n  XFindLast.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init;\n  XFindLast.prototype['@@transducer/result'] = function (result) {\n    return this.xf['@@transducer/result'](this.xf['@@transducer/step'](result, this.last));\n  };\n  XFindLast.prototype['@@transducer/step'] = function (result, input) {\n    if (this.f(input)) {\n      this.last = input;\n    }\n    return result;\n  };\n\n  return XFindLast;\n}();\n\nvar _xfindLast = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xfindLast(f, xf) {\n  return new XFindLast(f, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xfindLast);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xfindLastIndex.js\":\n/*!***********************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xfindLastIndex.js ***!\n  \\***********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\nvar XFindLastIndex = /*#__PURE__*/function () {\n  function XFindLastIndex(f, xf) {\n    this.xf = xf;\n    this.f = f;\n    this.idx = -1;\n    this.lastIdx = -1;\n  }\n  XFindLastIndex.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init;\n  XFindLastIndex.prototype['@@transducer/result'] = function (result) {\n    return this.xf['@@transducer/result'](this.xf['@@transducer/step'](result, this.lastIdx));\n  };\n  XFindLastIndex.prototype['@@transducer/step'] = function (result, input) {\n    this.idx += 1;\n    if (this.f(input)) {\n      this.lastIdx = this.idx;\n    }\n    return result;\n  };\n\n  return XFindLastIndex;\n}();\n\nvar _xfindLastIndex = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xfindLastIndex(f, xf) {\n  return new XFindLastIndex(f, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xfindLastIndex);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xmap.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xmap.js ***!\n  \\*************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\nvar XMap = /*#__PURE__*/function () {\n  function XMap(f, xf) {\n    this.xf = xf;\n    this.f = f;\n  }\n  XMap.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init;\n  XMap.prototype['@@transducer/result'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].result;\n  XMap.prototype['@@transducer/step'] = function (result, input) {\n    return this.xf['@@transducer/step'](result, this.f(input));\n  };\n\n  return XMap;\n}();\n\nvar _xmap = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xmap(f, xf) {\n  return new XMap(f, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xmap);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xreduceBy.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xreduceBy.js ***!\n  \\******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curryN */ \"./node_modules/ramda/es/internal/_curryN.js\");\n/* harmony import */ var _has__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_has */ \"./node_modules/ramda/es/internal/_has.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\n\nvar XReduceBy = /*#__PURE__*/function () {\n  function XReduceBy(valueFn, valueAcc, keyFn, xf) {\n    this.valueFn = valueFn;\n    this.valueAcc = valueAcc;\n    this.keyFn = keyFn;\n    this.xf = xf;\n    this.inputs = {};\n  }\n  XReduceBy.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_2__[\"default\"].init;\n  XReduceBy.prototype['@@transducer/result'] = function (result) {\n    var key;\n    for (key in this.inputs) {\n      if (Object(_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(key, this.inputs)) {\n        result = this.xf['@@transducer/step'](result, this.inputs[key]);\n        if (result['@@transducer/reduced']) {\n          result = result['@@transducer/value'];\n          break;\n        }\n      }\n    }\n    this.inputs = null;\n    return this.xf['@@transducer/result'](result);\n  };\n  XReduceBy.prototype['@@transducer/step'] = function (result, input) {\n    var key = this.keyFn(input);\n    this.inputs[key] = this.inputs[key] || [key, this.valueAcc];\n    this.inputs[key][1] = this.valueFn(this.inputs[key][1], input);\n    return result;\n  };\n\n  return XReduceBy;\n}();\n\nvar _xreduceBy = /*#__PURE__*/Object(_curryN__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(4, [], function _xreduceBy(valueFn, valueAcc, keyFn, xf) {\n  return new XReduceBy(valueFn, valueAcc, keyFn, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xreduceBy);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xtake.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xtake.js ***!\n  \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _reduced__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduced */ \"./node_modules/ramda/es/internal/_reduced.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\n\nvar XTake = /*#__PURE__*/function () {\n  function XTake(n, xf) {\n    this.xf = xf;\n    this.n = n;\n    this.i = 0;\n  }\n  XTake.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_2__[\"default\"].init;\n  XTake.prototype['@@transducer/result'] = _xfBase__WEBPACK_IMPORTED_MODULE_2__[\"default\"].result;\n  XTake.prototype['@@transducer/step'] = function (result, input) {\n    this.i += 1;\n    var ret = this.n === 0 ? result : this.xf['@@transducer/step'](result, input);\n    return this.n >= 0 && this.i >= this.n ? Object(_reduced__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(ret) : ret;\n  };\n\n  return XTake;\n}();\n\nvar _xtake = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xtake(n, xf) {\n  return new XTake(n, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xtake);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xtakeWhile.js\":\n/*!*******************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xtakeWhile.js ***!\n  \\*******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _reduced__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduced */ \"./node_modules/ramda/es/internal/_reduced.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\n\nvar XTakeWhile = /*#__PURE__*/function () {\n  function XTakeWhile(f, xf) {\n    this.xf = xf;\n    this.f = f;\n  }\n  XTakeWhile.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_2__[\"default\"].init;\n  XTakeWhile.prototype['@@transducer/result'] = _xfBase__WEBPACK_IMPORTED_MODULE_2__[\"default\"].result;\n  XTakeWhile.prototype['@@transducer/step'] = function (result, input) {\n    return this.f(input) ? this.xf['@@transducer/step'](result, input) : Object(_reduced__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(result);\n  };\n\n  return XTakeWhile;\n}();\n\nvar _xtakeWhile = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xtakeWhile(f, xf) {\n  return new XTakeWhile(f, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xtakeWhile);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xtap.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xtap.js ***!\n  \\*************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _xfBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase */ \"./node_modules/ramda/es/internal/_xfBase.js\");\n\n\n\nvar XTap = /*#__PURE__*/function () {\n  function XTap(f, xf) {\n    this.xf = xf;\n    this.f = f;\n  }\n  XTap.prototype['@@transducer/init'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init;\n  XTap.prototype['@@transducer/result'] = _xfBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"].result;\n  XTap.prototype['@@transducer/step'] = function (result, input) {\n    this.f(input);\n    return this.xf['@@transducer/step'](result, input);\n  };\n\n  return XTap;\n}();\n\nvar _xtap = /*#__PURE__*/Object(_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function _xtap(f, xf) {\n  return new XTap(f, xf);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_xtap);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/internal/_xwrap.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/ramda/es/internal/_xwrap.js ***!\n  \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _xwrap; });\nvar XWrap = /*#__PURE__*/function () {\n  function XWrap(fn) {\n    this.f = fn;\n  }\n  XWrap.prototype['@@transducer/init'] = function () {\n    throw new Error('init not implemented on XWrap');\n  };\n  XWrap.prototype['@@transducer/result'] = function (acc) {\n    return acc;\n  };\n  XWrap.prototype['@@transducer/step'] = function (acc, x) {\n    return this.f(acc, x);\n  };\n\n  return XWrap;\n}();\n\nfunction _xwrap(fn) {\n  return new XWrap(fn);\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/intersection.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/ramda/es/intersection.js ***!\n  \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_contains__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_contains */ \"./node_modules/ramda/es/internal/_contains.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_filter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_filter */ \"./node_modules/ramda/es/internal/_filter.js\");\n/* harmony import */ var _flip__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./flip */ \"./node_modules/ramda/es/flip.js\");\n/* harmony import */ var _uniq__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./uniq */ \"./node_modules/ramda/es/uniq.js\");\n\n\n\n\n\n\n/**\n * Combines two lists into a set (i.e. no duplicates) composed of those\n * elements common to both lists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The list of elements found in both `list1` and `list2`.\n * @see R.innerJoin\n * @example\n *\n *      R.intersection([1,2,3,4], [7,6,5,4,3]); //=> [4, 3]\n */\nvar intersection = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function intersection(list1, list2) {\n  var lookupList, filteredList;\n  if (list1.length > list2.length) {\n    lookupList = list1;\n    filteredList = list2;\n  } else {\n    lookupList = list2;\n    filteredList = list1;\n  }\n  return Object(_uniq__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(Object(_internal_filter__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_flip__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_internal_contains__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(lookupList), filteredList));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (intersection);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/intersperse.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/ramda/es/intersperse.js ***!\n  \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_checkForMethod__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_checkForMethod */ \"./node_modules/ramda/es/internal/_checkForMethod.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n\n/**\n * Creates a new list with the separator interposed between elements.\n *\n * Dispatches to the `intersperse` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig a -> [a] -> [a]\n * @param {*} separator The element to add to the list.\n * @param {Array} list The list to be interposed.\n * @return {Array} The new list.\n * @example\n *\n *      R.intersperse('n', ['ba', 'a', 'a']); //=> ['ba', 'n', 'a', 'n', 'a']\n */\nvar intersperse = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/Object(_internal_checkForMethod__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('intersperse', function intersperse(separator, list) {\n  var out = [];\n  var idx = 0;\n  var length = list.length;\n  while (idx < length) {\n    if (idx === length - 1) {\n      out.push(list[idx]);\n    } else {\n      out.push(list[idx], separator);\n    }\n    idx += 1;\n  }\n  return out;\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (intersperse);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/into.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/into.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_clone__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_clone */ \"./node_modules/ramda/es/internal/_clone.js\");\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _internal_isTransformer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isTransformer */ \"./node_modules/ramda/es/internal/_isTransformer.js\");\n/* harmony import */ var _internal_reduce__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_reduce */ \"./node_modules/ramda/es/internal/_reduce.js\");\n/* harmony import */ var _internal_stepCat__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./internal/_stepCat */ \"./node_modules/ramda/es/internal/_stepCat.js\");\n\n\n\n\n\n\n/**\n * Transforms the items of the list with the transducer and appends the\n * transformed items to the accumulator using an appropriate iterator function\n * based on the accumulator type.\n *\n * The accumulator can be an array, string, object or a transformer. Iterated\n * items will be appended to arrays and concatenated to strings. Objects will\n * be merged directly or 2-item arrays will be merged as key, value pairs.\n *\n * The accumulator can also be a transformer object that provides a 2-arity\n * reducing iterator function, step, 0-arity initial value function, init, and\n * 1-arity result extraction function result. The step function is used as the\n * iterator function in reduce. The result function is used to convert the\n * final accumulator into the return type and in most cases is R.identity. The\n * init function is used to provide the initial accumulator.\n *\n * The iteration is performed with [`R.reduce`](#reduce) after initializing the\n * transducer.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category List\n * @sig a -> (b -> b) -> [c] -> a\n * @param {*} acc The initial accumulator value.\n * @param {Function} xf The transducer function. Receives a transformer and returns a transformer.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @example\n *\n *      var numbers = [1, 2, 3, 4];\n *      var transducer = R.compose(R.map(R.add(1)), R.take(2));\n *\n *      R.into([], transducer, numbers); //=> [2, 3]\n *\n *      var intoArray = R.into([]);\n *      intoArray(transducer, numbers); //=> [2, 3]\n */\nvar into = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function into(acc, xf, list) {\n  return Object(_internal_isTransformer__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(acc) ? Object(_internal_reduce__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(xf(acc), acc['@@transducer/init'](), list) : Object(_internal_reduce__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(xf(Object(_internal_stepCat__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(acc)), Object(_internal_clone__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(acc, [], [], false), list);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (into);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/invert.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/invert.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_has__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has */ \"./node_modules/ramda/es/internal/_has.js\");\n/* harmony import */ var _keys__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keys */ \"./node_modules/ramda/es/keys.js\");\n\n\n\n\n/**\n * Same as [`R.invertObj`](#invertObj), however this accounts for objects with\n * duplicate values by putting the values into an array.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Object\n * @sig {s: x} -> {x: [ s, ... ]}\n * @param {Object} obj The object or array to invert\n * @return {Object} out A new object with keys in an array.\n * @see R.invertObj\n * @example\n *\n *      var raceResultsByFirstName = {\n *        first: 'alice',\n *        second: 'jake',\n *        third: 'alice',\n *      };\n *      R.invert(raceResultsByFirstName);\n *      //=> { 'alice': ['first', 'third'], 'jake':['second'] }\n */\nvar invert = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function invert(obj) {\n  var props = Object(_keys__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(obj);\n  var len = props.length;\n  var idx = 0;\n  var out = {};\n\n  while (idx < len) {\n    var key = props[idx];\n    var val = obj[key];\n    var list = Object(_internal_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(val, out) ? out[val] : out[val] = [];\n    list[list.length] = key;\n    idx += 1;\n  }\n  return out;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (invert);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/invertObj.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/invertObj.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _keys__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys */ \"./node_modules/ramda/es/keys.js\");\n\n\n\n/**\n * Returns a new object with the keys of the given object as values, and the\n * values of the given object, which are coerced to strings, as keys. Note\n * that the last key found is preferred when handling the same value.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Object\n * @sig {s: x} -> {x: s}\n * @param {Object} obj The object or array to invert\n * @return {Object} out A new object\n * @see R.invert\n * @example\n *\n *      var raceResults = {\n *        first: 'alice',\n *        second: 'jake'\n *      };\n *      R.invertObj(raceResults);\n *      //=> { 'alice': 'first', 'jake':'second' }\n *\n *      // Alternatively:\n *      var raceResults = ['alice', 'jake'];\n *      R.invertObj(raceResults);\n *      //=> { 'alice': '0', 'jake':'1' }\n */\nvar invertObj = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function invertObj(obj) {\n  var props = Object(_keys__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(obj);\n  var len = props.length;\n  var idx = 0;\n  var out = {};\n\n  while (idx < len) {\n    var key = props[idx];\n    out[obj[key]] = key;\n    idx += 1;\n  }\n  return out;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (invertObj);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/invoker.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/invoker.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_isFunction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isFunction */ \"./node_modules/ramda/es/internal/_isFunction.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n/* harmony import */ var _toString__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString */ \"./node_modules/ramda/es/toString.js\");\n\n\n\n\n\n/**\n * Turns a named method with a specified arity into a function that can be\n * called directly supplied with arguments and a target object.\n *\n * The returned function is curried and accepts `arity + 1` parameters where\n * the final parameter is the target object.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig Number -> String -> (a -> b -> ... -> n -> Object -> *)\n * @param {Number} arity Number of arguments the returned function should take\n *        before the target object.\n * @param {String} method Name of the method to call.\n * @return {Function} A new curried function.\n * @see R.construct\n * @example\n *\n *      var sliceFrom = R.invoker(1, 'slice');\n *      sliceFrom(6, 'abcdefghijklm'); //=> 'ghijklm'\n *      var sliceFrom6 = R.invoker(2, 'slice')(6);\n *      sliceFrom6(8, 'abcdefghijklm'); //=> 'gh'\n * @symb R.invoker(0, 'method')(o) = o['method']()\n * @symb R.invoker(1, 'method')(a, o) = o['method'](a)\n * @symb R.invoker(2, 'method')(a, b, o) = o['method'](a, b)\n */\nvar invoker = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function invoker(arity, method) {\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(arity + 1, function () {\n    var target = arguments[arity];\n    if (target != null && Object(_internal_isFunction__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(target[method])) {\n      return target[method].apply(target, Array.prototype.slice.call(arguments, 0, arity));\n    }\n    throw new TypeError(Object(_toString__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(target) + ' does not have a method named \"' + method + '\"');\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (invoker);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/is.js\":\n/*!*************************************!*\\\n  !*** ./node_modules/ramda/es/is.js ***!\n  \\*************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * See if an object (`val`) is an instance of the supplied constructor. This\n * function will check up the inheritance chain, if any.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Type\n * @sig (* -> {*}) -> a -> Boolean\n * @param {Object} ctor A constructor\n * @param {*} val The value to test\n * @return {Boolean}\n * @example\n *\n *      R.is(Object, {}); //=> true\n *      R.is(Number, 1); //=> true\n *      R.is(Object, 1); //=> false\n *      R.is(String, 's'); //=> true\n *      R.is(String, new String('')); //=> true\n *      R.is(Object, new String('')); //=> true\n *      R.is(Object, 's'); //=> false\n *      R.is(Number, {}); //=> false\n */\nvar is = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function is(Ctor, val) {\n  return val != null && val.constructor === Ctor || val instanceof Ctor;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (is);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/isEmpty.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/isEmpty.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./empty */ \"./node_modules/ramda/es/empty.js\");\n/* harmony import */ var _equals__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./equals */ \"./node_modules/ramda/es/equals.js\");\n\n\n\n\n/**\n * Returns `true` if the given value is its type's empty value; `false`\n * otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig a -> Boolean\n * @param {*} x\n * @return {Boolean}\n * @see R.empty\n * @example\n *\n *      R.isEmpty([1, 2, 3]);   //=> false\n *      R.isEmpty([]);          //=> true\n *      R.isEmpty('');          //=> true\n *      R.isEmpty(null);        //=> false\n *      R.isEmpty({});          //=> true\n *      R.isEmpty({length: 0}); //=> false\n */\nvar isEmpty = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function isEmpty(x) {\n  return x != null && Object(_equals__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(x, Object(_empty__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(x));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (isEmpty);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/isNil.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/isNil.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n/**\n * Checks if the input value is `null` or `undefined`.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Type\n * @sig * -> Boolean\n * @param {*} x The value to test.\n * @return {Boolean} `true` if `x` is `undefined` or `null`, otherwise `false`.\n * @example\n *\n *      R.isNil(null); //=> true\n *      R.isNil(undefined); //=> true\n *      R.isNil(0); //=> false\n *      R.isNil([]); //=> false\n */\nvar isNil = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function isNil(x) {\n  return x == null;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (isNil);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/join.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/join.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _invoker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./invoker */ \"./node_modules/ramda/es/invoker.js\");\n\n\n/**\n * Returns a string made by inserting the `separator` between each element and\n * concatenating all the elements into a single string.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig String -> [a] -> String\n * @param {Number|String} separator The string used to separate the elements.\n * @param {Array} xs The elements to join into a string.\n * @return {String} str The string made by concatenating `xs` with `separator`.\n * @see R.split\n * @example\n *\n *      var spacer = R.join(' ');\n *      spacer(['a', 2, 3.4]);   //=> 'a 2 3.4'\n *      R.join('|', [1, 2, 3]);    //=> '1|2|3'\n */\nvar join = /*#__PURE__*/Object(_invoker__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(1, 'join');\n/* harmony default export */ __webpack_exports__[\"default\"] = (join);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/juxt.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/juxt.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _converge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./converge */ \"./node_modules/ramda/es/converge.js\");\n\n\n\n/**\n * juxt applies a list of functions to a list of values.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Function\n * @sig [(a, b, ..., m) -> n] -> ((a, b, ..., m) -> [n])\n * @param {Array} fns An array of functions\n * @return {Function} A function that returns a list of values after applying each of the original `fns` to its parameters.\n * @see R.applySpec\n * @example\n *\n *      var getRange = R.juxt([Math.min, Math.max]);\n *      getRange(3, 4, 9, -3); //=> [-3, 9]\n * @symb R.juxt([f, g, h])(a, b) = [f(a, b), g(a, b), h(a, b)]\n */\nvar juxt = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function juxt(fns) {\n  return Object(_converge__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function () {\n    return Array.prototype.slice.call(arguments, 0);\n  }, fns);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (juxt);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/keys.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/keys.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_has__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has */ \"./node_modules/ramda/es/internal/_has.js\");\n/* harmony import */ var _internal_isArguments__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isArguments */ \"./node_modules/ramda/es/internal/_isArguments.js\");\n\n\n\n\n// cover IE < 9 keys issues\nvar hasEnumBug = ! /*#__PURE__*/{ toString: null }.propertyIsEnumerable('toString');\nvar nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n// Safari bug\nvar hasArgsEnumBug = /*#__PURE__*/function () {\n  'use strict';\n\n  return arguments.propertyIsEnumerable('length');\n}();\n\nvar contains = function contains(list, item) {\n  var idx = 0;\n  while (idx < list.length) {\n    if (list[idx] === item) {\n      return true;\n    }\n    idx += 1;\n  }\n  return false;\n};\n\n/**\n * Returns a list containing the names of all the enumerable own properties of\n * the supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own properties.\n * @see R.keysIn, R.values\n * @example\n *\n *      R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c']\n */\nvar _keys = typeof Object.keys === 'function' && !hasArgsEnumBug ? function keys(obj) {\n  return Object(obj) !== obj ? [] : Object.keys(obj);\n} : function keys(obj) {\n  if (Object(obj) !== obj) {\n    return [];\n  }\n  var prop, nIdx;\n  var ks = [];\n  var checkArgsLength = hasArgsEnumBug && Object(_internal_isArguments__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(obj);\n  for (prop in obj) {\n    if (Object(_internal_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(prop, obj) && (!checkArgsLength || prop !== 'length')) {\n      ks[ks.length] = prop;\n    }\n  }\n  if (hasEnumBug) {\n    nIdx = nonEnumerableProps.length - 1;\n    while (nIdx >= 0) {\n      prop = nonEnumerableProps[nIdx];\n      if (Object(_internal_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(prop, obj) && !contains(ks, prop)) {\n        ks[ks.length] = prop;\n      }\n      nIdx -= 1;\n    }\n  }\n  return ks;\n};\nvar keys = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_keys);\n/* harmony default export */ __webpack_exports__[\"default\"] = (keys);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/keysIn.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/keysIn.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n/**\n * Returns a list containing the names of all the properties of the supplied\n * object, including prototype properties.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own and prototype properties.\n * @see R.keys, R.valuesIn\n * @example\n *\n *      var F = function() { this.x = 'X'; };\n *      F.prototype.y = 'Y';\n *      var f = new F();\n *      R.keysIn(f); //=> ['x', 'y']\n */\nvar keysIn = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function keysIn(obj) {\n  var prop;\n  var ks = [];\n  for (prop in obj) {\n    ks[ks.length] = prop;\n  }\n  return ks;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (keysIn);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/last.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/last.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nth__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./nth */ \"./node_modules/ramda/es/nth.js\");\n\n\n/**\n * Returns the last element of the given list or string.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig [a] -> a | Undefined\n * @sig String -> String\n * @param {*} list\n * @return {*}\n * @see R.init, R.head, R.tail\n * @example\n *\n *      R.last(['fi', 'fo', 'fum']); //=> 'fum'\n *      R.last([]); //=> undefined\n *\n *      R.last('abc'); //=> 'c'\n *      R.last(''); //=> ''\n */\nvar last = /*#__PURE__*/Object(_nth__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(-1);\n/* harmony default export */ __webpack_exports__[\"default\"] = (last);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/lastIndexOf.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/ramda/es/lastIndexOf.js ***!\n  \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_isArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isArray */ \"./node_modules/ramda/es/internal/_isArray.js\");\n/* harmony import */ var _equals__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./equals */ \"./node_modules/ramda/es/equals.js\");\n\n\n\n\n/**\n * Returns the position of the last occurrence of an item in an array, or -1 if\n * the item is not included in the array. [`R.equals`](#equals) is used to\n * determine equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> Number\n * @param {*} target The item to find.\n * @param {Array} xs The array to search in.\n * @return {Number} the index of the target, or -1 if the target is not found.\n * @see R.indexOf\n * @example\n *\n *      R.lastIndexOf(3, [-1,3,3,0,1,2,3,4]); //=> 6\n *      R.lastIndexOf(10, [1,2,3,4]); //=> -1\n */\nvar lastIndexOf = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function lastIndexOf(target, xs) {\n  if (typeof xs.lastIndexOf === 'function' && !Object(_internal_isArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(xs)) {\n    return xs.lastIndexOf(target);\n  } else {\n    var idx = xs.length - 1;\n    while (idx >= 0) {\n      if (Object(_equals__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(xs[idx], target)) {\n        return idx;\n      }\n      idx -= 1;\n    }\n    return -1;\n  }\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (lastIndexOf);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/length.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/length.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_isNumber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isNumber */ \"./node_modules/ramda/es/internal/_isNumber.js\");\n\n\n\n/**\n * Returns the number of elements in the array by returning `list.length`.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig [a] -> Number\n * @param {Array} list The array to inspect.\n * @return {Number} The length of the array.\n * @example\n *\n *      R.length([]); //=> 0\n *      R.length([1, 2, 3]); //=> 3\n */\nvar length = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function length(list) {\n  return list != null && Object(_internal_isNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(list.length) ? list.length : NaN;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (length);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/lens.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/lens.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./map */ \"./node_modules/ramda/es/map.js\");\n\n\n\n/**\n * Returns a lens for the given getter and setter functions. The getter \"gets\"\n * the value of the focus; the setter \"sets\" the value of the focus. The setter\n * should not mutate the data structure.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig (s -> a) -> ((a, s) -> s) -> Lens s a\n * @param {Function} getter\n * @param {Function} setter\n * @return {Lens}\n * @see R.view, R.set, R.over, R.lensIndex, R.lensProp\n * @example\n *\n *      var xLens = R.lens(R.prop('x'), R.assoc('x'));\n *\n *      R.view(xLens, {x: 1, y: 2});            //=> 1\n *      R.set(xLens, 4, {x: 1, y: 2});          //=> {x: 4, y: 2}\n *      R.over(xLens, R.negate, {x: 1, y: 2});  //=> {x: -1, y: 2}\n */\nvar lens = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function lens(getter, setter) {\n  return function (toFunctorFn) {\n    return function (target) {\n      return Object(_map__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (focus) {\n        return setter(focus, target);\n      }, toFunctorFn(getter(target)));\n    };\n  };\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (lens);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/lensIndex.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/lensIndex.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _lens__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lens */ \"./node_modules/ramda/es/lens.js\");\n/* harmony import */ var _nth__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./nth */ \"./node_modules/ramda/es/nth.js\");\n/* harmony import */ var _update__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./update */ \"./node_modules/ramda/es/update.js\");\n\n\n\n\n\n/**\n * Returns a lens whose focus is the specified index.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Number -> Lens s a\n * @param {Number} n\n * @return {Lens}\n * @see R.view, R.set, R.over\n * @example\n *\n *      var headLens = R.lensIndex(0);\n *\n *      R.view(headLens, ['a', 'b', 'c']);            //=> 'a'\n *      R.set(headLens, 'x', ['a', 'b', 'c']);        //=> ['x', 'b', 'c']\n *      R.over(headLens, R.toUpper, ['a', 'b', 'c']); //=> ['A', 'b', 'c']\n */\nvar lensIndex = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function lensIndex(n) {\n  return Object(_lens__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_nth__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(n), Object(_update__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(n));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (lensIndex);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/lensPath.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/lensPath.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _assocPath__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assocPath */ \"./node_modules/ramda/es/assocPath.js\");\n/* harmony import */ var _lens__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lens */ \"./node_modules/ramda/es/lens.js\");\n/* harmony import */ var _path__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./path */ \"./node_modules/ramda/es/path.js\");\n\n\n\n\n\n/**\n * Returns a lens whose focus is the specified path.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @typedefn Idx = String | Int\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig [Idx] -> Lens s a\n * @param {Array} path The path to use.\n * @return {Lens}\n * @see R.view, R.set, R.over\n * @example\n *\n *      var xHeadYLens = R.lensPath(['x', 0, 'y']);\n *\n *      R.view(xHeadYLens, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n *      //=> 2\n *      R.set(xHeadYLens, 1, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n *      //=> {x: [{y: 1, z: 3}, {y: 4, z: 5}]}\n *      R.over(xHeadYLens, R.negate, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n *      //=> {x: [{y: -2, z: 3}, {y: 4, z: 5}]}\n */\nvar lensPath = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function lensPath(p) {\n  return Object(_lens__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_path__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(p), Object(_assocPath__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(p));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (lensPath);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/lensProp.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/lensProp.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _assoc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assoc */ \"./node_modules/ramda/es/assoc.js\");\n/* harmony import */ var _lens__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lens */ \"./node_modules/ramda/es/lens.js\");\n/* harmony import */ var _prop__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./prop */ \"./node_modules/ramda/es/prop.js\");\n\n\n\n\n\n/**\n * Returns a lens whose focus is the specified property.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig String -> Lens s a\n * @param {String} k\n * @return {Lens}\n * @see R.view, R.set, R.over\n * @example\n *\n *      var xLens = R.lensProp('x');\n *\n *      R.view(xLens, {x: 1, y: 2});            //=> 1\n *      R.set(xLens, 4, {x: 1, y: 2});          //=> {x: 4, y: 2}\n *      R.over(xLens, R.negate, {x: 1, y: 2});  //=> {x: -1, y: 2}\n */\nvar lensProp = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function lensProp(k) {\n  return Object(_lens__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_prop__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(k), Object(_assoc__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(k));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (lensProp);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/lift.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/lift.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _liftN__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./liftN */ \"./node_modules/ramda/es/liftN.js\");\n\n\n\n/**\n * \"lifts\" a function of arity > 1 so that it may \"map over\" a list, Function or other\n * object that satisfies the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply).\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Function\n * @sig (*... -> *) -> ([*]... -> [*])\n * @param {Function} fn The function to lift into higher context\n * @return {Function} The lifted function.\n * @see R.liftN\n * @example\n *\n *      var madd3 = R.lift((a, b, c) => a + b + c);\n *\n *      madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7]\n *\n *      var madd5 = R.lift((a, b, c, d, e) => a + b + c + d + e);\n *\n *      madd5([1,2], [3], [4, 5], [6], [7, 8]); //=> [21, 22, 22, 23, 22, 23, 23, 24]\n */\nvar lift = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function lift(fn) {\n  return Object(_liftN__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fn.length, fn);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (lift);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/liftN.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/liftN.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_reduce__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_reduce */ \"./node_modules/ramda/es/internal/_reduce.js\");\n/* harmony import */ var _ap__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ap */ \"./node_modules/ramda/es/ap.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./map */ \"./node_modules/ramda/es/map.js\");\n\n\n\n\n\n\n/**\n * \"lifts\" a function to be the specified arity, so that it may \"map over\" that\n * many lists, Functions or other objects that satisfy the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply).\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Function\n * @sig Number -> (*... -> *) -> ([*]... -> [*])\n * @param {Function} fn The function to lift into higher context\n * @return {Function} The lifted function.\n * @see R.lift, R.ap\n * @example\n *\n *      var madd3 = R.liftN(3, (...args) => R.sum(args));\n *      madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7]\n */\nvar liftN = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function liftN(arity, fn) {\n  var lifted = Object(_curryN__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(arity, fn);\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(arity, function () {\n    return Object(_internal_reduce__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_ap__WEBPACK_IMPORTED_MODULE_2__[\"default\"], Object(_map__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(lifted, arguments[0]), Array.prototype.slice.call(arguments, 1));\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (liftN);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/lt.js\":\n/*!*************************************!*\\\n  !*** ./node_modules/ramda/es/lt.js ***!\n  \\*************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns `true` if the first argument is less than the second; `false`\n * otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @see R.gt\n * @example\n *\n *      R.lt(2, 1); //=> false\n *      R.lt(2, 2); //=> false\n *      R.lt(2, 3); //=> true\n *      R.lt('a', 'z'); //=> true\n *      R.lt('z', 'a'); //=> false\n */\nvar lt = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function lt(a, b) {\n  return a < b;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (lt);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/lte.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/lte.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns `true` if the first argument is less than or equal to the second;\n * `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> Boolean\n * @param {Number} a\n * @param {Number} b\n * @return {Boolean}\n * @see R.gte\n * @example\n *\n *      R.lte(2, 1); //=> false\n *      R.lte(2, 2); //=> true\n *      R.lte(2, 3); //=> true\n *      R.lte('a', 'z'); //=> true\n *      R.lte('z', 'a'); //=> false\n */\nvar lte = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function lte(a, b) {\n  return a <= b;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (lte);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/map.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/map.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_map */ \"./node_modules/ramda/es/internal/_map.js\");\n/* harmony import */ var _internal_reduce__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_reduce */ \"./node_modules/ramda/es/internal/_reduce.js\");\n/* harmony import */ var _internal_xmap__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./internal/_xmap */ \"./node_modules/ramda/es/internal/_xmap.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n/* harmony import */ var _keys__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./keys */ \"./node_modules/ramda/es/keys.js\");\n\n\n\n\n\n\n\n\n/**\n * Takes a function and\n * a [functor](https://github.com/fantasyland/fantasy-land#functor),\n * applies the function to each of the functor's values, and returns\n * a functor of the same shape.\n *\n * Ramda provides suitable `map` implementations for `Array` and `Object`,\n * so this function may be applied to `[1, 2, 3]` or `{x: 1, y: 2, z: 3}`.\n *\n * Dispatches to the `map` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * Also treats functions as functors and will compose them together.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => (a -> b) -> f a -> f b\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {Array} list The list to be iterated over.\n * @return {Array} The new list.\n * @see R.transduce, R.addIndex\n * @example\n *\n *      var double = x => x * 2;\n *\n *      R.map(double, [1, 2, 3]); //=> [2, 4, 6]\n *\n *      R.map(double, {x: 1, y: 2, z: 3}); //=> {x: 2, y: 4, z: 6}\n * @symb R.map(f, [a, b]) = [f(a), f(b)]\n * @symb R.map(f, { x: a, y: b }) = { x: f(a), y: f(b) }\n * @symb R.map(f, functor_o) = functor_o.map(f)\n */\nvar map = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(['fantasy-land/map', 'map'], _internal_xmap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], function map(fn, functor) {\n  switch (Object.prototype.toString.call(functor)) {\n    case '[object Function]':\n      return Object(_curryN__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(functor.length, function () {\n        return fn.call(this, functor.apply(this, arguments));\n      });\n    case '[object Object]':\n      return Object(_internal_reduce__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(function (acc, key) {\n        acc[key] = fn(functor[key]);\n        return acc;\n      }, {}, Object(_keys__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(functor));\n    default:\n      return Object(_internal_map__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(fn, functor);\n  }\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (map);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/mapAccum.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/mapAccum.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * The `mapAccum` function behaves like a combination of map and reduce; it\n * applies a function to each element of a list, passing an accumulating\n * parameter from left to right, and returning a final value of this\n * accumulator together with the new list.\n *\n * The iterator function receives two arguments, *acc* and *value*, and should\n * return a tuple *[acc, value]*.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig ((acc, x) -> (acc, y)) -> acc -> [x] -> (acc, [y])\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.addIndex, R.mapAccumRight\n * @example\n *\n *      var digits = ['1', '2', '3', '4'];\n *      var appender = (a, b) => [a + b, a + b];\n *\n *      R.mapAccum(appender, 0, digits); //=> ['01234', ['01', '012', '0123', '01234']]\n * @symb R.mapAccum(f, a, [b, c, d]) = [\n *   f(f(f(a, b)[0], c)[0], d)[0],\n *   [\n *     f(a, b)[1],\n *     f(f(a, b)[0], c)[1],\n *     f(f(f(a, b)[0], c)[0], d)[1]\n *   ]\n * ]\n */\nvar mapAccum = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function mapAccum(fn, acc, list) {\n  var idx = 0;\n  var len = list.length;\n  var result = [];\n  var tuple = [acc];\n  while (idx < len) {\n    tuple = fn(tuple[0], list[idx]);\n    result[idx] = tuple[1];\n    idx += 1;\n  }\n  return [tuple[0], result];\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (mapAccum);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/mapAccumRight.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/ramda/es/mapAccumRight.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * The `mapAccumRight` function behaves like a combination of map and reduce; it\n * applies a function to each element of a list, passing an accumulating\n * parameter from right to left, and returning a final value of this\n * accumulator together with the new list.\n *\n * Similar to [`mapAccum`](#mapAccum), except moves through the input list from\n * the right to the left.\n *\n * The iterator function receives two arguments, *value* and *acc*, and should\n * return a tuple *[value, acc]*.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig ((x, acc) -> (y, acc)) -> acc -> [x] -> ([y], acc)\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.addIndex, R.mapAccum\n * @example\n *\n *      var digits = ['1', '2', '3', '4'];\n *      var append = (a, b) => [a + b, a + b];\n *\n *      R.mapAccumRight(append, 5, digits); //=> [['12345', '2345', '345', '45'], '12345']\n * @symb R.mapAccumRight(f, a, [b, c, d]) = [\n *   [\n *     f(b, f(c, f(d, a)[0])[0])[1],\n *     f(c, f(d, a)[0])[1],\n *     f(d, a)[1],\n *   ]\n *   f(b, f(c, f(d, a)[0])[0])[0],\n * ]\n */\nvar mapAccumRight = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function mapAccumRight(fn, acc, list) {\n  var idx = list.length - 1;\n  var result = [];\n  var tuple = [acc];\n  while (idx >= 0) {\n    tuple = fn(list[idx], tuple[0]);\n    result[idx] = tuple[1];\n    idx -= 1;\n  }\n  return [result, tuple[0]];\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (mapAccumRight);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/mapObjIndexed.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/ramda/es/mapObjIndexed.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_reduce__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_reduce */ \"./node_modules/ramda/es/internal/_reduce.js\");\n/* harmony import */ var _keys__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keys */ \"./node_modules/ramda/es/keys.js\");\n\n\n\n\n/**\n * An Object-specific version of [`map`](#map). The function is applied to three\n * arguments: *(value, key, obj)*. If only the value is significant, use\n * [`map`](#map) instead.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Object\n * @sig ((*, String, Object) -> *) -> Object -> Object\n * @param {Function} fn\n * @param {Object} obj\n * @return {Object}\n * @see R.map\n * @example\n *\n *      var values = { x: 1, y: 2, z: 3 };\n *      var prependKeyAndDouble = (num, key, obj) => key + (num * 2);\n *\n *      R.mapObjIndexed(prependKeyAndDouble, values); //=> { x: 'x2', y: 'y4', z: 'z6' }\n */\nvar mapObjIndexed = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function mapObjIndexed(fn, obj) {\n  return Object(_internal_reduce__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (acc, key) {\n    acc[key] = fn(obj[key], key, obj);\n    return acc;\n  }, {}, Object(_keys__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(obj));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (mapObjIndexed);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/match.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/match.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Tests a regular expression against a String. Note that this function will\n * return an empty array when there are no matches. This differs from\n * [`String.prototype.match`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match)\n * which returns `null` when there are no matches.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category String\n * @sig RegExp -> String -> [String | Undefined]\n * @param {RegExp} rx A regular expression.\n * @param {String} str The string to match against\n * @return {Array} The list of matches or empty array.\n * @see R.test\n * @example\n *\n *      R.match(/([a-z]a)/g, 'bananas'); //=> ['ba', 'na', 'na']\n *      R.match(/a/, 'b'); //=> []\n *      R.match(/a/, null); //=> TypeError: null does not have a method named \"match\"\n */\nvar match = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function match(rx, str) {\n  return str.match(rx) || [];\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (match);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/mathMod.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/mathMod.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_isInteger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isInteger */ \"./node_modules/ramda/es/internal/_isInteger.js\");\n\n\n\n/**\n * `mathMod` behaves like the modulo operator should mathematically, unlike the\n * `%` operator (and by extension, [`R.modulo`](#modulo)). So while\n * `-17 % 5` is `-2`, `mathMod(-17, 5)` is `3`. `mathMod` requires Integer\n * arguments, and returns NaN when the modulus is zero or negative.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} m The dividend.\n * @param {Number} p the modulus.\n * @return {Number} The result of `b mod a`.\n * @see R.modulo\n * @example\n *\n *      R.mathMod(-17, 5);  //=> 3\n *      R.mathMod(17, 5);   //=> 2\n *      R.mathMod(17, -5);  //=> NaN\n *      R.mathMod(17, 0);   //=> NaN\n *      R.mathMod(17.2, 5); //=> NaN\n *      R.mathMod(17, 5.3); //=> NaN\n *\n *      var clock = R.mathMod(R.__, 12);\n *      clock(15); //=> 3\n *      clock(24); //=> 0\n *\n *      var seventeenMod = R.mathMod(17);\n *      seventeenMod(3);  //=> 2\n *      seventeenMod(4);  //=> 1\n *      seventeenMod(10); //=> 7\n */\nvar mathMod = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function mathMod(m, p) {\n  if (!Object(_internal_isInteger__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(m)) {\n    return NaN;\n  }\n  if (!Object(_internal_isInteger__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(p) || p < 1) {\n    return NaN;\n  }\n  return (m % p + p) % p;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (mathMod);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/max.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/max.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns the larger of its two arguments.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> a\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.maxBy, R.min\n * @example\n *\n *      R.max(789, 123); //=> 789\n *      R.max('a', 'b'); //=> 'b'\n */\nvar max = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function max(a, b) {\n  return b > a ? b : a;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (max);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/maxBy.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/maxBy.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Takes a function and two values, and returns whichever value produces the\n * larger result when passed to the provided function.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Relation\n * @sig Ord b => (a -> b) -> a -> a -> a\n * @param {Function} f\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.max, R.minBy\n * @example\n *\n *      //  square :: Number -> Number\n *      var square = n => n * n;\n *\n *      R.maxBy(square, -3, 2); //=> -3\n *\n *      R.reduce(R.maxBy(square), 0, [3, -5, 4, 1, -2]); //=> -5\n *      R.reduce(R.maxBy(square), 0, []); //=> 0\n */\nvar maxBy = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function maxBy(f, a, b) {\n  return f(b) > f(a) ? b : a;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (maxBy);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/mean.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/mean.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _sum__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./sum */ \"./node_modules/ramda/es/sum.js\");\n\n\n\n/**\n * Returns the mean of the given list of numbers.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Math\n * @sig [Number] -> Number\n * @param {Array} list\n * @return {Number}\n * @see R.median\n * @example\n *\n *      R.mean([2, 7, 9]); //=> 6\n *      R.mean([]); //=> NaN\n */\nvar mean = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function mean(list) {\n  return Object(_sum__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(list) / list.length;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (mean);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/median.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/median.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _mean__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mean */ \"./node_modules/ramda/es/mean.js\");\n\n\n\n/**\n * Returns the median of the given list of numbers.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Math\n * @sig [Number] -> Number\n * @param {Array} list\n * @return {Number}\n * @see R.mean\n * @example\n *\n *      R.median([2, 9, 7]); //=> 7\n *      R.median([7, 2, 10, 9]); //=> 8\n *      R.median([]); //=> NaN\n */\nvar median = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function median(list) {\n  var len = list.length;\n  if (len === 0) {\n    return NaN;\n  }\n  var width = 2 - len % 2;\n  var idx = (len - width) / 2;\n  return Object(_mean__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Array.prototype.slice.call(list, 0).sort(function (a, b) {\n    return a < b ? -1 : a > b ? 1 : 0;\n  }).slice(idx, idx + width));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (median);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/memoize.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/memoize.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _memoizeWith__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./memoizeWith */ \"./node_modules/ramda/es/memoizeWith.js\");\n/* harmony import */ var _toString__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toString */ \"./node_modules/ramda/es/toString.js\");\n\n\n\n/**\n * Creates a new function that, when invoked, caches the result of calling `fn`\n * for a given argument set and returns the result. Subsequent calls to the\n * memoized `fn` with the same argument set will not result in an additional\n * call to `fn`; instead, the cached result for that set of arguments will be\n * returned.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (*... -> a) -> (*... -> a)\n * @param {Function} fn The function to memoize.\n * @return {Function} Memoized version of `fn`.\n * @see R.memoizeWith\n * @deprecated since v0.25.0\n * @example\n *\n *      let count = 0;\n *      const factorial = R.memoize(n => {\n *        count += 1;\n *        return R.product(R.range(1, n + 1));\n *      });\n *      factorial(5); //=> 120\n *      factorial(5); //=> 120\n *      factorial(5); //=> 120\n *      count; //=> 1\n */\nvar memoize = /*#__PURE__*/Object(_memoizeWith__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function () {\n  return Object(_toString__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(arguments);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (memoize);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/memoizeWith.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/ramda/es/memoizeWith.js ***!\n  \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_arity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity */ \"./node_modules/ramda/es/internal/_arity.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_has__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_has */ \"./node_modules/ramda/es/internal/_has.js\");\n\n\n\n\n/**\n * A customisable version of [`R.memoize`](#memoize). `memoizeWith` takes an\n * additional function that will be applied to a given argument set and used to\n * create the cache key under which the results of the function to be memoized\n * will be stored. Care must be taken when implementing key generation to avoid\n * clashes that may overwrite previous entries erroneously.\n *\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Function\n * @sig (*... -> String) -> (*... -> a) -> (*... -> a)\n * @param {Function} fn The function to generate the cache key.\n * @param {Function} fn The function to memoize.\n * @return {Function} Memoized version of `fn`.\n * @see R.memoize\n * @example\n *\n *      let count = 0;\n *      const factorial = R.memoizeWith(R.identity, n => {\n *        count += 1;\n *        return R.product(R.range(1, n + 1));\n *      });\n *      factorial(5); //=> 120\n *      factorial(5); //=> 120\n *      factorial(5); //=> 120\n *      count; //=> 1\n */\nvar memoizeWith = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function memoizeWith(mFn, fn) {\n  var cache = {};\n  return Object(_internal_arity__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fn.length, function () {\n    var key = mFn.apply(this, arguments);\n    if (!Object(_internal_has__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(key, cache)) {\n      cache[key] = fn.apply(this, arguments);\n    }\n    return cache[key];\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (memoizeWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/merge.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/merge.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_assign__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_assign */ \"./node_modules/ramda/es/internal/_assign.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n\n/**\n * Create a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects,\n * the value from the second object will be used.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> {k: v} -> {k: v}\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeDeepRight, R.mergeWith, R.mergeWithKey\n * @example\n *\n *      R.merge({ 'name': 'fred', 'age': 10 }, { 'age': 40 });\n *      //=> { 'name': 'fred', 'age': 40 }\n *\n *      var resetToDefault = R.merge(R.__, {x: 0});\n *      resetToDefault({x: 5, y: 2}); //=> {x: 0, y: 2}\n * @symb R.merge({ x: 1, y: 2 }, { y: 5, z: 3 }) = { x: 1, y: 5, z: 3 }\n */\nvar merge = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function merge(l, r) {\n  return Object(_internal_assign__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, l, r);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (merge);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/mergeAll.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/mergeAll.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_assign__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_assign */ \"./node_modules/ramda/es/internal/_assign.js\");\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n\n/**\n * Merges a list of objects together into one object.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig [{k: v}] -> {k: v}\n * @param {Array} list An array of objects\n * @return {Object} A merged object.\n * @see R.reduce\n * @example\n *\n *      R.mergeAll([{foo:1},{bar:2},{baz:3}]); //=> {foo:1,bar:2,baz:3}\n *      R.mergeAll([{foo:1},{foo:2},{bar:2}]); //=> {foo:2,bar:2}\n * @symb R.mergeAll([{ x: 1 }, { y: 2 }, { z: 3 }]) = { x: 1, y: 2, z: 3 }\n */\nvar mergeAll = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function mergeAll(list) {\n  return _internal_assign__WEBPACK_IMPORTED_MODULE_0__[\"default\"].apply(null, [{}].concat(list));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (mergeAll);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/mergeDeepLeft.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/ramda/es/mergeDeepLeft.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _mergeDeepWithKey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mergeDeepWithKey */ \"./node_modules/ramda/es/mergeDeepWithKey.js\");\n\n\n\n/**\n * Creates a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects:\n * - and both values are objects, the two values will be recursively merged\n * - otherwise the value from the first object will be used.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig {a} -> {a} -> {a}\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.merge, R.mergeDeepRight, R.mergeDeepWith, R.mergeDeepWithKey\n * @example\n *\n *      R.mergeDeepLeft({ name: 'fred', age: 10, contact: { email: 'moo@example.com' }},\n *                      { age: 40, contact: { email: 'baa@example.com' }});\n *      //=> { name: 'fred', age: 10, contact: { email: 'moo@example.com' }}\n */\nvar mergeDeepLeft = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function mergeDeepLeft(lObj, rObj) {\n  return Object(_mergeDeepWithKey__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (k, lVal, rVal) {\n    return lVal;\n  }, lObj, rObj);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (mergeDeepLeft);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/mergeDeepRight.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/ramda/es/mergeDeepRight.js ***!\n  \\*************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _mergeDeepWithKey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mergeDeepWithKey */ \"./node_modules/ramda/es/mergeDeepWithKey.js\");\n\n\n\n/**\n * Creates a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects:\n * - and both values are objects, the two values will be recursively merged\n * - otherwise the value from the second object will be used.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig {a} -> {a} -> {a}\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.merge, R.mergeDeepLeft, R.mergeDeepWith, R.mergeDeepWithKey\n * @example\n *\n *      R.mergeDeepRight({ name: 'fred', age: 10, contact: { email: 'moo@example.com' }},\n *                       { age: 40, contact: { email: 'baa@example.com' }});\n *      //=> { name: 'fred', age: 40, contact: { email: 'baa@example.com' }}\n */\nvar mergeDeepRight = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function mergeDeepRight(lObj, rObj) {\n  return Object(_mergeDeepWithKey__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (k, lVal, rVal) {\n    return rVal;\n  }, lObj, rObj);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (mergeDeepRight);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/mergeDeepWith.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/ramda/es/mergeDeepWith.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _mergeDeepWithKey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mergeDeepWithKey */ \"./node_modules/ramda/es/mergeDeepWithKey.js\");\n\n\n\n/**\n * Creates a new object with the own properties of the two provided objects.\n * If a key exists in both objects:\n * - and both associated values are also objects then the values will be\n *   recursively merged.\n * - otherwise the provided function is applied to associated values using the\n *   resulting value as the new value associated with the key.\n * If a key only exists in one object, the value will be associated with the key\n * of the resulting object.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig ((a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.mergeWith, R.mergeDeep, R.mergeDeepWithKey\n * @example\n *\n *      R.mergeDeepWith(R.concat,\n *                      { a: true, c: { values: [10, 20] }},\n *                      { b: true, c: { values: [15, 35] }});\n *      //=> { a: true, b: true, c: { values: [10, 20, 15, 35] }}\n */\nvar mergeDeepWith = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function mergeDeepWith(fn, lObj, rObj) {\n  return Object(_mergeDeepWithKey__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (k, lVal, rVal) {\n    return fn(lVal, rVal);\n  }, lObj, rObj);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (mergeDeepWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/mergeDeepWithKey.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/ramda/es/mergeDeepWithKey.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _internal_isObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isObject */ \"./node_modules/ramda/es/internal/_isObject.js\");\n/* harmony import */ var _mergeWithKey__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mergeWithKey */ \"./node_modules/ramda/es/mergeWithKey.js\");\n\n\n\n\n/**\n * Creates a new object with the own properties of the two provided objects.\n * If a key exists in both objects:\n * - and both associated values are also objects then the values will be\n *   recursively merged.\n * - otherwise the provided function is applied to the key and associated values\n *   using the resulting value as the new value associated with the key.\n * If a key only exists in one object, the value will be associated with the key\n * of the resulting object.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.mergeWithKey, R.mergeDeep, R.mergeDeepWith\n * @example\n *\n *      let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r\n *      R.mergeDeepWithKey(concatValues,\n *                         { a: true, c: { thing: 'foo', values: [10, 20] }},\n *                         { b: true, c: { thing: 'bar', values: [15, 35] }});\n *      //=> { a: true, b: true, c: { thing: 'bar', values: [10, 20, 15, 35] }}\n */\nvar mergeDeepWithKey = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function mergeDeepWithKey(fn, lObj, rObj) {\n  return Object(_mergeWithKey__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function (k, lVal, rVal) {\n    if (Object(_internal_isObject__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(lVal) && Object(_internal_isObject__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(rVal)) {\n      return mergeDeepWithKey(fn, lVal, rVal);\n    } else {\n      return fn(k, lVal, rVal);\n    }\n  }, lObj, rObj);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (mergeDeepWithKey);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/mergeWith.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/mergeWith.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _mergeWithKey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mergeWithKey */ \"./node_modules/ramda/es/mergeWithKey.js\");\n\n\n\n/**\n * Creates a new object with the own properties of the two provided objects. If\n * a key exists in both objects, the provided function is applied to the values\n * associated with the key in each object, with the result being used as the\n * value associated with the key in the returned object.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @sig ((a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeDeepWith, R.merge, R.mergeWithKey\n * @example\n *\n *      R.mergeWith(R.concat,\n *                  { a: true, values: [10, 20] },\n *                  { b: true, values: [15, 35] });\n *      //=> { a: true, b: true, values: [10, 20, 15, 35] }\n */\nvar mergeWith = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function mergeWith(fn, l, r) {\n  return Object(_mergeWithKey__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (_, _l, _r) {\n    return fn(_l, _r);\n  }, l, r);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (mergeWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/mergeWithKey.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/ramda/es/mergeWithKey.js ***!\n  \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _internal_has__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has */ \"./node_modules/ramda/es/internal/_has.js\");\n\n\n\n/**\n * Creates a new object with the own properties of the two provided objects. If\n * a key exists in both objects, the provided function is applied to the key\n * and the values associated with the key in each object, with the result being\n * used as the value associated with the key in the returned object.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeDeepWithKey, R.merge, R.mergeWith\n * @example\n *\n *      let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r\n *      R.mergeWithKey(concatValues,\n *                     { a: true, thing: 'foo', values: [10, 20] },\n *                     { b: true, thing: 'bar', values: [15, 35] });\n *      //=> { a: true, b: true, thing: 'bar', values: [10, 20, 15, 35] }\n * @symb R.mergeWithKey(f, { x: 1, y: 2 }, { y: 5, z: 3 }) = { x: 1, y: f('y', 2, 5), z: 3 }\n */\nvar mergeWithKey = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function mergeWithKey(fn, l, r) {\n  var result = {};\n  var k;\n\n  for (k in l) {\n    if (Object(_internal_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(k, l)) {\n      result[k] = Object(_internal_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(k, r) ? fn(k, l[k], r[k]) : l[k];\n    }\n  }\n\n  for (k in r) {\n    if (Object(_internal_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(k, r) && !Object(_internal_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(k, result)) {\n      result[k] = r[k];\n    }\n  }\n\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (mergeWithKey);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/min.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/min.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns the smaller of its two arguments.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> a\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.minBy, R.max\n * @example\n *\n *      R.min(789, 123); //=> 123\n *      R.min('a', 'b'); //=> 'a'\n */\nvar min = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function min(a, b) {\n  return b < a ? b : a;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (min);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/minBy.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/minBy.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Takes a function and two values, and returns whichever value produces the\n * smaller result when passed to the provided function.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Relation\n * @sig Ord b => (a -> b) -> a -> a -> a\n * @param {Function} f\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.min, R.maxBy\n * @example\n *\n *      //  square :: Number -> Number\n *      var square = n => n * n;\n *\n *      R.minBy(square, -3, 2); //=> 2\n *\n *      R.reduce(R.minBy(square), Infinity, [3, -5, 4, 1, -2]); //=> 1\n *      R.reduce(R.minBy(square), Infinity, []); //=> Infinity\n */\nvar minBy = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function minBy(f, a, b) {\n  return f(b) < f(a) ? b : a;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (minBy);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/modulo.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/modulo.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Divides the first parameter by the second and returns the remainder. Note\n * that this function preserves the JavaScript-style behavior for modulo. For\n * mathematical modulo see [`mathMod`](#mathMod).\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a The value to the divide.\n * @param {Number} b The pseudo-modulus\n * @return {Number} The result of `b % a`.\n * @see R.mathMod\n * @example\n *\n *      R.modulo(17, 3); //=> 2\n *      // JS behavior:\n *      R.modulo(-17, 3); //=> -2\n *      R.modulo(17, -3); //=> 2\n *\n *      var isOdd = R.modulo(R.__, 2);\n *      isOdd(42); //=> 0\n *      isOdd(21); //=> 1\n */\nvar modulo = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function modulo(a, b) {\n  return a % b;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (modulo);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/multiply.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/multiply.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Multiplies two numbers. Equivalent to `a * b` but curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a The first value.\n * @param {Number} b The second value.\n * @return {Number} The result of `a * b`.\n * @see R.divide\n * @example\n *\n *      var double = R.multiply(2);\n *      var triple = R.multiply(3);\n *      double(3);       //=>  6\n *      triple(4);       //=> 12\n *      R.multiply(2, 5);  //=> 10\n */\nvar multiply = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function multiply(a, b) {\n  return a * b;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (multiply);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/nAry.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/nAry.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Wraps a function of any arity (including nullary) in a function that accepts\n * exactly `n` parameters. Any extraneous parameters will not be passed to the\n * supplied function.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} n The desired arity of the new function.\n * @param {Function} fn The function to wrap.\n * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of\n *         arity `n`.\n * @see R.binary, R.unary\n * @example\n *\n *      var takesTwoArgs = (a, b) => [a, b];\n *\n *      takesTwoArgs.length; //=> 2\n *      takesTwoArgs(1, 2); //=> [1, 2]\n *\n *      var takesOneArg = R.nAry(1, takesTwoArgs);\n *      takesOneArg.length; //=> 1\n *      // Only `n` arguments are passed to the wrapped function\n *      takesOneArg(1, 2); //=> [1, undefined]\n * @symb R.nAry(0, f)(a, b) = f()\n * @symb R.nAry(1, f)(a, b) = f(a)\n * @symb R.nAry(2, f)(a, b) = f(a, b)\n */\nvar nAry = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function nAry(n, fn) {\n  switch (n) {\n    case 0:\n      return function () {\n        return fn.call(this);\n      };\n    case 1:\n      return function (a0) {\n        return fn.call(this, a0);\n      };\n    case 2:\n      return function (a0, a1) {\n        return fn.call(this, a0, a1);\n      };\n    case 3:\n      return function (a0, a1, a2) {\n        return fn.call(this, a0, a1, a2);\n      };\n    case 4:\n      return function (a0, a1, a2, a3) {\n        return fn.call(this, a0, a1, a2, a3);\n      };\n    case 5:\n      return function (a0, a1, a2, a3, a4) {\n        return fn.call(this, a0, a1, a2, a3, a4);\n      };\n    case 6:\n      return function (a0, a1, a2, a3, a4, a5) {\n        return fn.call(this, a0, a1, a2, a3, a4, a5);\n      };\n    case 7:\n      return function (a0, a1, a2, a3, a4, a5, a6) {\n        return fn.call(this, a0, a1, a2, a3, a4, a5, a6);\n      };\n    case 8:\n      return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n        return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7);\n      };\n    case 9:\n      return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n        return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8);\n      };\n    case 10:\n      return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n        return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n      };\n    default:\n      throw new Error('First argument to nAry must be a non-negative integer no greater than ten');\n  }\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (nAry);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/negate.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/negate.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n/**\n * Negates its argument.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Math\n * @sig Number -> Number\n * @param {Number} n\n * @return {Number}\n * @example\n *\n *      R.negate(42); //=> -42\n */\nvar negate = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function negate(n) {\n  return -n;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (negate);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/none.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/none.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_complement__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_complement */ \"./node_modules/ramda/es/internal/_complement.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xany__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_xany */ \"./node_modules/ramda/es/internal/_xany.js\");\n/* harmony import */ var _any__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./any */ \"./node_modules/ramda/es/any.js\");\n\n\n\n\n\n\n/**\n * Returns `true` if no elements of the list match the predicate, `false`\n * otherwise.\n *\n * Dispatches to the `any` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> Boolean\n * @param {Function} fn The predicate function.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if the predicate is not satisfied by every element, `false` otherwise.\n * @see R.all, R.any\n * @example\n *\n *      var isEven = n => n % 2 === 0;\n *      var isOdd = n => n % 2 === 1;\n *\n *      R.none(isEven, [1, 3, 5, 7, 9, 11]); //=> true\n *      R.none(isOdd, [1, 3, 5, 7, 8, 11]); //=> false\n */\nvar none = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/Object(_internal_complement__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(['any'], _internal_xany__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _any__WEBPACK_IMPORTED_MODULE_4__[\"default\"])));\n/* harmony default export */ __webpack_exports__[\"default\"] = (none);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/not.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/not.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n/**\n * A function that returns the `!` of its argument. It will return `true` when\n * passed false-y value, and `false` when passed a truth-y one.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig * -> Boolean\n * @param {*} a any value\n * @return {Boolean} the logical inverse of passed argument.\n * @see R.complement\n * @example\n *\n *      R.not(true); //=> false\n *      R.not(false); //=> true\n *      R.not(0); //=> true\n *      R.not(1); //=> false\n */\nvar not = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function not(a) {\n  return !a;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (not);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/nth.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/nth.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_isString__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isString */ \"./node_modules/ramda/es/internal/_isString.js\");\n\n\n\n/**\n * Returns the nth element of the given list or string. If n is negative the\n * element at index length + n is returned.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> a | Undefined\n * @sig Number -> String -> String\n * @param {Number} offset\n * @param {*} list\n * @return {*}\n * @example\n *\n *      var list = ['foo', 'bar', 'baz', 'quux'];\n *      R.nth(1, list); //=> 'bar'\n *      R.nth(-1, list); //=> 'quux'\n *      R.nth(-99, list); //=> undefined\n *\n *      R.nth(2, 'abc'); //=> 'c'\n *      R.nth(3, 'abc'); //=> ''\n * @symb R.nth(-1, [a, b, c]) = c\n * @symb R.nth(0, [a, b, c]) = a\n * @symb R.nth(1, [a, b, c]) = b\n */\nvar nth = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function nth(offset, list) {\n  var idx = offset < 0 ? list.length + offset : offset;\n  return Object(_internal_isString__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(list) ? list.charAt(idx) : list[idx];\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (nth);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/nthArg.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/nthArg.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n/* harmony import */ var _nth__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./nth */ \"./node_modules/ramda/es/nth.js\");\n\n\n\n\n/**\n * Returns a function which returns its nth argument.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Function\n * @sig Number -> *... -> *\n * @param {Number} n\n * @return {Function}\n * @example\n *\n *      R.nthArg(1)('a', 'b', 'c'); //=> 'b'\n *      R.nthArg(-1)('a', 'b', 'c'); //=> 'c'\n * @symb R.nthArg(-1)(a, b, c) = c\n * @symb R.nthArg(0)(a, b, c) = a\n * @symb R.nthArg(1)(a, b, c) = b\n */\nvar nthArg = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function nthArg(n) {\n  var arity = n < 0 ? 1 : n + 1;\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(arity, function () {\n    return Object(_nth__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(n, arguments);\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (nthArg);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/o.js\":\n/*!************************************!*\\\n  !*** ./node_modules/ramda/es/o.js ***!\n  \\************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * `o` is a curried composition function that returns a unary function.\n * Like [`compose`](#compose), `o` performs right-to-left function composition.\n * Unlike [`compose`](#compose), the rightmost function passed to `o` will be\n * invoked with only one argument.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Function\n * @sig (b -> c) -> (a -> b) -> a -> c\n * @param {Function} f\n * @param {Function} g\n * @return {Function}\n * @see R.compose, R.pipe\n * @example\n *\n *      var classyGreeting = name => \"The name's \" + name.last + \", \" + name.first + \" \" + name.last\n *      var yellGreeting = R.o(R.toUpper, classyGreeting);\n *      yellGreeting({first: 'James', last: 'Bond'}); //=> \"THE NAME'S BOND, JAMES BOND\"\n *\n *      R.o(R.multiply(10), R.add(10))(-4) //=> 60\n *\n * @symb R.o(f, g, x) = f(g(x))\n */\nvar o = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function o(f, g, x) {\n  return f(g(x));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (o);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/objOf.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/objOf.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Creates an object containing a single key:value pair.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Object\n * @sig String -> a -> {String:a}\n * @param {String} key\n * @param {*} val\n * @return {Object}\n * @see R.pair\n * @example\n *\n *      var matchPhrases = R.compose(\n *        R.objOf('must'),\n *        R.map(R.objOf('match_phrase'))\n *      );\n *      matchPhrases(['foo', 'bar', 'baz']); //=> {must: [{match_phrase: 'foo'}, {match_phrase: 'bar'}, {match_phrase: 'baz'}]}\n */\nvar objOf = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function objOf(key, val) {\n  var obj = {};\n  obj[key] = val;\n  return obj;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (objOf);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/of.js\":\n/*!*************************************!*\\\n  !*** ./node_modules/ramda/es/of.js ***!\n  \\*************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_of__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_of */ \"./node_modules/ramda/es/internal/_of.js\");\n\n\n\n/**\n * Returns a singleton array containing the value provided.\n *\n * Note this `of` is different from the ES6 `of`; See\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/of\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig a -> [a]\n * @param {*} x any value\n * @return {Array} An array wrapping `x`.\n * @example\n *\n *      R.of(null); //=> [null]\n *      R.of([42]); //=> [[42]]\n */\nvar of = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_internal_of__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (of);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/omit.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/omit.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns a partial copy of an object omitting the keys specified.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [String] -> {String: *} -> {String: *}\n * @param {Array} names an array of String property names to omit from the new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with properties from `names` not on it.\n * @see R.pick\n * @example\n *\n *      R.omit(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, c: 3}\n */\nvar omit = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function omit(names, obj) {\n  var result = {};\n  var index = {};\n  var idx = 0;\n  var len = names.length;\n\n  while (idx < len) {\n    index[names[idx]] = 1;\n    idx += 1;\n  }\n\n  for (var prop in obj) {\n    if (!index.hasOwnProperty(prop)) {\n      result[prop] = obj[prop];\n    }\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (omit);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/once.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/once.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_arity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity */ \"./node_modules/ramda/es/internal/_arity.js\");\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n\n/**\n * Accepts a function `fn` and returns a function that guards invocation of\n * `fn` such that `fn` can only ever be called once, no matter how many times\n * the returned function is invoked. The first value calculated is returned in\n * subsequent invocations.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (a... -> b) -> (a... -> b)\n * @param {Function} fn The function to wrap in a call-only-once wrapper.\n * @return {Function} The wrapped function.\n * @example\n *\n *      var addOneOnce = R.once(x => x + 1);\n *      addOneOnce(10); //=> 11\n *      addOneOnce(addOneOnce(50)); //=> 11\n */\nvar once = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function once(fn) {\n  var called = false;\n  var result;\n  return Object(_internal_arity__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fn.length, function () {\n    if (called) {\n      return result;\n    }\n    called = true;\n    result = fn.apply(this, arguments);\n    return result;\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (once);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/or.js\":\n/*!*************************************!*\\\n  !*** ./node_modules/ramda/es/or.js ***!\n  \\*************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns `true` if one or both of its arguments are `true`. Returns `false`\n * if both arguments are `false`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig a -> b -> a | b\n * @param {Any} a\n * @param {Any} b\n * @return {Any} the first argument if truthy, otherwise the second argument.\n * @see R.either\n * @example\n *\n *      R.or(true, true); //=> true\n *      R.or(true, false); //=> true\n *      R.or(false, true); //=> true\n *      R.or(false, false); //=> false\n */\nvar or = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function or(a, b) {\n  return a || b;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (or);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/over.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/over.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n// `Identity` is a functor that holds a single value, where `map` simply\n// transforms the held value with the provided function.\nvar Identity = function (x) {\n  return { value: x, map: function (f) {\n      return Identity(f(x));\n    } };\n};\n\n/**\n * Returns the result of \"setting\" the portion of the given data structure\n * focused by the given lens to the result of applying the given function to\n * the focused value.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Lens s a -> (a -> a) -> s -> s\n * @param {Lens} lens\n * @param {*} v\n * @param {*} x\n * @return {*}\n * @see R.prop, R.lensIndex, R.lensProp\n * @example\n *\n *      var headLens = R.lensIndex(0);\n *\n *      R.over(headLens, R.toUpper, ['foo', 'bar', 'baz']); //=> ['FOO', 'bar', 'baz']\n */\nvar over = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function over(lens, f, x) {\n  // The value returned by the getter function is first transformed with `f`,\n  // then set as the value of an `Identity`. This is then mapped over with the\n  // setter function of the lens.\n  return lens(function (y) {\n    return Identity(f(y));\n  })(x).value;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (over);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/pair.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/pair.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Takes two arguments, `fst` and `snd`, and returns `[fst, snd]`.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category List\n * @sig a -> b -> (a,b)\n * @param {*} fst\n * @param {*} snd\n * @return {Array}\n * @see R.objOf, R.of\n * @example\n *\n *      R.pair('foo', 'bar'); //=> ['foo', 'bar']\n */\nvar pair = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function pair(fst, snd) {\n  return [fst, snd];\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (pair);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/partial.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/partial.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat */ \"./node_modules/ramda/es/internal/_concat.js\");\n/* harmony import */ var _internal_createPartialApplicator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_createPartialApplicator */ \"./node_modules/ramda/es/internal/_createPartialApplicator.js\");\n\n\n\n/**\n * Takes a function `f` and a list of arguments, and returns a function `g`.\n * When applied, `g` returns the result of applying `f` to the arguments\n * provided initially followed by the arguments provided to `g`.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Function\n * @sig ((a, b, c, ..., n) -> x) -> [a, b, c, ...] -> ((d, e, f, ..., n) -> x)\n * @param {Function} f\n * @param {Array} args\n * @return {Function}\n * @see R.partialRight\n * @example\n *\n *      var multiply2 = (a, b) => a * b;\n *      var double = R.partial(multiply2, [2]);\n *      double(2); //=> 4\n *\n *      var greet = (salutation, title, firstName, lastName) =>\n *        salutation + ', ' + title + ' ' + firstName + ' ' + lastName + '!';\n *\n *      var sayHello = R.partial(greet, ['Hello']);\n *      var sayHelloToMs = R.partial(sayHello, ['Ms.']);\n *      sayHelloToMs('Jane', 'Jones'); //=> 'Hello, Ms. Jane Jones!'\n * @symb R.partial(f, [a, b])(c, d) = f(a, b, c, d)\n */\nvar partial = /*#__PURE__*/Object(_internal_createPartialApplicator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_internal_concat__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (partial);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/partialRight.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/ramda/es/partialRight.js ***!\n  \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat */ \"./node_modules/ramda/es/internal/_concat.js\");\n/* harmony import */ var _internal_createPartialApplicator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_createPartialApplicator */ \"./node_modules/ramda/es/internal/_createPartialApplicator.js\");\n/* harmony import */ var _flip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./flip */ \"./node_modules/ramda/es/flip.js\");\n\n\n\n\n/**\n * Takes a function `f` and a list of arguments, and returns a function `g`.\n * When applied, `g` returns the result of applying `f` to the arguments\n * provided to `g` followed by the arguments provided initially.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Function\n * @sig ((a, b, c, ..., n) -> x) -> [d, e, f, ..., n] -> ((a, b, c, ...) -> x)\n * @param {Function} f\n * @param {Array} args\n * @return {Function}\n * @see R.partial\n * @example\n *\n *      var greet = (salutation, title, firstName, lastName) =>\n *        salutation + ', ' + title + ' ' + firstName + ' ' + lastName + '!';\n *\n *      var greetMsJaneJones = R.partialRight(greet, ['Ms.', 'Jane', 'Jones']);\n *\n *      greetMsJaneJones('Hello'); //=> 'Hello, Ms. Jane Jones!'\n * @symb R.partialRight(f, [a, b])(c, d) = f(c, d, a, b)\n */\nvar partialRight = /*#__PURE__*/Object(_internal_createPartialApplicator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/Object(_flip__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_internal_concat__WEBPACK_IMPORTED_MODULE_0__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (partialRight);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/partition.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/partition.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./filter */ \"./node_modules/ramda/es/filter.js\");\n/* harmony import */ var _juxt__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./juxt */ \"./node_modules/ramda/es/juxt.js\");\n/* harmony import */ var _reject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reject */ \"./node_modules/ramda/es/reject.js\");\n\n\n\n\n/**\n * Takes a predicate and a list or other `Filterable` object and returns the\n * pair of filterable objects of the same type of elements which do and do not\n * satisfy, the predicate, respectively. Filterable objects include plain objects or any object\n * that has a filter method such as `Array`.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> [f a, f a]\n * @param {Function} pred A predicate to determine which side the element belongs to.\n * @param {Array} filterable the list (or other filterable) to partition.\n * @return {Array} An array, containing first the subset of elements that satisfy the\n *         predicate, and second the subset of elements that do not satisfy.\n * @see R.filter, R.reject\n * @example\n *\n *      R.partition(R.contains('s'), ['sss', 'ttt', 'foo', 'bars']);\n *      // => [ [ 'sss', 'bars' ],  [ 'ttt', 'foo' ] ]\n *\n *      R.partition(R.contains('s'), { a: 'sss', b: 'ttt', foo: 'bars' });\n *      // => [ { a: 'sss', foo: 'bars' }, { b: 'ttt' }  ]\n */\nvar partition = /*#__PURE__*/Object(_juxt__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([_filter__WEBPACK_IMPORTED_MODULE_0__[\"default\"], _reject__WEBPACK_IMPORTED_MODULE_2__[\"default\"]]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (partition);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/path.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/path.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Retrieve the value at a given path.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> {a} -> a | Undefined\n * @param {Array} path The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path`.\n * @see R.prop\n * @example\n *\n *      R.path(['a', 'b'], {a: {b: 2}}); //=> 2\n *      R.path(['a', 'b'], {c: {b: 2}}); //=> undefined\n */\nvar path = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function path(paths, obj) {\n  var val = obj;\n  var idx = 0;\n  while (idx < paths.length) {\n    if (val == null) {\n      return;\n    }\n    val = val[paths[idx]];\n    idx += 1;\n  }\n  return val;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (path);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/pathEq.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/pathEq.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _equals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals */ \"./node_modules/ramda/es/equals.js\");\n/* harmony import */ var _path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./path */ \"./node_modules/ramda/es/path.js\");\n\n\n\n\n/**\n * Determines whether a nested path on an object has a specific value, in\n * [`R.equals`](#equals) terms. Most likely used to filter a list.\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Relation\n * @typedefn Idx = String | Int\n * @sig [Idx] -> a -> {a} -> Boolean\n * @param {Array} path The path of the nested property to use\n * @param {*} val The value to compare the nested property with\n * @param {Object} obj The object to check the nested property in\n * @return {Boolean} `true` if the value equals the nested object property,\n *         `false` otherwise.\n * @example\n *\n *      var user1 = { address: { zipCode: 90210 } };\n *      var user2 = { address: { zipCode: 55555 } };\n *      var user3 = { name: 'Bob' };\n *      var users = [ user1, user2, user3 ];\n *      var isFamous = R.pathEq(['address', 'zipCode'], 90210);\n *      R.filter(isFamous, users); //=> [ user1 ]\n */\nvar pathEq = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function pathEq(_path, val, obj) {\n  return Object(_equals__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_path__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_path, obj), val);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (pathEq);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/pathOr.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/pathOr.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _defaultTo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./defaultTo */ \"./node_modules/ramda/es/defaultTo.js\");\n/* harmony import */ var _path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./path */ \"./node_modules/ramda/es/path.js\");\n\n\n\n\n/**\n * If the given, non-null object has a value at the given path, returns the\n * value at that path. Otherwise returns the provided default value.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig a -> [Idx] -> {a} -> a\n * @param {*} d The default value.\n * @param {Array} p The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path` of the supplied object or the default value.\n * @example\n *\n *      R.pathOr('N/A', ['a', 'b'], {a: {b: 2}}); //=> 2\n *      R.pathOr('N/A', ['a', 'b'], {c: {b: 2}}); //=> \"N/A\"\n */\nvar pathOr = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function pathOr(d, p, obj) {\n  return Object(_defaultTo__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(d, Object(_path__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(p, obj));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (pathOr);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/pathSatisfies.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/ramda/es/pathSatisfies.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./path */ \"./node_modules/ramda/es/path.js\");\n\n\n\n/**\n * Returns `true` if the specified object property at given path satisfies the\n * given predicate; `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Logic\n * @typedefn Idx = String | Int\n * @sig (a -> Boolean) -> [Idx] -> {a} -> Boolean\n * @param {Function} pred\n * @param {Array} propPath\n * @param {*} obj\n * @return {Boolean}\n * @see R.propSatisfies, R.path\n * @example\n *\n *      R.pathSatisfies(y => y > 0, ['x', 'y'], {x: {y: 2}}); //=> true\n */\nvar pathSatisfies = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function pathSatisfies(pred, propPath, obj) {\n  return propPath.length > 0 && pred(Object(_path__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(propPath, obj));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (pathSatisfies);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/pick.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/pick.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns a partial copy of an object containing only the keys specified. If\n * the key does not exist, the property is ignored.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [k] -> {k: v} -> {k: v}\n * @param {Array} names an array of String property names to copy onto a new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with only properties from `names` on it.\n * @see R.omit, R.props\n * @example\n *\n *      R.pick(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4}\n *      R.pick(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1}\n */\nvar pick = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function pick(names, obj) {\n  var result = {};\n  var idx = 0;\n  while (idx < names.length) {\n    if (names[idx] in obj) {\n      result[names[idx]] = obj[names[idx]];\n    }\n    idx += 1;\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (pick);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/pickAll.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/pickAll.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Similar to `pick` except that this one includes a `key: undefined` pair for\n * properties that don't exist.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [k] -> {k: v} -> {k: v}\n * @param {Array} names an array of String property names to copy onto a new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with only properties from `names` on it.\n * @see R.pick\n * @example\n *\n *      R.pickAll(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4}\n *      R.pickAll(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, e: undefined, f: undefined}\n */\nvar pickAll = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function pickAll(names, obj) {\n  var result = {};\n  var idx = 0;\n  var len = names.length;\n  while (idx < len) {\n    var name = names[idx];\n    result[name] = obj[name];\n    idx += 1;\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (pickAll);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/pickBy.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/pickBy.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns a partial copy of an object containing only the keys that satisfy\n * the supplied predicate.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @sig ((v, k) -> Boolean) -> {k: v} -> {k: v}\n * @param {Function} pred A predicate to determine whether or not a key\n *        should be included on the output object.\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with only properties that satisfy `pred`\n *         on it.\n * @see R.pick, R.filter\n * @example\n *\n *      var isUpperCase = (val, key) => key.toUpperCase() === key;\n *      R.pickBy(isUpperCase, {a: 1, b: 2, A: 3, B: 4}); //=> {A: 3, B: 4}\n */\nvar pickBy = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function pickBy(test, obj) {\n  var result = {};\n  for (var prop in obj) {\n    if (test(obj[prop], prop, obj)) {\n      result[prop] = obj[prop];\n    }\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (pickBy);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/pipe.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/pipe.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return pipe; });\n/* harmony import */ var _internal_arity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity */ \"./node_modules/ramda/es/internal/_arity.js\");\n/* harmony import */ var _internal_pipe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_pipe */ \"./node_modules/ramda/es/internal/_pipe.js\");\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reduce */ \"./node_modules/ramda/es/reduce.js\");\n/* harmony import */ var _tail__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./tail */ \"./node_modules/ramda/es/tail.js\");\n\n\n\n\n\n/**\n * Performs left-to-right function composition. The leftmost function may have\n * any arity; the remaining functions must be unary.\n *\n * In some libraries this function is named `sequence`.\n *\n * **Note:** The result of pipe is not automatically curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)) -> ((a, b, ..., n) -> z)\n * @param {...Function} functions\n * @return {Function}\n * @see R.compose\n * @example\n *\n *      var f = R.pipe(Math.pow, R.negate, R.inc);\n *\n *      f(3, 4); // -(3^4) + 1\n * @symb R.pipe(f, g, h)(a, b) = h(g(f(a, b)))\n */\nfunction pipe() {\n  if (arguments.length === 0) {\n    throw new Error('pipe requires at least one argument');\n  }\n  return Object(_internal_arity__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(arguments[0].length, Object(_reduce__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_internal_pipe__WEBPACK_IMPORTED_MODULE_1__[\"default\"], arguments[0], Object(_tail__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(arguments)));\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/pipeK.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/pipeK.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return pipeK; });\n/* harmony import */ var _composeK__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./composeK */ \"./node_modules/ramda/es/composeK.js\");\n/* harmony import */ var _reverse__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reverse */ \"./node_modules/ramda/es/reverse.js\");\n\n\n\n/**\n * Returns the left-to-right Kleisli composition of the provided functions,\n * each of which must return a value of a type supported by [`chain`](#chain).\n *\n * `R.pipeK(f, g, h)` is equivalent to `R.pipe(f, R.chain(g), R.chain(h))`.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Function\n * @sig Chain m => ((a -> m b), (b -> m c), ..., (y -> m z)) -> (a -> m z)\n * @param {...Function}\n * @return {Function}\n * @see R.composeK\n * @example\n *\n *      //  parseJson :: String -> Maybe *\n *      //  get :: String -> Object -> Maybe *\n *\n *      //  getStateCode :: Maybe String -> Maybe String\n *      var getStateCode = R.pipeK(\n *        parseJson,\n *        get('user'),\n *        get('address'),\n *        get('state'),\n *        R.compose(Maybe.of, R.toUpper)\n *      );\n *\n *      getStateCode('{\"user\":{\"address\":{\"state\":\"ny\"}}}');\n *      //=> Just('NY')\n *      getStateCode('[Invalid JSON]');\n *      //=> Nothing()\n * @symb R.pipeK(f, g, h)(a) = R.chain(h, R.chain(g, f(a)))\n */\nfunction pipeK() {\n  if (arguments.length === 0) {\n    throw new Error('pipeK requires at least one argument');\n  }\n  return _composeK__WEBPACK_IMPORTED_MODULE_0__[\"default\"].apply(this, Object(_reverse__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(arguments));\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/pipeP.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/pipeP.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return pipeP; });\n/* harmony import */ var _internal_arity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity */ \"./node_modules/ramda/es/internal/_arity.js\");\n/* harmony import */ var _internal_pipeP__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_pipeP */ \"./node_modules/ramda/es/internal/_pipeP.js\");\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reduce */ \"./node_modules/ramda/es/reduce.js\");\n/* harmony import */ var _tail__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./tail */ \"./node_modules/ramda/es/tail.js\");\n\n\n\n\n\n/**\n * Performs left-to-right composition of one or more Promise-returning\n * functions. The leftmost function may have any arity; the remaining functions\n * must be unary.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Function\n * @sig ((a -> Promise b), (b -> Promise c), ..., (y -> Promise z)) -> (a -> Promise z)\n * @param {...Function} functions\n * @return {Function}\n * @see R.composeP\n * @example\n *\n *      //  followersForUser :: String -> Promise [User]\n *      var followersForUser = R.pipeP(db.getUserById, db.getFollowers);\n */\nfunction pipeP() {\n  if (arguments.length === 0) {\n    throw new Error('pipeP requires at least one argument');\n  }\n  return Object(_internal_arity__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(arguments[0].length, Object(_reduce__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_internal_pipeP__WEBPACK_IMPORTED_MODULE_1__[\"default\"], arguments[0], Object(_tail__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(arguments)));\n}\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/pluck.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/pluck.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./map */ \"./node_modules/ramda/es/map.js\");\n/* harmony import */ var _prop__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./prop */ \"./node_modules/ramda/es/prop.js\");\n\n\n\n\n/**\n * Returns a new list by plucking the same named property off all objects in\n * the list supplied.\n *\n * `pluck` will work on\n * any [functor](https://github.com/fantasyland/fantasy-land#functor) in\n * addition to arrays, as it is equivalent to `R.map(R.prop(k), f)`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => k -> f {k: v} -> f v\n * @param {Number|String} key The key name to pluck off of each object.\n * @param {Array} f The array or functor to consider.\n * @return {Array} The list of values for the given key.\n * @see R.props\n * @example\n *\n *      R.pluck('a')([{a: 1}, {a: 2}]); //=> [1, 2]\n *      R.pluck(0)([[1, 2], [3, 4]]);   //=> [1, 3]\n *      R.pluck('val', {a: {val: 3}, b: {val: 5}}); //=> {a: 3, b: 5}\n * @symb R.pluck('x', [{x: 1, y: 2}, {x: 3, y: 4}, {x: 5, y: 6}]) = [1, 3, 5]\n * @symb R.pluck(0, [[1, 2], [3, 4], [5, 6]]) = [1, 3, 5]\n */\nvar pluck = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function pluck(p, list) {\n  return Object(_map__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_prop__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(p), list);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (pluck);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/prepend.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/prepend.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat */ \"./node_modules/ramda/es/internal/_concat.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n\n/**\n * Returns a new list with the given element at the front, followed by the\n * contents of the list.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> [a]\n * @param {*} el The item to add to the head of the output list.\n * @param {Array} list The array to add to the tail of the output list.\n * @return {Array} A new array.\n * @see R.append\n * @example\n *\n *      R.prepend('fee', ['fi', 'fo', 'fum']); //=> ['fee', 'fi', 'fo', 'fum']\n */\nvar prepend = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function prepend(el, list) {\n  return Object(_internal_concat__WEBPACK_IMPORTED_MODULE_0__[\"default\"])([el], list);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (prepend);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/product.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/product.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _multiply__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./multiply */ \"./node_modules/ramda/es/multiply.js\");\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reduce */ \"./node_modules/ramda/es/reduce.js\");\n\n\n\n/**\n * Multiplies together all the elements of a list.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig [Number] -> Number\n * @param {Array} list An array of numbers\n * @return {Number} The product of all the numbers in the list.\n * @see R.reduce\n * @example\n *\n *      R.product([2,4,6,8,100,1]); //=> 38400\n */\nvar product = /*#__PURE__*/Object(_reduce__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_multiply__WEBPACK_IMPORTED_MODULE_0__[\"default\"], 1);\n/* harmony default export */ __webpack_exports__[\"default\"] = (product);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/project.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/project.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_map__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_map */ \"./node_modules/ramda/es/internal/_map.js\");\n/* harmony import */ var _identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./identity */ \"./node_modules/ramda/es/identity.js\");\n/* harmony import */ var _pickAll__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pickAll */ \"./node_modules/ramda/es/pickAll.js\");\n/* harmony import */ var _useWith__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./useWith */ \"./node_modules/ramda/es/useWith.js\");\n\n\n\n\n\n/**\n * Reasonable analog to SQL `select` statement.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @category Relation\n * @sig [k] -> [{k: v}] -> [{k: v}]\n * @param {Array} props The property names to project\n * @param {Array} objs The objects to query\n * @return {Array} An array of objects with just the `props` properties.\n * @example\n *\n *      var abby = {name: 'Abby', age: 7, hair: 'blond', grade: 2};\n *      var fred = {name: 'Fred', age: 12, hair: 'brown', grade: 7};\n *      var kids = [abby, fred];\n *      R.project(['name', 'grade'], kids); //=> [{name: 'Abby', grade: 2}, {name: 'Fred', grade: 7}]\n */\nvar project = /*#__PURE__*/Object(_useWith__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_internal_map__WEBPACK_IMPORTED_MODULE_0__[\"default\"], [_pickAll__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _identity__WEBPACK_IMPORTED_MODULE_1__[\"default\"]]); // passing `identity` gives correct arity\n/* harmony default export */ __webpack_exports__[\"default\"] = (project);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/prop.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/prop.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./path */ \"./node_modules/ramda/es/path.js\");\n\n\n\n/**\n * Returns a function that when supplied an object returns the indicated\n * property of that object, if it exists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig s -> {s: a} -> a | Undefined\n * @param {String} p The property name\n * @param {Object} obj The object to query\n * @return {*} The value at `obj.p`.\n * @see R.path\n * @example\n *\n *      R.prop('x', {x: 100}); //=> 100\n *      R.prop('x', {}); //=> undefined\n */\n\nvar prop = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function prop(p, obj) {\n  return Object(_path__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([p], obj);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (prop);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/propEq.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/propEq.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _equals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals */ \"./node_modules/ramda/es/equals.js\");\n\n\n\n/**\n * Returns `true` if the specified object property is equal, in\n * [`R.equals`](#equals) terms, to the given value; `false` otherwise.\n * You can test multiple properties with [`R.where`](#where).\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig String -> a -> Object -> Boolean\n * @param {String} name\n * @param {*} val\n * @param {*} obj\n * @return {Boolean}\n * @see R.whereEq, R.propSatisfies, R.equals\n * @example\n *\n *      var abby = {name: 'Abby', age: 7, hair: 'blond'};\n *      var fred = {name: 'Fred', age: 12, hair: 'brown'};\n *      var rusty = {name: 'Rusty', age: 10, hair: 'brown'};\n *      var alois = {name: 'Alois', age: 15, disposition: 'surly'};\n *      var kids = [abby, fred, rusty, alois];\n *      var hasBrownHair = R.propEq('hair', 'brown');\n *      R.filter(hasBrownHair, kids); //=> [fred, rusty]\n */\nvar propEq = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function propEq(name, val, obj) {\n  return Object(_equals__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(val, obj[name]);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (propEq);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/propIs.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/propIs.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _is__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./is */ \"./node_modules/ramda/es/is.js\");\n\n\n\n/**\n * Returns `true` if the specified object property is of the given type;\n * `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Type\n * @sig Type -> String -> Object -> Boolean\n * @param {Function} type\n * @param {String} name\n * @param {*} obj\n * @return {Boolean}\n * @see R.is, R.propSatisfies\n * @example\n *\n *      R.propIs(Number, 'x', {x: 1, y: 2});  //=> true\n *      R.propIs(Number, 'x', {x: 'foo'});    //=> false\n *      R.propIs(Number, 'x', {});            //=> false\n */\nvar propIs = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function propIs(type, name, obj) {\n  return Object(_is__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(type, obj[name]);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (propIs);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/propOr.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/propOr.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _internal_has__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has */ \"./node_modules/ramda/es/internal/_has.js\");\n\n\n\n/**\n * If the given, non-null object has an own property with the specified name,\n * returns the value of that property. Otherwise returns the provided default\n * value.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Object\n * @sig a -> String -> Object -> a\n * @param {*} val The default value.\n * @param {String} p The name of the property to return.\n * @param {Object} obj The object to query.\n * @return {*} The value of given property of the supplied object or the default value.\n * @example\n *\n *      var alice = {\n *        name: 'ALICE',\n *        age: 101\n *      };\n *      var favorite = R.prop('favoriteLibrary');\n *      var favoriteWithDefault = R.propOr('Ramda', 'favoriteLibrary');\n *\n *      favorite(alice);  //=> undefined\n *      favoriteWithDefault(alice);  //=> 'Ramda'\n */\nvar propOr = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function propOr(val, p, obj) {\n  return obj != null && Object(_internal_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(p, obj) ? obj[p] : val;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (propOr);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/propSatisfies.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/ramda/es/propSatisfies.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Returns `true` if the specified object property satisfies the given\n * predicate; `false` otherwise. You can test multiple properties with\n * [`R.where`](#where).\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Logic\n * @sig (a -> Boolean) -> String -> {String: a} -> Boolean\n * @param {Function} pred\n * @param {String} name\n * @param {*} obj\n * @return {Boolean}\n * @see R.where, R.propEq, R.propIs\n * @example\n *\n *      R.propSatisfies(x => x > 0, 'x', {x: 1, y: 2}); //=> true\n */\nvar propSatisfies = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function propSatisfies(pred, name, obj) {\n  return pred(obj[name]);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (propSatisfies);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/props.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/props.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Acts as multiple `prop`: array of keys in, array of values out. Preserves\n * order.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [k] -> {k: v} -> [v]\n * @param {Array} ps The property names to fetch\n * @param {Object} obj The object to query\n * @return {Array} The corresponding values or partially applied function.\n * @example\n *\n *      R.props(['x', 'y'], {x: 1, y: 2}); //=> [1, 2]\n *      R.props(['c', 'a', 'b'], {b: 2, a: 1}); //=> [undefined, 1, 2]\n *\n *      var fullName = R.compose(R.join(' '), R.props(['first', 'last']));\n *      fullName({last: 'Bullet-Tooth', age: 33, first: 'Tony'}); //=> 'Tony Bullet-Tooth'\n */\nvar props = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function props(ps, obj) {\n  var len = ps.length;\n  var out = [];\n  var idx = 0;\n\n  while (idx < len) {\n    out[idx] = obj[ps[idx]];\n    idx += 1;\n  }\n\n  return out;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (props);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/range.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/range.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_isNumber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isNumber */ \"./node_modules/ramda/es/internal/_isNumber.js\");\n\n\n\n/**\n * Returns a list of numbers from `from` (inclusive) to `to` (exclusive).\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> Number -> [Number]\n * @param {Number} from The first number in the list.\n * @param {Number} to One more than the last number in the list.\n * @return {Array} The list of numbers in tthe set `[a, b)`.\n * @example\n *\n *      R.range(1, 5);    //=> [1, 2, 3, 4]\n *      R.range(50, 53);  //=> [50, 51, 52]\n */\nvar range = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function range(from, to) {\n  if (!(Object(_internal_isNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(from) && Object(_internal_isNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(to))) {\n    throw new TypeError('Both arguments to range must be numbers');\n  }\n  var result = [];\n  var n = from;\n  while (n < to) {\n    result.push(n);\n    n += 1;\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (range);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/reduce.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/reduce.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _internal_reduce__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_reduce */ \"./node_modules/ramda/es/internal/_reduce.js\");\n\n\n\n/**\n * Returns a single item by iterating through the list, successively calling\n * the iterator function and passing it an accumulator value and the current\n * value from the array, and then passing the result to the next call.\n *\n * The iterator function receives two values: *(acc, value)*. It may use\n * [`R.reduced`](#reduced) to shortcut the iteration.\n *\n * The arguments' order of [`reduceRight`](#reduceRight)'s iterator function\n * is *(value, acc)*.\n *\n * Note: `R.reduce` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.reduce` method. For more details\n * on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce#Description\n *\n * Dispatches to the `reduce` method of the third argument, if present. When\n * doing so, it is up to the user to handle the [`R.reduced`](#reduced)\n * shortcuting, as this is not implemented by `reduce`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n *        current element from the array.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduced, R.addIndex, R.reduceRight\n * @example\n *\n *      R.reduce(R.subtract, 0, [1, 2, 3, 4]) // => ((((0 - 1) - 2) - 3) - 4) = -10\n *      //          -               -10\n *      //         / \\              / \\\n *      //        -   4           -6   4\n *      //       / \\              / \\\n *      //      -   3   ==>     -3   3\n *      //     / \\              / \\\n *      //    -   2           -1   2\n *      //   / \\              / \\\n *      //  0   1            0   1\n *\n * @symb R.reduce(f, a, [b, c, d]) = f(f(f(a, b), c), d)\n */\nvar reduce = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_internal_reduce__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (reduce);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/reduceBy.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/reduceBy.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curryN__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curryN */ \"./node_modules/ramda/es/internal/_curryN.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_has__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_has */ \"./node_modules/ramda/es/internal/_has.js\");\n/* harmony import */ var _internal_reduce__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_reduce */ \"./node_modules/ramda/es/internal/_reduce.js\");\n/* harmony import */ var _internal_xreduceBy__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./internal/_xreduceBy */ \"./node_modules/ramda/es/internal/_xreduceBy.js\");\n\n\n\n\n\n\n/**\n * Groups the elements of the list according to the result of calling\n * the String-returning function `keyFn` on each element and reduces the elements\n * of each group to a single value via the reducer function `valueFn`.\n *\n * This function is basically a more general [`groupBy`](#groupBy) function.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category List\n * @sig ((a, b) -> a) -> a -> (b -> String) -> [b] -> {String: a}\n * @param {Function} valueFn The function that reduces the elements of each group to a single\n *        value. Receives two values, accumulator for a particular group and the current element.\n * @param {*} acc The (initial) accumulator value for each group.\n * @param {Function} keyFn The function that maps the list's element into a key.\n * @param {Array} list The array to group.\n * @return {Object} An object with the output of `keyFn` for keys, mapped to the output of\n *         `valueFn` for elements which produced that key when passed to `keyFn`.\n * @see R.groupBy, R.reduce\n * @example\n *\n *      var reduceToNamesBy = R.reduceBy((acc, student) => acc.concat(student.name), []);\n *      var namesByGrade = reduceToNamesBy(function(student) {\n *        var score = student.score;\n *        return score < 65 ? 'F' :\n *               score < 70 ? 'D' :\n *               score < 80 ? 'C' :\n *               score < 90 ? 'B' : 'A';\n *      });\n *      var students = [{name: 'Lucy', score: 92},\n *                      {name: 'Drew', score: 85},\n *                      // ...\n *                      {name: 'Bart', score: 62}];\n *      namesByGrade(students);\n *      // {\n *      //   'A': ['Lucy'],\n *      //   'B': ['Drew']\n *      //   // ...,\n *      //   'F': ['Bart']\n *      // }\n */\nvar reduceBy = /*#__PURE__*/Object(_internal_curryN__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(4, [], /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([], _internal_xreduceBy__WEBPACK_IMPORTED_MODULE_4__[\"default\"], function reduceBy(valueFn, valueAcc, keyFn, list) {\n  return Object(_internal_reduce__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(function (acc, elt) {\n    var key = keyFn(elt);\n    acc[key] = valueFn(Object(_internal_has__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(key, acc) ? acc[key] : valueAcc, elt);\n    return acc;\n  }, {}, list);\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (reduceBy);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/reduceRight.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/ramda/es/reduceRight.js ***!\n  \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Returns a single item by iterating through the list, successively calling\n * the iterator function and passing it an accumulator value and the current\n * value from the array, and then passing the result to the next call.\n *\n * Similar to [`reduce`](#reduce), except moves through the input list from the\n * right to the left.\n *\n * The iterator function receives two values: *(value, acc)*, while the arguments'\n * order of `reduce`'s iterator function is *(acc, value)*.\n *\n * Note: `R.reduceRight` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.reduceRight` method. For more details\n * on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight#Description\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> b) -> b -> [a] -> b\n * @param {Function} fn The iterator function. Receives two values, the current element from the array\n *        and the accumulator.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduce, R.addIndex\n * @example\n *\n *      R.reduceRight(R.subtract, 0, [1, 2, 3, 4]) // => (1 - (2 - (3 - (4 - 0)))) = -2\n *      //    -               -2\n *      //   / \\              / \\\n *      //  1   -            1   3\n *      //     / \\              / \\\n *      //    2   -     ==>    2  -1\n *      //       / \\              / \\\n *      //      3   -            3   4\n *      //         / \\              / \\\n *      //        4   0            4   0\n *\n * @symb R.reduceRight(f, a, [b, c, d]) = f(b, f(c, f(d, a)))\n */\nvar reduceRight = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function reduceRight(fn, acc, list) {\n  var idx = list.length - 1;\n  while (idx >= 0) {\n    acc = fn(list[idx], acc);\n    idx -= 1;\n  }\n  return acc;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (reduceRight);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/reduceWhile.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/ramda/es/reduceWhile.js ***!\n  \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curryN__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curryN */ \"./node_modules/ramda/es/internal/_curryN.js\");\n/* harmony import */ var _internal_reduce__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_reduce */ \"./node_modules/ramda/es/internal/_reduce.js\");\n/* harmony import */ var _internal_reduced__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_reduced */ \"./node_modules/ramda/es/internal/_reduced.js\");\n\n\n\n\n/**\n * Like [`reduce`](#reduce), `reduceWhile` returns a single item by iterating\n * through the list, successively calling the iterator function. `reduceWhile`\n * also takes a predicate that is evaluated before each step. If the predicate\n * returns `false`, it \"short-circuits\" the iteration and returns the current\n * value of the accumulator.\n *\n * @func\n * @memberOf R\n * @since v0.22.0\n * @category List\n * @sig ((a, b) -> Boolean) -> ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} pred The predicate. It is passed the accumulator and the\n *        current element.\n * @param {Function} fn The iterator function. Receives two values, the\n *        accumulator and the current element.\n * @param {*} a The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduce, R.reduced\n * @example\n *\n *      var isOdd = (acc, x) => x % 2 === 1;\n *      var xs = [1, 3, 5, 60, 777, 800];\n *      R.reduceWhile(isOdd, R.add, 0, xs); //=> 9\n *\n *      var ys = [2, 4, 6]\n *      R.reduceWhile(isOdd, R.add, 111, ys); //=> 111\n */\nvar reduceWhile = /*#__PURE__*/Object(_internal_curryN__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(4, [], function _reduceWhile(pred, fn, a, list) {\n  return Object(_internal_reduce__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (acc, x) {\n    return pred(acc, x) ? fn(acc, x) : Object(_internal_reduced__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(acc);\n  }, a, list);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (reduceWhile);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/reduced.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/reduced.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_reduced__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_reduced */ \"./node_modules/ramda/es/internal/_reduced.js\");\n\n\n\n/**\n * Returns a value wrapped to indicate that it is the final value of the reduce\n * and transduce functions. The returned value should be considered a black\n * box: the internal structure is not guaranteed to be stable.\n *\n * Note: this optimization is unavailable to functions not explicitly listed\n * above. For instance, it is not currently supported by\n * [`reduceRight`](#reduceRight).\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category List\n * @sig a -> *\n * @param {*} x The final value of the reduce.\n * @return {*} The wrapped value.\n * @see R.reduce, R.transduce\n * @example\n *\n *     R.reduce(\n *       (acc, item) => item > 3 ? R.reduced(acc) : acc.concat(item),\n *       [],\n *       [1, 2, 3, 4, 5]) // [1, 2, 3]\n */\nvar reduced = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_internal_reduced__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (reduced);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/reject.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/reject.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_complement__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_complement */ \"./node_modules/ramda/es/internal/_complement.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./filter */ \"./node_modules/ramda/es/filter.js\");\n\n\n\n\n/**\n * The complement of [`filter`](#filter).\n *\n * Acts as a transducer if a transformer is given in list position. Filterable\n * objects include plain objects or any object that has a filter method such\n * as `Array`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array}\n * @see R.filter, R.transduce, R.addIndex\n * @example\n *\n *      var isOdd = (n) => n % 2 === 1;\n *\n *      R.reject(isOdd, [1, 2, 3, 4]); //=> [2, 4]\n *\n *      R.reject(isOdd, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\nvar reject = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function reject(pred, filterable) {\n  return Object(_filter__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_internal_complement__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pred), filterable);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (reject);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/remove.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/remove.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Removes the sub-list of `list` starting at index `start` and containing\n * `count` elements. _Note that this is not destructive_: it returns a copy of\n * the list with the changes.\n * <small>No lists have been harmed in the application of this function.</small>\n *\n * @func\n * @memberOf R\n * @since v0.2.2\n * @category List\n * @sig Number -> Number -> [a] -> [a]\n * @param {Number} start The position to start removing elements\n * @param {Number} count The number of elements to remove\n * @param {Array} list The list to remove from\n * @return {Array} A new Array with `count` elements from `start` removed.\n * @example\n *\n *      R.remove(2, 3, [1,2,3,4,5,6,7,8]); //=> [1,2,6,7,8]\n */\nvar remove = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function remove(start, count, list) {\n  var result = Array.prototype.slice.call(list, 0);\n  result.splice(start, count);\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (remove);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/repeat.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/repeat.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _always__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./always */ \"./node_modules/ramda/es/always.js\");\n/* harmony import */ var _times__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./times */ \"./node_modules/ramda/es/times.js\");\n\n\n\n\n/**\n * Returns a fixed list of size `n` containing a specified identical value.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig a -> n -> [a]\n * @param {*} value The value to repeat.\n * @param {Number} n The desired size of the output list.\n * @return {Array} A new array containing `n` `value`s.\n * @see R.times\n * @example\n *\n *      R.repeat('hi', 5); //=> ['hi', 'hi', 'hi', 'hi', 'hi']\n *\n *      var obj = {};\n *      var repeatedObjs = R.repeat(obj, 5); //=> [{}, {}, {}, {}, {}]\n *      repeatedObjs[0] === repeatedObjs[1]; //=> true\n * @symb R.repeat(a, 0) = []\n * @symb R.repeat(a, 1) = [a]\n * @symb R.repeat(a, 2) = [a, a]\n */\nvar repeat = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function repeat(value, n) {\n  return Object(_times__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Object(_always__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(value), n);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (repeat);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/replace.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/replace.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Replace a substring or regex match in a string with a replacement.\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category String\n * @sig RegExp|String -> String -> String -> String\n * @param {RegExp|String} pattern A regular expression or a substring to match.\n * @param {String} replacement The string to replace the matches with.\n * @param {String} str The String to do the search and replacement in.\n * @return {String} The result.\n * @example\n *\n *      R.replace('foo', 'bar', 'foo foo foo'); //=> 'bar foo foo'\n *      R.replace(/foo/, 'bar', 'foo foo foo'); //=> 'bar foo foo'\n *\n *      // Use the \"g\" (global) flag to replace all occurrences:\n *      R.replace(/foo/g, 'bar', 'foo foo foo'); //=> 'bar bar bar'\n */\nvar replace = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function replace(regex, replacement, str) {\n  return str.replace(regex, replacement);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (replace);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/reverse.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/reverse.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_isString__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isString */ \"./node_modules/ramda/es/internal/_isString.js\");\n\n\n\n/**\n * Returns a new list or string with the elements or characters in reverse\n * order.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {Array|String} list\n * @return {Array|String}\n * @example\n *\n *      R.reverse([1, 2, 3]);  //=> [3, 2, 1]\n *      R.reverse([1, 2]);     //=> [2, 1]\n *      R.reverse([1]);        //=> [1]\n *      R.reverse([]);         //=> []\n *\n *      R.reverse('abc');      //=> 'cba'\n *      R.reverse('ab');       //=> 'ba'\n *      R.reverse('a');        //=> 'a'\n *      R.reverse('');         //=> ''\n */\nvar reverse = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function reverse(list) {\n  return Object(_internal_isString__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(list) ? list.split('').reverse().join('') : Array.prototype.slice.call(list, 0).reverse();\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (reverse);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/scan.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/scan.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Scan is similar to [`reduce`](#reduce), but returns a list of successively\n * reduced values from the left\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig ((a, b) -> a) -> a -> [b] -> [a]\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n *        current element from the array\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {Array} A list of all intermediately reduced values.\n * @see R.reduce\n * @example\n *\n *      var numbers = [1, 2, 3, 4];\n *      var factorials = R.scan(R.multiply, 1, numbers); //=> [1, 1, 2, 6, 24]\n * @symb R.scan(f, a, [b, c]) = [a, f(a, b), f(f(a, b), c)]\n */\nvar scan = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function scan(fn, acc, list) {\n  var idx = 0;\n  var len = list.length;\n  var result = [acc];\n  while (idx < len) {\n    acc = fn(acc, list[idx]);\n    result[idx + 1] = acc;\n    idx += 1;\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (scan);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/sequence.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/sequence.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _ap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ap */ \"./node_modules/ramda/es/ap.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./map */ \"./node_modules/ramda/es/map.js\");\n/* harmony import */ var _prepend__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./prepend */ \"./node_modules/ramda/es/prepend.js\");\n/* harmony import */ var _reduceRight__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reduceRight */ \"./node_modules/ramda/es/reduceRight.js\");\n\n\n\n\n\n\n/**\n * Transforms a [Traversable](https://github.com/fantasyland/fantasy-land#traversable)\n * of [Applicative](https://github.com/fantasyland/fantasy-land#applicative) into an\n * Applicative of Traversable.\n *\n * Dispatches to the `sequence` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig (Applicative f, Traversable t) => (a -> f a) -> t (f a) -> f (t a)\n * @param {Function} of\n * @param {*} traversable\n * @return {*}\n * @see R.traverse\n * @example\n *\n *      R.sequence(Maybe.of, [Just(1), Just(2), Just(3)]);   //=> Just([1, 2, 3])\n *      R.sequence(Maybe.of, [Just(1), Just(2), Nothing()]); //=> Nothing()\n *\n *      R.sequence(R.of, Just([1, 2, 3])); //=> [Just(1), Just(2), Just(3)]\n *      R.sequence(R.of, Nothing());       //=> [Nothing()]\n */\nvar sequence = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function sequence(of, traversable) {\n  return typeof traversable.sequence === 'function' ? traversable.sequence(of) : Object(_reduceRight__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(function (x, acc) {\n    return Object(_ap__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_map__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_prepend__WEBPACK_IMPORTED_MODULE_3__[\"default\"], x), acc);\n  }, of([]), traversable);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (sequence);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/set.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/set.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _always__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./always */ \"./node_modules/ramda/es/always.js\");\n/* harmony import */ var _over__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./over */ \"./node_modules/ramda/es/over.js\");\n\n\n\n\n/**\n * Returns the result of \"setting\" the portion of the given data structure\n * focused by the given lens to the given value.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Lens s a -> a -> s -> s\n * @param {Lens} lens\n * @param {*} v\n * @param {*} x\n * @return {*}\n * @see R.prop, R.lensIndex, R.lensProp\n * @example\n *\n *      var xLens = R.lensProp('x');\n *\n *      R.set(xLens, 4, {x: 1, y: 2});  //=> {x: 4, y: 2}\n *      R.set(xLens, 8, {x: 1, y: 2});  //=> {x: 8, y: 2}\n */\nvar set = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function set(lens, v, x) {\n  return Object(_over__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(lens, Object(_always__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(v), x);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (set);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/slice.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/slice.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_checkForMethod__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_checkForMethod */ \"./node_modules/ramda/es/internal/_checkForMethod.js\");\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n\n/**\n * Returns the elements of the given list or string (or object with a `slice`\n * method) from `fromIndex` (inclusive) to `toIndex` (exclusive).\n *\n * Dispatches to the `slice` method of the third argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig Number -> Number -> [a] -> [a]\n * @sig Number -> Number -> String -> String\n * @param {Number} fromIndex The start index (inclusive).\n * @param {Number} toIndex The end index (exclusive).\n * @param {*} list\n * @return {*}\n * @example\n *\n *      R.slice(1, 3, ['a', 'b', 'c', 'd']);        //=> ['b', 'c']\n *      R.slice(1, Infinity, ['a', 'b', 'c', 'd']); //=> ['b', 'c', 'd']\n *      R.slice(0, -1, ['a', 'b', 'c', 'd']);       //=> ['a', 'b', 'c']\n *      R.slice(-3, -1, ['a', 'b', 'c', 'd']);      //=> ['b', 'c']\n *      R.slice(0, 3, 'ramda');                     //=> 'ram'\n */\nvar slice = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/Object(_internal_checkForMethod__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('slice', function slice(fromIndex, toIndex, list) {\n  return Array.prototype.slice.call(list, fromIndex, toIndex);\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (slice);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/sort.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/sort.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Returns a copy of the list, sorted according to the comparator function,\n * which should accept two values at a time and return a negative number if the\n * first value is smaller, a positive number if it's larger, and zero if they\n * are equal. Please note that this is a **copy** of the list. It does not\n * modify the original.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, a) -> Number) -> [a] -> [a]\n * @param {Function} comparator A sorting function :: a -> b -> Int\n * @param {Array} list The list to sort\n * @return {Array} a new array with its elements sorted by the comparator function.\n * @example\n *\n *      var diff = function(a, b) { return a - b; };\n *      R.sort(diff, [4,2,7,5]); //=> [2, 4, 5, 7]\n */\nvar sort = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function sort(comparator, list) {\n  return Array.prototype.slice.call(list, 0).sort(comparator);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (sort);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/sortBy.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/sortBy.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Sorts the list according to the supplied function.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord b => (a -> b) -> [a] -> [a]\n * @param {Function} fn\n * @param {Array} list The list to sort.\n * @return {Array} A new list sorted by the keys generated by `fn`.\n * @example\n *\n *      var sortByFirstItem = R.sortBy(R.prop(0));\n *      var sortByNameCaseInsensitive = R.sortBy(R.compose(R.toLower, R.prop('name')));\n *      var pairs = [[-1, 1], [-2, 2], [-3, 3]];\n *      sortByFirstItem(pairs); //=> [[-3, 3], [-2, 2], [-1, 1]]\n *      var alice = {\n *        name: 'ALICE',\n *        age: 101\n *      };\n *      var bob = {\n *        name: 'Bob',\n *        age: -10\n *      };\n *      var clara = {\n *        name: 'clara',\n *        age: 314.159\n *      };\n *      var people = [clara, bob, alice];\n *      sortByNameCaseInsensitive(people); //=> [alice, bob, clara]\n */\nvar sortBy = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function sortBy(fn, list) {\n  return Array.prototype.slice.call(list, 0).sort(function (a, b) {\n    var aa = fn(a);\n    var bb = fn(b);\n    return aa < bb ? -1 : aa > bb ? 1 : 0;\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (sortBy);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/sortWith.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/sortWith.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Sorts a list according to a list of comparators.\n *\n * @func\n * @memberOf R\n * @since v0.23.0\n * @category Relation\n * @sig [(a, a) -> Number] -> [a] -> [a]\n * @param {Array} functions A list of comparator functions.\n * @param {Array} list The list to sort.\n * @return {Array} A new list sorted according to the comarator functions.\n * @example\n *\n *      var alice = {\n *        name: 'alice',\n *        age: 40\n *      };\n *      var bob = {\n *        name: 'bob',\n *        age: 30\n *      };\n *      var clara = {\n *        name: 'clara',\n *        age: 40\n *      };\n *      var people = [clara, bob, alice];\n *      var ageNameSort = R.sortWith([\n *        R.descend(R.prop('age')),\n *        R.ascend(R.prop('name'))\n *      ]);\n *      ageNameSort(people); //=> [alice, clara, bob]\n */\nvar sortWith = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function sortWith(fns, list) {\n  return Array.prototype.slice.call(list, 0).sort(function (a, b) {\n    var result = 0;\n    var i = 0;\n    while (result === 0 && i < fns.length) {\n      result = fns[i](a, b);\n      i += 1;\n    }\n    return result;\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (sortWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/split.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/split.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _invoker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./invoker */ \"./node_modules/ramda/es/invoker.js\");\n\n\n/**\n * Splits a string into an array of strings based on the given\n * separator.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category String\n * @sig (String | RegExp) -> String -> [String]\n * @param {String|RegExp} sep The pattern.\n * @param {String} str The string to separate into an array.\n * @return {Array} The array of strings from `str` separated by `str`.\n * @see R.join\n * @example\n *\n *      var pathComponents = R.split('/');\n *      R.tail(pathComponents('/usr/local/bin/node')); //=> ['usr', 'local', 'bin', 'node']\n *\n *      R.split('.', 'a.b.c.xyz.d'); //=> ['a', 'b', 'c', 'xyz', 'd']\n */\nvar split = /*#__PURE__*/Object(_invoker__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(1, 'split');\n/* harmony default export */ __webpack_exports__[\"default\"] = (split);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/splitAt.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/splitAt.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _length__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./length */ \"./node_modules/ramda/es/length.js\");\n/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./slice */ \"./node_modules/ramda/es/slice.js\");\n\n\n\n\n/**\n * Splits a given list or string at a given index.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig Number -> [a] -> [[a], [a]]\n * @sig Number -> String -> [String, String]\n * @param {Number} index The index where the array/string is split.\n * @param {Array|String} array The array/string to be split.\n * @return {Array}\n * @example\n *\n *      R.splitAt(1, [1, 2, 3]);          //=> [[1], [2, 3]]\n *      R.splitAt(5, 'hello world');      //=> ['hello', ' world']\n *      R.splitAt(-1, 'foobar');          //=> ['fooba', 'r']\n */\nvar splitAt = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function splitAt(index, array) {\n  return [Object(_slice__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(0, index, array), Object(_slice__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(index, Object(_length__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(array), array)];\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (splitAt);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/splitEvery.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/ramda/es/splitEvery.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slice */ \"./node_modules/ramda/es/slice.js\");\n\n\n\n/**\n * Splits a collection into slices of the specified length.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig Number -> [a] -> [[a]]\n * @sig Number -> String -> [String]\n * @param {Number} n\n * @param {Array} list\n * @return {Array}\n * @example\n *\n *      R.splitEvery(3, [1, 2, 3, 4, 5, 6, 7]); //=> [[1, 2, 3], [4, 5, 6], [7]]\n *      R.splitEvery(3, 'foobarbaz'); //=> ['foo', 'bar', 'baz']\n */\nvar splitEvery = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function splitEvery(n, list) {\n  if (n <= 0) {\n    throw new Error('First argument to splitEvery must be a positive integer');\n  }\n  var result = [];\n  var idx = 0;\n  while (idx < list.length) {\n    result.push(Object(_slice__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(idx, idx += n, list));\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (splitEvery);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/splitWhen.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/splitWhen.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Takes a list and a predicate and returns a pair of lists with the following properties:\n *\n *  - the result of concatenating the two output lists is equivalent to the input list;\n *  - none of the elements of the first output list satisfies the predicate; and\n *  - if the second output list is non-empty, its first element satisfies the predicate.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [[a], [a]]\n * @param {Function} pred The predicate that determines where the array is split.\n * @param {Array} list The array to be split.\n * @return {Array}\n * @example\n *\n *      R.splitWhen(R.equals(2), [1, 2, 3, 1, 2, 3]);   //=> [[1], [2, 3, 1, 2, 3]]\n */\nvar splitWhen = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function splitWhen(pred, list) {\n  var idx = 0;\n  var len = list.length;\n  var prefix = [];\n\n  while (idx < len && !pred(list[idx])) {\n    prefix.push(list[idx]);\n    idx += 1;\n  }\n\n  return [prefix, Array.prototype.slice.call(list, idx)];\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (splitWhen);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/startsWith.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/ramda/es/startsWith.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _equals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals */ \"./node_modules/ramda/es/equals.js\");\n/* harmony import */ var _take__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./take */ \"./node_modules/ramda/es/take.js\");\n\n\n\n\n/**\n * Checks if a list starts with the provided values\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category List\n * @sig [a] -> Boolean\n * @sig String -> Boolean\n * @param {*} prefix\n * @param {*} list\n * @return {Boolean}\n * @example\n *\n *      R.startsWith('a', 'abc')                //=> true\n *      R.startsWith('b', 'abc')                //=> false\n *      R.startsWith(['a'], ['a', 'b', 'c'])    //=> true\n *      R.startsWith(['b'], ['a', 'b', 'c'])    //=> false\n */\nvar startsWith = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (prefix, list) {\n  return Object(_equals__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_take__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(prefix.length, list), prefix);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (startsWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/subtract.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/subtract.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Subtracts its second argument from its first argument.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a The first value.\n * @param {Number} b The second value.\n * @return {Number} The result of `a - b`.\n * @see R.add\n * @example\n *\n *      R.subtract(10, 8); //=> 2\n *\n *      var minus5 = R.subtract(R.__, 5);\n *      minus5(17); //=> 12\n *\n *      var complementaryAngle = R.subtract(90);\n *      complementaryAngle(30); //=> 60\n *      complementaryAngle(72); //=> 18\n */\nvar subtract = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function subtract(a, b) {\n  return Number(a) - Number(b);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (subtract);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/sum.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/sum.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _add__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./add */ \"./node_modules/ramda/es/add.js\");\n/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reduce */ \"./node_modules/ramda/es/reduce.js\");\n\n\n\n/**\n * Adds together all the elements of a list.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig [Number] -> Number\n * @param {Array} list An array of numbers\n * @return {Number} The sum of all the numbers in the list.\n * @see R.reduce\n * @example\n *\n *      R.sum([2,4,6,8,100,1]); //=> 121\n */\nvar sum = /*#__PURE__*/Object(_reduce__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_add__WEBPACK_IMPORTED_MODULE_0__[\"default\"], 0);\n/* harmony default export */ __webpack_exports__[\"default\"] = (sum);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/symmetricDifference.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/ramda/es/symmetricDifference.js ***!\n  \\******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _concat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./concat */ \"./node_modules/ramda/es/concat.js\");\n/* harmony import */ var _difference__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./difference */ \"./node_modules/ramda/es/difference.js\");\n\n\n\n\n/**\n * Finds the set (i.e. no duplicates) of all elements contained in the first or\n * second list, but not both.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The elements in `list1` or `list2`, but not both.\n * @see R.symmetricDifferenceWith, R.difference, R.differenceWith\n * @example\n *\n *      R.symmetricDifference([1,2,3,4], [7,6,5,4,3]); //=> [1,2,7,6,5]\n *      R.symmetricDifference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5,1,2]\n */\nvar symmetricDifference = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function symmetricDifference(list1, list2) {\n  return Object(_concat__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_difference__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(list1, list2), Object(_difference__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(list2, list1));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (symmetricDifference);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/symmetricDifferenceWith.js\":\n/*!**********************************************************!*\\\n  !*** ./node_modules/ramda/es/symmetricDifferenceWith.js ***!\n  \\**********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _concat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./concat */ \"./node_modules/ramda/es/concat.js\");\n/* harmony import */ var _differenceWith__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./differenceWith */ \"./node_modules/ramda/es/differenceWith.js\");\n\n\n\n\n/**\n * Finds the set (i.e. no duplicates) of all elements contained in the first or\n * second list, but not both. Duplication is determined according to the value\n * returned by applying the supplied predicate to two list elements.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Relation\n * @sig ((a, a) -> Boolean) -> [a] -> [a] -> [a]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The elements in `list1` or `list2`, but not both.\n * @see R.symmetricDifference, R.difference, R.differenceWith\n * @example\n *\n *      var eqA = R.eqBy(R.prop('a'));\n *      var l1 = [{a: 1}, {a: 2}, {a: 3}, {a: 4}];\n *      var l2 = [{a: 3}, {a: 4}, {a: 5}, {a: 6}];\n *      R.symmetricDifferenceWith(eqA, l1, l2); //=> [{a: 1}, {a: 2}, {a: 5}, {a: 6}]\n */\nvar symmetricDifferenceWith = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function symmetricDifferenceWith(pred, list1, list2) {\n  return Object(_concat__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_differenceWith__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(pred, list1, list2), Object(_differenceWith__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(pred, list2, list1));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (symmetricDifferenceWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/tail.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/tail.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_checkForMethod__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_checkForMethod */ \"./node_modules/ramda/es/internal/_checkForMethod.js\");\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./slice */ \"./node_modules/ramda/es/slice.js\");\n\n\n\n\n/**\n * Returns all but the first element of the given list or string (or object\n * with a `tail` method).\n *\n * Dispatches to the `slice` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {*} list\n * @return {*}\n * @see R.head, R.init, R.last\n * @example\n *\n *      R.tail([1, 2, 3]);  //=> [2, 3]\n *      R.tail([1, 2]);     //=> [2]\n *      R.tail([1]);        //=> []\n *      R.tail([]);         //=> []\n *\n *      R.tail('abc');  //=> 'bc'\n *      R.tail('ab');   //=> 'b'\n *      R.tail('a');    //=> ''\n *      R.tail('');     //=> ''\n */\nvar tail = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/Object(_internal_checkForMethod__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('tail', /*#__PURE__*/Object(_slice__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(1, Infinity)));\n/* harmony default export */ __webpack_exports__[\"default\"] = (tail);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/take.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/take.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xtake__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xtake */ \"./node_modules/ramda/es/internal/_xtake.js\");\n/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./slice */ \"./node_modules/ramda/es/slice.js\");\n\n\n\n\n\n/**\n * Returns the first `n` elements of the given list, string, or\n * transducer/transformer (or object with a `take` method).\n *\n * Dispatches to the `take` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n\n * @param {*} list\n * @return {*}\n * @see R.drop\n * @example\n *\n *      R.take(1, ['foo', 'bar', 'baz']); //=> ['foo']\n *      R.take(2, ['foo', 'bar', 'baz']); //=> ['foo', 'bar']\n *      R.take(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n *      R.take(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n *      R.take(3, 'ramda');               //=> 'ram'\n *\n *      var personnel = [\n *        'Dave Brubeck',\n *        'Paul Desmond',\n *        'Eugene Wright',\n *        'Joe Morello',\n *        'Gerry Mulligan',\n *        'Bob Bates',\n *        'Joe Dodge',\n *        'Ron Crotty'\n *      ];\n *\n *      var takeFive = R.take(5);\n *      takeFive(personnel);\n *      //=> ['Dave Brubeck', 'Paul Desmond', 'Eugene Wright', 'Joe Morello', 'Gerry Mulligan']\n * @symb R.take(-1, [a, b]) = [a, b]\n * @symb R.take(0, [a, b]) = []\n * @symb R.take(1, [a, b]) = [a]\n * @symb R.take(2, [a, b]) = [a, b]\n */\nvar take = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(['take'], _internal_xtake__WEBPACK_IMPORTED_MODULE_2__[\"default\"], function take(n, xs) {\n  return Object(_slice__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(0, n < 0 ? Infinity : n, xs);\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (take);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/takeLast.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/takeLast.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _drop__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./drop */ \"./node_modules/ramda/es/drop.js\");\n\n\n\n/**\n * Returns a new list containing the last `n` elements of the given list.\n * If `n > list.length`, returns a list of `list.length` elements.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n The number of elements to return.\n * @param {Array} xs The collection to consider.\n * @return {Array}\n * @see R.dropLast\n * @example\n *\n *      R.takeLast(1, ['foo', 'bar', 'baz']); //=> ['baz']\n *      R.takeLast(2, ['foo', 'bar', 'baz']); //=> ['bar', 'baz']\n *      R.takeLast(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n *      R.takeLast(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n *      R.takeLast(3, 'ramda');               //=> 'mda'\n */\nvar takeLast = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function takeLast(n, xs) {\n  return Object(_drop__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(n >= 0 ? xs.length - n : 0, xs);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (takeLast);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/takeLastWhile.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/ramda/es/takeLastWhile.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slice */ \"./node_modules/ramda/es/slice.js\");\n\n\n\n/**\n * Returns a new list containing the last `n` elements of a given list, passing\n * each value to the supplied predicate function, and terminating when the\n * predicate function returns `false`. Excludes the element that caused the\n * predicate function to fail. The predicate function is passed one argument:\n * *(value)*.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [a]\n * @sig (a -> Boolean) -> String -> String\n * @param {Function} fn The function called per iteration.\n * @param {Array} xs The collection to iterate over.\n * @return {Array} A new array.\n * @see R.dropLastWhile, R.addIndex\n * @example\n *\n *      var isNotOne = x => x !== 1;\n *\n *      R.takeLastWhile(isNotOne, [1, 2, 3, 4]); //=> [2, 3, 4]\n *\n *      R.takeLastWhile(x => x !== 'R' , 'Ramda'); //=> 'amda'\n */\nvar takeLastWhile = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function takeLastWhile(fn, xs) {\n  var idx = xs.length - 1;\n  while (idx >= 0 && fn(xs[idx])) {\n    idx -= 1;\n  }\n  return Object(_slice__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(idx + 1, Infinity, xs);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (takeLastWhile);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/takeWhile.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/takeWhile.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xtakeWhile__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xtakeWhile */ \"./node_modules/ramda/es/internal/_xtakeWhile.js\");\n/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./slice */ \"./node_modules/ramda/es/slice.js\");\n\n\n\n\n\n/**\n * Returns a new list containing the first `n` elements of a given list,\n * passing each value to the supplied predicate function, and terminating when\n * the predicate function returns `false`. Excludes the element that caused the\n * predicate function to fail. The predicate function is passed one argument:\n * *(value)*.\n *\n * Dispatches to the `takeWhile` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [a]\n * @sig (a -> Boolean) -> String -> String\n * @param {Function} fn The function called per iteration.\n * @param {Array} xs The collection to iterate over.\n * @return {Array} A new array.\n * @see R.dropWhile, R.transduce, R.addIndex\n * @example\n *\n *      var isNotFour = x => x !== 4;\n *\n *      R.takeWhile(isNotFour, [1, 2, 3, 4, 3, 2, 1]); //=> [1, 2, 3]\n *\n *      R.takeWhile(x => x !== 'd' , 'Ramda'); //=> 'Ram'\n */\nvar takeWhile = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(['takeWhile'], _internal_xtakeWhile__WEBPACK_IMPORTED_MODULE_2__[\"default\"], function takeWhile(fn, xs) {\n  var idx = 0;\n  var len = xs.length;\n  while (idx < len && fn(xs[idx])) {\n    idx += 1;\n  }\n  return Object(_slice__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(0, idx, xs);\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (takeWhile);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/tap.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/tap.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable */ \"./node_modules/ramda/es/internal/_dispatchable.js\");\n/* harmony import */ var _internal_xtap__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xtap */ \"./node_modules/ramda/es/internal/_xtap.js\");\n\n\n\n\n/**\n * Runs the given function with the supplied object, then returns the object.\n *\n * Acts as a transducer if a transformer is given as second parameter.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (a -> *) -> a -> a\n * @param {Function} fn The function to call with `x`. The return value of `fn` will be thrown away.\n * @param {*} x\n * @return {*} `x`.\n * @example\n *\n *      var sayX = x => console.log('x is ' + x);\n *      R.tap(sayX, 100); //=> 100\n *      // logs 'x is 100'\n * @symb R.tap(f, a) = a\n */\nvar tap = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/Object(_internal_dispatchable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([], _internal_xtap__WEBPACK_IMPORTED_MODULE_2__[\"default\"], function tap(fn, x) {\n  fn(x);\n  return x;\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (tap);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/test.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/test.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_cloneRegExp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_cloneRegExp */ \"./node_modules/ramda/es/internal/_cloneRegExp.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_isRegExp__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isRegExp */ \"./node_modules/ramda/es/internal/_isRegExp.js\");\n/* harmony import */ var _toString__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString */ \"./node_modules/ramda/es/toString.js\");\n\n\n\n\n\n/**\n * Determines whether a given string matches a given regular expression.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category String\n * @sig RegExp -> String -> Boolean\n * @param {RegExp} pattern\n * @param {String} str\n * @return {Boolean}\n * @see R.match\n * @example\n *\n *      R.test(/^x/, 'xyz'); //=> true\n *      R.test(/^y/, 'xyz'); //=> false\n */\nvar test = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function test(pattern, str) {\n  if (!Object(_internal_isRegExp__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(pattern)) {\n    throw new TypeError('‘test’ requires a value of type RegExp as its first argument; received ' + Object(_toString__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(pattern));\n  }\n  return Object(_internal_cloneRegExp__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pattern).test(str);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (test);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/times.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/times.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Calls an input function `n` times, returning an array containing the results\n * of those function calls.\n *\n * `fn` is passed one argument: The current value of `n`, which begins at `0`\n * and is gradually incremented to `n - 1`.\n *\n * @func\n * @memberOf R\n * @since v0.2.3\n * @category List\n * @sig (Number -> a) -> Number -> [a]\n * @param {Function} fn The function to invoke. Passed one argument, the current value of `n`.\n * @param {Number} n A value between `0` and `n - 1`. Increments after each function call.\n * @return {Array} An array containing the return values of all calls to `fn`.\n * @see R.repeat\n * @example\n *\n *      R.times(R.identity, 5); //=> [0, 1, 2, 3, 4]\n * @symb R.times(f, 0) = []\n * @symb R.times(f, 1) = [f(0)]\n * @symb R.times(f, 2) = [f(0), f(1)]\n */\nvar times = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function times(fn, n) {\n  var len = Number(n);\n  var idx = 0;\n  var list;\n\n  if (len < 0 || isNaN(len)) {\n    throw new RangeError('n must be a non-negative number');\n  }\n  list = new Array(len);\n  while (idx < len) {\n    list[idx] = fn(idx);\n    idx += 1;\n  }\n  return list;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (times);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/toLower.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/toLower.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _invoker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./invoker */ \"./node_modules/ramda/es/invoker.js\");\n\n\n/**\n * The lower case version of a string.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category String\n * @sig String -> String\n * @param {String} str The string to lower case.\n * @return {String} The lower case version of `str`.\n * @see R.toUpper\n * @example\n *\n *      R.toLower('XYZ'); //=> 'xyz'\n */\nvar toLower = /*#__PURE__*/Object(_invoker__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(0, 'toLowerCase');\n/* harmony default export */ __webpack_exports__[\"default\"] = (toLower);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/toPairs.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/toPairs.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_has__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has */ \"./node_modules/ramda/es/internal/_has.js\");\n\n\n\n/**\n * Converts an object into an array of key, value arrays. Only the object's\n * own properties are used.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.4.0\n * @category Object\n * @sig {String: *} -> [[String,*]]\n * @param {Object} obj The object to extract from\n * @return {Array} An array of key, value arrays from the object's own properties.\n * @see R.fromPairs\n * @example\n *\n *      R.toPairs({a: 1, b: 2, c: 3}); //=> [['a', 1], ['b', 2], ['c', 3]]\n */\nvar toPairs = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function toPairs(obj) {\n  var pairs = [];\n  for (var prop in obj) {\n    if (Object(_internal_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(prop, obj)) {\n      pairs[pairs.length] = [prop, obj[prop]];\n    }\n  }\n  return pairs;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (toPairs);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/toPairsIn.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/toPairsIn.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n/**\n * Converts an object into an array of key, value arrays. The object's own\n * properties and prototype properties are used. Note that the order of the\n * output array is not guaranteed to be consistent across different JS\n * platforms.\n *\n * @func\n * @memberOf R\n * @since v0.4.0\n * @category Object\n * @sig {String: *} -> [[String,*]]\n * @param {Object} obj The object to extract from\n * @return {Array} An array of key, value arrays from the object's own\n *         and prototype properties.\n * @example\n *\n *      var F = function() { this.x = 'X'; };\n *      F.prototype.y = 'Y';\n *      var f = new F();\n *      R.toPairsIn(f); //=> [['x','X'], ['y','Y']]\n */\nvar toPairsIn = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function toPairsIn(obj) {\n  var pairs = [];\n  for (var prop in obj) {\n    pairs[pairs.length] = [prop, obj[prop]];\n  }\n  return pairs;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (toPairsIn);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/toString.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/toString.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _internal_toString__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_toString */ \"./node_modules/ramda/es/internal/_toString.js\");\n\n\n\n/**\n * Returns the string representation of the given value. `eval`'ing the output\n * should result in a value equivalent to the input value. Many of the built-in\n * `toString` methods do not satisfy this requirement.\n *\n * If the given value is an `[object Object]` with a `toString` method other\n * than `Object.prototype.toString`, this method is invoked with no arguments\n * to produce the return value. This means user-defined constructor functions\n * can provide a suitable `toString` method. For example:\n *\n *     function Point(x, y) {\n *       this.x = x;\n *       this.y = y;\n *     }\n *\n *     Point.prototype.toString = function() {\n *       return 'new Point(' + this.x + ', ' + this.y + ')';\n *     };\n *\n *     R.toString(new Point(1, 2)); //=> 'new Point(1, 2)'\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category String\n * @sig * -> String\n * @param {*} val\n * @return {String}\n * @example\n *\n *      R.toString(42); //=> '42'\n *      R.toString('abc'); //=> '\"abc\"'\n *      R.toString([1, 2, 3]); //=> '[1, 2, 3]'\n *      R.toString({foo: 1, bar: 2, baz: 3}); //=> '{\"bar\": 2, \"baz\": 3, \"foo\": 1}'\n *      R.toString(new Date('2001-02-03T04:05:06Z')); //=> 'new Date(\"2001-02-03T04:05:06.000Z\")'\n */\nvar toString = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function toString(val) {\n  return Object(_internal_toString__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(val, []);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (toString);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/toUpper.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/toUpper.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _invoker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./invoker */ \"./node_modules/ramda/es/invoker.js\");\n\n\n/**\n * The upper case version of a string.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category String\n * @sig String -> String\n * @param {String} str The string to upper case.\n * @return {String} The upper case version of `str`.\n * @see R.toLower\n * @example\n *\n *      R.toUpper('abc'); //=> 'ABC'\n */\nvar toUpper = /*#__PURE__*/Object(_invoker__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(0, 'toUpperCase');\n/* harmony default export */ __webpack_exports__[\"default\"] = (toUpper);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/transduce.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/transduce.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_reduce */ \"./node_modules/ramda/es/internal/_reduce.js\");\n/* harmony import */ var _internal_xwrap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_xwrap */ \"./node_modules/ramda/es/internal/_xwrap.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n\n\n\n\n/**\n * Initializes a transducer using supplied iterator function. Returns a single\n * item by iterating through the list, successively calling the transformed\n * iterator function and passing it an accumulator value and the current value\n * from the array, and then passing the result to the next call.\n *\n * The iterator function receives two values: *(acc, value)*. It will be\n * wrapped as a transformer to initialize the transducer. A transformer can be\n * passed directly in place of an iterator function. In both cases, iteration\n * may be stopped early with the [`R.reduced`](#reduced) function.\n *\n * A transducer is a function that accepts a transformer and returns a\n * transformer and can be composed directly.\n *\n * A transformer is an an object that provides a 2-arity reducing iterator\n * function, step, 0-arity initial value function, init, and 1-arity result\n * extraction function, result. The step function is used as the iterator\n * function in reduce. The result function is used to convert the final\n * accumulator into the return type and in most cases is\n * [`R.identity`](#identity). The init function can be used to provide an\n * initial accumulator, but is ignored by transduce.\n *\n * The iteration is performed with [`R.reduce`](#reduce) after initializing the transducer.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category List\n * @sig (c -> c) -> ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} xf The transducer function. Receives a transformer and returns a transformer.\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n *        current element from the array. Wrapped as transformer, if necessary, and used to\n *        initialize the transducer\n * @param {*} acc The initial accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduce, R.reduced, R.into\n * @example\n *\n *      var numbers = [1, 2, 3, 4];\n *      var transducer = R.compose(R.map(R.add(1)), R.take(2));\n *      R.transduce(transducer, R.flip(R.append), [], numbers); //=> [2, 3]\n *\n *      var isOdd = (x) => x % 2 === 1;\n *      var firstOddTransducer = R.compose(R.filter(isOdd), R.take(1));\n *      R.transduce(firstOddTransducer, R.flip(R.append), [], R.range(0, 100)); //=> [1]\n */\nvar transduce = /*#__PURE__*/Object(_curryN__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(4, function transduce(xf, fn, acc, list) {\n  return Object(_internal_reduce__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(xf(typeof fn === 'function' ? Object(_internal_xwrap__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fn) : fn), acc, list);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (transduce);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/transpose.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/transpose.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n/**\n * Transposes the rows and columns of a 2D list.\n * When passed a list of `n` lists of length `x`,\n * returns a list of `x` lists of length `n`.\n *\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig [[a]] -> [[a]]\n * @param {Array} list A 2D list\n * @return {Array} A 2D list\n * @example\n *\n *      R.transpose([[1, 'a'], [2, 'b'], [3, 'c']]) //=> [[1, 2, 3], ['a', 'b', 'c']]\n *      R.transpose([[1, 2, 3], ['a', 'b', 'c']]) //=> [[1, 'a'], [2, 'b'], [3, 'c']]\n *\n *      // If some of the rows are shorter than the following rows, their elements are skipped:\n *      R.transpose([[10, 11], [20], [], [30, 31, 32]]) //=> [[10, 20, 30], [11, 31], [32]]\n * @symb R.transpose([[a], [b], [c]]) = [a, b, c]\n * @symb R.transpose([[a, b], [c, d]]) = [[a, c], [b, d]]\n * @symb R.transpose([[a, b], [c]]) = [[a, c], [b]]\n */\nvar transpose = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function transpose(outerlist) {\n  var i = 0;\n  var result = [];\n  while (i < outerlist.length) {\n    var innerlist = outerlist[i];\n    var j = 0;\n    while (j < innerlist.length) {\n      if (typeof result[j] === 'undefined') {\n        result[j] = [];\n      }\n      result[j].push(innerlist[j]);\n      j += 1;\n    }\n    i += 1;\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (transpose);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/traverse.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/traverse.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./map */ \"./node_modules/ramda/es/map.js\");\n/* harmony import */ var _sequence__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./sequence */ \"./node_modules/ramda/es/sequence.js\");\n\n\n\n\n/**\n * Maps an [Applicative](https://github.com/fantasyland/fantasy-land#applicative)-returning\n * function over a [Traversable](https://github.com/fantasyland/fantasy-land#traversable),\n * then uses [`sequence`](#sequence) to transform the resulting Traversable of Applicative\n * into an Applicative of Traversable.\n *\n * Dispatches to the `traverse` method of the third argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig (Applicative f, Traversable t) => (a -> f a) -> (a -> f b) -> t a -> f (t b)\n * @param {Function} of\n * @param {Function} f\n * @param {*} traversable\n * @return {*}\n * @see R.sequence\n * @example\n *\n *      // Returns `Nothing` if the given divisor is `0`\n *      safeDiv = n => d => d === 0 ? Nothing() : Just(n / d)\n *\n *      R.traverse(Maybe.of, safeDiv(10), [2, 4, 5]); //=> Just([5, 2.5, 2])\n *      R.traverse(Maybe.of, safeDiv(10), [2, 0, 5]); //=> Nothing\n */\nvar traverse = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function traverse(of, f, traversable) {\n  return typeof traversable['fantasy-land/traverse'] === 'function' ? traversable['fantasy-land/traverse'](f, of) : Object(_sequence__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(of, Object(_map__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(f, traversable));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (traverse);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/trim.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/trim.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\nvar ws = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' + '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028' + '\\u2029\\uFEFF';\nvar zeroWidth = '\\u200b';\nvar hasProtoTrim = typeof String.prototype.trim === 'function';\n/**\n * Removes (strips) whitespace from both ends of the string.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category String\n * @sig String -> String\n * @param {String} str The string to trim.\n * @return {String} Trimmed version of `str`.\n * @example\n *\n *      R.trim('   xyz  '); //=> 'xyz'\n *      R.map(R.trim, R.split(',', 'x, y, z')); //=> ['x', 'y', 'z']\n */\nvar _trim = !hasProtoTrim || /*#__PURE__*/ws.trim() || ! /*#__PURE__*/zeroWidth.trim() ? function trim(str) {\n  var beginRx = new RegExp('^[' + ws + '][' + ws + ']*');\n  var endRx = new RegExp('[' + ws + '][' + ws + ']*$');\n  return str.replace(beginRx, '').replace(endRx, '');\n} : function trim(str) {\n  return str.trim();\n};\nvar trim = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_trim);\n/* harmony default export */ __webpack_exports__[\"default\"] = (trim);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/tryCatch.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/tryCatch.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_arity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity */ \"./node_modules/ramda/es/internal/_arity.js\");\n/* harmony import */ var _internal_concat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_concat */ \"./node_modules/ramda/es/internal/_concat.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n\n\n/**\n * `tryCatch` takes two functions, a `tryer` and a `catcher`. The returned\n * function evaluates the `tryer`; if it does not throw, it simply returns the\n * result. If the `tryer` *does* throw, the returned function evaluates the\n * `catcher` function and returns its result. Note that for effective\n * composition with this function, both the `tryer` and `catcher` functions\n * must return the same type of results.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category Function\n * @sig (...x -> a) -> ((e, ...x) -> a) -> (...x -> a)\n * @param {Function} tryer The function that may throw.\n * @param {Function} catcher The function that will be evaluated if `tryer` throws.\n * @return {Function} A new function that will catch exceptions and send then to the catcher.\n * @example\n *\n *      R.tryCatch(R.prop('x'), R.F)({x: true}); //=> true\n *      R.tryCatch(R.prop('x'), R.F)(null);      //=> false\n */\nvar tryCatch = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function _tryCatch(tryer, catcher) {\n  return Object(_internal_arity__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tryer.length, function () {\n    try {\n      return tryer.apply(this, arguments);\n    } catch (e) {\n      return catcher.apply(this, Object(_internal_concat__WEBPACK_IMPORTED_MODULE_1__[\"default\"])([e], arguments));\n    }\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (tryCatch);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/type.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/type.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n/**\n * Gives a single-word string description of the (native) type of a value,\n * returning such answers as 'Object', 'Number', 'Array', or 'Null'. Does not\n * attempt to distinguish user Object types any further, reporting them all as\n * 'Object'.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Type\n * @sig (* -> {*}) -> String\n * @param {*} val The value to test\n * @return {String}\n * @example\n *\n *      R.type({}); //=> \"Object\"\n *      R.type(1); //=> \"Number\"\n *      R.type(false); //=> \"Boolean\"\n *      R.type('s'); //=> \"String\"\n *      R.type(null); //=> \"Null\"\n *      R.type([]); //=> \"Array\"\n *      R.type(/[A-z]/); //=> \"RegExp\"\n *      R.type(() => {}); //=> \"Function\"\n *      R.type(undefined); //=> \"Undefined\"\n */\nvar type = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function type(val) {\n  return val === null ? 'Null' : val === undefined ? 'Undefined' : Object.prototype.toString.call(val).slice(8, -1);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (type);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/unapply.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/unapply.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n/**\n * Takes a function `fn`, which takes a single array argument, and returns a\n * function which:\n *\n *   - takes any number of positional arguments;\n *   - passes these arguments to `fn` as an array; and\n *   - returns the result.\n *\n * In other words, `R.unapply` derives a variadic function from a function which\n * takes an array. `R.unapply` is the inverse of [`R.apply`](#apply).\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Function\n * @sig ([*...] -> a) -> (*... -> a)\n * @param {Function} fn\n * @return {Function}\n * @see R.apply\n * @example\n *\n *      R.unapply(JSON.stringify)(1, 2, 3); //=> '[1,2,3]'\n * @symb R.unapply(f)(a, b) = f([a, b])\n */\nvar unapply = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function unapply(fn) {\n  return function () {\n    return fn(Array.prototype.slice.call(arguments, 0));\n  };\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (unapply);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/unary.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/unary.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _nAry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./nAry */ \"./node_modules/ramda/es/nAry.js\");\n\n\n\n/**\n * Wraps a function of any arity (including nullary) in a function that accepts\n * exactly 1 parameter. Any extraneous parameters will not be passed to the\n * supplied function.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Function\n * @sig (* -> b) -> (a -> b)\n * @param {Function} fn The function to wrap.\n * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of\n *         arity 1.\n * @see R.binary, R.nAry\n * @example\n *\n *      var takesTwoArgs = function(a, b) {\n *        return [a, b];\n *      };\n *      takesTwoArgs.length; //=> 2\n *      takesTwoArgs(1, 2); //=> [1, 2]\n *\n *      var takesOneArg = R.unary(takesTwoArgs);\n *      takesOneArg.length; //=> 1\n *      // Only 1 argument is passed to the wrapped function\n *      takesOneArg(1, 2); //=> [1, undefined]\n * @symb R.unary(f)(a, b, c) = f(a)\n */\nvar unary = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function unary(fn) {\n  return Object(_nAry__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(1, fn);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (unary);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/uncurryN.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/uncurryN.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n\n\n\n/**\n * Returns a function of arity `n` from a (manually) curried function.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Function\n * @sig Number -> (a -> b) -> (a -> c)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to uncurry.\n * @return {Function} A new function.\n * @see R.curry\n * @example\n *\n *      var addFour = a => b => c => d => a + b + c + d;\n *\n *      var uncurriedAddFour = R.uncurryN(4, addFour);\n *      uncurriedAddFour(1, 2, 3, 4); //=> 10\n */\nvar uncurryN = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function uncurryN(depth, fn) {\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(depth, function () {\n    var currentDepth = 1;\n    var value = fn;\n    var idx = 0;\n    var endIdx;\n    while (currentDepth <= depth && typeof value === 'function') {\n      endIdx = currentDepth === depth ? arguments.length : idx + value.length;\n      value = value.apply(this, Array.prototype.slice.call(arguments, idx, endIdx));\n      currentDepth += 1;\n      idx = endIdx;\n    }\n    return value;\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (uncurryN);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/unfold.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/unfold.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Builds a list from a seed value. Accepts an iterator function, which returns\n * either false to stop iteration or an array of length 2 containing the value\n * to add to the resulting list and the seed to be used in the next call to the\n * iterator function.\n *\n * The iterator function receives one argument: *(seed)*.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig (a -> [b]) -> * -> [b]\n * @param {Function} fn The iterator function. receives one argument, `seed`, and returns\n *        either false to quit iteration or an array of length two to proceed. The element\n *        at index 0 of this array will be added to the resulting array, and the element\n *        at index 1 will be passed to the next call to `fn`.\n * @param {*} seed The seed value.\n * @return {Array} The final list.\n * @example\n *\n *      var f = n => n > 50 ? false : [-n, n + 10];\n *      R.unfold(f, 10); //=> [-10, -20, -30, -40, -50]\n * @symb R.unfold(f, x) = [f(x)[0], f(f(x)[1])[0], f(f(f(x)[1])[1])[0], ...]\n */\nvar unfold = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function unfold(fn, seed) {\n  var pair = fn(seed);\n  var result = [];\n  while (pair && pair.length) {\n    result[result.length] = pair[0];\n    pair = fn(pair[1]);\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (unfold);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/union.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/union.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat */ \"./node_modules/ramda/es/internal/_concat.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _compose__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./compose */ \"./node_modules/ramda/es/compose.js\");\n/* harmony import */ var _uniq__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./uniq */ \"./node_modules/ramda/es/uniq.js\");\n\n\n\n\n\n/**\n * Combines two lists into a set (i.e. no duplicates) composed of the elements\n * of each list.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} as The first list.\n * @param {Array} bs The second list.\n * @return {Array} The first and second lists concatenated, with\n *         duplicates removed.\n * @example\n *\n *      R.union([1, 2, 3], [2, 3, 4]); //=> [1, 2, 3, 4]\n */\nvar union = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])( /*#__PURE__*/Object(_compose__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_uniq__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _internal_concat__WEBPACK_IMPORTED_MODULE_0__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (union);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/unionWith.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/ramda/es/unionWith.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat */ \"./node_modules/ramda/es/internal/_concat.js\");\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _uniqWith__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./uniqWith */ \"./node_modules/ramda/es/uniqWith.js\");\n\n\n\n\n/**\n * Combines two lists into a set (i.e. no duplicates) composed of the elements\n * of each list. Duplication is determined according to the value returned by\n * applying the supplied predicate to two list elements.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig ((a, a) -> Boolean) -> [*] -> [*] -> [*]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The first and second lists concatenated, with\n *         duplicates removed.\n * @see R.union\n * @example\n *\n *      var l1 = [{a: 1}, {a: 2}];\n *      var l2 = [{a: 1}, {a: 4}];\n *      R.unionWith(R.eqBy(R.prop('a')), l1, l2); //=> [{a: 1}, {a: 2}, {a: 4}]\n */\nvar unionWith = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function unionWith(pred, list1, list2) {\n  return Object(_uniqWith__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(pred, Object(_internal_concat__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(list1, list2));\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (unionWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/uniq.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/uniq.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _identity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./identity */ \"./node_modules/ramda/es/identity.js\");\n/* harmony import */ var _uniqBy__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./uniqBy */ \"./node_modules/ramda/es/uniqBy.js\");\n\n\n\n/**\n * Returns a new list containing only one copy of each element in the original\n * list. [`R.equals`](#equals) is used to determine equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n *      R.uniq([1, 1, 2, 1]); //=> [1, 2]\n *      R.uniq([1, '1']);     //=> [1, '1']\n *      R.uniq([[42], [42]]); //=> [[42]]\n */\nvar uniq = /*#__PURE__*/Object(_uniqBy__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_identity__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (uniq);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/uniqBy.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/uniqBy.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_Set__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_Set */ \"./node_modules/ramda/es/internal/_Set.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n\n/**\n * Returns a new list containing only one copy of each element in the original\n * list, based upon the value returned by applying the supplied function to\n * each list element. Prefers the first item if the supplied function produces\n * the same value on two items. [`R.equals`](#equals) is used for comparison.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig (a -> b) -> [a] -> [a]\n * @param {Function} fn A function used to produce a value to use during comparisons.\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n *      R.uniqBy(Math.abs, [-1, -5, 2, 10, 1, 2]); //=> [-1, -5, 2, 10]\n */\nvar uniqBy = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function uniqBy(fn, list) {\n  var set = new _internal_Set__WEBPACK_IMPORTED_MODULE_0__[\"default\"]();\n  var result = [];\n  var idx = 0;\n  var appliedItem, item;\n\n  while (idx < list.length) {\n    item = list[idx];\n    appliedItem = fn(item);\n    if (set.add(appliedItem)) {\n      result.push(item);\n    }\n    idx += 1;\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (uniqBy);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/uniqWith.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/uniqWith.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_containsWith__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_containsWith */ \"./node_modules/ramda/es/internal/_containsWith.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n\n/**\n * Returns a new list containing only one copy of each element in the original\n * list, based upon the value returned by applying the supplied predicate to\n * two list elements. Prefers the first item if two items compare equal based\n * on the predicate.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category List\n * @sig ((a, a) -> Boolean) -> [a] -> [a]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n *      var strEq = R.eqBy(String);\n *      R.uniqWith(strEq)([1, '1', 2, 1]); //=> [1, 2]\n *      R.uniqWith(strEq)([{}, {}]);       //=> [{}]\n *      R.uniqWith(strEq)([1, '1', 1]);    //=> [1]\n *      R.uniqWith(strEq)(['1', 1, 1]);    //=> ['1']\n */\nvar uniqWith = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function uniqWith(pred, list) {\n  var idx = 0;\n  var len = list.length;\n  var result = [];\n  var item;\n  while (idx < len) {\n    item = list[idx];\n    if (!Object(_internal_containsWith__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pred, item, result)) {\n      result[result.length] = item;\n    }\n    idx += 1;\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (uniqWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/unless.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/unless.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Tests the final argument by passing it to the given predicate function. If\n * the predicate is not satisfied, the function will return the result of\n * calling the `whenFalseFn` function with the same argument. If the predicate\n * is satisfied, the argument is returned as is.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Logic\n * @sig (a -> Boolean) -> (a -> a) -> a -> a\n * @param {Function} pred        A predicate function\n * @param {Function} whenFalseFn A function to invoke when the `pred` evaluates\n *                               to a falsy value.\n * @param {*}        x           An object to test with the `pred` function and\n *                               pass to `whenFalseFn` if necessary.\n * @return {*} Either `x` or the result of applying `x` to `whenFalseFn`.\n * @see R.ifElse, R.when\n * @example\n *\n *      let safeInc = R.unless(R.isNil, R.inc);\n *      safeInc(null); //=> null\n *      safeInc(1); //=> 2\n */\nvar unless = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function unless(pred, whenFalseFn, x) {\n  return pred(x) ? x : whenFalseFn(x);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (unless);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/unnest.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/unnest.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_identity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_identity */ \"./node_modules/ramda/es/internal/_identity.js\");\n/* harmony import */ var _chain__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./chain */ \"./node_modules/ramda/es/chain.js\");\n\n\n\n/**\n * Shorthand for `R.chain(R.identity)`, which removes one level of nesting from\n * any [Chain](https://github.com/fantasyland/fantasy-land#chain).\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig Chain c => c (c a) -> c a\n * @param {*} list\n * @return {*}\n * @see R.flatten, R.chain\n * @example\n *\n *      R.unnest([1, [2], [[3]]]); //=> [1, 2, [3]]\n *      R.unnest([[1, 2], [3, 4], [5, 6]]); //=> [1, 2, 3, 4, 5, 6]\n */\nvar unnest = /*#__PURE__*/Object(_chain__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_internal_identity__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (unnest);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/until.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/until.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Takes a predicate, a transformation function, and an initial value,\n * and returns a value of the same type as the initial value.\n * It does so by applying the transformation until the predicate is satisfied,\n * at which point it returns the satisfactory value.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category Logic\n * @sig (a -> Boolean) -> (a -> a) -> a -> a\n * @param {Function} pred A predicate function\n * @param {Function} fn The iterator function\n * @param {*} init Initial value\n * @return {*} Final value that satisfies predicate\n * @example\n *\n *      R.until(R.gt(R.__, 100), R.multiply(2))(1) // => 128\n */\nvar until = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function until(pred, fn, init) {\n  var val = init;\n  while (!pred(val)) {\n    val = fn(val);\n  }\n  return val;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (until);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/update.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/update.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n/* harmony import */ var _adjust__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./adjust */ \"./node_modules/ramda/es/adjust.js\");\n/* harmony import */ var _always__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./always */ \"./node_modules/ramda/es/always.js\");\n\n\n\n\n/**\n * Returns a new copy of the array with the element at the provided index\n * replaced with the given value.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig Number -> a -> [a] -> [a]\n * @param {Number} idx The index to update.\n * @param {*} x The value to exist at the given index of the returned array.\n * @param {Array|Arguments} list The source array-like object to be updated.\n * @return {Array} A copy of `list` with the value at index `idx` replaced with `x`.\n * @see R.adjust\n * @example\n *\n *      R.update(1, 11, [0, 1, 2]);     //=> [0, 11, 2]\n *      R.update(1)(11)([0, 1, 2]);     //=> [0, 11, 2]\n * @symb R.update(-1, a, [b, c]) = [b, a]\n * @symb R.update(0, a, [b, c]) = [a, c]\n * @symb R.update(1, a, [b, c]) = [b, a]\n */\nvar update = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function update(idx, x, list) {\n  return Object(_adjust__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_always__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(x), idx, list);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (update);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/useWith.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/useWith.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _curryN__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN */ \"./node_modules/ramda/es/curryN.js\");\n\n\n\n/**\n * Accepts a function `fn` and a list of transformer functions and returns a\n * new curried function. When the new function is invoked, it calls the\n * function `fn` with parameters consisting of the result of calling each\n * supplied handler on successive arguments to the new function.\n *\n * If more arguments are passed to the returned function than transformer\n * functions, those arguments are passed directly to `fn` as additional\n * parameters. If you expect additional arguments that don't need to be\n * transformed, although you can ignore them, it's best to pass an identity\n * function so that the new function reports the correct arity.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((x1, x2, ...) -> z) -> [(a -> x1), (b -> x2), ...] -> (a -> b -> ... -> z)\n * @param {Function} fn The function to wrap.\n * @param {Array} transformers A list of transformer functions\n * @return {Function} The wrapped function.\n * @see R.converge\n * @example\n *\n *      R.useWith(Math.pow, [R.identity, R.identity])(3, 4); //=> 81\n *      R.useWith(Math.pow, [R.identity, R.identity])(3)(4); //=> 81\n *      R.useWith(Math.pow, [R.dec, R.inc])(3, 4); //=> 32\n *      R.useWith(Math.pow, [R.dec, R.inc])(3)(4); //=> 32\n * @symb R.useWith(f, [g, h])(a, b) = f(g(a), h(b))\n */\nvar useWith = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function useWith(fn, transformers) {\n  return Object(_curryN__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(transformers.length, function () {\n    var args = [];\n    var idx = 0;\n    while (idx < transformers.length) {\n      args.push(transformers[idx].call(this, arguments[idx]));\n      idx += 1;\n    }\n    return fn.apply(this, args.concat(Array.prototype.slice.call(arguments, transformers.length)));\n  });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (useWith);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/values.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/values.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n/* harmony import */ var _keys__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys */ \"./node_modules/ramda/es/keys.js\");\n\n\n\n/**\n * Returns a list of all the enumerable own properties of the supplied object.\n * Note that the order of the output array is not guaranteed across different\n * JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [v]\n * @param {Object} obj The object to extract values from\n * @return {Array} An array of the values of the object's own properties.\n * @see R.valuesIn, R.keys\n * @example\n *\n *      R.values({a: 1, b: 2, c: 3}); //=> [1, 2, 3]\n */\nvar values = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function values(obj) {\n  var props = Object(_keys__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(obj);\n  var len = props.length;\n  var vals = [];\n  var idx = 0;\n  while (idx < len) {\n    vals[idx] = obj[props[idx]];\n    idx += 1;\n  }\n  return vals;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (values);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/valuesIn.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/ramda/es/valuesIn.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1 */ \"./node_modules/ramda/es/internal/_curry1.js\");\n\n\n/**\n * Returns a list of all the properties, including prototype properties, of the\n * supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @sig {k: v} -> [v]\n * @param {Object} obj The object to extract values from\n * @return {Array} An array of the values of the object's own and prototype properties.\n * @see R.values, R.keysIn\n * @example\n *\n *      var F = function() { this.x = 'X'; };\n *      F.prototype.y = 'Y';\n *      var f = new F();\n *      R.valuesIn(f); //=> ['X', 'Y']\n */\nvar valuesIn = /*#__PURE__*/Object(_internal_curry1__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function valuesIn(obj) {\n  var prop;\n  var vs = [];\n  for (prop in obj) {\n    vs[vs.length] = obj[prop];\n  }\n  return vs;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (valuesIn);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/view.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/view.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n// `Const` is a functor that effectively ignores the function given to `map`.\nvar Const = function (x) {\n  return { value: x, 'fantasy-land/map': function () {\n      return this;\n    } };\n};\n\n/**\n * Returns a \"view\" of the given data structure, determined by the given lens.\n * The lens's focus determines which portion of the data structure is visible.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Lens s a -> s -> a\n * @param {Lens} lens\n * @param {*} x\n * @return {*}\n * @see R.prop, R.lensIndex, R.lensProp\n * @example\n *\n *      var xLens = R.lensProp('x');\n *\n *      R.view(xLens, {x: 1, y: 2});  //=> 1\n *      R.view(xLens, {x: 4, y: 2});  //=> 4\n */\nvar view = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function view(lens, x) {\n  // Using `Const` effectively ignores the setter function of the `lens`,\n  // leaving the value returned by the getter function unmodified.\n  return lens(Const)(x).value;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (view);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/when.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/ramda/es/when.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Tests the final argument by passing it to the given predicate function. If\n * the predicate is satisfied, the function will return the result of calling\n * the `whenTrueFn` function with the same argument. If the predicate is not\n * satisfied, the argument is returned as is.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Logic\n * @sig (a -> Boolean) -> (a -> a) -> a -> a\n * @param {Function} pred       A predicate function\n * @param {Function} whenTrueFn A function to invoke when the `condition`\n *                              evaluates to a truthy value.\n * @param {*}        x          An object to test with the `pred` function and\n *                              pass to `whenTrueFn` if necessary.\n * @return {*} Either `x` or the result of applying `x` to `whenTrueFn`.\n * @see R.ifElse, R.unless\n * @example\n *\n *      // truncate :: String -> String\n *      var truncate = R.when(\n *        R.propSatisfies(R.gt(R.__, 10), 'length'),\n *        R.pipe(R.take(10), R.append('…'), R.join(''))\n *      );\n *      truncate('12345');         //=> '12345'\n *      truncate('0123456789ABC'); //=> '0123456789…'\n */\nvar when = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function when(pred, whenTrueFn, x) {\n  return pred(x) ? whenTrueFn(x) : x;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (when);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/where.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/where.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _internal_has__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has */ \"./node_modules/ramda/es/internal/_has.js\");\n\n\n\n/**\n * Takes a spec object and a test object; returns true if the test satisfies\n * the spec. Each of the spec's own properties must be a predicate function.\n * Each predicate is applied to the value of the corresponding property of the\n * test object. `where` returns true if all the predicates return true, false\n * otherwise.\n *\n * `where` is well suited to declaratively expressing constraints for other\n * functions such as [`filter`](#filter) and [`find`](#find).\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category Object\n * @sig {String: (* -> Boolean)} -> {String: *} -> Boolean\n * @param {Object} spec\n * @param {Object} testObj\n * @return {Boolean}\n * @see R.propSatisfies, R.whereEq\n * @example\n *\n *      // pred :: Object -> Boolean\n *      var pred = R.where({\n *        a: R.equals('foo'),\n *        b: R.complement(R.equals('bar')),\n *        x: R.gt(R.__, 10),\n *        y: R.lt(R.__, 20)\n *      });\n *\n *      pred({a: 'foo', b: 'xxx', x: 11, y: 19}); //=> true\n *      pred({a: 'xxx', b: 'xxx', x: 11, y: 19}); //=> false\n *      pred({a: 'foo', b: 'bar', x: 11, y: 19}); //=> false\n *      pred({a: 'foo', b: 'xxx', x: 10, y: 19}); //=> false\n *      pred({a: 'foo', b: 'xxx', x: 11, y: 20}); //=> false\n */\nvar where = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function where(spec, testObj) {\n  for (var prop in spec) {\n    if (Object(_internal_has__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(prop, spec) && !spec[prop](testObj[prop])) {\n      return false;\n    }\n  }\n  return true;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (where);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/whereEq.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/whereEq.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _equals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals */ \"./node_modules/ramda/es/equals.js\");\n/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./map */ \"./node_modules/ramda/es/map.js\");\n/* harmony import */ var _where__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./where */ \"./node_modules/ramda/es/where.js\");\n\n\n\n\n\n/**\n * Takes a spec object and a test object; returns true if the test satisfies\n * the spec, false otherwise. An object satisfies the spec if, for each of the\n * spec's own properties, accessing that property of the object gives the same\n * value (in [`R.equals`](#equals) terms) as accessing that property of the\n * spec.\n *\n * `whereEq` is a specialization of [`where`](#where).\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Object\n * @sig {String: *} -> {String: *} -> Boolean\n * @param {Object} spec\n * @param {Object} testObj\n * @return {Boolean}\n * @see R.propEq, R.where\n * @example\n *\n *      // pred :: Object -> Boolean\n *      var pred = R.whereEq({a: 1, b: 2});\n *\n *      pred({a: 1});              //=> false\n *      pred({a: 1, b: 2});        //=> true\n *      pred({a: 1, b: 2, c: 3});  //=> true\n *      pred({a: 1, b: 1});        //=> false\n */\nvar whereEq = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function whereEq(spec, testObj) {\n  return Object(_where__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(Object(_map__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_equals__WEBPACK_IMPORTED_MODULE_1__[\"default\"], spec), testObj);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (whereEq);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/without.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/without.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_contains__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_contains */ \"./node_modules/ramda/es/internal/_contains.js\");\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n/* harmony import */ var _flip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./flip */ \"./node_modules/ramda/es/flip.js\");\n/* harmony import */ var _reject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./reject */ \"./node_modules/ramda/es/reject.js\");\n\n\n\n\n\n/**\n * Returns a new list without values in the first argument.\n * [`R.equals`](#equals) is used to determine equality.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig [a] -> [a] -> [a]\n * @param {Array} list1 The values to be removed from `list2`.\n * @param {Array} list2 The array to remove values from.\n * @return {Array} The new array without values in `list1`.\n * @see R.transduce, R.difference\n * @example\n *\n *      R.without([1, 2], [1, 2, 1, 3, 4]); //=> [3, 4]\n */\nvar without = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (xs, list) {\n  return Object(_reject__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(Object(_flip__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_internal_contains__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(xs), list);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (without);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/xprod.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/ramda/es/xprod.js ***!\n  \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Creates a new list out of the two supplied by creating each possible pair\n * from the lists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [b] -> [[a,b]]\n * @param {Array} as The first list.\n * @param {Array} bs The second list.\n * @return {Array} The list made by combining each possible pair from\n *         `as` and `bs` into pairs (`[a, b]`).\n * @example\n *\n *      R.xprod([1, 2], ['a', 'b']); //=> [[1, 'a'], [1, 'b'], [2, 'a'], [2, 'b']]\n * @symb R.xprod([a, b], [c, d]) = [[a, c], [a, d], [b, c], [b, d]]\n */\nvar xprod = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function xprod(a, b) {\n  // = xprodWith(prepend); (takes about 3 times as long...)\n  var idx = 0;\n  var ilen = a.length;\n  var j;\n  var jlen = b.length;\n  var result = [];\n  while (idx < ilen) {\n    j = 0;\n    while (j < jlen) {\n      result[result.length] = [a[idx], b[j]];\n      j += 1;\n    }\n    idx += 1;\n  }\n  return result;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (xprod);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/zip.js\":\n/*!**************************************!*\\\n  !*** ./node_modules/ramda/es/zip.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Creates a new list out of the two supplied by pairing up equally-positioned\n * items from both lists. The returned list is truncated to the length of the\n * shorter of the two input lists.\n * Note: `zip` is equivalent to `zipWith(function(a, b) { return [a, b] })`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [b] -> [[a,b]]\n * @param {Array} list1 The first array to consider.\n * @param {Array} list2 The second array to consider.\n * @return {Array} The list made by pairing up same-indexed elements of `list1` and `list2`.\n * @example\n *\n *      R.zip([1, 2, 3], ['a', 'b', 'c']); //=> [[1, 'a'], [2, 'b'], [3, 'c']]\n * @symb R.zip([a, b, c], [d, e, f]) = [[a, d], [b, e], [c, f]]\n */\nvar zip = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function zip(a, b) {\n  var rv = [];\n  var idx = 0;\n  var len = Math.min(a.length, b.length);\n  while (idx < len) {\n    rv[idx] = [a[idx], b[idx]];\n    idx += 1;\n  }\n  return rv;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (zip);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/zipObj.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/ramda/es/zipObj.js ***!\n  \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2 */ \"./node_modules/ramda/es/internal/_curry2.js\");\n\n\n/**\n * Creates a new object out of a list of keys and a list of values.\n * Key/value pairing is truncated to the length of the shorter of the two lists.\n * Note: `zipObj` is equivalent to `pipe(zip, fromPairs)`.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig [String] -> [*] -> {String: *}\n * @param {Array} keys The array that will be properties on the output object.\n * @param {Array} values The list of values on the output object.\n * @return {Object} The object made by pairing up same-indexed elements of `keys` and `values`.\n * @example\n *\n *      R.zipObj(['a', 'b', 'c'], [1, 2, 3]); //=> {a: 1, b: 2, c: 3}\n */\nvar zipObj = /*#__PURE__*/Object(_internal_curry2__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function zipObj(keys, values) {\n  var idx = 0;\n  var len = Math.min(keys.length, values.length);\n  var out = {};\n  while (idx < len) {\n    out[keys[idx]] = values[idx];\n    idx += 1;\n  }\n  return out;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (zipObj);\n\n/***/ }),\n\n/***/ \"./node_modules/ramda/es/zipWith.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/ramda/es/zipWith.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _internal_curry3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3 */ \"./node_modules/ramda/es/internal/_curry3.js\");\n\n\n/**\n * Creates a new list out of the two supplied by applying the function to each\n * equally-positioned pair in the lists. The returned list is truncated to the\n * length of the shorter of the two input lists.\n *\n * @function\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> c) -> [a] -> [b] -> [c]\n * @param {Function} fn The function used to combine the two elements into one value.\n * @param {Array} list1 The first array to consider.\n * @param {Array} list2 The second array to consider.\n * @return {Array} The list made by combining same-indexed elements of `list1` and `list2`\n *         using `fn`.\n * @example\n *\n *      var f = (x, y) => {\n *        // ...\n *      };\n *      R.zipWith(f, [1, 2, 3], ['a', 'b', 'c']);\n *      //=> [f(1, 'a'), f(2, 'b'), f(3, 'c')]\n * @symb R.zipWith(fn, [a, b, c], [d, e, f]) = [fn(a, d), fn(b, e), fn(c, f)]\n */\nvar zipWith = /*#__PURE__*/Object(_internal_curry3__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function zipWith(fn, a, b) {\n  var rv = [];\n  var idx = 0;\n  var len = Math.min(a.length, b.length);\n  while (idx < len) {\n    rv[idx] = fn(a[idx], b[idx]);\n    idx += 1;\n  }\n  return rv;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (zipWith);\n\n/***/ }),\n\n/***/ \"./node_modules/rc-align/es/Align.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/rc-align/es/Align.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var rc_util_es_ref__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rc-util/es/ref */ \"./node_modules/rc-util/es/ref.js\");\n/* harmony import */ var dom_align__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dom-align */ \"./node_modules/dom-align/dist-web/index.js\");\n/* harmony import */ var rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! rc-util/es/Dom/addEventListener */ \"./node_modules/rc-util/es/Dom/addEventListener.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./util */ \"./node_modules/rc-align/es/util.js\");\n/* harmony import */ var _hooks_useBuffer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./hooks/useBuffer */ \"./node_modules/rc-align/es/hooks/useBuffer.js\");\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * Removed props:\n *  - childrenProps\n */\n\n\n\n\n\n\n\nfunction getElement(func) {\n  if (typeof func !== 'function') return null;\n  return func();\n}\n\nfunction getPoint(point) {\n  if (_typeof(point) !== 'object' || !point) return null;\n  return point;\n}\n\nvar Align = function Align(_ref, ref) {\n  var children = _ref.children,\n      disabled = _ref.disabled,\n      target = _ref.target,\n      align = _ref.align,\n      onAlign = _ref.onAlign,\n      monitorWindowResize = _ref.monitorWindowResize,\n      _ref$monitorBufferTim = _ref.monitorBufferTime,\n      monitorBufferTime = _ref$monitorBufferTim === void 0 ? 0 : _ref$monitorBufferTim;\n  var cacheRef = react__WEBPACK_IMPORTED_MODULE_0___default.a.useRef({});\n  var nodeRef = react__WEBPACK_IMPORTED_MODULE_0___default.a.useRef();\n  var childNode = react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.only(children); // ===================== Align ======================\n  // We save the props here to avoid closure makes props ood\n\n  var forceAlignPropsRef = react__WEBPACK_IMPORTED_MODULE_0___default.a.useRef({});\n  forceAlignPropsRef.current.disabled = disabled;\n  forceAlignPropsRef.current.target = target;\n  forceAlignPropsRef.current.onAlign = onAlign;\n\n  var _useBuffer = Object(_hooks_useBuffer__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(function () {\n    var _forceAlignPropsRef$c = forceAlignPropsRef.current,\n        latestDisabled = _forceAlignPropsRef$c.disabled,\n        latestTarget = _forceAlignPropsRef$c.target;\n\n    if (!latestDisabled && latestTarget) {\n      var source = nodeRef.current;\n      var result;\n      var element = getElement(latestTarget);\n      var point = getPoint(latestTarget);\n      cacheRef.current.element = element;\n      cacheRef.current.point = point; // IE lose focus after element realign\n      // We should record activeElement and restore later\n\n      var _document = document,\n          activeElement = _document.activeElement;\n\n      if (element) {\n        result = Object(dom_align__WEBPACK_IMPORTED_MODULE_2__[\"alignElement\"])(source, element, align);\n      } else if (point) {\n        result = Object(dom_align__WEBPACK_IMPORTED_MODULE_2__[\"alignPoint\"])(source, point, align);\n      }\n\n      Object(_util__WEBPACK_IMPORTED_MODULE_4__[\"restoreFocus\"])(activeElement, source);\n\n      if (onAlign) {\n        onAlign(source, result);\n      }\n\n      return true;\n    }\n\n    return false;\n  }, monitorBufferTime),\n      _useBuffer2 = _slicedToArray(_useBuffer, 2),\n      _forceAlign = _useBuffer2[0],\n      cancelForceAlign = _useBuffer2[1]; // ===================== Effect =====================\n  // Listen for target updated\n\n\n  var resizeMonitor = react__WEBPACK_IMPORTED_MODULE_0___default.a.useRef({\n    cancel: function cancel() {}\n  }); // Listen for source updated\n\n  var sourceResizeMonitor = react__WEBPACK_IMPORTED_MODULE_0___default.a.useRef({\n    cancel: function cancel() {}\n  });\n  react__WEBPACK_IMPORTED_MODULE_0___default.a.useEffect(function () {\n    var element = getElement(target);\n    var point = getPoint(target);\n\n    if (nodeRef.current !== sourceResizeMonitor.current.element) {\n      sourceResizeMonitor.current.cancel();\n      sourceResizeMonitor.current.element = nodeRef.current;\n      sourceResizeMonitor.current.cancel = Object(_util__WEBPACK_IMPORTED_MODULE_4__[\"monitorResize\"])(nodeRef.current, _forceAlign);\n    }\n\n    if (cacheRef.current.element !== element || !Object(_util__WEBPACK_IMPORTED_MODULE_4__[\"isSamePoint\"])(cacheRef.current.point, point)) {\n      _forceAlign(); // Add resize observer\n\n\n      if (resizeMonitor.current.element !== element) {\n        resizeMonitor.current.cancel();\n        resizeMonitor.current.element = element;\n        resizeMonitor.current.cancel = Object(_util__WEBPACK_IMPORTED_MODULE_4__[\"monitorResize\"])(element, _forceAlign);\n      }\n    }\n  }); // Listen for disabled change\n\n  react__WEBPACK_IMPORTED_MODULE_0___default.a.useEffect(function () {\n    if (!disabled) {\n      _forceAlign();\n    } else {\n      cancelForceAlign();\n    }\n  }, [disabled]); // Listen for window resize\n\n  var winResizeRef = react__WEBPACK_IMPORTED_MODULE_0___default.a.useRef(null);\n  react__WEBPACK_IMPORTED_MODULE_0___default.a.useEffect(function () {\n    if (monitorWindowResize) {\n      if (!winResizeRef.current) {\n        winResizeRef.current = Object(rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(window, 'resize', _forceAlign);\n      }\n    } else if (winResizeRef.current) {\n      winResizeRef.current.remove();\n      winResizeRef.current = null;\n    }\n  }, [monitorWindowResize]); // Clear all if unmount\n\n  react__WEBPACK_IMPORTED_MODULE_0___default.a.useEffect(function () {\n    return function () {\n      resizeMonitor.current.cancel();\n      sourceResizeMonitor.current.cancel();\n      if (winResizeRef.current) winResizeRef.current.remove();\n      cancelForceAlign();\n    };\n  }, []); // ====================== Ref =======================\n\n  react__WEBPACK_IMPORTED_MODULE_0___default.a.useImperativeHandle(ref, function () {\n    return {\n      forceAlign: function forceAlign() {\n        return _forceAlign(true);\n      }\n    };\n  }); // ===================== Render =====================\n\n  if (react__WEBPACK_IMPORTED_MODULE_0___default.a.isValidElement(childNode)) {\n    childNode = react__WEBPACK_IMPORTED_MODULE_0___default.a.cloneElement(childNode, {\n      ref: Object(rc_util_es_ref__WEBPACK_IMPORTED_MODULE_1__[\"composeRef\"])(childNode.ref, nodeRef)\n    });\n  }\n\n  return childNode;\n};\n\nvar RefAlign = react__WEBPACK_IMPORTED_MODULE_0___default.a.forwardRef(Align);\nRefAlign.displayName = 'Align';\n/* harmony default export */ __webpack_exports__[\"default\"] = (RefAlign);\n\n/***/ }),\n\n/***/ \"./node_modules/rc-align/es/hooks/useBuffer.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/rc-align/es/hooks/useBuffer.js ***!\n  \\*****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (callback, buffer) {\n  var calledRef = react__WEBPACK_IMPORTED_MODULE_0___default.a.useRef(false);\n  var timeoutRef = react__WEBPACK_IMPORTED_MODULE_0___default.a.useRef(null);\n\n  function cancelTrigger() {\n    window.clearTimeout(timeoutRef.current);\n  }\n\n  function trigger(force) {\n    if (!calledRef.current || force === true) {\n      if (callback() === false) {\n        // Not delay since callback cancelled self\n        return;\n      }\n\n      calledRef.current = true;\n      cancelTrigger();\n      timeoutRef.current = window.setTimeout(function () {\n        calledRef.current = false;\n      }, buffer);\n    } else {\n      cancelTrigger();\n      timeoutRef.current = window.setTimeout(function () {\n        calledRef.current = false;\n        trigger();\n      }, buffer);\n    }\n  }\n\n  return [trigger, function () {\n    calledRef.current = false;\n    cancelTrigger();\n  }];\n});\n\n/***/ }),\n\n/***/ \"./node_modules/rc-align/es/index.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/rc-align/es/index.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Align__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Align */ \"./node_modules/rc-align/es/Align.js\");\n// export this package's api\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_Align__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./node_modules/rc-align/es/util.js\":\n/*!******************************************!*\\\n  !*** ./node_modules/rc-align/es/util.js ***!\n  \\******************************************/\n/*! exports provided: isSamePoint, restoreFocus, monitorResize */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isSamePoint\", function() { return isSamePoint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"restoreFocus\", function() { return restoreFocus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"monitorResize\", function() { return monitorResize; });\n/* harmony import */ var resize_observer_polyfill__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! resize-observer-polyfill */ \"./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js\");\n/* harmony import */ var rc_util_es_Dom_contains__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rc-util/es/Dom/contains */ \"./node_modules/rc-util/es/Dom/contains.js\");\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\nfunction isSamePoint(prev, next) {\n  if (prev === next) return true;\n  if (!prev || !next) return false;\n\n  if ('pageX' in next && 'pageY' in next) {\n    return prev.pageX === next.pageX && prev.pageY === next.pageY;\n  }\n\n  if ('clientX' in next && 'clientY' in next) {\n    return prev.clientX === next.clientX && prev.clientY === next.clientY;\n  }\n\n  return false;\n}\nfunction restoreFocus(activeElement, container) {\n  // Focus back if is in the container\n  if (activeElement !== document.activeElement && Object(rc_util_es_Dom_contains__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(container, activeElement)) {\n    activeElement.focus();\n  }\n}\nfunction monitorResize(element, callback) {\n  var prevWidth = null;\n  var prevHeight = null;\n\n  function onResize(_ref) {\n    var _ref2 = _slicedToArray(_ref, 1),\n        target = _ref2[0].target;\n\n    var _target$getBoundingCl = target.getBoundingClientRect(),\n        width = _target$getBoundingCl.width,\n        height = _target$getBoundingCl.height;\n\n    var fixedWidth = Math.floor(width);\n    var fixedHeight = Math.floor(height);\n\n    if (prevWidth !== fixedWidth || prevHeight !== fixedHeight) {\n      callback({\n        width: fixedWidth,\n        height: fixedHeight\n      });\n    }\n\n    prevWidth = fixedWidth;\n    prevHeight = fixedHeight;\n  }\n\n  var resizeObserver = new resize_observer_polyfill__WEBPACK_IMPORTED_MODULE_0__[\"default\"](onResize);\n\n  if (element) {\n    resizeObserver.observe(element);\n  }\n\n  return function () {\n    resizeObserver.disconnect();\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/rc-animate/es/CSSMotion.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/rc-animate/es/CSSMotion.js ***!\n  \\*************************************************/\n/*! exports provided: MotionPropTypes, genCSSMotion, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MotionPropTypes\", function() { return MotionPropTypes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"genCSSMotion\", function() { return genCSSMotion; });\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ \"./node_modules/babel-runtime/helpers/defineProperty.js\");\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/extends */ \"./node_modules/babel-runtime/helpers/extends.js\");\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ \"./node_modules/babel-runtime/helpers/classCallCheck.js\");\n/* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ \"./node_modules/babel-runtime/helpers/createClass.js\");\n/* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ \"./node_modules/babel-runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ \"./node_modules/babel-runtime/helpers/inherits.js\");\n/* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var react_lifecycles_compat__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react-lifecycles-compat */ \"./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js\");\n/* harmony import */ var rc_util_es_Dom_findDOMNode__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! rc-util/es/Dom/findDOMNode */ \"./node_modules/rc-util/es/Dom/findDOMNode.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var raf__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! raf */ \"./node_modules/raf/index.js\");\n/* harmony import */ var raf__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(raf__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _util_motion__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./util/motion */ \"./node_modules/rc-animate/es/util/motion.js\");\n\n\n\n\n\n\n/* eslint-disable react/default-props-match-prop-types, react/no-multi-comp */\n\n\n\n\n\n\n\n\nvar STATUS_NONE = 'none';\nvar STATUS_APPEAR = 'appear';\nvar STATUS_ENTER = 'enter';\nvar STATUS_LEAVE = 'leave';\n\nvar MotionPropTypes = {\n  eventProps: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.object, // Internal usage. Only pass by CSSMotionList\n  visible: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.bool,\n  children: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func,\n  motionName: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.object]),\n  motionAppear: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.bool,\n  motionEnter: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.bool,\n  motionLeave: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.bool,\n  motionLeaveImmediately: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.bool, // Trigger leave motion immediately\n  removeOnLeave: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.bool,\n  leavedClassName: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string,\n  onAppearStart: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func,\n  onAppearActive: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func,\n  onAppearEnd: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func,\n  onEnterStart: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func,\n  onEnterActive: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func,\n  onEnterEnd: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func,\n  onLeaveStart: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func,\n  onLeaveActive: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func,\n  onLeaveEnd: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func\n};\n\n/**\n * `transitionSupport` is used for none transition test case.\n * Default we use browser transition event support check.\n */\nfunction genCSSMotion(config) {\n  var transitionSupport = config;\n  var forwardRef = !!react__WEBPACK_IMPORTED_MODULE_6___default.a.forwardRef;\n\n  if (typeof config === 'object') {\n    transitionSupport = config.transitionSupport;\n    forwardRef = 'forwardRef' in config ? config.forwardRef : forwardRef;\n  }\n\n  function isSupportTransition(props) {\n    return !!(props.motionName && transitionSupport);\n  }\n\n  var CSSMotion = function (_React$Component) {\n    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(CSSMotion, _React$Component);\n\n    function CSSMotion() {\n      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, CSSMotion);\n\n      var _this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, (CSSMotion.__proto__ || Object.getPrototypeOf(CSSMotion)).call(this));\n\n      _this.onDomUpdate = function () {\n        var _this$state = _this.state,\n            status = _this$state.status,\n            newStatus = _this$state.newStatus;\n        var _this$props = _this.props,\n            onAppearStart = _this$props.onAppearStart,\n            onEnterStart = _this$props.onEnterStart,\n            onLeaveStart = _this$props.onLeaveStart,\n            onAppearActive = _this$props.onAppearActive,\n            onEnterActive = _this$props.onEnterActive,\n            onLeaveActive = _this$props.onLeaveActive,\n            motionAppear = _this$props.motionAppear,\n            motionEnter = _this$props.motionEnter,\n            motionLeave = _this$props.motionLeave;\n\n\n        if (!isSupportTransition(_this.props)) {\n          return;\n        }\n\n        // Event injection\n        var $ele = _this.getElement();\n        if (_this.$cacheEle !== $ele) {\n          _this.removeEventListener(_this.$cacheEle);\n          _this.addEventListener($ele);\n          _this.$cacheEle = $ele;\n        }\n\n        // Init status\n        if (newStatus && status === STATUS_APPEAR && motionAppear) {\n          _this.updateStatus(onAppearStart, null, null, function () {\n            _this.updateActiveStatus(onAppearActive, STATUS_APPEAR);\n          });\n        } else if (newStatus && status === STATUS_ENTER && motionEnter) {\n          _this.updateStatus(onEnterStart, null, null, function () {\n            _this.updateActiveStatus(onEnterActive, STATUS_ENTER);\n          });\n        } else if (newStatus && status === STATUS_LEAVE && motionLeave) {\n          _this.updateStatus(onLeaveStart, null, null, function () {\n            _this.updateActiveStatus(onLeaveActive, STATUS_LEAVE);\n          });\n        }\n      };\n\n      _this.onMotionEnd = function (event) {\n        var _this$state2 = _this.state,\n            status = _this$state2.status,\n            statusActive = _this$state2.statusActive;\n        var _this$props2 = _this.props,\n            onAppearEnd = _this$props2.onAppearEnd,\n            onEnterEnd = _this$props2.onEnterEnd,\n            onLeaveEnd = _this$props2.onLeaveEnd;\n\n        if (status === STATUS_APPEAR && statusActive) {\n          _this.updateStatus(onAppearEnd, { status: STATUS_NONE }, event);\n        } else if (status === STATUS_ENTER && statusActive) {\n          _this.updateStatus(onEnterEnd, { status: STATUS_NONE }, event);\n        } else if (status === STATUS_LEAVE && statusActive) {\n          _this.updateStatus(onLeaveEnd, { status: STATUS_NONE }, event);\n        }\n      };\n\n      _this.setNodeRef = function (node) {\n        var internalRef = _this.props.internalRef;\n\n        _this.node = node;\n\n        if (typeof internalRef === 'function') {\n          internalRef(node);\n        } else if (internalRef && 'current' in internalRef) {\n          internalRef.current = node;\n        }\n      };\n\n      _this.getElement = function () {\n        return Object(rc_util_es_Dom_findDOMNode__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(_this.node || _this);\n      };\n\n      _this.addEventListener = function ($ele) {\n        if (!$ele) return;\n\n        $ele.addEventListener(_util_motion__WEBPACK_IMPORTED_MODULE_12__[\"transitionEndName\"], _this.onMotionEnd);\n        $ele.addEventListener(_util_motion__WEBPACK_IMPORTED_MODULE_12__[\"animationEndName\"], _this.onMotionEnd);\n      };\n\n      _this.removeEventListener = function ($ele) {\n        if (!$ele) return;\n\n        $ele.removeEventListener(_util_motion__WEBPACK_IMPORTED_MODULE_12__[\"transitionEndName\"], _this.onMotionEnd);\n        $ele.removeEventListener(_util_motion__WEBPACK_IMPORTED_MODULE_12__[\"animationEndName\"], _this.onMotionEnd);\n      };\n\n      _this.updateStatus = function (styleFunc, additionalState, event, callback) {\n        var statusStyle = styleFunc ? styleFunc(_this.getElement(), event) : null;\n\n        if (statusStyle === false || _this._destroyed) return;\n\n        var nextStep = void 0;\n        if (callback) {\n          nextStep = function nextStep() {\n            _this.nextFrame(callback);\n          };\n        }\n\n        _this.setState(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({\n          statusStyle: typeof statusStyle === 'object' ? statusStyle : null,\n          newStatus: false\n        }, additionalState), nextStep); // Trigger before next frame & after `componentDidMount`\n      };\n\n      _this.updateActiveStatus = function (styleFunc, currentStatus) {\n        // `setState` use `postMessage` to trigger at the end of frame.\n        // Let's use requestAnimationFrame to update new state in next frame.\n        _this.nextFrame(function () {\n          var status = _this.state.status;\n\n          if (status !== currentStatus) return;\n\n          _this.updateStatus(styleFunc, { statusActive: true });\n        });\n      };\n\n      _this.nextFrame = function (func) {\n        _this.cancelNextFrame();\n        _this.raf = raf__WEBPACK_IMPORTED_MODULE_11___default()(func);\n      };\n\n      _this.cancelNextFrame = function () {\n        if (_this.raf) {\n          raf__WEBPACK_IMPORTED_MODULE_11___default.a.cancel(_this.raf);\n          _this.raf = null;\n        }\n      };\n\n      _this.state = {\n        status: STATUS_NONE,\n        statusActive: false,\n        newStatus: false,\n        statusStyle: null\n      };\n      _this.$cacheEle = null;\n      _this.node = null;\n      _this.raf = null;\n      return _this;\n    }\n\n    babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(CSSMotion, [{\n      key: 'componentDidMount',\n      value: function componentDidMount() {\n        this.onDomUpdate();\n      }\n    }, {\n      key: 'componentDidUpdate',\n      value: function componentDidUpdate() {\n        this.onDomUpdate();\n      }\n    }, {\n      key: 'componentWillUnmount',\n      value: function componentWillUnmount() {\n        this._destroyed = true;\n        this.removeEventListener(this.$cacheEle);\n        this.cancelNextFrame();\n      }\n    }, {\n      key: 'render',\n      value: function render() {\n        var _classNames;\n\n        var _state = this.state,\n            status = _state.status,\n            statusActive = _state.statusActive,\n            statusStyle = _state.statusStyle;\n        var _props = this.props,\n            children = _props.children,\n            motionName = _props.motionName,\n            visible = _props.visible,\n            removeOnLeave = _props.removeOnLeave,\n            leavedClassName = _props.leavedClassName,\n            eventProps = _props.eventProps;\n\n\n        if (!children) return null;\n\n        if (status === STATUS_NONE || !isSupportTransition(this.props)) {\n          if (visible) {\n            return children(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, eventProps), this.setNodeRef);\n          } else if (!removeOnLeave) {\n            return children(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, eventProps, { className: leavedClassName }), this.setNodeRef);\n          }\n\n          return null;\n        }\n\n        return children(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, eventProps, {\n          className: classnames__WEBPACK_IMPORTED_MODULE_10___default()((_classNames = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, Object(_util_motion__WEBPACK_IMPORTED_MODULE_12__[\"getTransitionName\"])(motionName, status), status !== STATUS_NONE), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, Object(_util_motion__WEBPACK_IMPORTED_MODULE_12__[\"getTransitionName\"])(motionName, status + '-active'), status !== STATUS_NONE && statusActive), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, motionName, typeof motionName === 'string'), _classNames)),\n          style: statusStyle\n        }), this.setNodeRef);\n      }\n    }], [{\n      key: 'getDerivedStateFromProps',\n      value: function getDerivedStateFromProps(props, _ref) {\n        var prevProps = _ref.prevProps,\n            prevStatus = _ref.status;\n\n        if (!isSupportTransition(props)) return {};\n\n        var visible = props.visible,\n            motionAppear = props.motionAppear,\n            motionEnter = props.motionEnter,\n            motionLeave = props.motionLeave,\n            motionLeaveImmediately = props.motionLeaveImmediately;\n\n        var newState = {\n          prevProps: props\n        };\n\n        // Clean up status if prop set to false\n        if (prevStatus === STATUS_APPEAR && !motionAppear || prevStatus === STATUS_ENTER && !motionEnter || prevStatus === STATUS_LEAVE && !motionLeave) {\n          newState.status = STATUS_NONE;\n          newState.statusActive = false;\n          newState.newStatus = false;\n        }\n\n        // Appear\n        if (!prevProps && visible && motionAppear) {\n          newState.status = STATUS_APPEAR;\n          newState.statusActive = false;\n          newState.newStatus = true;\n        }\n\n        // Enter\n        if (prevProps && !prevProps.visible && visible && motionEnter) {\n          newState.status = STATUS_ENTER;\n          newState.statusActive = false;\n          newState.newStatus = true;\n        }\n\n        // Leave\n        if (prevProps && prevProps.visible && !visible && motionLeave || !prevProps && motionLeaveImmediately && !visible && motionLeave) {\n          newState.status = STATUS_LEAVE;\n          newState.statusActive = false;\n          newState.newStatus = true;\n        }\n\n        return newState;\n      }\n    }]);\n\n    return CSSMotion;\n  }(react__WEBPACK_IMPORTED_MODULE_6___default.a.Component);\n\n  CSSMotion.propTypes = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, MotionPropTypes, {\n\n    internalRef: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.object, prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func])\n  });\n  CSSMotion.defaultProps = {\n    visible: true,\n    motionEnter: true,\n    motionAppear: true,\n    motionLeave: true,\n    removeOnLeave: true\n  };\n\n\n  Object(react_lifecycles_compat__WEBPACK_IMPORTED_MODULE_8__[\"polyfill\"])(CSSMotion);\n\n  if (!forwardRef) {\n    return CSSMotion;\n  }\n\n  return react__WEBPACK_IMPORTED_MODULE_6___default.a.forwardRef(function (props, ref) {\n    return react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement(CSSMotion, babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({ internalRef: ref }, props));\n  });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (genCSSMotion(_util_motion__WEBPACK_IMPORTED_MODULE_12__[\"supportTransition\"]));\n\n/***/ }),\n\n/***/ \"./node_modules/rc-animate/es/util/motion.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/rc-animate/es/util/motion.js ***!\n  \\***************************************************/\n/*! exports provided: getVendorPrefixes, getVendorPrefixedEventName, animationEndName, transitionEndName, supportTransition, getTransitionName */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getVendorPrefixes\", function() { return getVendorPrefixes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getVendorPrefixedEventName\", function() { return getVendorPrefixedEventName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"animationEndName\", function() { return animationEndName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"transitionEndName\", function() { return transitionEndName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"supportTransition\", function() { return supportTransition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTransitionName\", function() { return getTransitionName; });\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\n// ================= Transition =================\n// Event wrapper. Copy from react source code\nfunction makePrefixMap(styleProp, eventName) {\n  var prefixes = {};\n\n  prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n  prefixes['Webkit' + styleProp] = 'webkit' + eventName;\n  prefixes['Moz' + styleProp] = 'moz' + eventName;\n  prefixes['ms' + styleProp] = 'MS' + eventName;\n  prefixes['O' + styleProp] = 'o' + eventName.toLowerCase();\n\n  return prefixes;\n}\n\nfunction getVendorPrefixes(domSupport, win) {\n  var prefixes = {\n    animationend: makePrefixMap('Animation', 'AnimationEnd'),\n    transitionend: makePrefixMap('Transition', 'TransitionEnd')\n  };\n\n  if (domSupport) {\n    if (!('AnimationEvent' in win)) {\n      delete prefixes.animationend.animation;\n    }\n\n    if (!('TransitionEvent' in win)) {\n      delete prefixes.transitionend.transition;\n    }\n  }\n\n  return prefixes;\n}\n\nvar vendorPrefixes = getVendorPrefixes(canUseDOM, typeof window !== 'undefined' ? window : {});\n\nvar style = {};\n\nif (canUseDOM) {\n  style = document.createElement('div').style;\n}\n\nvar prefixedEventNames = {};\n\nfunction getVendorPrefixedEventName(eventName) {\n  if (prefixedEventNames[eventName]) {\n    return prefixedEventNames[eventName];\n  }\n\n  var prefixMap = vendorPrefixes[eventName];\n\n  if (prefixMap) {\n    var stylePropList = Object.keys(prefixMap);\n    var len = stylePropList.length;\n    for (var i = 0; i < len; i += 1) {\n      var styleProp = stylePropList[i];\n      if (Object.prototype.hasOwnProperty.call(prefixMap, styleProp) && styleProp in style) {\n        prefixedEventNames[eventName] = prefixMap[styleProp];\n        return prefixedEventNames[eventName];\n      }\n    }\n  }\n\n  return '';\n}\n\nvar animationEndName = getVendorPrefixedEventName('animationend');\nvar transitionEndName = getVendorPrefixedEventName('transitionend');\nvar supportTransition = !!(animationEndName && transitionEndName);\n\nfunction getTransitionName(transitionName, transitionType) {\n  if (!transitionName) return null;\n\n  if (typeof transitionName === 'object') {\n    var type = transitionType.replace(/-\\w/g, function (match) {\n      return match[1].toUpperCase();\n    });\n    return transitionName[type];\n  }\n\n  return transitionName + '-' + transitionType;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/rc-slider/assets/index.css\":\n/*!*************************************************!*\\\n  !*** ./node_modules/rc-slider/assets/index.css ***!\n  \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar api = __webpack_require__(/*! ../../style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n            var content = __webpack_require__(/*! !../../css-loader/dist/cjs.js!./index.css */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/rc-slider/assets/index.css\");\n\n            content = content.__esModule ? content.default : content;\n\n            if (typeof content === 'string') {\n              content = [[module.i, content, '']];\n            }\n\nvar options = {};\n\noptions.insert = function insertAtTop(element) {\r\n\t\t\t\t    document.head.insertBefore(element, document.head.firstElementChild);\r\n\t\t\t\t};\noptions.singleton = false;\n\nvar update = api(content, options);\n\nvar exported = content.locals ? content.locals : {};\n\n\n\nmodule.exports = exported;\n\n/***/ }),\n\n/***/ \"./node_modules/rc-slider/es/Handle.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/rc-slider/es/Handle.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ \"./node_modules/babel-runtime/helpers/extends.js\");\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ \"./node_modules/babel-runtime/helpers/defineProperty.js\");\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/objectWithoutProperties */ \"./node_modules/babel-runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ \"./node_modules/babel-runtime/helpers/classCallCheck.js\");\n/* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ \"./node_modules/babel-runtime/helpers/createClass.js\");\n/* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ \"./node_modules/babel-runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ \"./node_modules/babel-runtime/helpers/inherits.js\");\n/* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! rc-util/es/Dom/addEventListener */ \"./node_modules/rc-util/es/Dom/addEventListener.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nvar Handle = function (_React$Component) {\n  babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default()(Handle, _React$Component);\n\n  function Handle() {\n    var _ref;\n\n    var _temp, _this, _ret;\n\n    babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default()(this, Handle);\n\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    return _ret = (_temp = (_this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default()(this, (_ref = Handle.__proto__ || Object.getPrototypeOf(Handle)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n      clickFocused: false\n    }, _this.setHandleRef = function (node) {\n      _this.handle = node;\n    }, _this.handleMouseUp = function () {\n      if (document.activeElement === _this.handle) {\n        _this.setClickFocus(true);\n      }\n    }, _this.handleMouseDown = function () {\n      // fix https://github.com/ant-design/ant-design/issues/15324\n      _this.focus();\n    }, _this.handleBlur = function () {\n      _this.setClickFocus(false);\n    }, _this.handleKeyDown = function () {\n      _this.setClickFocus(false);\n    }, _temp), babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default()(_this, _ret);\n  }\n\n  babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default()(Handle, [{\n    key: 'componentDidMount',\n    value: function componentDidMount() {\n      // mouseup won't trigger if mouse moved out of handle,\n      // so we listen on document here.\n      this.onMouseUpListener = Object(rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(document, 'mouseup', this.handleMouseUp);\n    }\n  }, {\n    key: 'componentWillUnmount',\n    value: function componentWillUnmount() {\n      if (this.onMouseUpListener) {\n        this.onMouseUpListener.remove();\n      }\n    }\n  }, {\n    key: 'setClickFocus',\n    value: function setClickFocus(focused) {\n      this.setState({ clickFocused: focused });\n    }\n  }, {\n    key: 'clickFocus',\n    value: function clickFocus() {\n      this.setClickFocus(true);\n      this.focus();\n    }\n  }, {\n    key: 'focus',\n    value: function focus() {\n      this.handle.focus();\n    }\n  }, {\n    key: 'blur',\n    value: function blur() {\n      this.handle.blur();\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      var _ref2, _ref3;\n\n      var _props = this.props,\n          prefixCls = _props.prefixCls,\n          vertical = _props.vertical,\n          reverse = _props.reverse,\n          offset = _props.offset,\n          style = _props.style,\n          disabled = _props.disabled,\n          min = _props.min,\n          max = _props.max,\n          value = _props.value,\n          tabIndex = _props.tabIndex,\n          ariaLabel = _props.ariaLabel,\n          ariaLabelledBy = _props.ariaLabelledBy,\n          ariaValueTextFormatter = _props.ariaValueTextFormatter,\n          restProps = babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2___default()(_props, ['prefixCls', 'vertical', 'reverse', 'offset', 'style', 'disabled', 'min', 'max', 'value', 'tabIndex', 'ariaLabel', 'ariaLabelledBy', 'ariaValueTextFormatter']);\n\n      var className = classnames__WEBPACK_IMPORTED_MODULE_9___default()(this.props.className, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()({}, prefixCls + '-handle-click-focused', this.state.clickFocused));\n      var positionStyle = vertical ? (_ref2 = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_ref2, reverse ? 'top' : 'bottom', offset + '%'), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_ref2, reverse ? 'bottom' : 'top', 'auto'), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_ref2, 'transform', 'translateY(+50%)'), _ref2) : (_ref3 = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_ref3, reverse ? 'right' : 'left', offset + '%'), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_ref3, reverse ? 'left' : 'right', 'auto'), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_ref3, 'transform', 'translateX(' + (reverse ? '+' : '-') + '50%)'), _ref3);\n      var elStyle = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, style, positionStyle);\n\n      var _tabIndex = tabIndex || 0;\n      if (disabled || tabIndex === null) {\n        _tabIndex = null;\n      }\n\n      var ariaValueText = void 0;\n      if (ariaValueTextFormatter) {\n        ariaValueText = ariaValueTextFormatter(value);\n      }\n\n      return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement('div', babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n        ref: this.setHandleRef,\n        tabIndex: _tabIndex\n      }, restProps, {\n        className: className,\n        style: elStyle,\n        onBlur: this.handleBlur,\n        onKeyDown: this.handleKeyDown,\n        onMouseDown: this.handleMouseDown\n\n        // aria attribute\n        , role: 'slider',\n        'aria-valuemin': min,\n        'aria-valuemax': max,\n        'aria-valuenow': value,\n        'aria-disabled': !!disabled,\n        'aria-label': ariaLabel,\n        'aria-labelledby': ariaLabelledBy,\n        'aria-valuetext': ariaValueText\n      }));\n    }\n  }]);\n\n  return Handle;\n}(react__WEBPACK_IMPORTED_MODULE_7___default.a.Component);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Handle);\n\n\nHandle.propTypes = {\n  prefixCls: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string,\n  className: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string,\n  vertical: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,\n  offset: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number,\n  style: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.object,\n  disabled: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,\n  min: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number,\n  max: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number,\n  value: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number,\n  tabIndex: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number,\n  reverse: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,\n  ariaLabel: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string,\n  ariaLabelledBy: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string,\n  ariaValueTextFormatter: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.func\n};\n\n/***/ }),\n\n/***/ \"./node_modules/rc-slider/es/Range.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/rc-slider/es/Range.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ \"./node_modules/babel-runtime/helpers/defineProperty.js\");\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/extends */ \"./node_modules/babel-runtime/helpers/extends.js\");\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/toConsumableArray */ \"./node_modules/babel-runtime/helpers/toConsumableArray.js\");\n/* harmony import */ var babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ \"./node_modules/babel-runtime/helpers/classCallCheck.js\");\n/* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ \"./node_modules/babel-runtime/helpers/createClass.js\");\n/* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ \"./node_modules/babel-runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ \"./node_modules/babel-runtime/helpers/inherits.js\");\n/* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! shallowequal */ \"./node_modules/shallowequal/index.js\");\n/* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(shallowequal__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _common_Track__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./common/Track */ \"./node_modules/rc-slider/es/common/Track.js\");\n/* harmony import */ var _common_createSlider__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./common/createSlider */ \"./node_modules/rc-slider/es/common/createSlider.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./utils */ \"./node_modules/rc-slider/es/utils.js\");\n\n\n\n\n\n\n\n/* eslint-disable react/prop-types */\n\n\n\n\n\n\n\n\nvar _trimAlignValue = function _trimAlignValue(_ref) {\n  var value = _ref.value,\n      handle = _ref.handle,\n      bounds = _ref.bounds,\n      props = _ref.props;\n  var allowCross = props.allowCross,\n      pushable = props.pushable;\n\n  var thershold = Number(pushable);\n  var valInRange = _utils__WEBPACK_IMPORTED_MODULE_13__[\"ensureValueInRange\"](value, props);\n  var valNotConflict = valInRange;\n  if (!allowCross && handle != null && bounds !== undefined) {\n    if (handle > 0 && valInRange <= bounds[handle - 1] + thershold) {\n      valNotConflict = bounds[handle - 1] + thershold;\n    }\n    if (handle < bounds.length - 1 && valInRange >= bounds[handle + 1] - thershold) {\n      valNotConflict = bounds[handle + 1] - thershold;\n    }\n  }\n  return _utils__WEBPACK_IMPORTED_MODULE_13__[\"ensureValuePrecision\"](valNotConflict, props);\n};\n\nvar Range = function (_React$Component) {\n  babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default()(Range, _React$Component);\n\n  function Range(props) {\n    babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default()(this, Range);\n\n    var _this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default()(this, (Range.__proto__ || Object.getPrototypeOf(Range)).call(this, props));\n\n    _this.onEnd = function (force) {\n      var handle = _this.state.handle;\n\n      _this.removeDocumentEvents();\n\n      if (handle !== null || force) {\n        _this.props.onAfterChange(_this.getValue());\n      }\n\n      _this.setState({\n        handle: null\n      });\n    };\n\n    var count = props.count,\n        min = props.min,\n        max = props.max;\n\n    var initialValue = Array.apply(undefined, babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2___default()(Array(count + 1))).map(function () {\n      return min;\n    });\n    var defaultValue = 'defaultValue' in props ? props.defaultValue : initialValue;\n    var value = props.value !== undefined ? props.value : defaultValue;\n    var bounds = value.map(function (v, i) {\n      return _trimAlignValue({\n        value: v,\n        handle: i,\n        props: props\n      });\n    });\n    var recent = bounds[0] === max ? 0 : bounds.length - 1;\n\n    _this.state = {\n      handle: null,\n      recent: recent,\n      bounds: bounds\n    };\n    return _this;\n  }\n\n  babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default()(Range, [{\n    key: 'componentDidUpdate',\n    value: function componentDidUpdate(prevProps, prevState) {\n      var _this2 = this;\n\n      if (!('value' in this.props || 'min' in this.props || 'max' in this.props)) {\n        return;\n      }\n      if (this.props.min === prevProps.min && this.props.max === prevProps.max && shallowequal__WEBPACK_IMPORTED_MODULE_10___default()(this.props.value, prevProps.value)) {\n        return;\n      }\n      var _props = this.props,\n          onChange = _props.onChange,\n          value = _props.value;\n\n      var currentValue = value || prevState.bounds;\n      if (currentValue.some(function (v) {\n        return _utils__WEBPACK_IMPORTED_MODULE_13__[\"isValueOutOfRange\"](v, _this2.props);\n      })) {\n        var newValues = currentValue.map(function (v) {\n          return _utils__WEBPACK_IMPORTED_MODULE_13__[\"ensureValueInRange\"](v, _this2.props);\n        });\n        onChange(newValues);\n      }\n    }\n  }, {\n    key: 'onChange',\n    value: function onChange(state) {\n      var props = this.props;\n      var isNotControlled = !('value' in props);\n      if (isNotControlled) {\n        this.setState(state);\n      } else {\n        var controlledState = {};\n\n        ['handle', 'recent'].forEach(function (item) {\n          if (state[item] !== undefined) {\n            controlledState[item] = state[item];\n          }\n        });\n\n        if (Object.keys(controlledState).length) {\n          this.setState(controlledState);\n        }\n      }\n\n      var data = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, this.state, state);\n      var changedValue = data.bounds;\n      props.onChange(changedValue);\n    }\n  }, {\n    key: 'onStart',\n    value: function onStart(position) {\n      var props = this.props;\n      var state = this.state;\n      var bounds = this.getValue();\n      props.onBeforeChange(bounds);\n\n      var value = this.calcValueByPos(position);\n      this.startValue = value;\n      this.startPosition = position;\n\n      var closestBound = this.getClosestBound(value);\n      this.prevMovedHandleIndex = this.getBoundNeedMoving(value, closestBound);\n\n      this.setState({\n        handle: this.prevMovedHandleIndex,\n        recent: this.prevMovedHandleIndex\n      });\n\n      var prevValue = bounds[this.prevMovedHandleIndex];\n      if (value === prevValue) return;\n\n      var nextBounds = [].concat(babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2___default()(state.bounds));\n      nextBounds[this.prevMovedHandleIndex] = value;\n      this.onChange({ bounds: nextBounds });\n    }\n  }, {\n    key: 'onMove',\n    value: function onMove(e, position) {\n      _utils__WEBPACK_IMPORTED_MODULE_13__[\"pauseEvent\"](e);\n      var state = this.state;\n\n      var value = this.calcValueByPos(position);\n      var oldValue = state.bounds[state.handle];\n      if (value === oldValue) return;\n\n      this.moveTo(value);\n    }\n  }, {\n    key: 'onKeyboard',\n    value: function onKeyboard(e) {\n      var _props2 = this.props,\n          reverse = _props2.reverse,\n          vertical = _props2.vertical;\n\n      var valueMutator = _utils__WEBPACK_IMPORTED_MODULE_13__[\"getKeyboardValueMutator\"](e, vertical, reverse);\n\n      if (valueMutator) {\n        _utils__WEBPACK_IMPORTED_MODULE_13__[\"pauseEvent\"](e);\n        var state = this.state,\n            props = this.props;\n        var bounds = state.bounds,\n            handle = state.handle;\n\n        var oldValue = bounds[handle === null ? state.recent : handle];\n        var mutatedValue = valueMutator(oldValue, props);\n        var value = _trimAlignValue({\n          value: mutatedValue,\n          handle: handle,\n          bounds: state.bounds,\n          props: props\n        });\n        if (value === oldValue) return;\n        var isFromKeyboardEvent = true;\n        this.moveTo(value, isFromKeyboardEvent);\n      }\n    }\n  }, {\n    key: 'getValue',\n    value: function getValue() {\n      return this.state.bounds;\n    }\n  }, {\n    key: 'getClosestBound',\n    value: function getClosestBound(value) {\n      var bounds = this.state.bounds;\n\n      var closestBound = 0;\n      for (var i = 1; i < bounds.length - 1; ++i) {\n        if (value >= bounds[i]) {\n          closestBound = i;\n        }\n      }\n      if (Math.abs(bounds[closestBound + 1] - value) < Math.abs(bounds[closestBound] - value)) {\n        closestBound += 1;\n      }\n      return closestBound;\n    }\n  }, {\n    key: 'getBoundNeedMoving',\n    value: function getBoundNeedMoving(value, closestBound) {\n      var _state = this.state,\n          bounds = _state.bounds,\n          recent = _state.recent;\n\n      var boundNeedMoving = closestBound;\n      var isAtTheSamePoint = bounds[closestBound + 1] === bounds[closestBound];\n\n      if (isAtTheSamePoint && bounds[recent] === bounds[closestBound]) {\n        boundNeedMoving = recent;\n      }\n\n      if (isAtTheSamePoint && value !== bounds[closestBound + 1]) {\n        boundNeedMoving = value < bounds[closestBound + 1] ? closestBound : closestBound + 1;\n      }\n      return boundNeedMoving;\n    }\n  }, {\n    key: 'getLowerBound',\n    value: function getLowerBound() {\n      return this.state.bounds[0];\n    }\n  }, {\n    key: 'getUpperBound',\n    value: function getUpperBound() {\n      var bounds = this.state.bounds;\n\n      return bounds[bounds.length - 1];\n    }\n\n    /**\n     * Returns an array of possible slider points, taking into account both\n     * `marks` and `step`. The result is cached.\n     */\n\n  }, {\n    key: 'getPoints',\n    value: function getPoints() {\n      var _props3 = this.props,\n          marks = _props3.marks,\n          step = _props3.step,\n          min = _props3.min,\n          max = _props3.max;\n\n      var cache = this._getPointsCache;\n      if (!cache || cache.marks !== marks || cache.step !== step) {\n        var pointsObject = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, marks);\n        if (step !== null) {\n          for (var point = min; point <= max; point += step) {\n            pointsObject[point] = point;\n          }\n        }\n        var points = Object.keys(pointsObject).map(parseFloat);\n        points.sort(function (a, b) {\n          return a - b;\n        });\n        this._getPointsCache = { marks: marks, step: step, points: points };\n      }\n      return this._getPointsCache.points;\n    }\n  }, {\n    key: 'moveTo',\n    value: function moveTo(value, isFromKeyboardEvent) {\n      var _this3 = this;\n\n      var state = this.state,\n          props = this.props;\n\n      var nextBounds = [].concat(babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2___default()(state.bounds));\n      var handle = state.handle === null ? state.recent : state.handle;\n      nextBounds[handle] = value;\n      var nextHandle = handle;\n      if (props.pushable !== false) {\n        this.pushSurroundingHandles(nextBounds, nextHandle);\n      } else if (props.allowCross) {\n        nextBounds.sort(function (a, b) {\n          return a - b;\n        });\n        nextHandle = nextBounds.indexOf(value);\n      }\n      this.onChange({\n        recent: nextHandle,\n        handle: nextHandle,\n        bounds: nextBounds\n      });\n      if (isFromKeyboardEvent) {\n        // known problem: because setState is async,\n        // so trigger focus will invoke handler's onEnd and another handler's onStart too early,\n        // cause onBeforeChange and onAfterChange receive wrong value.\n        // here use setState callback to hack，but not elegant\n        this.props.onAfterChange(nextBounds);\n        this.setState({}, function () {\n          _this3.handlesRefs[nextHandle].focus();\n        });\n        this.onEnd();\n      }\n    }\n  }, {\n    key: 'pushSurroundingHandles',\n    value: function pushSurroundingHandles(bounds, handle) {\n      var value = bounds[handle];\n      var threshold = this.props.pushable;\n\n      threshold = Number(threshold);\n\n      var direction = 0;\n      if (bounds[handle + 1] - value < threshold) {\n        direction = +1; // push to right\n      }\n      if (value - bounds[handle - 1] < threshold) {\n        direction = -1; // push to left\n      }\n\n      if (direction === 0) {\n        return;\n      }\n\n      var nextHandle = handle + direction;\n      var diffToNext = direction * (bounds[nextHandle] - value);\n      if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) {\n        // revert to original value if pushing is impossible\n        bounds[handle] = bounds[nextHandle] - direction * threshold;\n      }\n    }\n  }, {\n    key: 'pushHandle',\n    value: function pushHandle(bounds, handle, direction, amount) {\n      var originalValue = bounds[handle];\n      var currentValue = bounds[handle];\n      while (direction * (currentValue - originalValue) < amount) {\n        if (!this.pushHandleOnePoint(bounds, handle, direction)) {\n          // can't push handle enough to create the needed `amount` gap, so we\n          // revert its position to the original value\n          bounds[handle] = originalValue;\n          return false;\n        }\n        currentValue = bounds[handle];\n      }\n      // the handle was pushed enough to create the needed `amount` gap\n      return true;\n    }\n  }, {\n    key: 'pushHandleOnePoint',\n    value: function pushHandleOnePoint(bounds, handle, direction) {\n      var points = this.getPoints();\n      var pointIndex = points.indexOf(bounds[handle]);\n      var nextPointIndex = pointIndex + direction;\n      if (nextPointIndex >= points.length || nextPointIndex < 0) {\n        // reached the minimum or maximum available point, can't push anymore\n        return false;\n      }\n      var nextHandle = handle + direction;\n      var nextValue = points[nextPointIndex];\n      var threshold = this.props.pushable;\n\n      var diffToNext = direction * (bounds[nextHandle] - nextValue);\n      if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) {\n        // couldn't push next handle, so we won't push this one either\n        return false;\n      }\n      // push the handle\n      bounds[handle] = nextValue;\n      return true;\n    }\n  }, {\n    key: 'trimAlignValue',\n    value: function trimAlignValue(value) {\n      var _state2 = this.state,\n          handle = _state2.handle,\n          bounds = _state2.bounds;\n\n      return _trimAlignValue({\n        value: value,\n        handle: handle,\n        bounds: bounds,\n        props: this.props\n      });\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      var _this4 = this;\n\n      var _state3 = this.state,\n          handle = _state3.handle,\n          bounds = _state3.bounds;\n      var _props4 = this.props,\n          prefixCls = _props4.prefixCls,\n          vertical = _props4.vertical,\n          included = _props4.included,\n          disabled = _props4.disabled,\n          min = _props4.min,\n          max = _props4.max,\n          reverse = _props4.reverse,\n          handleGenerator = _props4.handle,\n          trackStyle = _props4.trackStyle,\n          handleStyle = _props4.handleStyle,\n          tabIndex = _props4.tabIndex,\n          ariaLabelGroupForHandles = _props4.ariaLabelGroupForHandles,\n          ariaLabelledByGroupForHandles = _props4.ariaLabelledByGroupForHandles,\n          ariaValueTextFormatterGroupForHandles = _props4.ariaValueTextFormatterGroupForHandles;\n\n\n      var offsets = bounds.map(function (v) {\n        return _this4.calcOffset(v);\n      });\n\n      var handleClassName = prefixCls + '-handle';\n      var handles = bounds.map(function (v, i) {\n        var _classNames;\n\n        var _tabIndex = tabIndex[i] || 0;\n        if (disabled || tabIndex[i] === null) {\n          _tabIndex = null;\n        }\n        return handleGenerator({\n          className: classnames__WEBPACK_IMPORTED_MODULE_9___default()((_classNames = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, handleClassName, true), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, handleClassName + '-' + (i + 1), true), _classNames)),\n          prefixCls: prefixCls,\n          vertical: vertical,\n          offset: offsets[i],\n          value: v,\n          dragging: handle === i,\n          index: i,\n          tabIndex: _tabIndex,\n          min: min,\n          max: max,\n          reverse: reverse,\n          disabled: disabled,\n          style: handleStyle[i],\n          ref: function ref(h) {\n            return _this4.saveHandle(i, h);\n          },\n          ariaLabel: ariaLabelGroupForHandles[i],\n          ariaLabelledBy: ariaLabelledByGroupForHandles[i],\n          ariaValueTextFormatter: ariaValueTextFormatterGroupForHandles[i]\n        });\n      });\n\n      var tracks = bounds.slice(0, -1).map(function (_, index) {\n        var _classNames2;\n\n        var i = index + 1;\n        var trackClassName = classnames__WEBPACK_IMPORTED_MODULE_9___default()((_classNames2 = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames2, prefixCls + '-track', true), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames2, prefixCls + '-track-' + i, true), _classNames2));\n        return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_common_Track__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n          className: trackClassName,\n          vertical: vertical,\n          reverse: reverse,\n          included: included,\n          offset: offsets[i - 1],\n          length: offsets[i] - offsets[i - 1],\n          style: trackStyle[index],\n          key: i\n        });\n      });\n\n      return { tracks: tracks, handles: handles };\n    }\n  }], [{\n    key: 'getDerivedStateFromProps',\n    value: function getDerivedStateFromProps(props, state) {\n      if ('value' in props || 'min' in props || 'max' in props) {\n        var value = props.value || state.bounds;\n        var nextBounds = value.map(function (v, i) {\n          return _trimAlignValue({\n            value: v,\n            handle: i,\n            bounds: state.bounds,\n            props: props\n          });\n        });\n        if (nextBounds.length === state.bounds.length && nextBounds.every(function (v, i) {\n          return v === state.bounds[i];\n        })) {\n          return null;\n        }\n        return babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, state, {\n          bounds: nextBounds\n        });\n      }\n      return null;\n    }\n  }]);\n\n  return Range;\n}(react__WEBPACK_IMPORTED_MODULE_7___default.a.Component);\n\nRange.displayName = 'Range';\nRange.propTypes = {\n  autoFocus: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,\n  defaultValue: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number),\n  value: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number),\n  count: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number,\n  pushable: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool, prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number]),\n  allowCross: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,\n  disabled: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,\n  reverse: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,\n  tabIndex: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number),\n  min: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number,\n  max: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number,\n  ariaLabelGroupForHandles: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string),\n  ariaLabelledByGroupForHandles: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string),\n  ariaValueTextFormatterGroupForHandles: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.func)\n};\nRange.defaultProps = {\n  count: 1,\n  allowCross: true,\n  pushable: false,\n  tabIndex: [],\n  ariaLabelGroupForHandles: [],\n  ariaLabelledByGroupForHandles: [],\n  ariaValueTextFormatterGroupForHandles: []\n};\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_common_createSlider__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(Range));\n\n/***/ }),\n\n/***/ \"./node_modules/rc-slider/es/Slider.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/rc-slider/es/Slider.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ \"./node_modules/babel-runtime/helpers/extends.js\");\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ \"./node_modules/babel-runtime/helpers/classCallCheck.js\");\n/* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ \"./node_modules/babel-runtime/helpers/createClass.js\");\n/* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ \"./node_modules/babel-runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ \"./node_modules/babel-runtime/helpers/inherits.js\");\n/* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var warning__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! warning */ \"./node_modules/warning/warning.js\");\n/* harmony import */ var warning__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(warning__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _common_Track__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./common/Track */ \"./node_modules/rc-slider/es/common/Track.js\");\n/* harmony import */ var _common_createSlider__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./common/createSlider */ \"./node_modules/rc-slider/es/common/createSlider.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils */ \"./node_modules/rc-slider/es/utils.js\");\n\n\n\n\n\n/* eslint-disable react/prop-types */\n\n\n\n\n\n\n\nvar Slider = function (_React$Component) {\n  babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(Slider, _React$Component);\n\n  function Slider(props) {\n    babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, Slider);\n\n    var _this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, (Slider.__proto__ || Object.getPrototypeOf(Slider)).call(this, props));\n\n    _this.onEnd = function (force) {\n      var dragging = _this.state.dragging;\n\n      _this.removeDocumentEvents();\n      if (dragging || force) {\n        _this.props.onAfterChange(_this.getValue());\n      }\n      _this.setState({ dragging: false });\n    };\n\n    var defaultValue = props.defaultValue !== undefined ? props.defaultValue : props.min;\n    var value = props.value !== undefined ? props.value : defaultValue;\n\n    _this.state = {\n      value: _this.trimAlignValue(value),\n      dragging: false\n    };\n\n    warning__WEBPACK_IMPORTED_MODULE_7___default()(!('minimumTrackStyle' in props), 'minimumTrackStyle will be deprecated, please use trackStyle instead.');\n    warning__WEBPACK_IMPORTED_MODULE_7___default()(!('maximumTrackStyle' in props), 'maximumTrackStyle will be deprecated, please use railStyle instead.');\n    return _this;\n  }\n\n  babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(Slider, [{\n    key: 'componentDidUpdate',\n    value: function componentDidUpdate(prevProps, prevState) {\n      if (!('value' in this.props || 'min' in this.props || 'max' in this.props)) {\n        return;\n      }\n      var _props = this.props,\n          value = _props.value,\n          onChange = _props.onChange;\n\n      var theValue = value !== undefined ? value : prevState.value;\n      var nextValue = this.trimAlignValue(theValue, this.props);\n      if (nextValue !== prevState.value) {\n        // eslint-disable-next-line\n        this.setState({ value: nextValue });\n        if (_utils__WEBPACK_IMPORTED_MODULE_10__[\"isValueOutOfRange\"](theValue, this.props)) {\n          onChange(nextValue);\n        }\n      }\n    }\n  }, {\n    key: 'onChange',\n    value: function onChange(state) {\n      var props = this.props;\n      var isNotControlled = !('value' in props);\n      var nextState = state.value > this.props.max ? babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, state, { value: this.props.max }) : state;\n      if (isNotControlled) {\n        this.setState(nextState);\n      }\n\n      var changedValue = nextState.value;\n      props.onChange(changedValue);\n    }\n  }, {\n    key: 'onStart',\n    value: function onStart(position) {\n      this.setState({ dragging: true });\n      var props = this.props;\n      var prevValue = this.getValue();\n      props.onBeforeChange(prevValue);\n\n      var value = this.calcValueByPos(position);\n      this.startValue = value;\n      this.startPosition = position;\n\n      if (value === prevValue) return;\n\n      this.prevMovedHandleIndex = 0;\n\n      this.onChange({ value: value });\n    }\n  }, {\n    key: 'onMove',\n    value: function onMove(e, position) {\n      _utils__WEBPACK_IMPORTED_MODULE_10__[\"pauseEvent\"](e);\n      var oldValue = this.state.value;\n\n      var value = this.calcValueByPos(position);\n      if (value === oldValue) return;\n\n      this.onChange({ value: value });\n    }\n  }, {\n    key: 'onKeyboard',\n    value: function onKeyboard(e) {\n      var _props2 = this.props,\n          reverse = _props2.reverse,\n          vertical = _props2.vertical;\n\n      var valueMutator = _utils__WEBPACK_IMPORTED_MODULE_10__[\"getKeyboardValueMutator\"](e, vertical, reverse);\n      if (valueMutator) {\n        _utils__WEBPACK_IMPORTED_MODULE_10__[\"pauseEvent\"](e);\n        var state = this.state;\n        var oldValue = state.value;\n        var mutatedValue = valueMutator(oldValue, this.props);\n        var value = this.trimAlignValue(mutatedValue);\n        if (value === oldValue) return;\n\n        this.onChange({ value: value });\n        this.props.onAfterChange(value);\n        this.onEnd();\n      }\n    }\n  }, {\n    key: 'getValue',\n    value: function getValue() {\n      return this.state.value;\n    }\n  }, {\n    key: 'getLowerBound',\n    value: function getLowerBound() {\n      return this.props.min;\n    }\n  }, {\n    key: 'getUpperBound',\n    value: function getUpperBound() {\n      return this.state.value;\n    }\n  }, {\n    key: 'trimAlignValue',\n    value: function trimAlignValue(v) {\n      var nextProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n      if (v === null) {\n        return null;\n      }\n\n      var mergedProps = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, this.props, nextProps);\n      var val = _utils__WEBPACK_IMPORTED_MODULE_10__[\"ensureValueInRange\"](v, mergedProps);\n      return _utils__WEBPACK_IMPORTED_MODULE_10__[\"ensureValuePrecision\"](val, mergedProps);\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      var _this2 = this;\n\n      var _props3 = this.props,\n          prefixCls = _props3.prefixCls,\n          vertical = _props3.vertical,\n          included = _props3.included,\n          disabled = _props3.disabled,\n          minimumTrackStyle = _props3.minimumTrackStyle,\n          trackStyle = _props3.trackStyle,\n          handleStyle = _props3.handleStyle,\n          tabIndex = _props3.tabIndex,\n          ariaLabelForHandle = _props3.ariaLabelForHandle,\n          ariaLabelledByForHandle = _props3.ariaLabelledByForHandle,\n          ariaValueTextFormatterForHandle = _props3.ariaValueTextFormatterForHandle,\n          min = _props3.min,\n          max = _props3.max,\n          startPoint = _props3.startPoint,\n          reverse = _props3.reverse,\n          handleGenerator = _props3.handle;\n      var _state = this.state,\n          value = _state.value,\n          dragging = _state.dragging;\n\n      var offset = this.calcOffset(value);\n      var handle = handleGenerator({\n        className: prefixCls + '-handle',\n        prefixCls: prefixCls,\n        vertical: vertical,\n        offset: offset,\n        value: value,\n        dragging: dragging,\n        disabled: disabled,\n        min: min,\n        max: max,\n        reverse: reverse,\n        index: 0,\n        tabIndex: tabIndex,\n        ariaLabel: ariaLabelForHandle,\n        ariaLabelledBy: ariaLabelledByForHandle,\n        ariaValueTextFormatter: ariaValueTextFormatterForHandle,\n        style: handleStyle[0] || handleStyle,\n        ref: function ref(h) {\n          return _this2.saveHandle(0, h);\n        }\n      });\n\n      var trackOffset = startPoint !== undefined ? this.calcOffset(startPoint) : 0;\n      var _trackStyle = trackStyle[0] || trackStyle;\n      var track = react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement(_common_Track__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n        className: prefixCls + '-track',\n        vertical: vertical,\n        included: included,\n        offset: trackOffset,\n        reverse: reverse,\n        length: offset - trackOffset,\n        style: babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, minimumTrackStyle, _trackStyle)\n      });\n\n      return { tracks: track, handles: handle };\n    }\n  }]);\n\n  return Slider;\n}(react__WEBPACK_IMPORTED_MODULE_5___default.a.Component);\n\nSlider.propTypes = {\n  defaultValue: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.number,\n  value: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.number,\n  disabled: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,\n  autoFocus: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,\n  tabIndex: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.number,\n  reverse: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,\n  min: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.number,\n  max: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.number,\n  startPoint: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.number,\n  ariaLabelForHandle: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,\n  ariaLabelledByForHandle: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,\n  ariaValueTextFormatterForHandle: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func\n};\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_common_createSlider__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(Slider));\n\n/***/ }),\n\n/***/ \"./node_modules/rc-slider/es/common/Marks.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/rc-slider/es/common/Marks.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ \"./node_modules/babel-runtime/helpers/extends.js\");\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ \"./node_modules/babel-runtime/helpers/defineProperty.js\");\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\nvar Marks = function Marks(_ref) {\n  var className = _ref.className,\n      vertical = _ref.vertical,\n      reverse = _ref.reverse,\n      marks = _ref.marks,\n      included = _ref.included,\n      upperBound = _ref.upperBound,\n      lowerBound = _ref.lowerBound,\n      max = _ref.max,\n      min = _ref.min,\n      onClickLabel = _ref.onClickLabel;\n\n  var marksKeys = Object.keys(marks);\n\n  var range = max - min;\n  var elements = marksKeys.map(parseFloat).sort(function (a, b) {\n    return a - b;\n  }).map(function (point) {\n    var _classNames;\n\n    var markPoint = marks[point];\n    var markPointIsObject = typeof markPoint === 'object' && !react__WEBPACK_IMPORTED_MODULE_2___default.a.isValidElement(markPoint);\n    var markLabel = markPointIsObject ? markPoint.label : markPoint;\n    if (!markLabel && markLabel !== 0) {\n      return null;\n    }\n\n    var isActive = !included && point === upperBound || included && point <= upperBound && point >= lowerBound;\n    var markClassName = classnames__WEBPACK_IMPORTED_MODULE_4___default()((_classNames = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, className + '-text', true), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, className + '-text-active', isActive), _classNames));\n\n    var bottomStyle = babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()({\n      marginBottom: '-50%'\n    }, reverse ? 'top' : 'bottom', (point - min) / range * 100 + '%');\n\n    var leftStyle = babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()({\n      transform: 'translateX(-50%)',\n      msTransform: 'translateX(-50%)'\n    }, reverse ? 'right' : 'left', reverse ? (point - min / 4) / range * 100 + '%' : (point - min) / range * 100 + '%');\n\n    var style = vertical ? bottomStyle : leftStyle;\n    var markStyle = markPointIsObject ? babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, style, markPoint.style) : style;\n    return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(\n      'span',\n      {\n        className: markClassName,\n        style: markStyle,\n        key: point,\n        onMouseDown: function onMouseDown(e) {\n          return onClickLabel(e, point);\n        },\n        onTouchStart: function onTouchStart(e) {\n          return onClickLabel(e, point);\n        }\n      },\n      markLabel\n    );\n  });\n\n  return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(\n    'div',\n    { className: className },\n    elements\n  );\n};\n\nMarks.propTypes = {\n  className: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.string,\n  vertical: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.bool,\n  reverse: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.bool,\n  marks: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.object,\n  included: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.bool,\n  upperBound: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.number,\n  lowerBound: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.number,\n  max: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.number,\n  min: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.number,\n  onClickLabel: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.func\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Marks);\n\n/***/ }),\n\n/***/ \"./node_modules/rc-slider/es/common/Steps.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/rc-slider/es/common/Steps.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ \"./node_modules/babel-runtime/helpers/defineProperty.js\");\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/extends */ \"./node_modules/babel-runtime/helpers/extends.js\");\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var warning__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! warning */ \"./node_modules/warning/warning.js\");\n/* harmony import */ var warning__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(warning__WEBPACK_IMPORTED_MODULE_5__);\n\n\n\n\n\n\n\nvar calcPoints = function calcPoints(vertical, marks, dots, step, min, max) {\n  warning__WEBPACK_IMPORTED_MODULE_5___default()(dots ? step > 0 : true, '`Slider[step]` should be a positive number in order to make Slider[dots] work.');\n  var points = Object.keys(marks).map(parseFloat).sort(function (a, b) {\n    return a - b;\n  });\n  if (dots && step) {\n    for (var i = min; i <= max; i += step) {\n      if (points.indexOf(i) === -1) {\n        points.push(i);\n      }\n    }\n  }\n  return points;\n};\n\nvar Steps = function Steps(_ref) {\n  var prefixCls = _ref.prefixCls,\n      vertical = _ref.vertical,\n      reverse = _ref.reverse,\n      marks = _ref.marks,\n      dots = _ref.dots,\n      step = _ref.step,\n      included = _ref.included,\n      lowerBound = _ref.lowerBound,\n      upperBound = _ref.upperBound,\n      max = _ref.max,\n      min = _ref.min,\n      dotStyle = _ref.dotStyle,\n      activeDotStyle = _ref.activeDotStyle;\n\n  var range = max - min;\n  var elements = calcPoints(vertical, marks, dots, step, min, max).map(function (point) {\n    var _classNames;\n\n    var offset = Math.abs(point - min) / range * 100 + '%';\n\n    var isActived = !included && point === upperBound || included && point <= upperBound && point >= lowerBound;\n    var style = vertical ? babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, dotStyle, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()({}, reverse ? 'top' : 'bottom', offset)) : babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, dotStyle, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()({}, reverse ? 'right' : 'left', offset));\n    if (isActived) {\n      style = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, style, activeDotStyle);\n    }\n\n    var pointClassName = classnames__WEBPACK_IMPORTED_MODULE_4___default()((_classNames = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, prefixCls + '-dot', true), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, prefixCls + '-dot-active', isActived), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, prefixCls + '-dot-reverse', reverse), _classNames));\n\n    return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement('span', { className: pointClassName, style: style, key: point });\n  });\n\n  return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(\n    'div',\n    { className: prefixCls + '-step' },\n    elements\n  );\n};\n\nSteps.propTypes = {\n  prefixCls: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.string,\n  activeDotStyle: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.object,\n  dotStyle: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.object,\n  min: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.number,\n  max: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.number,\n  upperBound: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.number,\n  lowerBound: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.number,\n  included: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.bool,\n  dots: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.bool,\n  step: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.number,\n  marks: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.object,\n  vertical: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.bool,\n  reverse: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.bool\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Steps);\n\n/***/ }),\n\n/***/ \"./node_modules/rc-slider/es/common/Track.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/rc-slider/es/common/Track.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ \"./node_modules/babel-runtime/helpers/extends.js\");\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ \"./node_modules/babel-runtime/helpers/defineProperty.js\");\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n\n\n/* eslint-disable react/prop-types */\n\n\nvar Track = function Track(props) {\n  var _ref, _ref2;\n\n  var className = props.className,\n      included = props.included,\n      vertical = props.vertical,\n      style = props.style;\n  var length = props.length,\n      offset = props.offset,\n      reverse = props.reverse;\n\n  if (length < 0) {\n    reverse = !reverse;\n    length = Math.abs(length);\n    offset = 100 - offset;\n  }\n\n  var positonStyle = vertical ? (_ref = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_ref, reverse ? 'top' : 'bottom', offset + '%'), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_ref, reverse ? 'bottom' : 'top', 'auto'), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_ref, 'height', length + '%'), _ref) : (_ref2 = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_ref2, reverse ? 'right' : 'left', offset + '%'), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_ref2, reverse ? 'left' : 'right', 'auto'), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_ref2, 'width', length + '%'), _ref2);\n\n  var elStyle = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, style, positonStyle);\n  return included ? react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement('div', { className: className, style: elStyle }) : null;\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Track);\n\n/***/ }),\n\n/***/ \"./node_modules/rc-slider/es/common/createSlider.js\":\n/*!**********************************************************!*\\\n  !*** ./node_modules/rc-slider/es/common/createSlider.js ***!\n  \\**********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return createSlider; });\n/* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/objectWithoutProperties */ \"./node_modules/babel-runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/extends */ \"./node_modules/babel-runtime/helpers/extends.js\");\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ \"./node_modules/babel-runtime/helpers/defineProperty.js\");\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ \"./node_modules/babel-runtime/helpers/classCallCheck.js\");\n/* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ \"./node_modules/babel-runtime/helpers/createClass.js\");\n/* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ \"./node_modules/babel-runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! babel-runtime/helpers/get */ \"./node_modules/babel-runtime/helpers/get.js\");\n/* harmony import */ var babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ \"./node_modules/babel-runtime/helpers/inherits.js\");\n/* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! rc-util/es/Dom/addEventListener */ \"./node_modules/rc-util/es/Dom/addEventListener.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var warning__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! warning */ \"./node_modules/warning/warning.js\");\n/* harmony import */ var warning__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(warning__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var _Steps__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Steps */ \"./node_modules/rc-slider/es/common/Steps.js\");\n/* harmony import */ var _Marks__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Marks */ \"./node_modules/rc-slider/es/common/Marks.js\");\n/* harmony import */ var _Handle__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../Handle */ \"./node_modules/rc-slider/es/Handle.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../utils */ \"./node_modules/rc-slider/es/utils.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction noop() {}\n\nfunction createSlider(Component) {\n  var _class, _temp;\n\n  return _temp = _class = function (_Component) {\n    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7___default()(ComponentEnhancer, _Component);\n\n    function ComponentEnhancer(props) {\n      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default()(this, ComponentEnhancer);\n\n      var _this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default()(this, (ComponentEnhancer.__proto__ || Object.getPrototypeOf(ComponentEnhancer)).call(this, props));\n\n      _this.onMouseDown = function (e) {\n        if (e.button !== 0) {\n          return;\n        }\n\n        var isVertical = _this.props.vertical;\n        var position = _utils__WEBPACK_IMPORTED_MODULE_16__[\"getMousePosition\"](isVertical, e);\n        if (!_utils__WEBPACK_IMPORTED_MODULE_16__[\"isEventFromHandle\"](e, _this.handlesRefs)) {\n          _this.dragOffset = 0;\n        } else {\n          var handlePosition = _utils__WEBPACK_IMPORTED_MODULE_16__[\"getHandleCenterPosition\"](isVertical, e.target);\n          _this.dragOffset = position - handlePosition;\n          position = handlePosition;\n        }\n        _this.removeDocumentEvents();\n        _this.onStart(position);\n        _this.addDocumentMouseEvents();\n      };\n\n      _this.onTouchStart = function (e) {\n        if (_utils__WEBPACK_IMPORTED_MODULE_16__[\"isNotTouchEvent\"](e)) return;\n\n        var isVertical = _this.props.vertical;\n        var position = _utils__WEBPACK_IMPORTED_MODULE_16__[\"getTouchPosition\"](isVertical, e);\n        if (!_utils__WEBPACK_IMPORTED_MODULE_16__[\"isEventFromHandle\"](e, _this.handlesRefs)) {\n          _this.dragOffset = 0;\n        } else {\n          var handlePosition = _utils__WEBPACK_IMPORTED_MODULE_16__[\"getHandleCenterPosition\"](isVertical, e.target);\n          _this.dragOffset = position - handlePosition;\n          position = handlePosition;\n        }\n        _this.onStart(position);\n        _this.addDocumentTouchEvents();\n        _utils__WEBPACK_IMPORTED_MODULE_16__[\"pauseEvent\"](e);\n      };\n\n      _this.onFocus = function (e) {\n        var _this$props = _this.props,\n            onFocus = _this$props.onFocus,\n            vertical = _this$props.vertical;\n\n        if (_utils__WEBPACK_IMPORTED_MODULE_16__[\"isEventFromHandle\"](e, _this.handlesRefs)) {\n          var handlePosition = _utils__WEBPACK_IMPORTED_MODULE_16__[\"getHandleCenterPosition\"](vertical, e.target);\n          _this.dragOffset = 0;\n          _this.onStart(handlePosition);\n          _utils__WEBPACK_IMPORTED_MODULE_16__[\"pauseEvent\"](e);\n          if (onFocus) {\n            onFocus(e);\n          }\n        }\n      };\n\n      _this.onBlur = function (e) {\n        var onBlur = _this.props.onBlur;\n\n        _this.onEnd();\n        if (onBlur) {\n          onBlur(e);\n        }\n      };\n\n      _this.onMouseUp = function () {\n        if (_this.handlesRefs[_this.prevMovedHandleIndex]) {\n          _this.handlesRefs[_this.prevMovedHandleIndex].clickFocus();\n        }\n      };\n\n      _this.onMouseMove = function (e) {\n        if (!_this.sliderRef) {\n          _this.onEnd();\n          return;\n        }\n        var position = _utils__WEBPACK_IMPORTED_MODULE_16__[\"getMousePosition\"](_this.props.vertical, e);\n        _this.onMove(e, position - _this.dragOffset);\n      };\n\n      _this.onTouchMove = function (e) {\n        if (_utils__WEBPACK_IMPORTED_MODULE_16__[\"isNotTouchEvent\"](e) || !_this.sliderRef) {\n          _this.onEnd();\n          return;\n        }\n\n        var position = _utils__WEBPACK_IMPORTED_MODULE_16__[\"getTouchPosition\"](_this.props.vertical, e);\n        _this.onMove(e, position - _this.dragOffset);\n      };\n\n      _this.onKeyDown = function (e) {\n        if (_this.sliderRef && _utils__WEBPACK_IMPORTED_MODULE_16__[\"isEventFromHandle\"](e, _this.handlesRefs)) {\n          _this.onKeyboard(e);\n        }\n      };\n\n      _this.onClickMarkLabel = function (e, value) {\n        e.stopPropagation();\n        _this.onChange({ value: value });\n        _this.setState({ value: value }, function () {\n          return _this.onEnd(true);\n        });\n      };\n\n      _this.saveSlider = function (slider) {\n        _this.sliderRef = slider;\n      };\n\n      var step = props.step,\n          max = props.max,\n          min = props.min;\n\n      var isPointDiffEven = isFinite(max - min) ? (max - min) % step === 0 : true; // eslint-disable-line\n      warning__WEBPACK_IMPORTED_MODULE_12___default()(step && Math.floor(step) === step ? isPointDiffEven : true, 'Slider[max] - Slider[min] (%s) should be a multiple of Slider[step] (%s)', max - min, step);\n      _this.handlesRefs = {};\n      return _this;\n    }\n\n    babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default()(ComponentEnhancer, [{\n      key: 'componentDidMount',\n      value: function componentDidMount() {\n        // Snapshot testing cannot handle refs, so be sure to null-check this.\n        this.document = this.sliderRef && this.sliderRef.ownerDocument;\n\n        var _props = this.props,\n            autoFocus = _props.autoFocus,\n            disabled = _props.disabled;\n\n        if (autoFocus && !disabled) {\n          this.focus();\n        }\n      }\n    }, {\n      key: 'componentWillUnmount',\n      value: function componentWillUnmount() {\n        if (babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_6___default()(ComponentEnhancer.prototype.__proto__ || Object.getPrototypeOf(ComponentEnhancer.prototype), 'componentWillUnmount', this)) babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_6___default()(ComponentEnhancer.prototype.__proto__ || Object.getPrototypeOf(ComponentEnhancer.prototype), 'componentWillUnmount', this).call(this);\n        this.removeDocumentEvents();\n      }\n    }, {\n      key: 'getSliderStart',\n      value: function getSliderStart() {\n        var slider = this.sliderRef;\n        var _props2 = this.props,\n            vertical = _props2.vertical,\n            reverse = _props2.reverse;\n\n        var rect = slider.getBoundingClientRect();\n        if (vertical) {\n          return reverse ? rect.bottom : rect.top;\n        }\n        return window.pageXOffset + (reverse ? rect.right : rect.left);\n      }\n    }, {\n      key: 'getSliderLength',\n      value: function getSliderLength() {\n        var slider = this.sliderRef;\n        if (!slider) {\n          return 0;\n        }\n\n        var coords = slider.getBoundingClientRect();\n        return this.props.vertical ? coords.height : coords.width;\n      }\n    }, {\n      key: 'addDocumentTouchEvents',\n      value: function addDocumentTouchEvents() {\n        // just work for Chrome iOS Safari and Android Browser\n        this.onTouchMoveListener = Object(rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(this.document, 'touchmove', this.onTouchMove);\n        this.onTouchUpListener = Object(rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(this.document, 'touchend', this.onEnd);\n      }\n    }, {\n      key: 'addDocumentMouseEvents',\n      value: function addDocumentMouseEvents() {\n        this.onMouseMoveListener = Object(rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(this.document, 'mousemove', this.onMouseMove);\n        this.onMouseUpListener = Object(rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(this.document, 'mouseup', this.onEnd);\n      }\n    }, {\n      key: 'removeDocumentEvents',\n      value: function removeDocumentEvents() {\n        /* eslint-disable no-unused-expressions */\n        this.onTouchMoveListener && this.onTouchMoveListener.remove();\n        this.onTouchUpListener && this.onTouchUpListener.remove();\n\n        this.onMouseMoveListener && this.onMouseMoveListener.remove();\n        this.onMouseUpListener && this.onMouseUpListener.remove();\n        /* eslint-enable no-unused-expressions */\n      }\n    }, {\n      key: 'focus',\n      value: function focus() {\n        if (!this.props.disabled) {\n          this.handlesRefs[0].focus();\n        }\n      }\n    }, {\n      key: 'blur',\n      value: function blur() {\n        var _this2 = this;\n\n        if (!this.props.disabled) {\n          Object.keys(this.handlesRefs).forEach(function (key) {\n            if (_this2.handlesRefs[key] && _this2.handlesRefs[key].blur) {\n              _this2.handlesRefs[key].blur();\n            }\n          });\n        }\n      }\n    }, {\n      key: 'calcValue',\n      value: function calcValue(offset) {\n        var _props3 = this.props,\n            vertical = _props3.vertical,\n            min = _props3.min,\n            max = _props3.max;\n\n        var ratio = Math.abs(Math.max(offset, 0) / this.getSliderLength());\n        var value = vertical ? (1 - ratio) * (max - min) + min : ratio * (max - min) + min;\n        return value;\n      }\n    }, {\n      key: 'calcValueByPos',\n      value: function calcValueByPos(position) {\n        var sign = this.props.reverse ? -1 : +1;\n        var pixelOffset = sign * (position - this.getSliderStart());\n        var nextValue = this.trimAlignValue(this.calcValue(pixelOffset));\n        return nextValue;\n      }\n    }, {\n      key: 'calcOffset',\n      value: function calcOffset(value) {\n        var _props4 = this.props,\n            min = _props4.min,\n            max = _props4.max;\n\n        var ratio = (value - min) / (max - min);\n        return ratio * 100;\n      }\n    }, {\n      key: 'saveHandle',\n      value: function saveHandle(index, handle) {\n        this.handlesRefs[index] = handle;\n      }\n    }, {\n      key: 'render',\n      value: function render() {\n        var _classNames;\n\n        var _props5 = this.props,\n            prefixCls = _props5.prefixCls,\n            className = _props5.className,\n            marks = _props5.marks,\n            dots = _props5.dots,\n            step = _props5.step,\n            included = _props5.included,\n            disabled = _props5.disabled,\n            vertical = _props5.vertical,\n            reverse = _props5.reverse,\n            min = _props5.min,\n            max = _props5.max,\n            children = _props5.children,\n            maximumTrackStyle = _props5.maximumTrackStyle,\n            style = _props5.style,\n            railStyle = _props5.railStyle,\n            dotStyle = _props5.dotStyle,\n            activeDotStyle = _props5.activeDotStyle;\n\n        var _get$call = babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_6___default()(ComponentEnhancer.prototype.__proto__ || Object.getPrototypeOf(ComponentEnhancer.prototype), 'render', this).call(this),\n            tracks = _get$call.tracks,\n            handles = _get$call.handles;\n\n        var sliderClassName = classnames__WEBPACK_IMPORTED_MODULE_11___default()(prefixCls, (_classNames = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(_classNames, prefixCls + '-with-marks', Object.keys(marks).length), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(_classNames, prefixCls + '-disabled', disabled), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(_classNames, prefixCls + '-vertical', vertical), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(_classNames, className, className), _classNames));\n        return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(\n          'div',\n          {\n            ref: this.saveSlider,\n            className: sliderClassName,\n            onTouchStart: disabled ? noop : this.onTouchStart,\n            onMouseDown: disabled ? noop : this.onMouseDown,\n            onMouseUp: disabled ? noop : this.onMouseUp,\n            onKeyDown: disabled ? noop : this.onKeyDown,\n            onFocus: disabled ? noop : this.onFocus,\n            onBlur: disabled ? noop : this.onBlur,\n            style: style\n          },\n          react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement('div', {\n            className: prefixCls + '-rail',\n            style: babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, maximumTrackStyle, railStyle)\n          }),\n          tracks,\n          react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(_Steps__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n            prefixCls: prefixCls,\n            vertical: vertical,\n            reverse: reverse,\n            marks: marks,\n            dots: dots,\n            step: step,\n            included: included,\n            lowerBound: this.getLowerBound(),\n            upperBound: this.getUpperBound(),\n            max: max,\n            min: min,\n            dotStyle: dotStyle,\n            activeDotStyle: activeDotStyle\n          }),\n          handles,\n          react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(_Marks__WEBPACK_IMPORTED_MODULE_14__[\"default\"], {\n            className: prefixCls + '-mark',\n            onClickLabel: disabled ? noop : this.onClickMarkLabel,\n            vertical: vertical,\n            marks: marks,\n            included: included,\n            lowerBound: this.getLowerBound(),\n            upperBound: this.getUpperBound(),\n            max: max,\n            min: min,\n            reverse: reverse\n          }),\n          children\n        );\n      }\n    }]);\n\n    return ComponentEnhancer;\n  }(Component), _class.displayName = 'ComponentEnhancer(' + Component.displayName + ')', _class.propTypes = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, Component.propTypes, {\n    min: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.number,\n    max: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.number,\n    startPoint: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.number,\n    step: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.number,\n    marks: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object,\n    included: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.bool,\n    className: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.string,\n    prefixCls: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.string,\n    disabled: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.bool,\n    children: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.any,\n    onBeforeChange: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.func,\n    onChange: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.func,\n    onAfterChange: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.func,\n    handle: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.func,\n    dots: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.bool,\n    vertical: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.bool,\n    style: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object,\n    reverse: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.bool,\n    minimumTrackStyle: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object, // just for compatibility, will be deperecate\n    maximumTrackStyle: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object, // just for compatibility, will be deperecate\n    handleStyle: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object, prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object)]),\n    trackStyle: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object, prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object)]),\n    railStyle: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object,\n    dotStyle: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object,\n    activeDotStyle: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object,\n    autoFocus: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.bool,\n    onFocus: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.func,\n    onBlur: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.func\n  }), _class.defaultProps = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, Component.defaultProps, {\n    prefixCls: 'rc-slider',\n    className: '',\n    min: 0,\n    max: 100,\n    step: 1,\n    marks: {},\n    handle: function handle(_ref) {\n      var index = _ref.index,\n          restProps = babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default()(_ref, ['index']);\n\n      delete restProps.dragging;\n      if (restProps.value === null) {\n        return null;\n      }\n\n      return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(_Handle__WEBPACK_IMPORTED_MODULE_15__[\"default\"], babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, restProps, { key: index }));\n    },\n\n    onBeforeChange: noop,\n    onChange: noop,\n    onAfterChange: noop,\n    included: true,\n    disabled: false,\n    dots: false,\n    vertical: false,\n    reverse: false,\n    trackStyle: [{}],\n    handleStyle: [{}],\n    railStyle: {},\n    dotStyle: {},\n    activeDotStyle: {}\n  }), _temp;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/rc-slider/es/createSliderWithTooltip.js\":\n/*!**************************************************************!*\\\n  !*** ./node_modules/rc-slider/es/createSliderWithTooltip.js ***!\n  \\**************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return createSliderWithTooltip; });\n/* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/objectWithoutProperties */ \"./node_modules/babel-runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ \"./node_modules/babel-runtime/helpers/defineProperty.js\");\n/* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/extends */ \"./node_modules/babel-runtime/helpers/extends.js\");\n/* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ \"./node_modules/babel-runtime/helpers/classCallCheck.js\");\n/* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ \"./node_modules/babel-runtime/helpers/createClass.js\");\n/* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ \"./node_modules/babel-runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ \"./node_modules/babel-runtime/helpers/inherits.js\");\n/* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var rc_tooltip__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! rc-tooltip */ \"./node_modules/rc-tooltip/es/index.js\");\n/* harmony import */ var _Handle__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Handle */ \"./node_modules/rc-slider/es/Handle.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nfunction createSliderWithTooltip(Component) {\n  var _class, _temp2;\n\n  return _temp2 = _class = function (_React$Component) {\n    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default()(ComponentWrapper, _React$Component);\n\n    function ComponentWrapper() {\n      var _ref;\n\n      var _temp, _this, _ret;\n\n      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default()(this, ComponentWrapper);\n\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      return _ret = (_temp = (_this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default()(this, (_ref = ComponentWrapper.__proto__ || Object.getPrototypeOf(ComponentWrapper)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n        visibles: {}\n      }, _this.handleTooltipVisibleChange = function (index, visible) {\n        _this.setState(function (prevState) {\n          return {\n            visibles: babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_2___default()({}, prevState.visibles, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()({}, index, visible))\n          };\n        });\n      }, _this.handleWithTooltip = function (_ref2) {\n        var value = _ref2.value,\n            dragging = _ref2.dragging,\n            index = _ref2.index,\n            disabled = _ref2.disabled,\n            restProps = babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default()(_ref2, ['value', 'dragging', 'index', 'disabled']);\n\n        var _this$props = _this.props,\n            tipFormatter = _this$props.tipFormatter,\n            tipProps = _this$props.tipProps,\n            handleStyle = _this$props.handleStyle;\n\n        var _tipProps$prefixCls = tipProps.prefixCls,\n            prefixCls = _tipProps$prefixCls === undefined ? 'rc-slider-tooltip' : _tipProps$prefixCls,\n            _tipProps$overlay = tipProps.overlay,\n            overlay = _tipProps$overlay === undefined ? tipFormatter(value) : _tipProps$overlay,\n            _tipProps$placement = tipProps.placement,\n            placement = _tipProps$placement === undefined ? 'top' : _tipProps$placement,\n            _tipProps$visible = tipProps.visible,\n            visible = _tipProps$visible === undefined ? false : _tipProps$visible,\n            restTooltipProps = babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default()(tipProps, ['prefixCls', 'overlay', 'placement', 'visible']);\n\n        var handleStyleWithIndex = void 0;\n        if (Array.isArray(handleStyle)) {\n          handleStyleWithIndex = handleStyle[index] || handleStyle[0];\n        } else {\n          handleStyleWithIndex = handleStyle;\n        }\n\n        return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\n          rc_tooltip__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n          babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_2___default()({}, restTooltipProps, {\n            prefixCls: prefixCls,\n            overlay: overlay,\n            placement: placement,\n            visible: !disabled && (_this.state.visibles[index] || dragging) || visible,\n            key: index\n          }),\n          react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_Handle__WEBPACK_IMPORTED_MODULE_10__[\"default\"], babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_2___default()({}, restProps, {\n            style: babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_2___default()({}, handleStyleWithIndex),\n            value: value,\n            onMouseEnter: function onMouseEnter() {\n              return _this.handleTooltipVisibleChange(index, true);\n            },\n            onMouseLeave: function onMouseLeave() {\n              return _this.handleTooltipVisibleChange(index, false);\n            }\n          }))\n        );\n      }, _temp), babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default()(_this, _ret);\n    }\n\n    babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default()(ComponentWrapper, [{\n      key: 'render',\n      value: function render() {\n        return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(Component, babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_2___default()({}, this.props, { handle: this.handleWithTooltip }));\n      }\n    }]);\n\n    return ComponentWrapper;\n  }(react__WEBPACK_IMPORTED_MODULE_7___default.a.Component), _class.propTypes = {\n    tipFormatter: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.func,\n    handleStyle: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.object, prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.object)]),\n    tipProps: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.object\n  }, _class.defaultProps = {\n    tipFormatter: function tipFormatter(value) {\n      return value;\n    },\n\n    handleStyle: [{}],\n    tipProps: {}\n  }, _temp2;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/rc-slider/es/index.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/rc-slider/es/index.js ***!\n  \\********************************************/\n/*! exports provided: default, Range, Handle, createSliderWithTooltip */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Slider__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Slider */ \"./node_modules/rc-slider/es/Slider.js\");\n/* harmony import */ var _Range__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Range */ \"./node_modules/rc-slider/es/Range.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Range\", function() { return _Range__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _Handle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Handle */ \"./node_modules/rc-slider/es/Handle.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Handle\", function() { return _Handle__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _createSliderWithTooltip__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createSliderWithTooltip */ \"./node_modules/rc-slider/es/createSliderWithTooltip.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createSliderWithTooltip\", function() { return _createSliderWithTooltip__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n\n\n\n\n\n_Slider__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Range = _Range__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n_Slider__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Handle = _Handle__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n_Slider__WEBPACK_IMPORTED_MODULE_0__[\"default\"].createSliderWithTooltip = _createSliderWithTooltip__WEBPACK_IMPORTED_MODULE_3__[\"default\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = (_Slider__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n\n/***/ }),\n\n/***/ \"./node_modules/rc-slider/es/utils.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/rc-slider/es/utils.js ***!\n  \\********************************************/\n/*! exports provided: isEventFromHandle, isValueOutOfRange, isNotTouchEvent, getClosestPoint, getPrecision, getMousePosition, getTouchPosition, getHandleCenterPosition, ensureValueInRange, ensureValuePrecision, pauseEvent, calculateNextValue, getKeyboardValueMutator */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isEventFromHandle\", function() { return isEventFromHandle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isValueOutOfRange\", function() { return isValueOutOfRange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isNotTouchEvent\", function() { return isNotTouchEvent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getClosestPoint\", function() { return getClosestPoint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getPrecision\", function() { return getPrecision; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getMousePosition\", function() { return getMousePosition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTouchPosition\", function() { return getTouchPosition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getHandleCenterPosition\", function() { return getHandleCenterPosition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ensureValueInRange\", function() { return ensureValueInRange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ensureValuePrecision\", function() { return ensureValuePrecision; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pauseEvent\", function() { return pauseEvent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"calculateNextValue\", function() { return calculateNextValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getKeyboardValueMutator\", function() { return getKeyboardValueMutator; });\n/* harmony import */ var babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/toConsumableArray */ \"./node_modules/babel-runtime/helpers/toConsumableArray.js\");\n/* harmony import */ var babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"react-dom\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rc-util/es/KeyCode */ \"./node_modules/rc-util/es/KeyCode.js\");\n\n\n\n\nfunction isEventFromHandle(e, handles) {\n  try {\n    return Object.keys(handles).some(function (key) {\n      return e.target === Object(react_dom__WEBPACK_IMPORTED_MODULE_1__[\"findDOMNode\"])(handles[key]);\n    });\n  } catch (error) {\n    return false;\n  }\n}\n\nfunction isValueOutOfRange(value, _ref) {\n  var min = _ref.min,\n      max = _ref.max;\n\n  return value < min || value > max;\n}\n\nfunction isNotTouchEvent(e) {\n  return e.touches.length > 1 || e.type.toLowerCase() === 'touchend' && e.touches.length > 0;\n}\n\nfunction getClosestPoint(val, _ref2) {\n  var marks = _ref2.marks,\n      step = _ref2.step,\n      min = _ref2.min,\n      max = _ref2.max;\n\n  var points = Object.keys(marks).map(parseFloat);\n  if (step !== null) {\n    var maxSteps = Math.floor((max - min) / step);\n    var steps = Math.min((val - min) / step, maxSteps);\n    var closestStep = Math.round(steps) * step + min;\n    points.push(closestStep);\n  }\n  var diffs = points.map(function (point) {\n    return Math.abs(val - point);\n  });\n  return points[diffs.indexOf(Math.min.apply(Math, babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default()(diffs)))];\n}\n\nfunction getPrecision(step) {\n  var stepString = step.toString();\n  var precision = 0;\n  if (stepString.indexOf('.') >= 0) {\n    precision = stepString.length - stepString.indexOf('.') - 1;\n  }\n  return precision;\n}\n\nfunction getMousePosition(vertical, e) {\n  return vertical ? e.clientY : e.pageX;\n}\n\nfunction getTouchPosition(vertical, e) {\n  return vertical ? e.touches[0].clientY : e.touches[0].pageX;\n}\n\nfunction getHandleCenterPosition(vertical, handle) {\n  var coords = handle.getBoundingClientRect();\n  return vertical ? coords.top + coords.height * 0.5 : window.pageXOffset + coords.left + coords.width * 0.5;\n}\n\nfunction ensureValueInRange(val, _ref3) {\n  var max = _ref3.max,\n      min = _ref3.min;\n\n  if (val <= min) {\n    return min;\n  }\n  if (val >= max) {\n    return max;\n  }\n  return val;\n}\n\nfunction ensureValuePrecision(val, props) {\n  var step = props.step;\n\n  var closestPoint = isFinite(getClosestPoint(val, props)) ? getClosestPoint(val, props) : 0; // eslint-disable-line\n  return step === null ? closestPoint : parseFloat(closestPoint.toFixed(getPrecision(step)));\n}\n\nfunction pauseEvent(e) {\n  e.stopPropagation();\n  e.preventDefault();\n}\n\nfunction calculateNextValue(func, value, props) {\n  var operations = {\n    increase: function increase(a, b) {\n      return a + b;\n    },\n    decrease: function decrease(a, b) {\n      return a - b;\n    }\n  };\n\n  var indexToGet = operations[func](Object.keys(props.marks).indexOf(JSON.stringify(value)), 1);\n  var keyToGet = Object.keys(props.marks)[indexToGet];\n\n  if (props.step) {\n    return operations[func](value, props.step);\n  } else if (!!Object.keys(props.marks).length && !!props.marks[keyToGet]) {\n    return props.marks[keyToGet];\n  }\n  return value;\n}\n\nfunction getKeyboardValueMutator(e, vertical, reverse) {\n  var increase = 'increase';\n  var decrease = 'decrease';\n  var method = increase;\n  switch (e.keyCode) {\n    case rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"].UP:\n      method = vertical && reverse ? decrease : increase;break;\n    case rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"].RIGHT:\n      method = !vertical && reverse ? decrease : increase;break;\n    case rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"].DOWN:\n      method = vertical && reverse ? increase : decrease;break;\n    case rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"].LEFT:\n      method = !vertical && reverse ? increase : decrease;break;\n\n    case rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"].END:\n      return function (value, props) {\n        return props.max;\n      };\n    case rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"].HOME:\n      return function (value, props) {\n        return props.min;\n      };\n    case rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"].PAGE_UP:\n      return function (value, props) {\n        return value + props.step * 2;\n      };\n    case rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"].PAGE_DOWN:\n      return function (value, props) {\n        return value - props.step * 2;\n      };\n\n    default:\n      return undefined;\n  }\n  return function (value, props) {\n    return calculateNextValue(method, value, props);\n  };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/rc-tooltip/es/Content.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/rc-tooltip/es/Content.js ***!\n  \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n\nvar Content = function Content(props) {\n  var overlay = props.overlay,\n      prefixCls = props.prefixCls,\n      id = props.id;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n    className: \"\".concat(prefixCls, \"-inner\"),\n    id: id,\n    role: \"tooltip\"\n  }, typeof overlay === 'function' ? overlay() : overlay);\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Content);\n\n/***/ }),\n\n/***/ \"./node_modules/rc-tooltip/es/Tooltip.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/rc-tooltip/es/Tooltip.js ***!\n  \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var rc_trigger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rc-trigger */ \"./node_modules/rc-trigger/es/index.js\");\n/* harmony import */ var _placements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./placements */ \"./node_modules/rc-tooltip/es/placements.js\");\n/* harmony import */ var _Content__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Content */ \"./node_modules/rc-tooltip/es/Content.js\");\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n\n\n\n\n\nvar Tooltip = function Tooltip(props, ref) {\n  var overlayClassName = props.overlayClassName,\n      _props$trigger = props.trigger,\n      trigger = _props$trigger === void 0 ? ['hover'] : _props$trigger,\n      _props$mouseEnterDela = props.mouseEnterDelay,\n      mouseEnterDelay = _props$mouseEnterDela === void 0 ? 0 : _props$mouseEnterDela,\n      _props$mouseLeaveDela = props.mouseLeaveDelay,\n      mouseLeaveDelay = _props$mouseLeaveDela === void 0 ? 0.1 : _props$mouseLeaveDela,\n      overlayStyle = props.overlayStyle,\n      _props$prefixCls = props.prefixCls,\n      prefixCls = _props$prefixCls === void 0 ? 'rc-tooltip' : _props$prefixCls,\n      children = props.children,\n      onVisibleChange = props.onVisibleChange,\n      afterVisibleChange = props.afterVisibleChange,\n      transitionName = props.transitionName,\n      animation = props.animation,\n      _props$placement = props.placement,\n      placement = _props$placement === void 0 ? 'right' : _props$placement,\n      _props$align = props.align,\n      align = _props$align === void 0 ? {} : _props$align,\n      _props$destroyTooltip = props.destroyTooltipOnHide,\n      destroyTooltipOnHide = _props$destroyTooltip === void 0 ? false : _props$destroyTooltip,\n      defaultVisible = props.defaultVisible,\n      getTooltipContainer = props.getTooltipContainer,\n      restProps = _objectWithoutProperties(props, [\"overlayClassName\", \"trigger\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"overlayStyle\", \"prefixCls\", \"children\", \"onVisibleChange\", \"afterVisibleChange\", \"transitionName\", \"animation\", \"placement\", \"align\", \"destroyTooltipOnHide\", \"defaultVisible\", \"getTooltipContainer\"]);\n\n  var domRef = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useRef\"])(null);\n  Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useImperativeHandle\"])(ref, function () {\n    return domRef.current;\n  });\n\n  var extraProps = _objectSpread({}, restProps);\n\n  if ('visible' in props) {\n    extraProps.popupVisible = props.visible;\n  }\n\n  var getPopupElement = function getPopupElement() {\n    var _props$arrowContent = props.arrowContent,\n        arrowContent = _props$arrowContent === void 0 ? null : _props$arrowContent,\n        overlay = props.overlay,\n        id = props.id;\n    return [react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n      className: \"\".concat(prefixCls, \"-arrow\"),\n      key: \"arrow\"\n    }, arrowContent), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Content__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n      key: \"content\",\n      prefixCls: prefixCls,\n      id: id,\n      overlay: overlay\n    })];\n  };\n\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(rc_trigger__WEBPACK_IMPORTED_MODULE_1__[\"default\"], Object.assign({\n    popupClassName: overlayClassName,\n    prefixCls: prefixCls,\n    popup: getPopupElement,\n    action: trigger,\n    builtinPlacements: _placements__WEBPACK_IMPORTED_MODULE_2__[\"placements\"],\n    popupPlacement: placement,\n    ref: domRef,\n    popupAlign: align,\n    getPopupContainer: getTooltipContainer,\n    onPopupVisibleChange: onVisibleChange,\n    afterPopupVisibleChange: afterVisibleChange,\n    popupTransitionName: transitionName,\n    popupAnimation: animation,\n    defaultPopupVisible: defaultVisible,\n    destroyPopupOnHide: destroyTooltipOnHide,\n    mouseLeaveDelay: mouseLeaveDelay,\n    popupStyle: overlayStyle,\n    mouseEnterDelay: mouseEnterDelay\n  }, extraProps), children);\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react__WEBPACK_IMPORTED_MODULE_0__[\"forwardRef\"])(Tooltip));\n\n/***/ }),\n\n/***/ \"./node_modules/rc-tooltip/es/index.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/rc-tooltip/es/index.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Tooltip__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tooltip */ \"./node_modules/rc-tooltip/es/Tooltip.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_Tooltip__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./node_modules/rc-tooltip/es/placements.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/rc-tooltip/es/placements.js ***!\n  \\**************************************************/\n/*! exports provided: placements, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"placements\", function() { return placements; });\nvar autoAdjustOverflow = {\n  adjustX: 1,\n  adjustY: 1\n};\nvar targetOffset = [0, 0];\nvar placements = {\n  left: {\n    points: ['cr', 'cl'],\n    overflow: autoAdjustOverflow,\n    offset: [-4, 0],\n    targetOffset: targetOffset\n  },\n  right: {\n    points: ['cl', 'cr'],\n    overflow: autoAdjustOverflow,\n    offset: [4, 0],\n    targetOffset: targetOffset\n  },\n  top: {\n    points: ['bc', 'tc'],\n    overflow: autoAdjustOverflow,\n    offset: [0, -4],\n    targetOffset: targetOffset\n  },\n  bottom: {\n    points: ['tc', 'bc'],\n    overflow: autoAdjustOverflow,\n    offset: [0, 4],\n    targetOffset: targetOffset\n  },\n  topLeft: {\n    points: ['bl', 'tl'],\n    overflow: autoAdjustOverflow,\n    offset: [0, -4],\n    targetOffset: targetOffset\n  },\n  leftTop: {\n    points: ['tr', 'tl'],\n    overflow: autoAdjustOverflow,\n    offset: [-4, 0],\n    targetOffset: targetOffset\n  },\n  topRight: {\n    points: ['br', 'tr'],\n    overflow: autoAdjustOverflow,\n    offset: [0, -4],\n    targetOffset: targetOffset\n  },\n  rightTop: {\n    points: ['tl', 'tr'],\n    overflow: autoAdjustOverflow,\n    offset: [4, 0],\n    targetOffset: targetOffset\n  },\n  bottomRight: {\n    points: ['tr', 'br'],\n    overflow: autoAdjustOverflow,\n    offset: [0, 4],\n    targetOffset: targetOffset\n  },\n  rightBottom: {\n    points: ['bl', 'br'],\n    overflow: autoAdjustOverflow,\n    offset: [4, 0],\n    targetOffset: targetOffset\n  },\n  bottomLeft: {\n    points: ['tl', 'bl'],\n    overflow: autoAdjustOverflow,\n    offset: [0, 4],\n    targetOffset: targetOffset\n  },\n  leftBottom: {\n    points: ['br', 'bl'],\n    overflow: autoAdjustOverflow,\n    offset: [-4, 0],\n    targetOffset: targetOffset\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (placements);\n\n/***/ }),\n\n/***/ \"./node_modules/rc-trigger/es/Popup.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/rc-trigger/es/Popup.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var raf__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! raf */ \"./node_modules/raf/index.js\");\n/* harmony import */ var raf__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(raf__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var rc_align__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rc-align */ \"./node_modules/rc-align/es/index.js\");\n/* harmony import */ var rc_util_es_ref__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! rc-util/es/ref */ \"./node_modules/rc-util/es/ref.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var rc_animate_es_CSSMotion__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! rc-animate/es/CSSMotion */ \"./node_modules/rc-animate/es/CSSMotion.js\");\n/* harmony import */ var _PopupInner__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./PopupInner */ \"./node_modules/rc-trigger/es/PopupInner.js\");\n/* harmony import */ var _utils_legacyUtil__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils/legacyUtil */ \"./node_modules/rc-trigger/es/utils/legacyUtil.js\");\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n/* eslint-disable no-param-reassign */\n\n\n\n\n\n\n\n\nvar CSSMotion = rc_animate_es_CSSMotion__WEBPACK_IMPORTED_MODULE_5__[\"default\"];\n\nfunction supportMotion(motion) {\n  return motion && motion.motionName;\n}\n\nvar Popup =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(Popup, _Component);\n\n  function Popup() {\n    var _this;\n\n    _classCallCheck(this, Popup);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(Popup).apply(this, arguments));\n    _this.state = {\n      targetWidth: undefined,\n      targetHeight: undefined,\n      status: null,\n      prevVisible: null,\n      alignClassName: null\n    };\n    _this.popupRef = react__WEBPACK_IMPORTED_MODULE_0___default.a.createRef();\n    _this.alignRef = react__WEBPACK_IMPORTED_MODULE_0___default.a.createRef();\n    _this.nextFrameState = null;\n    _this.nextFrameId = null;\n\n    _this.onAlign = function (popupDomNode, align) {\n      var status = _this.state.status;\n      var _this$props = _this.props,\n          getClassNameFromAlign = _this$props.getClassNameFromAlign,\n          onAlign = _this$props.onAlign;\n      var alignClassName = getClassNameFromAlign(align);\n\n      if (status === 'align') {\n        _this.setState({\n          alignClassName: alignClassName,\n          status: 'aligned'\n        }, function () {\n          _this.alignRef.current.forceAlign();\n        });\n      } else if (status === 'aligned') {\n        _this.setState({\n          alignClassName: alignClassName,\n          status: 'afterAlign'\n        });\n\n        onAlign(popupDomNode, align);\n      } else {\n        _this.setState({\n          alignClassName: alignClassName\n        });\n      }\n    };\n\n    _this.onMotionEnd = function () {\n      var visible = _this.props.visible;\n\n      _this.setState({\n        status: visible ? 'AfterMotion' : 'stable'\n      });\n    };\n\n    _this.setStateOnNextFrame = function (state) {\n      _this.cancelFrameState();\n\n      _this.nextFrameState = _objectSpread({}, _this.nextFrameState, {}, state);\n      _this.nextFrameId = raf__WEBPACK_IMPORTED_MODULE_1___default()(function () {\n        var submitState = _objectSpread({}, _this.nextFrameState);\n\n        _this.nextFrameState = null;\n\n        _this.setState(submitState);\n      });\n    };\n\n    _this.getMotion = function () {\n      return _objectSpread({}, Object(_utils_legacyUtil__WEBPACK_IMPORTED_MODULE_7__[\"getMotion\"])(_this.props));\n    }; // `target` on `rc-align` can accept as a function to get the bind element or a point.\n    // ref: https://www.npmjs.com/package/rc-align\n\n\n    _this.getAlignTarget = function () {\n      var _this$props2 = _this.props,\n          point = _this$props2.point,\n          getRootDomNode = _this$props2.getRootDomNode;\n\n      if (point) {\n        return point;\n      }\n\n      return getRootDomNode;\n    };\n\n    _this.cancelFrameState = function () {\n      raf__WEBPACK_IMPORTED_MODULE_1___default.a.cancel(_this.nextFrameId);\n    };\n\n    _this.renderPopupElement = function () {\n      var _this$state = _this.state,\n          status = _this$state.status,\n          targetHeight = _this$state.targetHeight,\n          targetWidth = _this$state.targetWidth,\n          alignClassName = _this$state.alignClassName;\n      var _this$props3 = _this.props,\n          prefixCls = _this$props3.prefixCls,\n          className = _this$props3.className,\n          style = _this$props3.style,\n          stretch = _this$props3.stretch,\n          visible = _this$props3.visible,\n          align = _this$props3.align,\n          destroyPopupOnHide = _this$props3.destroyPopupOnHide,\n          onMouseEnter = _this$props3.onMouseEnter,\n          onMouseLeave = _this$props3.onMouseLeave,\n          onMouseDown = _this$props3.onMouseDown,\n          onTouchStart = _this$props3.onTouchStart,\n          children = _this$props3.children;\n      var mergedClassName = classnames__WEBPACK_IMPORTED_MODULE_4___default()(prefixCls, className, alignClassName);\n      var hiddenClassName = \"\".concat(prefixCls, \"-hidden\"); // ================== Style ==================\n\n      var sizeStyle = {};\n\n      if (stretch) {\n        // Stretch with target\n        if (stretch.indexOf('height') !== -1) {\n          sizeStyle.height = targetHeight;\n        } else if (stretch.indexOf('minHeight') !== -1) {\n          sizeStyle.minHeight = targetHeight;\n        }\n\n        if (stretch.indexOf('width') !== -1) {\n          sizeStyle.width = targetWidth;\n        } else if (stretch.indexOf('minWidth') !== -1) {\n          sizeStyle.minWidth = targetWidth;\n        }\n      }\n\n      var mergedStyle = _objectSpread({}, sizeStyle, {}, style, {}, _this.getZIndexStyle(), {\n        opacity: status === 'stable' || !visible ? undefined : 0\n      }); // ================= Motions =================\n\n\n      var mergedMotion = _this.getMotion();\n\n      var mergedMotionVisible = visible;\n\n      if (visible && status !== 'beforeMotion' && status !== 'motion' && status !== 'stable') {\n        mergedMotion.motionAppear = false;\n        mergedMotion.motionEnter = false;\n        mergedMotion.motionLeave = false;\n      }\n\n      if (status === 'afterAlign' || status === 'beforeMotion') {\n        mergedMotionVisible = false;\n      } // ================== Align ==================\n\n\n      var mergedAlignDisabled = !visible || status !== 'align' && status !== 'aligned' && status !== 'stable'; // ================== Popup ==================\n\n      var mergedPopupVisible = true;\n\n      if (status === 'stable') {\n        mergedPopupVisible = visible;\n      } // Only remove popup since mask may still need animation\n\n\n      if (destroyPopupOnHide && !mergedPopupVisible) {\n        return null;\n      }\n\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(CSSMotion, Object.assign({\n        visible: mergedMotionVisible\n      }, mergedMotion, {\n        removeOnLeave: false,\n        onEnterEnd: _this.onMotionEnd,\n        onLeaveEnd: _this.onMotionEnd\n      }), function (_ref, motionRef) {\n        var motionStyle = _ref.style,\n            motionClassName = _ref.className;\n        return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(rc_align__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n          target: _this.getAlignTarget(),\n          key: \"popup\",\n          ref: _this.alignRef,\n          monitorWindowResize: true,\n          disabled: mergedAlignDisabled,\n          align: align,\n          onAlign: _this.onAlign\n        }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PopupInner__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n          prefixCls: prefixCls,\n          visible: mergedPopupVisible,\n          hiddenClassName: hiddenClassName,\n          className: classnames__WEBPACK_IMPORTED_MODULE_4___default()(mergedClassName, motionClassName),\n          ref: Object(rc_util_es_ref__WEBPACK_IMPORTED_MODULE_3__[\"composeRef\"])(motionRef, _this.popupRef),\n          onMouseEnter: onMouseEnter,\n          onMouseLeave: onMouseLeave,\n          onMouseDown: onMouseDown,\n          onTouchStart: onTouchStart,\n          style: _objectSpread({}, mergedStyle, {}, motionStyle)\n        }, children));\n      });\n    };\n\n    _this.renderMaskElement = function () {\n      var _this$props4 = _this.props,\n          mask = _this$props4.mask,\n          maskMotion = _this$props4.maskMotion,\n          maskTransitionName = _this$props4.maskTransitionName,\n          maskAnimation = _this$props4.maskAnimation,\n          prefixCls = _this$props4.prefixCls,\n          visible = _this$props4.visible;\n\n      if (!mask) {\n        return null;\n      }\n\n      var motion = {};\n\n      if (maskMotion && maskMotion.motionName) {\n        motion = _objectSpread({\n          motionAppear: true\n        }, Object(_utils_legacyUtil__WEBPACK_IMPORTED_MODULE_7__[\"getMotion\"])({\n          motion: maskMotion,\n          prefixCls: prefixCls,\n          transitionName: maskTransitionName,\n          animation: maskAnimation\n        }));\n      }\n\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(CSSMotion, Object.assign({}, motion, {\n        visible: visible,\n        removeOnLeave: true\n      }), function (_ref2) {\n        var className = _ref2.className;\n        return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n          style: _this.getZIndexStyle(),\n          key: \"mask\",\n          className: classnames__WEBPACK_IMPORTED_MODULE_4___default()(\"\".concat(prefixCls, \"-mask\"), className)\n        });\n      });\n    };\n\n    return _this;\n  }\n\n  _createClass(Popup, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.componentDidUpdate();\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate() {\n      var status = this.state.status;\n      var _this$props5 = this.props,\n          getRootDomNode = _this$props5.getRootDomNode,\n          visible = _this$props5.visible,\n          stretch = _this$props5.stretch;\n\n      if (visible && status !== 'stable') {\n        switch (status) {\n          case null:\n            {\n              this.setStateOnNextFrame({\n                status: stretch ? 'measure' : 'align'\n              });\n              break;\n            }\n\n          case 'afterAlign':\n            {\n              this.setStateOnNextFrame({\n                status: supportMotion(this.getMotion()) ? 'beforeMotion' : 'stable'\n              });\n              break;\n            }\n\n          case 'AfterMotion':\n            {\n              this.setStateOnNextFrame({\n                status: 'stable'\n              });\n              break;\n            }\n\n          default:\n            {\n              // Go to next status\n              var queue = ['measure', 'align', null, 'beforeMotion', 'motion'];\n              var index = queue.indexOf(status);\n              var nextStatus = queue[index + 1];\n\n              if (index !== -1 && nextStatus) {\n                this.setStateOnNextFrame({\n                  status: nextStatus\n                });\n              }\n            }\n        }\n      } // Measure stretch size\n\n\n      if (status === 'measure') {\n        var $ele = getRootDomNode();\n\n        if ($ele) {\n          this.setStateOnNextFrame({\n            targetHeight: $ele.offsetHeight,\n            targetWidth: $ele.offsetWidth\n          });\n        }\n      }\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      this.cancelFrameState();\n    }\n  }, {\n    key: \"getZIndexStyle\",\n    value: function getZIndexStyle() {\n      var zIndex = this.props.zIndex;\n      return {\n        zIndex: zIndex\n      };\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, this.renderMaskElement(), this.renderPopupElement());\n    }\n  }], [{\n    key: \"getDerivedStateFromProps\",\n    value: function getDerivedStateFromProps(_ref3, _ref4) {\n      var visible = _ref3.visible,\n          props = _objectWithoutProperties(_ref3, [\"visible\"]);\n\n      var prevVisible = _ref4.prevVisible,\n          status = _ref4.status;\n      var newState = {\n        prevVisible: visible,\n        status: status\n      };\n      var mergedMotion = Object(_utils_legacyUtil__WEBPACK_IMPORTED_MODULE_7__[\"getMotion\"])(props);\n\n      if (prevVisible === null && visible === false) {\n        // Init render should always be stable\n        newState.status = 'stable';\n      } else if (visible !== prevVisible) {\n        newState.status = visible || supportMotion(mergedMotion) ? null : 'stable';\n\n        if (visible) {\n          newState.alignClassName = null;\n        }\n      }\n\n      return newState;\n    }\n  }]);\n\n  return Popup;\n}(react__WEBPACK_IMPORTED_MODULE_0__[\"Component\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Popup);\n/* eslint-enable */\n\n/***/ }),\n\n/***/ \"./node_modules/rc-trigger/es/PopupInner.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/rc-trigger/es/PopupInner.js ***!\n  \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\nvar PopupInner = function PopupInner(props, ref) {\n  var prefixCls = props.prefixCls,\n      className = props.className,\n      visible = props.visible,\n      style = props.style,\n      children = props.children,\n      onMouseEnter = props.onMouseEnter,\n      onMouseLeave = props.onMouseLeave,\n      onMouseDown = props.onMouseDown,\n      onTouchStart = props.onTouchStart;\n  var childNode = children;\n\n  if (react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.count(children) > 1) {\n    childNode = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n      className: \"\".concat(prefixCls, \"-content\")\n    }, children);\n  }\n\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n    ref: ref,\n    className: classnames__WEBPACK_IMPORTED_MODULE_1___default()(className, !visible && \"\".concat(props.hiddenClassName)),\n    onMouseEnter: onMouseEnter,\n    onMouseLeave: onMouseLeave,\n    onMouseDown: onMouseDown,\n    onTouchStart: onTouchStart,\n    style: style\n  }, childNode);\n};\n\nvar RefPopupInner = react__WEBPACK_IMPORTED_MODULE_0___default.a.forwardRef(PopupInner);\nRefPopupInner.displayName = 'PopupInner';\n/* harmony default export */ __webpack_exports__[\"default\"] = (RefPopupInner);\n\n/***/ }),\n\n/***/ \"./node_modules/rc-trigger/es/context.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/rc-trigger/es/context.js ***!\n  \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\nvar TriggerContext = react__WEBPACK_IMPORTED_MODULE_0___default.a.createContext(null);\n/* harmony default export */ __webpack_exports__[\"default\"] = (TriggerContext);\n\n/***/ }),\n\n/***/ \"./node_modules/rc-trigger/es/index.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/rc-trigger/es/index.js ***!\n  \\*********************************************/\n/*! exports provided: generateTrigger, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"generateTrigger\", function() { return generateTrigger; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"react-dom\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var rc_util_es_Dom_contains__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rc-util/es/Dom/contains */ \"./node_modules/rc-util/es/Dom/contains.js\");\n/* harmony import */ var rc_util_es_Dom_findDOMNode__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! rc-util/es/Dom/findDOMNode */ \"./node_modules/rc-util/es/Dom/findDOMNode.js\");\n/* harmony import */ var rc_util_es_ref__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! rc-util/es/ref */ \"./node_modules/rc-util/es/ref.js\");\n/* harmony import */ var rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! rc-util/es/Dom/addEventListener */ \"./node_modules/rc-util/es/Dom/addEventListener.js\");\n/* harmony import */ var rc_util_es_Portal__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! rc-util/es/Portal */ \"./node_modules/rc-util/es/Portal.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _utils_alignUtil__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/alignUtil */ \"./node_modules/rc-trigger/es/utils/alignUtil.js\");\n/* harmony import */ var _Popup__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Popup */ \"./node_modules/rc-trigger/es/Popup.js\");\n/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./context */ \"./node_modules/rc-trigger/es/context.js\");\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction noop() {}\n\nfunction returnEmptyString() {\n  return '';\n}\n\nfunction returnDocument() {\n  return window.document;\n}\n\nvar ALL_HANDLERS = ['onClick', 'onMouseDown', 'onTouchStart', 'onMouseEnter', 'onMouseLeave', 'onFocus', 'onBlur', 'onContextMenu'];\n/**\n * Internal usage. Do not use in your code since this will be removed.\n */\n\nfunction generateTrigger(PortalComponent) {\n  var Trigger =\n  /*#__PURE__*/\n  function (_React$Component) {\n    _inherits(Trigger, _React$Component);\n\n    function Trigger(props) {\n      var _this;\n\n      _classCallCheck(this, Trigger);\n\n      _this = _possibleConstructorReturn(this, _getPrototypeOf(Trigger).call(this, props));\n      _this.popupRef = react__WEBPACK_IMPORTED_MODULE_0___default.a.createRef();\n      _this.triggerRef = react__WEBPACK_IMPORTED_MODULE_0___default.a.createRef();\n\n      _this.onMouseEnter = function (e) {\n        var mouseEnterDelay = _this.props.mouseEnterDelay;\n\n        _this.fireEvents('onMouseEnter', e);\n\n        _this.delaySetPopupVisible(true, mouseEnterDelay, mouseEnterDelay ? null : e);\n      };\n\n      _this.onMouseMove = function (e) {\n        _this.fireEvents('onMouseMove', e);\n\n        _this.setPoint(e);\n      };\n\n      _this.onMouseLeave = function (e) {\n        _this.fireEvents('onMouseLeave', e);\n\n        _this.delaySetPopupVisible(false, _this.props.mouseLeaveDelay);\n      };\n\n      _this.onPopupMouseEnter = function () {\n        _this.clearDelayTimer();\n      };\n\n      _this.onPopupMouseLeave = function (e) {\n        // https://github.com/react-component/trigger/pull/13\n        // react bug?\n        if (e.relatedTarget && !e.relatedTarget.setTimeout && _this.popupRef.current && _this.popupRef.current.popupRef.current && Object(rc_util_es_Dom_contains__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_this.popupRef.current.popupRef.current, e.relatedTarget)) {\n          return;\n        }\n\n        _this.delaySetPopupVisible(false, _this.props.mouseLeaveDelay);\n      };\n\n      _this.onFocus = function (e) {\n        _this.fireEvents('onFocus', e); // incase focusin and focusout\n\n\n        _this.clearDelayTimer();\n\n        if (_this.isFocusToShow()) {\n          _this.focusTime = Date.now();\n\n          _this.delaySetPopupVisible(true, _this.props.focusDelay);\n        }\n      };\n\n      _this.onMouseDown = function (e) {\n        _this.fireEvents('onMouseDown', e);\n\n        _this.preClickTime = Date.now();\n      };\n\n      _this.onTouchStart = function (e) {\n        _this.fireEvents('onTouchStart', e);\n\n        _this.preTouchTime = Date.now();\n      };\n\n      _this.onBlur = function (e) {\n        _this.fireEvents('onBlur', e);\n\n        _this.clearDelayTimer();\n\n        if (_this.isBlurToHide()) {\n          _this.delaySetPopupVisible(false, _this.props.blurDelay);\n        }\n      };\n\n      _this.onContextMenu = function (e) {\n        e.preventDefault();\n\n        _this.fireEvents('onContextMenu', e);\n\n        _this.setPopupVisible(true, e);\n      };\n\n      _this.onContextMenuClose = function () {\n        if (_this.isContextMenuToShow()) {\n          _this.close();\n        }\n      };\n\n      _this.onClick = function (event) {\n        _this.fireEvents('onClick', event); // focus will trigger click\n\n\n        if (_this.focusTime) {\n          var preTime;\n\n          if (_this.preClickTime && _this.preTouchTime) {\n            preTime = Math.min(_this.preClickTime, _this.preTouchTime);\n          } else if (_this.preClickTime) {\n            preTime = _this.preClickTime;\n          } else if (_this.preTouchTime) {\n            preTime = _this.preTouchTime;\n          }\n\n          if (Math.abs(preTime - _this.focusTime) < 20) {\n            return;\n          }\n\n          _this.focusTime = 0;\n        }\n\n        _this.preClickTime = 0;\n        _this.preTouchTime = 0; // Only prevent default when all the action is click.\n        // https://github.com/ant-design/ant-design/issues/17043\n        // https://github.com/ant-design/ant-design/issues/17291\n\n        if (_this.isClickToShow() && (_this.isClickToHide() || _this.isBlurToHide()) && event && event.preventDefault) {\n          event.preventDefault();\n        }\n\n        var nextVisible = !_this.state.popupVisible;\n\n        if (_this.isClickToHide() && !nextVisible || nextVisible && _this.isClickToShow()) {\n          _this.setPopupVisible(!_this.state.popupVisible, event);\n        }\n      };\n\n      _this.onPopupMouseDown = function () {\n        _this.hasPopupMouseDown = true;\n        clearTimeout(_this.mouseDownTimeout);\n        _this.mouseDownTimeout = window.setTimeout(function () {\n          _this.hasPopupMouseDown = false;\n        }, 0);\n\n        if (_this.context) {\n          var _this$context;\n\n          (_this$context = _this.context).onPopupMouseDown.apply(_this$context, arguments);\n        }\n      };\n\n      _this.onDocumentClick = function (event) {\n        if (_this.props.mask && !_this.props.maskClosable) {\n          return;\n        }\n\n        var target = event.target;\n\n        var root = _this.getRootDomNode();\n\n        var popupNode = _this.getPopupDomNode();\n\n        if (!Object(rc_util_es_Dom_contains__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(root, target) && !Object(rc_util_es_Dom_contains__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(popupNode, target) && !_this.hasPopupMouseDown) {\n          _this.close();\n        }\n      };\n\n      _this.getRootDomNode = function () {\n        var getTriggerDOMNode = _this.props.getTriggerDOMNode;\n\n        if (getTriggerDOMNode) {\n          return getTriggerDOMNode(_this.triggerRef.current);\n        }\n\n        try {\n          var domNode = Object(rc_util_es_Dom_findDOMNode__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_this.triggerRef.current);\n\n          if (domNode) {\n            return domNode;\n          }\n        } catch (err) {// Do nothing\n        }\n\n        return react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.findDOMNode(_assertThisInitialized(_this));\n      };\n\n      _this.getPopupClassNameFromAlign = function (align) {\n        var className = [];\n        var _this$props = _this.props,\n            popupPlacement = _this$props.popupPlacement,\n            builtinPlacements = _this$props.builtinPlacements,\n            prefixCls = _this$props.prefixCls,\n            alignPoint = _this$props.alignPoint,\n            getPopupClassNameFromAlign = _this$props.getPopupClassNameFromAlign;\n\n        if (popupPlacement && builtinPlacements) {\n          className.push(Object(_utils_alignUtil__WEBPACK_IMPORTED_MODULE_8__[\"getAlignPopupClassName\"])(builtinPlacements, prefixCls, align, alignPoint));\n        }\n\n        if (getPopupClassNameFromAlign) {\n          className.push(getPopupClassNameFromAlign(align));\n        }\n\n        return className.join(' ');\n      };\n\n      _this.getComponent = function () {\n        var _this$props2 = _this.props,\n            prefixCls = _this$props2.prefixCls,\n            destroyPopupOnHide = _this$props2.destroyPopupOnHide,\n            popupClassName = _this$props2.popupClassName,\n            onPopupAlign = _this$props2.onPopupAlign,\n            popupMotion = _this$props2.popupMotion,\n            popupAnimation = _this$props2.popupAnimation,\n            popupTransitionName = _this$props2.popupTransitionName,\n            popupStyle = _this$props2.popupStyle,\n            mask = _this$props2.mask,\n            maskAnimation = _this$props2.maskAnimation,\n            maskTransitionName = _this$props2.maskTransitionName,\n            maskMotion = _this$props2.maskMotion,\n            zIndex = _this$props2.zIndex,\n            popup = _this$props2.popup,\n            stretch = _this$props2.stretch,\n            alignPoint = _this$props2.alignPoint;\n        var _this$state = _this.state,\n            popupVisible = _this$state.popupVisible,\n            point = _this$state.point;\n\n        var align = _this.getPopupAlign();\n\n        var mouseProps = {};\n\n        if (_this.isMouseEnterToShow()) {\n          mouseProps.onMouseEnter = _this.onPopupMouseEnter;\n        }\n\n        if (_this.isMouseLeaveToHide()) {\n          mouseProps.onMouseLeave = _this.onPopupMouseLeave;\n        }\n\n        mouseProps.onMouseDown = _this.onPopupMouseDown;\n        mouseProps.onTouchStart = _this.onPopupMouseDown;\n        return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Popup__WEBPACK_IMPORTED_MODULE_9__[\"default\"], Object.assign({\n          prefixCls: prefixCls,\n          destroyPopupOnHide: destroyPopupOnHide,\n          visible: popupVisible,\n          point: alignPoint && point,\n          className: popupClassName,\n          align: align,\n          onAlign: onPopupAlign,\n          animation: popupAnimation,\n          getClassNameFromAlign: _this.getPopupClassNameFromAlign\n        }, mouseProps, {\n          stretch: stretch,\n          getRootDomNode: _this.getRootDomNode,\n          style: popupStyle,\n          mask: mask,\n          zIndex: zIndex,\n          transitionName: popupTransitionName,\n          maskAnimation: maskAnimation,\n          maskTransitionName: maskTransitionName,\n          maskMotion: maskMotion,\n          ref: _this.popupRef,\n          motion: popupMotion\n        }), typeof popup === 'function' ? popup() : popup);\n      };\n\n      _this.getContainer = function () {\n        var _assertThisInitialize = _assertThisInitialized(_this),\n            props = _assertThisInitialize.props;\n\n        var popupContainer = document.createElement('div'); // Make sure default popup container will never cause scrollbar appearing\n        // https://github.com/react-component/trigger/issues/41\n\n        popupContainer.style.position = 'absolute';\n        popupContainer.style.top = '0';\n        popupContainer.style.left = '0';\n        popupContainer.style.width = '100%';\n        var mountNode = props.getPopupContainer ? props.getPopupContainer(_this.getRootDomNode()) : props.getDocument().body;\n        mountNode.appendChild(popupContainer);\n        return popupContainer;\n      };\n\n      _this.setPoint = function (point) {\n        var alignPoint = _this.props.alignPoint;\n        if (!alignPoint || !point) return;\n\n        _this.setState({\n          point: {\n            pageX: point.pageX,\n            pageY: point.pageY\n          }\n        });\n      };\n\n      _this.handlePortalUpdate = function () {\n        if (_this.state.prevPopupVisible !== _this.state.popupVisible) {\n          _this.props.afterPopupVisibleChange(_this.state.popupVisible);\n        }\n      };\n\n      var popupVisible;\n\n      if ('popupVisible' in props) {\n        popupVisible = !!props.popupVisible;\n      } else {\n        popupVisible = !!props.defaultPopupVisible;\n      }\n\n      _this.state = {\n        prevPopupVisible: popupVisible,\n        popupVisible: popupVisible\n      };\n      ALL_HANDLERS.forEach(function (h) {\n        _this[\"fire\".concat(h)] = function (e) {\n          _this.fireEvents(h, e);\n        };\n      });\n      return _this;\n    }\n\n    _createClass(Trigger, [{\n      key: \"componentDidMount\",\n      value: function componentDidMount() {\n        this.componentDidUpdate();\n      }\n    }, {\n      key: \"componentDidUpdate\",\n      value: function componentDidUpdate() {\n        var props = this.props;\n        var state = this.state; // We must listen to `mousedown` or `touchstart`, edge case:\n        // https://github.com/ant-design/ant-design/issues/5804\n        // https://github.com/react-component/calendar/issues/250\n        // https://github.com/react-component/trigger/issues/50\n\n        if (state.popupVisible) {\n          var currentDocument;\n\n          if (!this.clickOutsideHandler && (this.isClickToHide() || this.isContextMenuToShow())) {\n            currentDocument = props.getDocument();\n            this.clickOutsideHandler = Object(rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(currentDocument, 'mousedown', this.onDocumentClick);\n          } // always hide on mobile\n\n\n          if (!this.touchOutsideHandler) {\n            currentDocument = currentDocument || props.getDocument();\n            this.touchOutsideHandler = Object(rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(currentDocument, 'touchstart', this.onDocumentClick);\n          } // close popup when trigger type contains 'onContextMenu' and document is scrolling.\n\n\n          if (!this.contextMenuOutsideHandler1 && this.isContextMenuToShow()) {\n            currentDocument = currentDocument || props.getDocument();\n            this.contextMenuOutsideHandler1 = Object(rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(currentDocument, 'scroll', this.onContextMenuClose);\n          } // close popup when trigger type contains 'onContextMenu' and window is blur.\n\n\n          if (!this.contextMenuOutsideHandler2 && this.isContextMenuToShow()) {\n            this.contextMenuOutsideHandler2 = Object(rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(window, 'blur', this.onContextMenuClose);\n          }\n\n          return;\n        }\n\n        this.clearOutsideHandler();\n      }\n    }, {\n      key: \"componentWillUnmount\",\n      value: function componentWillUnmount() {\n        this.clearDelayTimer();\n        this.clearOutsideHandler();\n        clearTimeout(this.mouseDownTimeout);\n      }\n    }, {\n      key: \"getPopupDomNode\",\n      value: function getPopupDomNode() {\n        // for test\n        if (this.popupRef.current && this.popupRef.current.popupRef.current) {\n          return this.popupRef.current.popupRef.current;\n        }\n\n        return null;\n      }\n    }, {\n      key: \"getPopupAlign\",\n      value: function getPopupAlign() {\n        var props = this.props;\n        var popupPlacement = props.popupPlacement,\n            popupAlign = props.popupAlign,\n            builtinPlacements = props.builtinPlacements;\n\n        if (popupPlacement && builtinPlacements) {\n          return Object(_utils_alignUtil__WEBPACK_IMPORTED_MODULE_8__[\"getAlignFromPlacement\"])(builtinPlacements, popupPlacement, popupAlign);\n        }\n\n        return popupAlign;\n      }\n      /**\n       * @param popupVisible    Show or not the popup element\n       * @param event           SyntheticEvent, used for `pointAlign`\n       */\n\n    }, {\n      key: \"setPopupVisible\",\n      value: function setPopupVisible(popupVisible, event) {\n        var alignPoint = this.props.alignPoint;\n        var prevPopupVisible = this.state.popupVisible;\n        this.clearDelayTimer();\n\n        if (prevPopupVisible !== popupVisible) {\n          if (!('popupVisible' in this.props)) {\n            this.setState({\n              popupVisible: popupVisible,\n              prevPopupVisible: prevPopupVisible\n            });\n          }\n\n          this.props.onPopupVisibleChange(popupVisible);\n        } // Always record the point position since mouseEnterDelay will delay the show\n\n\n        if (alignPoint && event) {\n          this.setPoint(event);\n        }\n      }\n    }, {\n      key: \"delaySetPopupVisible\",\n      value: function delaySetPopupVisible(visible, delayS, event) {\n        var _this2 = this;\n\n        var delay = delayS * 1000;\n        this.clearDelayTimer();\n\n        if (delay) {\n          var point = event ? {\n            pageX: event.pageX,\n            pageY: event.pageY\n          } : null;\n          this.delayTimer = window.setTimeout(function () {\n            _this2.setPopupVisible(visible, point);\n\n            _this2.clearDelayTimer();\n          }, delay);\n        } else {\n          this.setPopupVisible(visible, event);\n        }\n      }\n    }, {\n      key: \"clearDelayTimer\",\n      value: function clearDelayTimer() {\n        if (this.delayTimer) {\n          clearTimeout(this.delayTimer);\n          this.delayTimer = null;\n        }\n      }\n    }, {\n      key: \"clearOutsideHandler\",\n      value: function clearOutsideHandler() {\n        if (this.clickOutsideHandler) {\n          this.clickOutsideHandler.remove();\n          this.clickOutsideHandler = null;\n        }\n\n        if (this.contextMenuOutsideHandler1) {\n          this.contextMenuOutsideHandler1.remove();\n          this.contextMenuOutsideHandler1 = null;\n        }\n\n        if (this.contextMenuOutsideHandler2) {\n          this.contextMenuOutsideHandler2.remove();\n          this.contextMenuOutsideHandler2 = null;\n        }\n\n        if (this.touchOutsideHandler) {\n          this.touchOutsideHandler.remove();\n          this.touchOutsideHandler = null;\n        }\n      }\n    }, {\n      key: \"createTwoChains\",\n      value: function createTwoChains(event) {\n        var childPros = this.props.children.props;\n        var props = this.props;\n\n        if (childPros[event] && props[event]) {\n          return this[\"fire\".concat(event)];\n        }\n\n        return childPros[event] || props[event];\n      }\n    }, {\n      key: \"isClickToShow\",\n      value: function isClickToShow() {\n        var _this$props3 = this.props,\n            action = _this$props3.action,\n            showAction = _this$props3.showAction;\n        return action.indexOf('click') !== -1 || showAction.indexOf('click') !== -1;\n      }\n    }, {\n      key: \"isContextMenuToShow\",\n      value: function isContextMenuToShow() {\n        var _this$props4 = this.props,\n            action = _this$props4.action,\n            showAction = _this$props4.showAction;\n        return action.indexOf('contextMenu') !== -1 || showAction.indexOf('contextMenu') !== -1;\n      }\n    }, {\n      key: \"isClickToHide\",\n      value: function isClickToHide() {\n        var _this$props5 = this.props,\n            action = _this$props5.action,\n            hideAction = _this$props5.hideAction;\n        return action.indexOf('click') !== -1 || hideAction.indexOf('click') !== -1;\n      }\n    }, {\n      key: \"isMouseEnterToShow\",\n      value: function isMouseEnterToShow() {\n        var _this$props6 = this.props,\n            action = _this$props6.action,\n            showAction = _this$props6.showAction;\n        return action.indexOf('hover') !== -1 || showAction.indexOf('mouseEnter') !== -1;\n      }\n    }, {\n      key: \"isMouseLeaveToHide\",\n      value: function isMouseLeaveToHide() {\n        var _this$props7 = this.props,\n            action = _this$props7.action,\n            hideAction = _this$props7.hideAction;\n        return action.indexOf('hover') !== -1 || hideAction.indexOf('mouseLeave') !== -1;\n      }\n    }, {\n      key: \"isFocusToShow\",\n      value: function isFocusToShow() {\n        var _this$props8 = this.props,\n            action = _this$props8.action,\n            showAction = _this$props8.showAction;\n        return action.indexOf('focus') !== -1 || showAction.indexOf('focus') !== -1;\n      }\n    }, {\n      key: \"isBlurToHide\",\n      value: function isBlurToHide() {\n        var _this$props9 = this.props,\n            action = _this$props9.action,\n            hideAction = _this$props9.hideAction;\n        return action.indexOf('focus') !== -1 || hideAction.indexOf('blur') !== -1;\n      }\n    }, {\n      key: \"forcePopupAlign\",\n      value: function forcePopupAlign() {\n        if (this.state.popupVisible && this.popupRef.current && this.popupRef.current.alignRef.current) {\n          this.popupRef.current.alignRef.current.forceAlign();\n        }\n      }\n    }, {\n      key: \"fireEvents\",\n      value: function fireEvents(type, e) {\n        var childCallback = this.props.children.props[type];\n\n        if (childCallback) {\n          childCallback(e);\n        }\n\n        var callback = this.props[type];\n\n        if (callback) {\n          callback(e);\n        }\n      }\n    }, {\n      key: \"close\",\n      value: function close() {\n        this.setPopupVisible(false);\n      }\n    }, {\n      key: \"render\",\n      value: function render() {\n        var popupVisible = this.state.popupVisible;\n        var _this$props10 = this.props,\n            children = _this$props10.children,\n            forceRender = _this$props10.forceRender,\n            alignPoint = _this$props10.alignPoint,\n            className = _this$props10.className;\n        var child = react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.only(children);\n        var newChildProps = {\n          key: 'trigger'\n        };\n\n        if (this.isContextMenuToShow()) {\n          newChildProps.onContextMenu = this.onContextMenu;\n        } else {\n          newChildProps.onContextMenu = this.createTwoChains('onContextMenu');\n        }\n\n        if (this.isClickToHide() || this.isClickToShow()) {\n          newChildProps.onClick = this.onClick;\n          newChildProps.onMouseDown = this.onMouseDown;\n          newChildProps.onTouchStart = this.onTouchStart;\n        } else {\n          newChildProps.onClick = this.createTwoChains('onClick');\n          newChildProps.onMouseDown = this.createTwoChains('onMouseDown');\n          newChildProps.onTouchStart = this.createTwoChains('onTouchStart');\n        }\n\n        if (this.isMouseEnterToShow()) {\n          newChildProps.onMouseEnter = this.onMouseEnter;\n\n          if (alignPoint) {\n            newChildProps.onMouseMove = this.onMouseMove;\n          }\n        } else {\n          newChildProps.onMouseEnter = this.createTwoChains('onMouseEnter');\n        }\n\n        if (this.isMouseLeaveToHide()) {\n          newChildProps.onMouseLeave = this.onMouseLeave;\n        } else {\n          newChildProps.onMouseLeave = this.createTwoChains('onMouseLeave');\n        }\n\n        if (this.isFocusToShow() || this.isBlurToHide()) {\n          newChildProps.onFocus = this.onFocus;\n          newChildProps.onBlur = this.onBlur;\n        } else {\n          newChildProps.onFocus = this.createTwoChains('onFocus');\n          newChildProps.onBlur = this.createTwoChains('onBlur');\n        }\n\n        var childrenClassName = classnames__WEBPACK_IMPORTED_MODULE_7___default()(child && child.props && child.props.className, className);\n\n        if (childrenClassName) {\n          newChildProps.className = childrenClassName;\n        }\n\n        var trigger = react__WEBPACK_IMPORTED_MODULE_0___default.a.cloneElement(child, _objectSpread({}, newChildProps, {\n          ref: Object(rc_util_es_ref__WEBPACK_IMPORTED_MODULE_4__[\"composeRef\"])(this.triggerRef, child.ref)\n        }));\n        var portal; // prevent unmounting after it's rendered\n\n        if (popupVisible || this.popupRef.current || forceRender) {\n          portal = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PortalComponent, {\n            key: \"portal\",\n            getContainer: this.getContainer,\n            didUpdate: this.handlePortalUpdate\n          }, this.getComponent());\n        }\n\n        return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_context__WEBPACK_IMPORTED_MODULE_10__[\"default\"].Provider, {\n          value: {\n            onPopupMouseDown: this.onPopupMouseDown\n          }\n        }, trigger, portal);\n      }\n    }], [{\n      key: \"getDerivedStateFromProps\",\n      value: function getDerivedStateFromProps(_ref, prevState) {\n        var popupVisible = _ref.popupVisible;\n        var newState = {};\n\n        if (popupVisible !== undefined && prevState.popupVisible !== popupVisible) {\n          newState.popupVisible = popupVisible;\n          newState.prevPopupVisible = prevState.popupVisible;\n        }\n\n        return newState;\n      }\n    }]);\n\n    return Trigger;\n  }(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component);\n\n  Trigger.contextType = _context__WEBPACK_IMPORTED_MODULE_10__[\"default\"];\n  Trigger.defaultProps = {\n    prefixCls: 'rc-trigger-popup',\n    getPopupClassNameFromAlign: returnEmptyString,\n    getDocument: returnDocument,\n    onPopupVisibleChange: noop,\n    afterPopupVisibleChange: noop,\n    onPopupAlign: noop,\n    popupClassName: '',\n    mouseEnterDelay: 0,\n    mouseLeaveDelay: 0.1,\n    focusDelay: 0,\n    blurDelay: 0.15,\n    popupStyle: {},\n    destroyPopupOnHide: false,\n    popupAlign: {},\n    defaultPopupVisible: false,\n    mask: false,\n    maskClosable: true,\n    action: [],\n    showAction: [],\n    hideAction: []\n  };\n  return Trigger;\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (generateTrigger(rc_util_es_Portal__WEBPACK_IMPORTED_MODULE_6__[\"default\"]));\n\n/***/ }),\n\n/***/ \"./node_modules/rc-trigger/es/utils/alignUtil.js\":\n/*!*******************************************************!*\\\n  !*** ./node_modules/rc-trigger/es/utils/alignUtil.js ***!\n  \\*******************************************************/\n/*! exports provided: getAlignFromPlacement, getAlignPopupClassName */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getAlignFromPlacement\", function() { return getAlignFromPlacement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getAlignPopupClassName\", function() { return getAlignPopupClassName; });\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction isPointsEq(a1, a2, isAlignPoint) {\n  if (isAlignPoint) {\n    return a1[0] === a2[0];\n  }\n\n  return a1[0] === a2[0] && a1[1] === a2[1];\n}\n\nfunction getAlignFromPlacement(builtinPlacements, placementStr, align) {\n  var baseAlign = builtinPlacements[placementStr] || {};\n  return _objectSpread({}, baseAlign, {}, align);\n}\nfunction getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {\n  var points = align.points;\n  var placements = Object.keys(builtinPlacements);\n\n  for (var i = 0; i < placements.length; i += 1) {\n    var placement = placements[i];\n\n    if (isPointsEq(builtinPlacements[placement].points, points, isAlignPoint)) {\n      return \"\".concat(prefixCls, \"-placement-\").concat(placement);\n    }\n  }\n\n  return '';\n}\n\n/***/ }),\n\n/***/ \"./node_modules/rc-trigger/es/utils/legacyUtil.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/rc-trigger/es/utils/legacyUtil.js ***!\n  \\********************************************************/\n/*! exports provided: getMotion */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getMotion\", function() { return getMotion; });\nfunction getMotion(_ref) {\n  var prefixCls = _ref.prefixCls,\n      motion = _ref.motion,\n      animation = _ref.animation,\n      transitionName = _ref.transitionName;\n\n  if (motion) {\n    return motion;\n  }\n\n  if (animation) {\n    return {\n      motionName: \"\".concat(prefixCls, \"-\").concat(animation)\n    };\n  }\n\n  if (transitionName) {\n    return {\n      motionName: transitionName\n    };\n  }\n\n  return null;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/rc-util/es/Dom/addEventListener.js\":\n/*!*********************************************************!*\\\n  !*** ./node_modules/rc-util/es/Dom/addEventListener.js ***!\n  \\*********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return addEventListenerWrap; });\n/* harmony import */ var add_dom_event_listener__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! add-dom-event-listener */ \"./node_modules/add-dom-event-listener/lib/index.js\");\n/* harmony import */ var add_dom_event_listener__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(add_dom_event_listener__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"react-dom\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);\n\n\nfunction addEventListenerWrap(target, eventType, cb, option) {\n  /* eslint camelcase: 2 */\n  var callback = react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.unstable_batchedUpdates ? function run(e) {\n    react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.unstable_batchedUpdates(cb, e);\n  } : cb;\n  return add_dom_event_listener__WEBPACK_IMPORTED_MODULE_0___default()(target, eventType, callback, option);\n}\n\n/***/ }),\n\n/***/ \"./node_modules/rc-util/es/Dom/contains.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/rc-util/es/Dom/contains.js ***!\n  \\*************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return contains; });\nfunction contains(root, n) {\n  var node = n;\n\n  while (node) {\n    if (node === root) {\n      return true;\n    }\n\n    node = node.parentNode;\n  }\n\n  return false;\n}\n\n/***/ }),\n\n/***/ \"./node_modules/rc-util/es/Dom/findDOMNode.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/rc-util/es/Dom/findDOMNode.js ***!\n  \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return findDOMNode; });\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-dom */ \"react-dom\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_0__);\n\n/**\n * Return if a node is a DOM node. Else will return by `findDOMNode`\n */\n\nfunction findDOMNode(node) {\n  if (node instanceof HTMLElement) {\n    return node;\n  }\n\n  return react_dom__WEBPACK_IMPORTED_MODULE_0___default.a.findDOMNode(node);\n}\n\n/***/ }),\n\n/***/ \"./node_modules/rc-util/es/KeyCode.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/rc-util/es/KeyCode.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\nvar KeyCode = {\n  /**\n   * MAC_ENTER\n   */\n  MAC_ENTER: 3,\n\n  /**\n   * BACKSPACE\n   */\n  BACKSPACE: 8,\n\n  /**\n   * TAB\n   */\n  TAB: 9,\n\n  /**\n   * NUMLOCK on FF/Safari Mac\n   */\n  NUM_CENTER: 12,\n\n  /**\n   * ENTER\n   */\n  ENTER: 13,\n\n  /**\n   * SHIFT\n   */\n  SHIFT: 16,\n\n  /**\n   * CTRL\n   */\n  CTRL: 17,\n\n  /**\n   * ALT\n   */\n  ALT: 18,\n\n  /**\n   * PAUSE\n   */\n  PAUSE: 19,\n\n  /**\n   * CAPS_LOCK\n   */\n  CAPS_LOCK: 20,\n\n  /**\n   * ESC\n   */\n  ESC: 27,\n\n  /**\n   * SPACE\n   */\n  SPACE: 32,\n\n  /**\n   * PAGE_UP\n   */\n  PAGE_UP: 33,\n\n  /**\n   * PAGE_DOWN\n   */\n  PAGE_DOWN: 34,\n\n  /**\n   * END\n   */\n  END: 35,\n\n  /**\n   * HOME\n   */\n  HOME: 36,\n\n  /**\n   * LEFT\n   */\n  LEFT: 37,\n\n  /**\n   * UP\n   */\n  UP: 38,\n\n  /**\n   * RIGHT\n   */\n  RIGHT: 39,\n\n  /**\n   * DOWN\n   */\n  DOWN: 40,\n\n  /**\n   * PRINT_SCREEN\n   */\n  PRINT_SCREEN: 44,\n\n  /**\n   * INSERT\n   */\n  INSERT: 45,\n\n  /**\n   * DELETE\n   */\n  DELETE: 46,\n\n  /**\n   * ZERO\n   */\n  ZERO: 48,\n\n  /**\n   * ONE\n   */\n  ONE: 49,\n\n  /**\n   * TWO\n   */\n  TWO: 50,\n\n  /**\n   * THREE\n   */\n  THREE: 51,\n\n  /**\n   * FOUR\n   */\n  FOUR: 52,\n\n  /**\n   * FIVE\n   */\n  FIVE: 53,\n\n  /**\n   * SIX\n   */\n  SIX: 54,\n\n  /**\n   * SEVEN\n   */\n  SEVEN: 55,\n\n  /**\n   * EIGHT\n   */\n  EIGHT: 56,\n\n  /**\n   * NINE\n   */\n  NINE: 57,\n\n  /**\n   * QUESTION_MARK\n   */\n  QUESTION_MARK: 63,\n\n  /**\n   * A\n   */\n  A: 65,\n\n  /**\n   * B\n   */\n  B: 66,\n\n  /**\n   * C\n   */\n  C: 67,\n\n  /**\n   * D\n   */\n  D: 68,\n\n  /**\n   * E\n   */\n  E: 69,\n\n  /**\n   * F\n   */\n  F: 70,\n\n  /**\n   * G\n   */\n  G: 71,\n\n  /**\n   * H\n   */\n  H: 72,\n\n  /**\n   * I\n   */\n  I: 73,\n\n  /**\n   * J\n   */\n  J: 74,\n\n  /**\n   * K\n   */\n  K: 75,\n\n  /**\n   * L\n   */\n  L: 76,\n\n  /**\n   * M\n   */\n  M: 77,\n\n  /**\n   * N\n   */\n  N: 78,\n\n  /**\n   * O\n   */\n  O: 79,\n\n  /**\n   * P\n   */\n  P: 80,\n\n  /**\n   * Q\n   */\n  Q: 81,\n\n  /**\n   * R\n   */\n  R: 82,\n\n  /**\n   * S\n   */\n  S: 83,\n\n  /**\n   * T\n   */\n  T: 84,\n\n  /**\n   * U\n   */\n  U: 85,\n\n  /**\n   * V\n   */\n  V: 86,\n\n  /**\n   * W\n   */\n  W: 87,\n\n  /**\n   * X\n   */\n  X: 88,\n\n  /**\n   * Y\n   */\n  Y: 89,\n\n  /**\n   * Z\n   */\n  Z: 90,\n\n  /**\n   * META\n   */\n  META: 91,\n\n  /**\n   * WIN_KEY_RIGHT\n   */\n  WIN_KEY_RIGHT: 92,\n\n  /**\n   * CONTEXT_MENU\n   */\n  CONTEXT_MENU: 93,\n\n  /**\n   * NUM_ZERO\n   */\n  NUM_ZERO: 96,\n\n  /**\n   * NUM_ONE\n   */\n  NUM_ONE: 97,\n\n  /**\n   * NUM_TWO\n   */\n  NUM_TWO: 98,\n\n  /**\n   * NUM_THREE\n   */\n  NUM_THREE: 99,\n\n  /**\n   * NUM_FOUR\n   */\n  NUM_FOUR: 100,\n\n  /**\n   * NUM_FIVE\n   */\n  NUM_FIVE: 101,\n\n  /**\n   * NUM_SIX\n   */\n  NUM_SIX: 102,\n\n  /**\n   * NUM_SEVEN\n   */\n  NUM_SEVEN: 103,\n\n  /**\n   * NUM_EIGHT\n   */\n  NUM_EIGHT: 104,\n\n  /**\n   * NUM_NINE\n   */\n  NUM_NINE: 105,\n\n  /**\n   * NUM_MULTIPLY\n   */\n  NUM_MULTIPLY: 106,\n\n  /**\n   * NUM_PLUS\n   */\n  NUM_PLUS: 107,\n\n  /**\n   * NUM_MINUS\n   */\n  NUM_MINUS: 109,\n\n  /**\n   * NUM_PERIOD\n   */\n  NUM_PERIOD: 110,\n\n  /**\n   * NUM_DIVISION\n   */\n  NUM_DIVISION: 111,\n\n  /**\n   * F1\n   */\n  F1: 112,\n\n  /**\n   * F2\n   */\n  F2: 113,\n\n  /**\n   * F3\n   */\n  F3: 114,\n\n  /**\n   * F4\n   */\n  F4: 115,\n\n  /**\n   * F5\n   */\n  F5: 116,\n\n  /**\n   * F6\n   */\n  F6: 117,\n\n  /**\n   * F7\n   */\n  F7: 118,\n\n  /**\n   * F8\n   */\n  F8: 119,\n\n  /**\n   * F9\n   */\n  F9: 120,\n\n  /**\n   * F10\n   */\n  F10: 121,\n\n  /**\n   * F11\n   */\n  F11: 122,\n\n  /**\n   * F12\n   */\n  F12: 123,\n\n  /**\n   * NUMLOCK\n   */\n  NUMLOCK: 144,\n\n  /**\n   * SEMICOLON\n   */\n  SEMICOLON: 186,\n\n  /**\n   * DASH\n   */\n  DASH: 189,\n\n  /**\n   * EQUALS\n   */\n  EQUALS: 187,\n\n  /**\n   * COMMA\n   */\n  COMMA: 188,\n\n  /**\n   * PERIOD\n   */\n  PERIOD: 190,\n\n  /**\n   * SLASH\n   */\n  SLASH: 191,\n\n  /**\n   * APOSTROPHE\n   */\n  APOSTROPHE: 192,\n\n  /**\n   * SINGLE_QUOTE\n   */\n  SINGLE_QUOTE: 222,\n\n  /**\n   * OPEN_SQUARE_BRACKET\n   */\n  OPEN_SQUARE_BRACKET: 219,\n\n  /**\n   * BACKSLASH\n   */\n  BACKSLASH: 220,\n\n  /**\n   * CLOSE_SQUARE_BRACKET\n   */\n  CLOSE_SQUARE_BRACKET: 221,\n\n  /**\n   * WIN_KEY\n   */\n  WIN_KEY: 224,\n\n  /**\n   * MAC_FF_META\n   */\n  MAC_FF_META: 224,\n\n  /**\n   * WIN_IME\n   */\n  WIN_IME: 229,\n  // ======================== Function ========================\n\n  /**\n   * whether text and modified key is entered at the same time.\n   */\n  isTextModifyingKeyEvent: function isTextModifyingKeyEvent(e) {\n    var keyCode = e.keyCode;\n\n    if (e.altKey && !e.ctrlKey || e.metaKey || // Function keys don't generate text\n    keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {\n      return false;\n    } // The following keys are quite harmless, even in combination with\n    // CTRL, ALT or SHIFT.\n\n\n    switch (keyCode) {\n      case KeyCode.ALT:\n      case KeyCode.CAPS_LOCK:\n      case KeyCode.CONTEXT_MENU:\n      case KeyCode.CTRL:\n      case KeyCode.DOWN:\n      case KeyCode.END:\n      case KeyCode.ESC:\n      case KeyCode.HOME:\n      case KeyCode.INSERT:\n      case KeyCode.LEFT:\n      case KeyCode.MAC_FF_META:\n      case KeyCode.META:\n      case KeyCode.NUMLOCK:\n      case KeyCode.NUM_CENTER:\n      case KeyCode.PAGE_DOWN:\n      case KeyCode.PAGE_UP:\n      case KeyCode.PAUSE:\n      case KeyCode.PRINT_SCREEN:\n      case KeyCode.RIGHT:\n      case KeyCode.SHIFT:\n      case KeyCode.UP:\n      case KeyCode.WIN_KEY:\n      case KeyCode.WIN_KEY_RIGHT:\n        return false;\n\n      default:\n        return true;\n    }\n  },\n\n  /**\n   * whether character is entered.\n   */\n  isCharacterKey: function isCharacterKey(keyCode) {\n    if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n      return true;\n    }\n\n    if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n      return true;\n    }\n\n    if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n      return true;\n    } // Safari sends zero key code for non-latin characters.\n\n\n    if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n      return true;\n    }\n\n    switch (keyCode) {\n      case KeyCode.SPACE:\n      case KeyCode.QUESTION_MARK:\n      case KeyCode.NUM_PLUS:\n      case KeyCode.NUM_MINUS:\n      case KeyCode.NUM_PERIOD:\n      case KeyCode.NUM_DIVISION:\n      case KeyCode.SEMICOLON:\n      case KeyCode.DASH:\n      case KeyCode.EQUALS:\n      case KeyCode.COMMA:\n      case KeyCode.PERIOD:\n      case KeyCode.SLASH:\n      case KeyCode.APOSTROPHE:\n      case KeyCode.SINGLE_QUOTE:\n      case KeyCode.OPEN_SQUARE_BRACKET:\n      case KeyCode.BACKSLASH:\n      case KeyCode.CLOSE_SQUARE_BRACKET:\n        return true;\n\n      default:\n        return false;\n    }\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (KeyCode);\n\n/***/ }),\n\n/***/ \"./node_modules/rc-util/es/Portal.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/rc-util/es/Portal.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Portal; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"react-dom\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\nvar Portal =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inherits(Portal, _React$Component);\n\n  function Portal() {\n    _classCallCheck(this, Portal);\n\n    return _possibleConstructorReturn(this, _getPrototypeOf(Portal).apply(this, arguments));\n  }\n\n  _createClass(Portal, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.createContainer();\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate(prevProps) {\n      var didUpdate = this.props.didUpdate;\n\n      if (didUpdate) {\n        didUpdate(prevProps);\n      }\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      this.removeContainer();\n    }\n  }, {\n    key: \"createContainer\",\n    value: function createContainer() {\n      this._container = this.props.getContainer();\n      this.forceUpdate();\n    }\n  }, {\n    key: \"removeContainer\",\n    value: function removeContainer() {\n      if (this._container) {\n        this._container.parentNode.removeChild(this._container);\n      }\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      if (this._container) {\n        return react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.createPortal(this.props.children, this._container);\n      }\n\n      return null;\n    }\n  }]);\n\n  return Portal;\n}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component);\n\nPortal.propTypes = {\n  getContainer: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func.isRequired,\n  children: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.node.isRequired,\n  didUpdate: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/rc-util/es/ref.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/rc-util/es/ref.js ***!\n  \\****************************************/\n/*! exports provided: fillRef, composeRef, supportRef */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fillRef\", function() { return fillRef; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"composeRef\", function() { return composeRef; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"supportRef\", function() { return supportRef; });\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction fillRef(ref, node) {\n  if (typeof ref === 'function') {\n    ref(node);\n  } else if (_typeof(ref) === 'object' && ref && 'current' in ref) {\n    ref.current = node;\n  }\n}\n/**\n * Merge refs into one ref function to support ref passing.\n */\n\nfunction composeRef() {\n  for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n    refs[_key] = arguments[_key];\n  }\n\n  return function (node) {\n    refs.forEach(function (ref) {\n      fillRef(ref, node);\n    });\n  };\n}\nfunction supportRef(nodeOrComponent) {\n  // Function component node\n  if (nodeOrComponent.type && nodeOrComponent.type.prototype && !nodeOrComponent.type.prototype.render) {\n    return false;\n  } // Class component\n\n\n  if (typeof nodeOrComponent === 'function' && nodeOrComponent.prototype && !nodeOrComponent.prototype.render) {\n    return false;\n  }\n\n  return true;\n}\n/* eslint-enable */\n\n/***/ }),\n\n/***/ \"./node_modules/react-is/cjs/react-is.development.js\":\n/*!***********************************************************!*\\\n  !*** ./node_modules/react-is/cjs/react-is.development.js ***!\n  \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/** @license React v16.8.6\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\n\n\nif (true) {\n  (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\n\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\n\nfunction isValidElementType(type) {\n  return typeof type === 'string' || typeof type === 'function' ||\n  // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n  type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar lowPriorityWarning = function () {};\n\n{\n  var printWarning = function (format) {\n    for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    var argIndex = 0;\n    var message = 'Warning: ' + format.replace(/%s/g, function () {\n      return args[argIndex++];\n    });\n    if (typeof console !== 'undefined') {\n      console.warn(message);\n    }\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  };\n\n  lowPriorityWarning = function (condition, format) {\n    if (format === undefined) {\n      throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument');\n    }\n    if (!condition) {\n      for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n        args[_key2 - 2] = arguments[_key2];\n      }\n\n      printWarning.apply(undefined, [format].concat(args));\n    }\n  };\n}\n\nvar lowPriorityWarning$1 = lowPriorityWarning;\n\nfunction typeOf(object) {\n  if (typeof object === 'object' && object !== null) {\n    var $$typeof = object.$$typeof;\n    switch ($$typeof) {\n      case REACT_ELEMENT_TYPE:\n        var type = object.type;\n\n        switch (type) {\n          case REACT_ASYNC_MODE_TYPE:\n          case REACT_CONCURRENT_MODE_TYPE:\n          case REACT_FRAGMENT_TYPE:\n          case REACT_PROFILER_TYPE:\n          case REACT_STRICT_MODE_TYPE:\n          case REACT_SUSPENSE_TYPE:\n            return type;\n          default:\n            var $$typeofType = type && type.$$typeof;\n\n            switch ($$typeofType) {\n              case REACT_CONTEXT_TYPE:\n              case REACT_FORWARD_REF_TYPE:\n              case REACT_PROVIDER_TYPE:\n                return $$typeofType;\n              default:\n                return $$typeof;\n            }\n        }\n      case REACT_LAZY_TYPE:\n      case REACT_MEMO_TYPE:\n      case REACT_PORTAL_TYPE:\n        return $$typeof;\n    }\n  }\n\n  return undefined;\n}\n\n// AsyncMode is deprecated along with isAsyncMode\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\n\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\n\n// AsyncMode should be deprecated\nfunction isAsyncMode(object) {\n  {\n    if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n      hasWarnedAboutDeprecatedIsAsyncMode = true;\n      lowPriorityWarning$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n    }\n  }\n  return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n  return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n  return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n  return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n  return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n  return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n  return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n  return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n  return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n  return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n  return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n  return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n  return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n  })();\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/react-is/index.js\":\n/*!****************************************!*\\\n  !*** ./node_modules/react-is/index.js ***!\n  \\****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nif (false) {} else {\n  module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ \"./node_modules/react-is/cjs/react-is.development.js\");\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js\":\n/*!****************************************************************************!*\\\n  !*** ./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js ***!\n  \\****************************************************************************/\n/*! exports provided: polyfill */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"polyfill\", function() { return polyfill; });\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n  // Call this.constructor.gDSFP to support sub-classes.\n  var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n  if (state !== null && state !== undefined) {\n    this.setState(state);\n  }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n  // Call this.constructor.gDSFP to support sub-classes.\n  // Use the setState() updater to ensure state isn't stale in certain edge cases.\n  function updater(prevState) {\n    var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n    return state !== null && state !== undefined ? state : null;\n  }\n  // Binding \"this\" is important for shallow renderer support.\n  this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n  try {\n    var prevProps = this.props;\n    var prevState = this.state;\n    this.props = nextProps;\n    this.state = nextState;\n    this.__reactInternalSnapshotFlag = true;\n    this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n      prevProps,\n      prevState\n    );\n  } finally {\n    this.props = prevProps;\n    this.state = prevState;\n  }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n  var prototype = Component.prototype;\n\n  if (!prototype || !prototype.isReactComponent) {\n    throw new Error('Can only polyfill class components');\n  }\n\n  if (\n    typeof Component.getDerivedStateFromProps !== 'function' &&\n    typeof prototype.getSnapshotBeforeUpdate !== 'function'\n  ) {\n    return Component;\n  }\n\n  // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n  // Error if any of these lifecycles are present,\n  // Because they would work differently between older and newer (16.3+) versions of React.\n  var foundWillMountName = null;\n  var foundWillReceivePropsName = null;\n  var foundWillUpdateName = null;\n  if (typeof prototype.componentWillMount === 'function') {\n    foundWillMountName = 'componentWillMount';\n  } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n    foundWillMountName = 'UNSAFE_componentWillMount';\n  }\n  if (typeof prototype.componentWillReceiveProps === 'function') {\n    foundWillReceivePropsName = 'componentWillReceiveProps';\n  } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n    foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n  }\n  if (typeof prototype.componentWillUpdate === 'function') {\n    foundWillUpdateName = 'componentWillUpdate';\n  } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n    foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n  }\n  if (\n    foundWillMountName !== null ||\n    foundWillReceivePropsName !== null ||\n    foundWillUpdateName !== null\n  ) {\n    var componentName = Component.displayName || Component.name;\n    var newApiName =\n      typeof Component.getDerivedStateFromProps === 'function'\n        ? 'getDerivedStateFromProps()'\n        : 'getSnapshotBeforeUpdate()';\n\n    throw Error(\n      'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n        componentName +\n        ' uses ' +\n        newApiName +\n        ' but also contains the following legacy lifecycles:' +\n        (foundWillMountName !== null ? '\\n  ' + foundWillMountName : '') +\n        (foundWillReceivePropsName !== null\n          ? '\\n  ' + foundWillReceivePropsName\n          : '') +\n        (foundWillUpdateName !== null ? '\\n  ' + foundWillUpdateName : '') +\n        '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n        'https://fb.me/react-async-component-lifecycle-hooks'\n    );\n  }\n\n  // React <= 16.2 does not support static getDerivedStateFromProps.\n  // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n  // Newer versions of React will ignore these lifecycles if gDSFP exists.\n  if (typeof Component.getDerivedStateFromProps === 'function') {\n    prototype.componentWillMount = componentWillMount;\n    prototype.componentWillReceiveProps = componentWillReceiveProps;\n  }\n\n  // React <= 16.2 does not support getSnapshotBeforeUpdate.\n  // As a workaround, use cWU to invoke the new lifecycle.\n  // Newer versions of React will ignore that lifecycle if gSBU exists.\n  if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n    if (typeof prototype.componentDidUpdate !== 'function') {\n      throw new Error(\n        'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n      );\n    }\n\n    prototype.componentWillUpdate = componentWillUpdate;\n\n    var componentDidUpdate = prototype.componentDidUpdate;\n\n    prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n      prevProps,\n      prevState,\n      maybeSnapshot\n    ) {\n      // 16.3+ will not execute our will-update method;\n      // It will pass a snapshot value to did-update though.\n      // Older versions will require our polyfilled will-update value.\n      // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n      // Because for <= 15.x versions this might be a \"prevContext\" object.\n      // We also can't just check \"__reactInternalSnapshot\",\n      // Because get-snapshot might return a falsy value.\n      // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n      var snapshot = this.__reactInternalSnapshotFlag\n        ? this.__reactInternalSnapshot\n        : maybeSnapshot;\n\n      componentDidUpdate.call(this, prevProps, prevState, snapshot);\n    };\n  }\n\n  return Component;\n}\n\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/react-numeric-input/index.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/react-numeric-input/index.js ***!\n  \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n\tvar _react = __webpack_require__(1);\n\n\tvar _react2 = _interopRequireDefault(_react);\n\n\tvar _propTypes = __webpack_require__(2);\n\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n\tfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\tvar KEYCODE_UP = 38;\n\tvar KEYCODE_DOWN = 40;\n\tvar IS_BROWSER = typeof document != 'undefined';\n\tvar RE_NUMBER = /^[+-]?((\\.\\d+)|(\\d+(\\.\\d+)?))$/;\n\tvar RE_INCOMPLETE_NUMBER = /^([+-]|\\.0*|[+-]\\.0*|[+-]?\\d+\\.)?$/;\n\n\tfunction addClass(element, className) {\n\t    if (element.classList) {\n\t        return element.classList.add(className);\n\t    }\n\t    if (!element.className.search(new RegExp(\"\\\\b\" + className + \"\\\\b\"))) {\n\t        element.className = \" \" + className;\n\t    }\n\t}\n\n\tfunction removeClass(element, className) {\n\t    if (element.className) {\n\t        if (element.classList) {\n\t            return element.classList.remove(className);\n\t        }\n\n\t        element.className = element.className.replace(new RegExp(\"\\\\b\" + className + \"\\\\b\", \"g\"), \"\");\n\t    }\n\t}\n\n\tfunction access(object, prop, defaultValue) {\n\t    var result = object[prop];\n\t    if (typeof result == \"function\") {\n\t        for (var _len = arguments.length, args = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n\t            args[_key - 3] = arguments[_key];\n\t        }\n\n\t        result = result.apply(undefined, args);\n\t    }\n\t    return result === undefined ? defaultValue : result;\n\t}\n\n\tvar NumericInput = function (_Component) {\n\t    _inherits(NumericInput, _Component);\n\n\t    function NumericInput() {\n\t        var _ref;\n\n\t        _classCallCheck(this, NumericInput);\n\n\t        for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n\t            args[_key2] = arguments[_key2];\n\t        }\n\n\t        var _this = _possibleConstructorReturn(this, (_ref = NumericInput.__proto__ || Object.getPrototypeOf(NumericInput)).call.apply(_ref, [this].concat(args)));\n\n\t        _this._isStrict = !!_this.props.strict;\n\n\t        _this.state = _extends({\n\t            btnDownHover: false,\n\t            btnDownActive: false,\n\t            btnUpHover: false,\n\t            btnUpActive: false,\n\t            stringValue: \"\"\n\t        }, _this._propsToState(_this.props));\n\t        _this.stop = _this.stop.bind(_this);\n\t        _this.onTouchEnd = _this.onTouchEnd.bind(_this);\n\t        _this.refsInput = {};\n\t        _this.refsWrapper = {};\n\t        return _this;\n\t    }\n\n\t    _createClass(NumericInput, [{\n\t        key: '_propsToState',\n\t        value: function _propsToState(props) {\n\t            var out = {};\n\n\t            if (props.hasOwnProperty(\"value\")) {\n\t                out.stringValue = String(props.value || props.value === 0 ? props.value : '').trim();\n\n\t                out.value = out.stringValue !== '' ? this._parse(props.value) : null;\n\t            } else if (!this._isMounted && props.hasOwnProperty(\"defaultValue\")) {\n\t                out.stringValue = String(props.defaultValue || props.defaultValue === 0 ? props.defaultValue : '').trim();\n\n\t                out.value = props.defaultValue !== '' ? this._parse(props.defaultValue) : null;\n\t            }\n\n\t            return out;\n\t        }\n\t    }, {\n\t        key: 'componentWillReceiveProps',\n\t        value: function componentWillReceiveProps(props) {\n\t            var _this2 = this;\n\n\t            this._isStrict = !!props.strict;\n\t            var nextState = this._propsToState(props);\n\t            if (Object.keys(nextState).length) {\n\t                this._ignoreValueChange = true;\n\t                this.setState(nextState, function () {\n\t                    _this2._ignoreValueChange = false;\n\t                });\n\t            }\n\t        }\n\t    }, {\n\t        key: 'componentWillUpdate',\n\t        value: function componentWillUpdate() {\n\t            this.saveSelection();\n\t        }\n\t    }, {\n\t        key: 'componentDidUpdate',\n\t        value: function componentDidUpdate(prevProps, prevState) {\n\t            if (!this._ignoreValueChange && prevState.value !== this.state.value && (!isNaN(this.state.value) || this.state.value === null)) {\n\t                    this._invokeEventCallback(\"onChange\", this.state.value, this.refsInput.value, this.refsInput);\n\t                }\n\n\t            if (this._inputFocus) {\n\t                this.refsInput.focus();\n\n\t                if (this.state.selectionStart || this.state.selectionStart === 0) {\n\t                    this.refsInput.selectionStart = this.state.selectionStart;\n\t                }\n\n\t                if (this.state.selectionEnd || this.state.selectionEnd === 0) {\n\t                    this.refsInput.selectionEnd = this.state.selectionEnd;\n\t                }\n\t            }\n\n\t            this.checkValidity();\n\t        }\n\t    }, {\n\t        key: 'componentWillUnmount',\n\t        value: function componentWillUnmount() {\n\t            this._isMounted = false;\n\t            this.stop();\n\t        }\n\t    }, {\n\t        key: 'componentDidMount',\n\t        value: function componentDidMount() {\n\t            var _this3 = this;\n\n\t            this._isMounted = true;\n\t            this.refsInput.getValueAsNumber = function () {\n\t                return _this3.state.value || 0;\n\t            };\n\n\t            this.refsInput.setValue = function (value) {\n\t                _this3.setState({\n\t                    value: _this3._parse(value),\n\t                    stringValue: value\n\t                });\n\t            };\n\n\t            if (!this._inputFocus && IS_BROWSER && document.activeElement === this.refsInput) {\n\t                this._inputFocus = true;\n\t                this.refsInput.focus();\n\t                this._invokeEventCallback(\"onFocus\", {\n\t                    target: this.refsInput,\n\t                    type: \"focus\"\n\t                });\n\t            }\n\n\t            this.checkValidity();\n\t        }\n\t    }, {\n\t        key: 'saveSelection',\n\t        value: function saveSelection() {\n\t            this.state.selectionStart = this.refsInput.selectionStart;\n\t            this.state.selectionEnd = this.refsInput.selectionEnd;\n\t        }\n\t    }, {\n\t        key: 'checkValidity',\n\t        value: function checkValidity() {\n\t            var valid = void 0,\n\t                validationError = \"\";\n\n\t            var supportsValidation = !!this.refsInput.checkValidity;\n\n\t            var noValidate = !!(this.props.noValidate && this.props.noValidate != \"false\");\n\n\t            this.refsInput.noValidate = noValidate;\n\n\t            valid = noValidate || !supportsValidation;\n\n\t            if (valid) {\n\t                validationError = \"\";\n\t            } else {\n\t                if (this.refsInput.pattern === \"\") {\n\t                    this.refsInput.pattern = this.props.required ? \".+\" : \".*\";\n\t                }\n\n\t                if (supportsValidation) {\n\t                    this.refsInput.checkValidity();\n\t                    valid = this.refsInput.validity.valid;\n\n\t                    if (!valid) {\n\t                        validationError = this.refsInput.validationMessage;\n\t                    }\n\t                }\n\n\t                if (valid && supportsValidation && this.props.maxLength) {\n\t                    if (this.refsInput.value.length > this.props.maxLength) {\n\t                        validationError = \"This value is too long\";\n\t                    }\n\t                }\n\t            }\n\n\t            validationError = validationError || (valid ? \"\" : this.refsInput.validationMessage || \"Unknown Error\");\n\n\t            var validStateChanged = this._valid !== validationError;\n\t            this._valid = validationError;\n\t            if (validationError) {\n\t                addClass(this.refsWrapper, \"has-error\");\n\t                if (validStateChanged) {\n\t                    this._invokeEventCallback(\"onInvalid\", validationError, this.state.value, this.refsInput.value);\n\t                }\n\t            } else {\n\t                removeClass(this.refsWrapper, \"has-error\");\n\t                if (validStateChanged) {\n\t                    this._invokeEventCallback(\"onValid\", this.state.value, this.refsInput.value);\n\t                }\n\t            }\n\t        }\n\t    }, {\n\t        key: '_toNumber',\n\t        value: function _toNumber(x) {\n\t            var n = parseFloat(x);\n\t            if (isNaN(n) || !isFinite(n)) {\n\t                n = 0;\n\t            }\n\n\t            if (this._isStrict) {\n\t                var precision = access(this.props, \"precision\", null, this);\n\t                var q = Math.pow(10, precision === null ? 10 : precision);\n\t                var _min = +access(this.props, \"min\", NumericInput.defaultProps.min, this);\n\t                var _max = +access(this.props, \"max\", NumericInput.defaultProps.max, this);\n\t                n = Math.min(Math.max(n, _min), _max);\n\t                n = Math.round(n * q) / q;\n\t            }\n\n\t            return n;\n\t        }\n\t    }, {\n\t        key: '_parse',\n\t        value: function _parse(x) {\n\t            x = String(x);\n\t            if (typeof this.props.parse == 'function') {\n\t                return parseFloat(this.props.parse(x));\n\t            }\n\t            return parseFloat(x);\n\t        }\n\t    }, {\n\t        key: '_format',\n\t        value: function _format(n) {\n\t            var _n = this._toNumber(n);\n\t            var precision = access(this.props, \"precision\", null, this);\n\t            if (precision !== null) {\n\t                _n = n.toFixed(precision);\n\t            }\n\n\t            _n += \"\";\n\n\t            if (this.props.format) {\n\t                return this.props.format(_n);\n\t            }\n\n\t            return _n;\n\t        }\n\t    }, {\n\t        key: '_step',\n\t        value: function _step(n, callback) {\n\t            var _isStrict = this._isStrict;\n\t            this._isStrict = true;\n\n\t            var _step = +access(this.props, \"step\", NumericInput.defaultProps.step, this, n > 0 ? NumericInput.DIRECTION_UP : NumericInput.DIRECTION_DOWN);\n\n\t            var _n = this._toNumber((this.state.value || 0) + _step * n);\n\n\t            if (this.props.snap) {\n\t                _n = Math.round(_n / _step) * _step;\n\t            }\n\n\t            this._isStrict = _isStrict;\n\n\t            if (_n !== this.state.value) {\n\t                this.setState({ value: _n, stringValue: _n + \"\" }, callback);\n\t                return true;\n\t            }\n\n\t            return false;\n\t        }\n\t    }, {\n\t        key: '_onKeyDown',\n\t        value: function _onKeyDown() {\n\t            for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n\t                args[_key3] = arguments[_key3];\n\t            }\n\n\t            args[0].persist();\n\t            this._invokeEventCallback.apply(this, [\"onKeyDown\"].concat(args));\n\t            var e = args[0];\n\t            if (!e.isDefaultPrevented()) {\n\t                if (e.keyCode === KEYCODE_UP) {\n\t                    e.preventDefault();\n\t                    this._step(e.ctrlKey || e.metaKey ? 0.1 : e.shiftKey ? 10 : 1);\n\t                } else if (e.keyCode === KEYCODE_DOWN) {\n\t                    e.preventDefault();\n\t                    this._step(e.ctrlKey || e.metaKey ? -0.1 : e.shiftKey ? -10 : -1);\n\t                } else {\n\t                    var _value = this.refsInput.value,\n\t                        length = _value.length;\n\t                    if (e.keyCode === 8) {\n\t                        if (this.refsInput.selectionStart == this.refsInput.selectionEnd && this.refsInput.selectionEnd > 0 && _value.length && _value.charAt(this.refsInput.selectionEnd - 1) === \".\") {\n\t                            e.preventDefault();\n\t                            this.refsInput.selectionStart = this.refsInput.selectionEnd = this.refsInput.selectionEnd - 1;\n\t                        }\n\t                    } else if (e.keyCode === 46) {\n\t                        if (this.refsInput.selectionStart == this.refsInput.selectionEnd && this.refsInput.selectionEnd < length + 1 && _value.length && _value.charAt(this.refsInput.selectionEnd) === \".\") {\n\t                            e.preventDefault();\n\t                            this.refsInput.selectionStart = this.refsInput.selectionEnd = this.refsInput.selectionEnd + 1;\n\t                        }\n\t                    }\n\t                }\n\t            }\n\t        }\n\t    }, {\n\t        key: 'stop',\n\t        value: function stop() {\n\t            if (this._timer) {\n\t                clearTimeout(this._timer);\n\t            }\n\t        }\n\t    }, {\n\t        key: 'increase',\n\t        value: function increase() {\n\t            var _this4 = this;\n\n\t            var _recursive = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n\t            var callback = arguments[1];\n\n\t            this.stop();\n\t            this._step(1, callback);\n\t            var _max = +access(this.props, \"max\", NumericInput.defaultProps.max, this);\n\t            if (isNaN(this.state.value) || +this.state.value < _max) {\n\t                this._timer = setTimeout(function () {\n\t                    _this4.increase(true);\n\t                }, _recursive ? NumericInput.SPEED : NumericInput.DELAY);\n\t            }\n\t        }\n\t    }, {\n\t        key: 'decrease',\n\t        value: function decrease() {\n\t            var _this5 = this;\n\n\t            var _recursive = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n\t            var callback = arguments[1];\n\n\t            this.stop();\n\t            this._step(-1, callback);\n\t            var _min = +access(this.props, \"min\", NumericInput.defaultProps.min, this);\n\t            if (isNaN(this.state.value) || +this.state.value > _min) {\n\t                this._timer = setTimeout(function () {\n\t                    _this5.decrease(true);\n\t                }, _recursive ? NumericInput.SPEED : NumericInput.DELAY);\n\t            }\n\t        }\n\t    }, {\n\t        key: 'onMouseDown',\n\t        value: function onMouseDown(dir, callback) {\n\t            if (dir == 'down') {\n\t                this.decrease(false, callback);\n\t            } else if (dir == 'up') {\n\t                this.increase(false, callback);\n\t            }\n\t        }\n\t    }, {\n\t        key: 'onTouchStart',\n\t        value: function onTouchStart(dir, e) {\n\t            e.preventDefault();\n\t            if (dir == 'down') {\n\t                this.decrease();\n\t            } else if (dir == 'up') {\n\t                this.increase();\n\t            }\n\t        }\n\t    }, {\n\t        key: 'onTouchEnd',\n\t        value: function onTouchEnd(e) {\n\t            e.preventDefault();\n\t            this.stop();\n\t        }\n\t    }, {\n\t        key: '_invokeEventCallback',\n\t        value: function _invokeEventCallback(callbackName) {\n\t            if (typeof this.props[callbackName] == \"function\") {\n\t                var _props$callbackName;\n\n\t                for (var _len4 = arguments.length, args = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n\t                    args[_key4 - 1] = arguments[_key4];\n\t                }\n\n\t                (_props$callbackName = this.props[callbackName]).call.apply(_props$callbackName, [null].concat(args));\n\t            }\n\t        }\n\t    }, {\n\t        key: 'render',\n\t        value: function render() {\n\t            var _this6 = this;\n\n\t            var props = this.props;\n\t            var state = this.state;\n\t            var css = {};\n\n\t            var _props = this.props,\n\t                step = _props.step,\n\t                min = _props.min,\n\t                max = _props.max,\n\t                precision = _props.precision,\n\t                parse = _props.parse,\n\t                format = _props.format,\n\t                mobile = _props.mobile,\n\t                snap = _props.snap,\n\t                componentClass = _props.componentClass,\n\t                value = _props.value,\n\t                type = _props.type,\n\t                style = _props.style,\n\t                defaultValue = _props.defaultValue,\n\t                onInvalid = _props.onInvalid,\n\t                onValid = _props.onValid,\n\t                strict = _props.strict,\n\t                noStyle = _props.noStyle,\n\t                rest = _objectWithoutProperties(_props, ['step', 'min', 'max', 'precision', 'parse', 'format', 'mobile', 'snap', 'componentClass', 'value', 'type', 'style', 'defaultValue', 'onInvalid', 'onValid', 'strict', 'noStyle']);\n\n\t            noStyle = noStyle || style === false;\n\n\t            for (var x in NumericInput.style) {\n\t                css[x] = _extends({}, NumericInput.style[x], style ? style[x] || {} : {});\n\t            }\n\n\t            var hasFormControl = props.className && /\\bform-control\\b/.test(props.className);\n\n\t            if (mobile == 'auto') {\n\t                mobile = IS_BROWSER && 'ontouchstart' in document;\n\t            }\n\n\t            if (typeof mobile == \"function\") {\n\t                mobile = mobile.call(this);\n\t            }\n\t            mobile = !!mobile;\n\n\t            var attrs = {\n\t                wrap: {\n\t                    style: noStyle ? null : css.wrap,\n\t                    className: 'react-numeric-input',\n\t                    ref: function ref(e) {\n\t                        if (e != null && e != undefined) {\n\t                            _this6.refsWrapper = e;\n\t                        }\n\t                    },\n\t                    onMouseUp: undefined,\n\t                    onMouseLeave: undefined\n\t                },\n\t                input: _extends({\n\t                    ref: function ref(e) {\n\t                        if (e != null && e != undefined) {\n\t                            _this6.refsInput = e;\n\t                        }\n\t                    },\n\t                    type: 'text',\n\t                    style: noStyle ? null : _extends({}, css.input, !hasFormControl ? css['input:not(.form-control)'] : {}, this._inputFocus ? css['input:focus'] : {})\n\t                }, rest),\n\t                btnUp: {\n\t                    onMouseEnter: undefined,\n\t                    onMouseDown: undefined,\n\t                    onMouseUp: undefined,\n\t                    onMouseLeave: undefined,\n\t                    onTouchStart: undefined,\n\t                    onTouchEnd: undefined,\n\t                    style: noStyle ? null : _extends({}, css.btn, css.btnUp, props.disabled || props.readOnly ? css['btn:disabled'] : state.btnUpActive ? css['btn:active'] : state.btnUpHover ? css['btn:hover'] : {})\n\t                },\n\t                btnDown: {\n\t                    onMouseEnter: undefined,\n\t                    onMouseDown: undefined,\n\t                    onMouseUp: undefined,\n\t                    onMouseLeave: undefined,\n\t                    onTouchStart: undefined,\n\t                    onTouchEnd: undefined,\n\t                    style: noStyle ? null : _extends({}, css.btn, css.btnDown, props.disabled || props.readOnly ? css['btn:disabled'] : state.btnDownActive ? css['btn:active'] : state.btnDownHover ? css['btn:hover'] : {})\n\t                }\n\t            };\n\n\t            var stringValue = String(state.stringValue || (state.value || state.value === 0 ? state.value : \"\") || \"\");\n\n\t            var loose = !this._isStrict && (this._inputFocus || !this._isMounted);\n\n\t            if (loose && RE_INCOMPLETE_NUMBER.test(stringValue)) {\n\t                attrs.input.value = stringValue;\n\t            } else if (loose && stringValue && !RE_NUMBER.test(stringValue)) {\n\t                    attrs.input.value = stringValue;\n\t                } else if (state.value || state.value === 0) {\n\t                        attrs.input.value = this._format(state.value);\n\t                    } else {\n\t                            attrs.input.value = \"\";\n\t                        }\n\n\t            if (hasFormControl && !noStyle) {\n\t                _extends(attrs.wrap.style, css['wrap.hasFormControl']);\n\t            }\n\n\t            if (mobile && !noStyle) {\n\t                _extends(attrs.input.style, css['input.mobile']);\n\t                _extends(attrs.btnUp.style, css['btnUp.mobile']);\n\t                _extends(attrs.btnDown.style, css['btnDown.mobile']);\n\t            }\n\n\t            if (!props.disabled && !props.readOnly) {\n\t                _extends(attrs.wrap, {\n\t                    onMouseUp: this.stop,\n\t                    onMouseLeave: this.stop\n\t                });\n\n\t                _extends(attrs.btnUp, {\n\t                    onTouchStart: this.onTouchStart.bind(this, 'up'),\n\t                    onTouchEnd: this.onTouchEnd,\n\t                    onMouseEnter: function onMouseEnter() {\n\t                        _this6.setState({\n\t                            btnUpHover: true\n\t                        });\n\t                    },\n\t                    onMouseLeave: function onMouseLeave() {\n\t                        _this6.stop();\n\t                        _this6.setState({\n\t                            btnUpHover: false,\n\t                            btnUpActive: false\n\t                        });\n\t                    },\n\t                    onMouseUp: function onMouseUp() {\n\t                        _this6.setState({\n\t                            btnUpHover: true,\n\t                            btnUpActive: false\n\t                        });\n\t                    },\n\t                    onMouseDown: function onMouseDown() {\n\t                        for (var _len5 = arguments.length, args = Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n\t                            args[_key5] = arguments[_key5];\n\t                        }\n\n\t                        args[0].preventDefault();\n\t                        args[0].persist();\n\t                        _this6._inputFocus = true;\n\t                        _this6.setState({\n\t                            btnUpHover: true,\n\t                            btnUpActive: true\n\t                        }, function () {\n\t                            _this6._invokeEventCallback.apply(_this6, [\"onFocus\"].concat(args));\n\t                            _this6.onMouseDown('up');\n\t                        });\n\t                    }\n\t                });\n\n\t                _extends(attrs.btnDown, {\n\t                    onTouchStart: this.onTouchStart.bind(this, 'down'),\n\t                    onTouchEnd: this.onTouchEnd,\n\t                    onMouseEnter: function onMouseEnter() {\n\t                        _this6.setState({\n\t                            btnDownHover: true\n\t                        });\n\t                    },\n\t                    onMouseLeave: function onMouseLeave() {\n\t                        _this6.stop();\n\t                        _this6.setState({\n\t                            btnDownHover: false,\n\t                            btnDownActive: false\n\t                        });\n\t                    },\n\t                    onMouseUp: function onMouseUp() {\n\t                        _this6.setState({\n\t                            btnDownHover: true,\n\t                            btnDownActive: false\n\t                        });\n\t                    },\n\t                    onMouseDown: function onMouseDown() {\n\t                        for (var _len6 = arguments.length, args = Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n\t                            args[_key6] = arguments[_key6];\n\t                        }\n\n\t                        args[0].preventDefault();\n\t                        args[0].persist();\n\t                        _this6._inputFocus = true;\n\t                        _this6.setState({\n\t                            btnDownHover: true,\n\t                            btnDownActive: true\n\t                        }, function () {\n\t                            _this6._invokeEventCallback.apply(_this6, [\"onFocus\"].concat(args));\n\t                            _this6.onMouseDown('down');\n\t                        });\n\t                    }\n\t                });\n\n\t                _extends(attrs.input, {\n\t                    onChange: function onChange(e) {\n\t                        var original = e.target.value;\n\t                        var val = _this6._parse(original);\n\t                        if (isNaN(val)) {\n\t                            val = null;\n\t                        }\n\t                        _this6.setState({\n\t                            value: _this6._isStrict ? _this6._toNumber(val) : val,\n\t                            stringValue: original\n\t                        });\n\t                    },\n\t                    onKeyDown: this._onKeyDown.bind(this),\n\t                    onInput: function onInput() {\n\t                        for (var _len7 = arguments.length, args = Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n\t                            args[_key7] = arguments[_key7];\n\t                        }\n\n\t                        _this6.saveSelection();\n\t                        _this6._invokeEventCallback.apply(_this6, [\"onInput\"].concat(args));\n\t                    },\n\t                    onSelect: function onSelect() {\n\t                        for (var _len8 = arguments.length, args = Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n\t                            args[_key8] = arguments[_key8];\n\t                        }\n\n\t                        _this6.saveSelection();\n\t                        _this6._invokeEventCallback.apply(_this6, [\"onSelect\"].concat(args));\n\t                    },\n\t                    onFocus: function onFocus() {\n\t                        for (var _len9 = arguments.length, args = Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n\t                            args[_key9] = arguments[_key9];\n\t                        }\n\n\t                        args[0].persist();\n\t                        _this6._inputFocus = true;\n\t                        var val = _this6._parse(args[0].target.value);\n\t                        _this6.setState({\n\t                            value: val,\n\t                            stringValue: val || val === 0 ? val + \"\" : \"\"\n\t                        }, function () {\n\t                            _this6._invokeEventCallback.apply(_this6, [\"onFocus\"].concat(args));\n\t                        });\n\t                    },\n\t                    onBlur: function onBlur() {\n\t                        for (var _len10 = arguments.length, args = Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\n\t                            args[_key10] = arguments[_key10];\n\t                        }\n\n\t                        var _isStrict = _this6._isStrict;\n\t                        _this6._isStrict = true;\n\t                        args[0].persist();\n\t                        _this6._inputFocus = false;\n\t                        var val = _this6._parse(args[0].target.value);\n\t                        _this6.setState({\n\t                            value: val\n\t                        }, function () {\n\t                            _this6._invokeEventCallback.apply(_this6, [\"onBlur\"].concat(args));\n\t                            _this6._isStrict = _isStrict;\n\t                        });\n\t                    }\n\t                });\n\t            } else {\n\t                if (!noStyle && props.disabled) {\n\t                    _extends(attrs.input.style, css['input:disabled']);\n\t                }\n\t            }\n\n\t            var InputTag = componentClass || 'input';\n\n\t            if (mobile) {\n\t                return _react2.default.createElement(\n\t                    'span',\n\t                    attrs.wrap,\n\t                    _react2.default.createElement(InputTag, attrs.input),\n\t                    _react2.default.createElement(\n\t                        'b',\n\t                        attrs.btnUp,\n\t                        _react2.default.createElement('i', { style: noStyle ? null : css.minus }),\n\t                        _react2.default.createElement('i', { style: noStyle ? null : css.plus })\n\t                    ),\n\t                    _react2.default.createElement(\n\t                        'b',\n\t                        attrs.btnDown,\n\t                        _react2.default.createElement('i', { style: noStyle ? null : css.minus })\n\t                    )\n\t                );\n\t            }\n\n\t            return _react2.default.createElement(\n\t                'span',\n\t                attrs.wrap,\n\t                _react2.default.createElement(InputTag, attrs.input),\n\t                _react2.default.createElement(\n\t                    'b',\n\t                    attrs.btnUp,\n\t                    _react2.default.createElement('i', { style: noStyle ? null : css.arrowUp })\n\t                ),\n\t                _react2.default.createElement(\n\t                    'b',\n\t                    attrs.btnDown,\n\t                    _react2.default.createElement('i', { style: noStyle ? null : css.arrowDown })\n\t                )\n\t            );\n\t        }\n\t    }]);\n\n\t    return NumericInput;\n\t}(_react.Component);\n\n\tNumericInput.propTypes = {\n\t    step: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.func]),\n\t    min: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.func]),\n\t    max: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.func]),\n\t    precision: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.func]),\n\t    maxLength: _propTypes2.default.number,\n\t    parse: _propTypes2.default.func,\n\t    format: _propTypes2.default.func,\n\t    className: _propTypes2.default.string,\n\t    disabled: _propTypes2.default.bool,\n\t    readOnly: _propTypes2.default.bool,\n\t    required: _propTypes2.default.bool,\n\t    snap: _propTypes2.default.bool,\n\t    noValidate: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.string]),\n\t    style: _propTypes2.default.oneOfType([_propTypes2.default.object, _propTypes2.default.bool]),\n\t    noStyle: _propTypes2.default.bool,\n\t    type: _propTypes2.default.string,\n\t    pattern: _propTypes2.default.string,\n\t    onFocus: _propTypes2.default.func,\n\t    onBlur: _propTypes2.default.func,\n\t    onKeyDown: _propTypes2.default.func,\n\t    onChange: _propTypes2.default.func,\n\t    onInvalid: _propTypes2.default.func,\n\t    onValid: _propTypes2.default.func,\n\t    onInput: _propTypes2.default.func,\n\t    onSelect: _propTypes2.default.func,\n\t    size: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]),\n\t    value: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]),\n\t    defaultValue: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]),\n\t    strict: _propTypes2.default.bool,\n\t    componentClass: _propTypes2.default.string,\n\t    mobile: function mobile(props, propName) {\n\t        var prop = props[propName];\n\t        if (prop !== true && prop !== false && prop !== 'auto' && typeof prop != 'function') {\n\t            return new Error('The \"mobile\" prop must be true, false, \"auto\" or a function');\n\t        }\n\t    }\n\t};\n\tNumericInput.defaultProps = {\n\t    step: 1,\n\t    min: Number.MIN_SAFE_INTEGER || -9007199254740991,\n\t    max: Number.MAX_SAFE_INTEGER || 9007199254740991,\n\t    precision: null,\n\t    parse: null,\n\t    format: null,\n\t    mobile: 'auto',\n\t    strict: false,\n\t    componentClass: \"input\",\n\t    style: {}\n\t};\n\tNumericInput.style = {\n\t    wrap: {\n\t        position: 'relative',\n\t        display: 'inline-block'\n\t    },\n\n\t    'wrap.hasFormControl': {\n\t        display: 'block'\n\t    },\n\n\t    arrowUp: {\n\t        position: 'absolute',\n\t        top: '50%',\n\t        left: '50%',\n\t        width: 0,\n\t        height: 0,\n\t        borderWidth: '0 0.6ex 0.6ex 0.6ex',\n\t        borderColor: 'transparent transparent rgba(0, 0, 0, 0.7)',\n\t        borderStyle: 'solid',\n\t        margin: '-0.3ex 0 0 -0.56ex'\n\t    },\n\n\t    arrowDown: {\n\t        position: 'absolute',\n\t        top: '50%',\n\t        left: '50%',\n\t        width: 0,\n\t        height: 0,\n\t        borderWidth: '0.6ex 0.6ex 0 0.6ex',\n\t        borderColor: 'rgba(0, 0, 0, 0.7) transparent transparent',\n\t        borderStyle: 'solid',\n\t        margin: '-0.3ex 0 0 -0.56ex'\n\t    },\n\n\t    plus: {\n\t        position: 'absolute',\n\t        top: '50%',\n\t        left: '50%',\n\t        width: 2,\n\t        height: 10,\n\t        background: 'rgba(0,0,0,.7)',\n\t        margin: '-5px 0 0 -1px'\n\t    },\n\n\t    minus: {\n\t        position: 'absolute',\n\t        top: '50%',\n\t        left: '50%',\n\t        width: 10,\n\t        height: 2,\n\t        background: 'rgba(0,0,0,.7)',\n\t        margin: '-1px 0 0 -5px'\n\t    },\n\n\t    btn: {\n\t        position: 'absolute',\n\t        right: 2,\n\t        width: '2.26ex',\n\t        borderColor: 'rgba(0,0,0,.1)',\n\t        borderStyle: 'solid',\n\t        textAlign: 'center',\n\t        cursor: 'default',\n\t        transition: 'all 0.1s',\n\t        background: 'rgba(0,0,0,.1)',\n\t        boxShadow: '-1px -1px 3px rgba(0,0,0,.1) inset,' + '1px 1px 3px rgba(255,255,255,.7) inset'\n\t    },\n\n\t    btnUp: {\n\t        top: 2,\n\t        bottom: '50%',\n\t        borderRadius: '2px 2px 0 0',\n\t        borderWidth: '1px 1px 0 1px'\n\t    },\n\n\t    'btnUp.mobile': {\n\t        width: '3.3ex',\n\t        bottom: 2,\n\t        boxShadow: 'none',\n\t        borderRadius: 2,\n\t        borderWidth: 1\n\t    },\n\n\t    btnDown: {\n\t        top: '50%',\n\t        bottom: 2,\n\t        borderRadius: '0 0 2px 2px',\n\t        borderWidth: '0 1px 1px 1px'\n\t    },\n\n\t    'btnDown.mobile': {\n\t        width: '3.3ex',\n\t        bottom: 2,\n\t        left: 2,\n\t        top: 2,\n\t        right: 'auto',\n\t        boxShadow: 'none',\n\t        borderRadius: 2,\n\t        borderWidth: 1\n\t    },\n\n\t    'btn:hover': {\n\t        background: 'rgba(0,0,0,.2)'\n\t    },\n\n\t    'btn:active': {\n\t        background: 'rgba(0,0,0,.3)',\n\t        boxShadow: '0 1px 3px rgba(0,0,0,.2) inset,' + '-1px -1px 4px rgba(255,255,255,.5) inset'\n\t    },\n\n\t    'btn:disabled': {\n\t        opacity: 0.5,\n\t        boxShadow: 'none',\n\t        cursor: 'not-allowed'\n\t    },\n\n\t    input: {\n\t        paddingRight: '3ex',\n\t        boxSizing: 'border-box',\n\t        fontSize: 'inherit'\n\t    },\n\n\t    'input:not(.form-control)': {\n\t        border: '1px solid #ccc',\n\t        borderRadius: 2,\n\t        paddingLeft: 4,\n\t        display: 'block',\n\t        WebkitAppearance: 'none',\n\t        lineHeight: 'normal'\n\t    },\n\n\t    'input.mobile': {\n\t        paddingLeft: ' 3.4ex',\n\t        paddingRight: '3.4ex',\n\t        textAlign: 'center'\n\t    },\n\n\t    'input:focus': {},\n\n\t    'input:disabled': {\n\t        color: 'rgba(0, 0, 0, 0.3)',\n\t        textShadow: '0 1px 0 rgba(255, 255, 255, 0.8)'\n\t    }\n\t};\n\tNumericInput.SPEED = 50;\n\tNumericInput.DELAY = 500;\n\tNumericInput.DIRECTION_UP = \"up\";\n\tNumericInput.DIRECTION_DOWN = \"down\";\n\n\n\tmodule.exports = NumericInput;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n\tmodule.exports = __webpack_require__(/*! react */ \"react\");\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\n\tmodule.exports = __webpack_require__(/*! prop-types */ \"prop-types\");\n\n/***/ })\n/******/ ]);\n\n/***/ }),\n\n/***/ \"./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js\":\n/*!*************************************************************************!*\\\n  !*** ./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js ***!\n  \\*************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n    if (typeof Map !== 'undefined') {\r\n        return Map;\r\n    }\r\n    /**\r\n     * Returns index in provided array that matches the specified key.\r\n     *\r\n     * @param {Array<Array>} arr\r\n     * @param {*} key\r\n     * @returns {number}\r\n     */\r\n    function getIndex(arr, key) {\r\n        var result = -1;\r\n        arr.some(function (entry, index) {\r\n            if (entry[0] === key) {\r\n                result = index;\r\n                return true;\r\n            }\r\n            return false;\r\n        });\r\n        return result;\r\n    }\r\n    return /** @class */ (function () {\r\n        function class_1() {\r\n            this.__entries__ = [];\r\n        }\r\n        Object.defineProperty(class_1.prototype, \"size\", {\r\n            /**\r\n             * @returns {boolean}\r\n             */\r\n            get: function () {\r\n                return this.__entries__.length;\r\n            },\r\n            enumerable: true,\r\n            configurable: true\r\n        });\r\n        /**\r\n         * @param {*} key\r\n         * @returns {*}\r\n         */\r\n        class_1.prototype.get = function (key) {\r\n            var index = getIndex(this.__entries__, key);\r\n            var entry = this.__entries__[index];\r\n            return entry && entry[1];\r\n        };\r\n        /**\r\n         * @param {*} key\r\n         * @param {*} value\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.set = function (key, value) {\r\n            var index = getIndex(this.__entries__, key);\r\n            if (~index) {\r\n                this.__entries__[index][1] = value;\r\n            }\r\n            else {\r\n                this.__entries__.push([key, value]);\r\n            }\r\n        };\r\n        /**\r\n         * @param {*} key\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.delete = function (key) {\r\n            var entries = this.__entries__;\r\n            var index = getIndex(entries, key);\r\n            if (~index) {\r\n                entries.splice(index, 1);\r\n            }\r\n        };\r\n        /**\r\n         * @param {*} key\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.has = function (key) {\r\n            return !!~getIndex(this.__entries__, key);\r\n        };\r\n        /**\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.clear = function () {\r\n            this.__entries__.splice(0);\r\n        };\r\n        /**\r\n         * @param {Function} callback\r\n         * @param {*} [ctx=null]\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.forEach = function (callback, ctx) {\r\n            if (ctx === void 0) { ctx = null; }\r\n            for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n                var entry = _a[_i];\r\n                callback.call(ctx, entry[1], entry[0]);\r\n            }\r\n        };\r\n        return class_1;\r\n    }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n    if (typeof global !== 'undefined' && global.Math === Math) {\r\n        return global;\r\n    }\r\n    if (typeof self !== 'undefined' && self.Math === Math) {\r\n        return self;\r\n    }\r\n    if (typeof window !== 'undefined' && window.Math === Math) {\r\n        return window;\r\n    }\r\n    // eslint-disable-next-line no-new-func\r\n    return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n    if (typeof requestAnimationFrame === 'function') {\r\n        // It's required to use a bounded function because IE sometimes throws\r\n        // an \"Invalid calling object\" error if rAF is invoked without the global\r\n        // object on the left hand side.\r\n        return requestAnimationFrame.bind(global$1);\r\n    }\r\n    return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n    var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n    /**\r\n     * Invokes the original callback function and schedules new invocation if\r\n     * the \"proxy\" was called during current request.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    function resolvePending() {\r\n        if (leadingCall) {\r\n            leadingCall = false;\r\n            callback();\r\n        }\r\n        if (trailingCall) {\r\n            proxy();\r\n        }\r\n    }\r\n    /**\r\n     * Callback invoked after the specified delay. It will further postpone\r\n     * invocation of the original function delegating it to the\r\n     * requestAnimationFrame.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    function timeoutCallback() {\r\n        requestAnimationFrame$1(resolvePending);\r\n    }\r\n    /**\r\n     * Schedules invocation of the original function.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    function proxy() {\r\n        var timeStamp = Date.now();\r\n        if (leadingCall) {\r\n            // Reject immediately following calls.\r\n            if (timeStamp - lastCallTime < trailingTimeout) {\r\n                return;\r\n            }\r\n            // Schedule new call to be in invoked when the pending one is resolved.\r\n            // This is important for \"transitions\" which never actually start\r\n            // immediately so there is a chance that we might miss one if change\r\n            // happens amids the pending invocation.\r\n            trailingCall = true;\r\n        }\r\n        else {\r\n            leadingCall = true;\r\n            trailingCall = false;\r\n            setTimeout(timeoutCallback, delay);\r\n        }\r\n        lastCallTime = timeStamp;\r\n    }\r\n    return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n    /**\r\n     * Creates a new instance of ResizeObserverController.\r\n     *\r\n     * @private\r\n     */\r\n    function ResizeObserverController() {\r\n        /**\r\n         * Indicates whether DOM listeners have been added.\r\n         *\r\n         * @private {boolean}\r\n         */\r\n        this.connected_ = false;\r\n        /**\r\n         * Tells that controller has subscribed for Mutation Events.\r\n         *\r\n         * @private {boolean}\r\n         */\r\n        this.mutationEventsAdded_ = false;\r\n        /**\r\n         * Keeps reference to the instance of MutationObserver.\r\n         *\r\n         * @private {MutationObserver}\r\n         */\r\n        this.mutationsObserver_ = null;\r\n        /**\r\n         * A list of connected observers.\r\n         *\r\n         * @private {Array<ResizeObserverSPI>}\r\n         */\r\n        this.observers_ = [];\r\n        this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n        this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n    }\r\n    /**\r\n     * Adds observer to observers list.\r\n     *\r\n     * @param {ResizeObserverSPI} observer - Observer to be added.\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.addObserver = function (observer) {\r\n        if (!~this.observers_.indexOf(observer)) {\r\n            this.observers_.push(observer);\r\n        }\r\n        // Add listeners if they haven't been added yet.\r\n        if (!this.connected_) {\r\n            this.connect_();\r\n        }\r\n    };\r\n    /**\r\n     * Removes observer from observers list.\r\n     *\r\n     * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.removeObserver = function (observer) {\r\n        var observers = this.observers_;\r\n        var index = observers.indexOf(observer);\r\n        // Remove observer if it's present in registry.\r\n        if (~index) {\r\n            observers.splice(index, 1);\r\n        }\r\n        // Remove listeners if controller has no connected observers.\r\n        if (!observers.length && this.connected_) {\r\n            this.disconnect_();\r\n        }\r\n    };\r\n    /**\r\n     * Invokes the update of observers. It will continue running updates insofar\r\n     * it detects changes.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.refresh = function () {\r\n        var changesDetected = this.updateObservers_();\r\n        // Continue running updates if changes have been detected as there might\r\n        // be future ones caused by CSS transitions.\r\n        if (changesDetected) {\r\n            this.refresh();\r\n        }\r\n    };\r\n    /**\r\n     * Updates every observer from observers list and notifies them of queued\r\n     * entries.\r\n     *\r\n     * @private\r\n     * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n     *      dimensions of it's elements.\r\n     */\r\n    ResizeObserverController.prototype.updateObservers_ = function () {\r\n        // Collect observers that have active observations.\r\n        var activeObservers = this.observers_.filter(function (observer) {\r\n            return observer.gatherActive(), observer.hasActive();\r\n        });\r\n        // Deliver notifications in a separate cycle in order to avoid any\r\n        // collisions between observers, e.g. when multiple instances of\r\n        // ResizeObserver are tracking the same element and the callback of one\r\n        // of them changes content dimensions of the observed target. Sometimes\r\n        // this may result in notifications being blocked for the rest of observers.\r\n        activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n        return activeObservers.length > 0;\r\n    };\r\n    /**\r\n     * Initializes DOM listeners.\r\n     *\r\n     * @private\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.connect_ = function () {\r\n        // Do nothing if running in a non-browser environment or if listeners\r\n        // have been already added.\r\n        if (!isBrowser || this.connected_) {\r\n            return;\r\n        }\r\n        // Subscription to the \"Transitionend\" event is used as a workaround for\r\n        // delayed transitions. This way it's possible to capture at least the\r\n        // final state of an element.\r\n        document.addEventListener('transitionend', this.onTransitionEnd_);\r\n        window.addEventListener('resize', this.refresh);\r\n        if (mutationObserverSupported) {\r\n            this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n            this.mutationsObserver_.observe(document, {\r\n                attributes: true,\r\n                childList: true,\r\n                characterData: true,\r\n                subtree: true\r\n            });\r\n        }\r\n        else {\r\n            document.addEventListener('DOMSubtreeModified', this.refresh);\r\n            this.mutationEventsAdded_ = true;\r\n        }\r\n        this.connected_ = true;\r\n    };\r\n    /**\r\n     * Removes DOM listeners.\r\n     *\r\n     * @private\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.disconnect_ = function () {\r\n        // Do nothing if running in a non-browser environment or if listeners\r\n        // have been already removed.\r\n        if (!isBrowser || !this.connected_) {\r\n            return;\r\n        }\r\n        document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n        window.removeEventListener('resize', this.refresh);\r\n        if (this.mutationsObserver_) {\r\n            this.mutationsObserver_.disconnect();\r\n        }\r\n        if (this.mutationEventsAdded_) {\r\n            document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n        }\r\n        this.mutationsObserver_ = null;\r\n        this.mutationEventsAdded_ = false;\r\n        this.connected_ = false;\r\n    };\r\n    /**\r\n     * \"Transitionend\" event handler.\r\n     *\r\n     * @private\r\n     * @param {TransitionEvent} event\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n        var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n        // Detect whether transition may affect dimensions of an element.\r\n        var isReflowProperty = transitionKeys.some(function (key) {\r\n            return !!~propertyName.indexOf(key);\r\n        });\r\n        if (isReflowProperty) {\r\n            this.refresh();\r\n        }\r\n    };\r\n    /**\r\n     * Returns instance of the ResizeObserverController.\r\n     *\r\n     * @returns {ResizeObserverController}\r\n     */\r\n    ResizeObserverController.getInstance = function () {\r\n        if (!this.instance_) {\r\n            this.instance_ = new ResizeObserverController();\r\n        }\r\n        return this.instance_;\r\n    };\r\n    /**\r\n     * Holds reference to the controller's instance.\r\n     *\r\n     * @private {ResizeObserverController}\r\n     */\r\n    ResizeObserverController.instance_ = null;\r\n    return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n    for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n        var key = _a[_i];\r\n        Object.defineProperty(target, key, {\r\n            value: props[key],\r\n            enumerable: false,\r\n            writable: false,\r\n            configurable: true\r\n        });\r\n    }\r\n    return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n    // Assume that the element is an instance of Node, which means that it\r\n    // has the \"ownerDocument\" property from which we can retrieve a\r\n    // corresponding global object.\r\n    var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n    // Return the local global object if it's not possible extract one from\r\n    // provided element.\r\n    return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n    return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n    var positions = [];\r\n    for (var _i = 1; _i < arguments.length; _i++) {\r\n        positions[_i - 1] = arguments[_i];\r\n    }\r\n    return positions.reduce(function (size, position) {\r\n        var value = styles['border-' + position + '-width'];\r\n        return size + toFloat(value);\r\n    }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n    var positions = ['top', 'right', 'bottom', 'left'];\r\n    var paddings = {};\r\n    for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n        var position = positions_1[_i];\r\n        var value = styles['padding-' + position];\r\n        paddings[position] = toFloat(value);\r\n    }\r\n    return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n *      to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n    var bbox = target.getBBox();\r\n    return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n    // Client width & height properties can't be\r\n    // used exclusively as they provide rounded values.\r\n    var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n    // By this condition we can catch all non-replaced inline, hidden and\r\n    // detached elements. Though elements with width & height properties less\r\n    // than 0.5 will be discarded as well.\r\n    //\r\n    // Without it we would need to implement separate methods for each of\r\n    // those cases and it's not possible to perform a precise and performance\r\n    // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n    // gives wrong results for elements with width & height less than 0.5.\r\n    if (!clientWidth && !clientHeight) {\r\n        return emptyRect;\r\n    }\r\n    var styles = getWindowOf(target).getComputedStyle(target);\r\n    var paddings = getPaddings(styles);\r\n    var horizPad = paddings.left + paddings.right;\r\n    var vertPad = paddings.top + paddings.bottom;\r\n    // Computed styles of width & height are being used because they are the\r\n    // only dimensions available to JS that contain non-rounded values. It could\r\n    // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n    // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n    var width = toFloat(styles.width), height = toFloat(styles.height);\r\n    // Width & height include paddings and borders when the 'border-box' box\r\n    // model is applied (except for IE).\r\n    if (styles.boxSizing === 'border-box') {\r\n        // Following conditions are required to handle Internet Explorer which\r\n        // doesn't include paddings and borders to computed CSS dimensions.\r\n        //\r\n        // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n        // properties then it's either IE, and thus we don't need to subtract\r\n        // anything, or an element merely doesn't have paddings/borders styles.\r\n        if (Math.round(width + horizPad) !== clientWidth) {\r\n            width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n        }\r\n        if (Math.round(height + vertPad) !== clientHeight) {\r\n            height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n        }\r\n    }\r\n    // Following steps can't be applied to the document's root element as its\r\n    // client[Width/Height] properties represent viewport area of the window.\r\n    // Besides, it's as well not necessary as the <html> itself neither has\r\n    // rendered scroll bars nor it can be clipped.\r\n    if (!isDocumentElement(target)) {\r\n        // In some browsers (only in Firefox, actually) CSS width & height\r\n        // include scroll bars size which can be removed at this step as scroll\r\n        // bars are the only difference between rounded dimensions + paddings\r\n        // and \"client\" properties, though that is not always true in Chrome.\r\n        var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n        var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n        // Chrome has a rather weird rounding of \"client\" properties.\r\n        // E.g. for an element with content width of 314.2px it sometimes gives\r\n        // the client width of 315px and for the width of 314.7px it may give\r\n        // 314px. And it doesn't happen all the time. So just ignore this delta\r\n        // as a non-relevant.\r\n        if (Math.abs(vertScrollbar) !== 1) {\r\n            width -= vertScrollbar;\r\n        }\r\n        if (Math.abs(horizScrollbar) !== 1) {\r\n            height -= horizScrollbar;\r\n        }\r\n    }\r\n    return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n    // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n    // interface.\r\n    if (typeof SVGGraphicsElement !== 'undefined') {\r\n        return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n    }\r\n    // If it's so, then check that element is at least an instance of the\r\n    // SVGElement and that it has the \"getBBox\" method.\r\n    // eslint-disable-next-line no-extra-parens\r\n    return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n        typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element (<html>).\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n    return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n    if (!isBrowser) {\r\n        return emptyRect;\r\n    }\r\n    if (isSVGGraphicsElement(target)) {\r\n        return getSVGContentRect(target);\r\n    }\r\n    return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n    var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n    // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n    var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n    var rect = Object.create(Constr.prototype);\r\n    // Rectangle's properties are not writable and non-enumerable.\r\n    defineConfigurable(rect, {\r\n        x: x, y: y, width: width, height: height,\r\n        top: y,\r\n        right: x + width,\r\n        bottom: height + y,\r\n        left: x\r\n    });\r\n    return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n    return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n    /**\r\n     * Creates an instance of ResizeObservation.\r\n     *\r\n     * @param {Element} target - Element to be observed.\r\n     */\r\n    function ResizeObservation(target) {\r\n        /**\r\n         * Broadcasted width of content rectangle.\r\n         *\r\n         * @type {number}\r\n         */\r\n        this.broadcastWidth = 0;\r\n        /**\r\n         * Broadcasted height of content rectangle.\r\n         *\r\n         * @type {number}\r\n         */\r\n        this.broadcastHeight = 0;\r\n        /**\r\n         * Reference to the last observed content rectangle.\r\n         *\r\n         * @private {DOMRectInit}\r\n         */\r\n        this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n        this.target = target;\r\n    }\r\n    /**\r\n     * Updates content rectangle and tells whether it's width or height properties\r\n     * have changed since the last broadcast.\r\n     *\r\n     * @returns {boolean}\r\n     */\r\n    ResizeObservation.prototype.isActive = function () {\r\n        var rect = getContentRect(this.target);\r\n        this.contentRect_ = rect;\r\n        return (rect.width !== this.broadcastWidth ||\r\n            rect.height !== this.broadcastHeight);\r\n    };\r\n    /**\r\n     * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n     * from the corresponding properties of the last observed content rectangle.\r\n     *\r\n     * @returns {DOMRectInit} Last observed content rectangle.\r\n     */\r\n    ResizeObservation.prototype.broadcastRect = function () {\r\n        var rect = this.contentRect_;\r\n        this.broadcastWidth = rect.width;\r\n        this.broadcastHeight = rect.height;\r\n        return rect;\r\n    };\r\n    return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n    /**\r\n     * Creates an instance of ResizeObserverEntry.\r\n     *\r\n     * @param {Element} target - Element that is being observed.\r\n     * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n     */\r\n    function ResizeObserverEntry(target, rectInit) {\r\n        var contentRect = createReadOnlyRect(rectInit);\r\n        // According to the specification following properties are not writable\r\n        // and are also not enumerable in the native implementation.\r\n        //\r\n        // Property accessors are not being used as they'd require to define a\r\n        // private WeakMap storage which may cause memory leaks in browsers that\r\n        // don't support this type of collections.\r\n        defineConfigurable(this, { target: target, contentRect: contentRect });\r\n    }\r\n    return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n    /**\r\n     * Creates a new instance of ResizeObserver.\r\n     *\r\n     * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n     *      when one of the observed elements changes it's content dimensions.\r\n     * @param {ResizeObserverController} controller - Controller instance which\r\n     *      is responsible for the updates of observer.\r\n     * @param {ResizeObserver} callbackCtx - Reference to the public\r\n     *      ResizeObserver instance which will be passed to callback function.\r\n     */\r\n    function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n        /**\r\n         * Collection of resize observations that have detected changes in dimensions\r\n         * of elements.\r\n         *\r\n         * @private {Array<ResizeObservation>}\r\n         */\r\n        this.activeObservations_ = [];\r\n        /**\r\n         * Registry of the ResizeObservation instances.\r\n         *\r\n         * @private {Map<Element, ResizeObservation>}\r\n         */\r\n        this.observations_ = new MapShim();\r\n        if (typeof callback !== 'function') {\r\n            throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n        }\r\n        this.callback_ = callback;\r\n        this.controller_ = controller;\r\n        this.callbackCtx_ = callbackCtx;\r\n    }\r\n    /**\r\n     * Starts observing provided element.\r\n     *\r\n     * @param {Element} target - Element to be observed.\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.observe = function (target) {\r\n        if (!arguments.length) {\r\n            throw new TypeError('1 argument required, but only 0 present.');\r\n        }\r\n        // Do nothing if current environment doesn't have the Element interface.\r\n        if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n            return;\r\n        }\r\n        if (!(target instanceof getWindowOf(target).Element)) {\r\n            throw new TypeError('parameter 1 is not of type \"Element\".');\r\n        }\r\n        var observations = this.observations_;\r\n        // Do nothing if element is already being observed.\r\n        if (observations.has(target)) {\r\n            return;\r\n        }\r\n        observations.set(target, new ResizeObservation(target));\r\n        this.controller_.addObserver(this);\r\n        // Force the update of observations.\r\n        this.controller_.refresh();\r\n    };\r\n    /**\r\n     * Stops observing provided element.\r\n     *\r\n     * @param {Element} target - Element to stop observing.\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.unobserve = function (target) {\r\n        if (!arguments.length) {\r\n            throw new TypeError('1 argument required, but only 0 present.');\r\n        }\r\n        // Do nothing if current environment doesn't have the Element interface.\r\n        if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n            return;\r\n        }\r\n        if (!(target instanceof getWindowOf(target).Element)) {\r\n            throw new TypeError('parameter 1 is not of type \"Element\".');\r\n        }\r\n        var observations = this.observations_;\r\n        // Do nothing if element is not being observed.\r\n        if (!observations.has(target)) {\r\n            return;\r\n        }\r\n        observations.delete(target);\r\n        if (!observations.size) {\r\n            this.controller_.removeObserver(this);\r\n        }\r\n    };\r\n    /**\r\n     * Stops observing all elements.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.disconnect = function () {\r\n        this.clearActive();\r\n        this.observations_.clear();\r\n        this.controller_.removeObserver(this);\r\n    };\r\n    /**\r\n     * Collects observation instances the associated element of which has changed\r\n     * it's content rectangle.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.gatherActive = function () {\r\n        var _this = this;\r\n        this.clearActive();\r\n        this.observations_.forEach(function (observation) {\r\n            if (observation.isActive()) {\r\n                _this.activeObservations_.push(observation);\r\n            }\r\n        });\r\n    };\r\n    /**\r\n     * Invokes initial callback function with a list of ResizeObserverEntry\r\n     * instances collected from active resize observations.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.broadcastActive = function () {\r\n        // Do nothing if observer doesn't have active observations.\r\n        if (!this.hasActive()) {\r\n            return;\r\n        }\r\n        var ctx = this.callbackCtx_;\r\n        // Create ResizeObserverEntry instance for every active observation.\r\n        var entries = this.activeObservations_.map(function (observation) {\r\n            return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n        });\r\n        this.callback_.call(ctx, entries, ctx);\r\n        this.clearActive();\r\n    };\r\n    /**\r\n     * Clears the collection of active observations.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.clearActive = function () {\r\n        this.activeObservations_.splice(0);\r\n    };\r\n    /**\r\n     * Tells whether observer has active observations.\r\n     *\r\n     * @returns {boolean}\r\n     */\r\n    ResizeObserverSPI.prototype.hasActive = function () {\r\n        return this.activeObservations_.length > 0;\r\n    };\r\n    return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n    /**\r\n     * Creates a new instance of ResizeObserver.\r\n     *\r\n     * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n     *      dimensions of the observed elements change.\r\n     */\r\n    function ResizeObserver(callback) {\r\n        if (!(this instanceof ResizeObserver)) {\r\n            throw new TypeError('Cannot call a class as a function.');\r\n        }\r\n        if (!arguments.length) {\r\n            throw new TypeError('1 argument required, but only 0 present.');\r\n        }\r\n        var controller = ResizeObserverController.getInstance();\r\n        var observer = new ResizeObserverSPI(callback, controller, this);\r\n        observers.set(this, observer);\r\n    }\r\n    return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n    'observe',\r\n    'unobserve',\r\n    'disconnect'\r\n].forEach(function (method) {\r\n    ResizeObserver.prototype[method] = function () {\r\n        var _a;\r\n        return (_a = observers.get(this))[method].apply(_a, arguments);\r\n    };\r\n});\n\nvar index = (function () {\r\n    // Export existing implementation if available.\r\n    if (typeof global$1.ResizeObserver !== 'undefined') {\r\n        return global$1.ResizeObserver;\r\n    }\r\n    return ResizeObserver;\r\n})();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (index);\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n/***/ }),\n\n/***/ \"./node_modules/shallowequal/index.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/shallowequal/index.js ***!\n  \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n  var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n  if (ret !== void 0) {\n    return !!ret;\n  }\n\n  if (objA === objB) {\n    return true;\n  }\n\n  if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n    return false;\n  }\n\n  var keysA = Object.keys(objA);\n  var keysB = Object.keys(objB);\n\n  if (keysA.length !== keysB.length) {\n    return false;\n  }\n\n  var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n  // Test for A's keys different from B.\n  for (var idx = 0; idx < keysA.length; idx++) {\n    var key = keysA[idx];\n\n    if (!bHasOwnProperty(key)) {\n      return false;\n    }\n\n    var valueA = objA[key];\n    var valueB = objB[key];\n\n    ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n    if (ret === false || (ret === void 0 && valueA !== valueB)) {\n      return false;\n    }\n  }\n\n  return true;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/simple-swizzle/index.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/simple-swizzle/index.js ***!\n  \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isArrayish = __webpack_require__(/*! is-arrayish */ \"./node_modules/is-arrayish/index.js\");\n\nvar concat = Array.prototype.concat;\nvar slice = Array.prototype.slice;\n\nvar swizzle = module.exports = function swizzle(args) {\n\tvar results = [];\n\n\tfor (var i = 0, len = args.length; i < len; i++) {\n\t\tvar arg = args[i];\n\n\t\tif (isArrayish(arg)) {\n\t\t\t// http://jsperf.com/javascript-array-concat-vs-push/98\n\t\t\tresults = concat.call(results, slice.call(arg));\n\t\t} else {\n\t\t\tresults.push(arg);\n\t\t}\n\t}\n\n\treturn results;\n};\n\nswizzle.wrap = function (fn) {\n\treturn function () {\n\t\treturn fn(swizzle(arguments));\n\t};\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\":\n/*!****************************************************************************!*\\\n  !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!\n  \\****************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isOldIE = function isOldIE() {\n  var memo;\n  return function memorize() {\n    if (typeof memo === 'undefined') {\n      // Test for IE <= 9 as proposed by Browserhacks\n      // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n      // Tests for existence of standard globals is to allow style-loader\n      // to operate correctly into non-standard environments\n      // @see https://github.com/webpack-contrib/style-loader/issues/177\n      memo = Boolean(window && document && document.all && !window.atob);\n    }\n\n    return memo;\n  };\n}();\n\nvar getTarget = function getTarget() {\n  var memo = {};\n  return function memorize(target) {\n    if (typeof memo[target] === 'undefined') {\n      var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n      if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n        try {\n          // This will throw an exception if access to iframe is blocked\n          // due to cross-origin restrictions\n          styleTarget = styleTarget.contentDocument.head;\n        } catch (e) {\n          // istanbul ignore next\n          styleTarget = null;\n        }\n      }\n\n      memo[target] = styleTarget;\n    }\n\n    return memo[target];\n  };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n  var result = -1;\n\n  for (var i = 0; i < stylesInDom.length; i++) {\n    if (stylesInDom[i].identifier === identifier) {\n      result = i;\n      break;\n    }\n  }\n\n  return result;\n}\n\nfunction modulesToDom(list, options) {\n  var idCountMap = {};\n  var identifiers = [];\n\n  for (var i = 0; i < list.length; i++) {\n    var item = list[i];\n    var id = options.base ? item[0] + options.base : item[0];\n    var count = idCountMap[id] || 0;\n    var identifier = \"\".concat(id, \" \").concat(count);\n    idCountMap[id] = count + 1;\n    var index = getIndexByIdentifier(identifier);\n    var obj = {\n      css: item[1],\n      media: item[2],\n      sourceMap: item[3]\n    };\n\n    if (index !== -1) {\n      stylesInDom[index].references++;\n      stylesInDom[index].updater(obj);\n    } else {\n      stylesInDom.push({\n        identifier: identifier,\n        updater: addStyle(obj, options),\n        references: 1\n      });\n    }\n\n    identifiers.push(identifier);\n  }\n\n  return identifiers;\n}\n\nfunction insertStyleElement(options) {\n  var style = document.createElement('style');\n  var attributes = options.attributes || {};\n\n  if (typeof attributes.nonce === 'undefined') {\n    var nonce =  true ? __webpack_require__.nc : undefined;\n\n    if (nonce) {\n      attributes.nonce = nonce;\n    }\n  }\n\n  Object.keys(attributes).forEach(function (key) {\n    style.setAttribute(key, attributes[key]);\n  });\n\n  if (typeof options.insert === 'function') {\n    options.insert(style);\n  } else {\n    var target = getTarget(options.insert || 'head');\n\n    if (!target) {\n      throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n    }\n\n    target.appendChild(style);\n  }\n\n  return style;\n}\n\nfunction removeStyleElement(style) {\n  // istanbul ignore if\n  if (style.parentNode === null) {\n    return false;\n  }\n\n  style.parentNode.removeChild(style);\n}\n/* istanbul ignore next  */\n\n\nvar replaceText = function replaceText() {\n  var textStore = [];\n  return function replace(index, replacement) {\n    textStore[index] = replacement;\n    return textStore.filter(Boolean).join('\\n');\n  };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n  var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n  /* istanbul ignore if  */\n\n  if (style.styleSheet) {\n    style.styleSheet.cssText = replaceText(index, css);\n  } else {\n    var cssNode = document.createTextNode(css);\n    var childNodes = style.childNodes;\n\n    if (childNodes[index]) {\n      style.removeChild(childNodes[index]);\n    }\n\n    if (childNodes.length) {\n      style.insertBefore(cssNode, childNodes[index]);\n    } else {\n      style.appendChild(cssNode);\n    }\n  }\n}\n\nfunction applyToTag(style, options, obj) {\n  var css = obj.css;\n  var media = obj.media;\n  var sourceMap = obj.sourceMap;\n\n  if (media) {\n    style.setAttribute('media', media);\n  } else {\n    style.removeAttribute('media');\n  }\n\n  if (sourceMap && btoa) {\n    css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n  } // For old IE\n\n  /* istanbul ignore if  */\n\n\n  if (style.styleSheet) {\n    style.styleSheet.cssText = css;\n  } else {\n    while (style.firstChild) {\n      style.removeChild(style.firstChild);\n    }\n\n    style.appendChild(document.createTextNode(css));\n  }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n  var style;\n  var update;\n  var remove;\n\n  if (options.singleton) {\n    var styleIndex = singletonCounter++;\n    style = singleton || (singleton = insertStyleElement(options));\n    update = applyToSingletonTag.bind(null, style, styleIndex, false);\n    remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n  } else {\n    style = insertStyleElement(options);\n    update = applyToTag.bind(null, style, options);\n\n    remove = function remove() {\n      removeStyleElement(style);\n    };\n  }\n\n  update(obj);\n  return function updateStyle(newObj) {\n    if (newObj) {\n      if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n        return;\n      }\n\n      update(obj = newObj);\n    } else {\n      remove();\n    }\n  };\n}\n\nmodule.exports = function (list, options) {\n  options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n  // tags it will allow on a page\n\n  if (!options.singleton && typeof options.singleton !== 'boolean') {\n    options.singleton = isOldIE();\n  }\n\n  list = list || [];\n  var lastIdentifiers = modulesToDom(list, options);\n  return function update(newList) {\n    newList = newList || [];\n\n    if (Object.prototype.toString.call(newList) !== '[object Array]') {\n      return;\n    }\n\n    for (var i = 0; i < lastIdentifiers.length; i++) {\n      var identifier = lastIdentifiers[i];\n      var index = getIndexByIdentifier(identifier);\n      stylesInDom[index].references--;\n    }\n\n    var newLastIdentifiers = modulesToDom(newList, options);\n\n    for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n      var _identifier = lastIdentifiers[_i];\n\n      var _index = getIndexByIdentifier(_identifier);\n\n      if (stylesInDom[_index].references === 0) {\n        stylesInDom[_index].updater();\n\n        stylesInDom.splice(_index, 1);\n      }\n    }\n\n    lastIdentifiers = newLastIdentifiers;\n  };\n};\n\n/***/ }),\n\n/***/ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\":\n/*!******************************************************************************!*\\\n  !*** ./node_modules/styled-components/dist/styled-components.browser.esm.js ***!\n  \\******************************************************************************/\n/*! exports provided: default, createGlobalStyle, css, isStyledComponent, keyframes, ServerStyleSheet, StyleSheetConsumer, StyleSheetContext, StyleSheetManager, ThemeConsumer, ThemeContext, ThemeProvider, withTheme, __DO_NOT_USE_OR_YOU_WILL_BE_HAUNTED_BY_SPOOKY_GHOSTS */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createGlobalStyle\", function() { return createGlobalStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"css\", function() { return css; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isStyledComponent\", function() { return isStyledComponent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"keyframes\", function() { return keyframes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ServerStyleSheet\", function() { return ServerStyleSheet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"StyleSheetConsumer\", function() { return StyleSheetConsumer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"StyleSheetContext\", function() { return StyleSheetContext; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"StyleSheetManager\", function() { return StyleSheetManager; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ThemeConsumer\", function() { return ThemeConsumer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ThemeContext\", function() { return ThemeContext; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ThemeProvider\", function() { return ThemeProvider; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"withTheme\", function() { return withTheme; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__DO_NOT_USE_OR_YOU_WILL_BE_HAUNTED_BY_SPOOKY_GHOSTS\", function() { return __DO_NOT_USE_OR_YOU_WILL_BE_HAUNTED_BY_SPOOKY_GHOSTS; });\n/* harmony import */ var stylis_stylis_min__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! stylis/stylis.min */ \"./node_modules/stylis/stylis.min.js\");\n/* harmony import */ var stylis_stylis_min__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(stylis_stylis_min__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var stylis_rule_sheet__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! stylis-rule-sheet */ \"./node_modules/stylis-rule-sheet/index.js\");\n/* harmony import */ var stylis_rule_sheet__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(stylis_rule_sheet__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _emotion_unitless__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/unitless */ \"./node_modules/@emotion/unitless/dist/unitless.browser.esm.js\");\n/* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-is */ \"./node_modules/react-is/index.js\");\n/* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_is__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var memoize_one__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! memoize-one */ \"./node_modules/memoize-one/dist/memoize-one.esm.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _emotion_is_prop_valid__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @emotion/is-prop-valid */ \"./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js\");\n/* harmony import */ var merge_anything__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! merge-anything */ \"./node_modules/merge-anything/dist/index.esm.js\");\n\n\n\n\n\n\n\n\n\n\n// \n\nvar interleave = (function (strings, interpolations) {\n  var result = [strings[0]];\n\n  for (var i = 0, len = interpolations.length; i < len; i += 1) {\n    result.push(interpolations[i], strings[i + 1]);\n  }\n\n  return result;\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n  return typeof obj;\n} : function (obj) {\n  return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function (instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n};\n\nvar createClass = function () {\n  function defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n      var descriptor = props[i];\n      descriptor.enumerable = descriptor.enumerable || false;\n      descriptor.configurable = true;\n      if (\"value\" in descriptor) descriptor.writable = true;\n      Object.defineProperty(target, descriptor.key, descriptor);\n    }\n  }\n\n  return function (Constructor, protoProps, staticProps) {\n    if (protoProps) defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) defineProperties(Constructor, staticProps);\n    return Constructor;\n  };\n}();\n\nvar _extends = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\nvar inherits = function (subClass, superClass) {\n  if (typeof superClass !== \"function\" && superClass !== null) {\n    throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n  }\n\n  subClass.prototype = Object.create(superClass && superClass.prototype, {\n    constructor: {\n      value: subClass,\n      enumerable: false,\n      writable: true,\n      configurable: true\n    }\n  });\n  if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n  var target = {};\n\n  for (var i in obj) {\n    if (keys.indexOf(i) >= 0) continue;\n    if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n    target[i] = obj[i];\n  }\n\n  return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n  if (!self) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n\n  return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n// \nvar isPlainObject = (function (x) {\n  return (typeof x === 'undefined' ? 'undefined' : _typeof(x)) === 'object' && x.constructor === Object;\n});\n\n// \nvar EMPTY_ARRAY = Object.freeze([]);\nvar EMPTY_OBJECT = Object.freeze({});\n\n// \nfunction isFunction(test) {\n  return typeof test === 'function';\n}\n\n// \n\nfunction getComponentName(target) {\n  return ( true ? typeof target === 'string' && target : undefined) || target.displayName || target.name || 'Component';\n}\n\n// \nfunction isStatelessFunction(test) {\n  return typeof test === 'function' && !(test.prototype && test.prototype.isReactComponent);\n}\n\n// \nfunction isStyledComponent(target) {\n  return target && typeof target.styledComponentId === 'string';\n}\n\n// \n\nvar SC_ATTR = typeof process !== 'undefined' && (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR) || 'data-styled';\n\nvar SC_VERSION_ATTR = 'data-styled-version';\n\nvar SC_STREAM_ATTR = 'data-styled-streamed';\n\nvar IS_BROWSER = typeof window !== 'undefined' && 'HTMLElement' in window;\n\nvar DISABLE_SPEEDY = typeof SC_DISABLE_SPEEDY === 'boolean' && SC_DISABLE_SPEEDY || typeof process !== 'undefined' && (process.env.REACT_APP_SC_DISABLE_SPEEDY || process.env.SC_DISABLE_SPEEDY) || \"development\" !== 'production';\n\n// Shared empty execution context when generating static styles\nvar STATIC_EXECUTION_CONTEXT = {};\n\n// \n\n\n/**\n * Parse errors.md and turn it into a simple hash of code: message\n */\nvar ERRORS =  true ? {\n  \"1\": \"Cannot create styled-component for component: %s.\\n\\n\",\n  \"2\": \"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\n\\n- Are you trying to reuse it across renders?\\n- Are you accidentally calling collectStyles twice?\\n\\n\",\n  \"3\": \"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\n\\n\",\n  \"4\": \"The `StyleSheetManager` expects a valid target or sheet prop!\\n\\n- Does this error occur on the client and is your target falsy?\\n- Does this error occur on the server and is the sheet falsy?\\n\\n\",\n  \"5\": \"The clone method cannot be used on the client!\\n\\n- Are you running in a client-like environment on the server?\\n- Are you trying to run SSR on the client?\\n\\n\",\n  \"6\": \"Trying to insert a new style tag, but the given Node is unmounted!\\n\\n- Are you using a custom target that isn't mounted?\\n- Does your document not have a valid head element?\\n- Have you accidentally removed a style tag manually?\\n\\n\",\n  \"7\": \"ThemeProvider: Please return an object from your \\\"theme\\\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n\",\n  \"8\": \"ThemeProvider: Please make your \\\"theme\\\" prop an object.\\n\\n\",\n  \"9\": \"Missing document `<head>`\\n\\n\",\n  \"10\": \"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",\n  \"11\": \"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",\n  \"12\": \"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",\n  \"13\": \"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\"\n} : undefined;\n\n/**\n * super basic version of sprintf\n */\nfunction format() {\n  var a = arguments.length <= 0 ? undefined : arguments[0];\n  var b = [];\n\n  for (var c = 1, len = arguments.length; c < len; c += 1) {\n    b.push(arguments.length <= c ? undefined : arguments[c]);\n  }\n\n  b.forEach(function (d) {\n    a = a.replace(/%[a-z]/, d);\n  });\n\n  return a;\n}\n\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n */\n\nvar StyledComponentsError = function (_Error) {\n  inherits(StyledComponentsError, _Error);\n\n  function StyledComponentsError(code) {\n    classCallCheck(this, StyledComponentsError);\n\n    for (var _len = arguments.length, interpolations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      interpolations[_key - 1] = arguments[_key];\n    }\n\n    if (false) { var _this; } else {\n      var _this = possibleConstructorReturn(this, _Error.call(this, format.apply(undefined, [ERRORS[code]].concat(interpolations)).trim()));\n    }\n    return possibleConstructorReturn(_this);\n  }\n\n  return StyledComponentsError;\n}(Error);\n\n// \nvar SC_COMPONENT_ID = /^[^\\S\\n]*?\\/\\* sc-component-id:\\s*(\\S+)\\s+\\*\\//gm;\n\nvar extractComps = (function (maybeCSS) {\n  var css = '' + (maybeCSS || ''); // Definitely a string, and a clone\n  var existingComponents = [];\n  css.replace(SC_COMPONENT_ID, function (match, componentId, matchIndex) {\n    existingComponents.push({ componentId: componentId, matchIndex: matchIndex });\n    return match;\n  });\n  return existingComponents.map(function (_ref, i) {\n    var componentId = _ref.componentId,\n        matchIndex = _ref.matchIndex;\n\n    var nextComp = existingComponents[i + 1];\n    var cssFromDOM = nextComp ? css.slice(matchIndex, nextComp.matchIndex) : css.slice(matchIndex);\n    return { componentId: componentId, cssFromDOM: cssFromDOM };\n  });\n});\n\n// \n\nvar COMMENT_REGEX = /^\\s*\\/\\/.*$/gm;\n\n// NOTE: This stylis instance is only used to split rules from SSR'd style tags\nvar stylisSplitter = new stylis_stylis_min__WEBPACK_IMPORTED_MODULE_0___default.a({\n  global: false,\n  cascade: true,\n  keyframe: false,\n  prefix: false,\n  compress: false,\n  semicolon: true\n});\n\nvar stylis = new stylis_stylis_min__WEBPACK_IMPORTED_MODULE_0___default.a({\n  global: false,\n  cascade: true,\n  keyframe: false,\n  prefix: true,\n  compress: false,\n  semicolon: false // NOTE: This means \"autocomplete missing semicolons\"\n});\n\n// Wrap `insertRulePlugin to build a list of rules,\n// and then make our own plugin to return the rules. This\n// makes it easier to hook into the existing SSR architecture\n\nvar parsingRules = [];\n\n// eslint-disable-next-line consistent-return\nvar returnRulesPlugin = function returnRulesPlugin(context) {\n  if (context === -2) {\n    var parsedRules = parsingRules;\n    parsingRules = [];\n    return parsedRules;\n  }\n};\n\nvar parseRulesPlugin = stylis_rule_sheet__WEBPACK_IMPORTED_MODULE_1___default()(function (rule) {\n  parsingRules.push(rule);\n});\n\nvar _componentId = void 0;\nvar _selector = void 0;\nvar _selectorRegexp = void 0;\n\nvar selfReferenceReplacer = function selfReferenceReplacer(match, offset, string) {\n  if (\n  // the first self-ref is always untouched\n  offset > 0 &&\n  // there should be at least two self-refs to do a replacement (.b > .b)\n  string.slice(0, offset).indexOf(_selector) !== -1 &&\n  // no consecutive self refs (.b.b); that is a precedence boost and treated differently\n  string.slice(offset - _selector.length, offset) !== _selector) {\n    return '.' + _componentId;\n  }\n\n  return match;\n};\n\n/**\n * When writing a style like\n *\n * & + & {\n *   color: red;\n * }\n *\n * The second ampersand should be a reference to the static component class. stylis\n * has no knowledge of static class so we have to intelligently replace the base selector.\n */\nvar selfReferenceReplacementPlugin = function selfReferenceReplacementPlugin(context, _, selectors) {\n  if (context === 2 && selectors.length && selectors[0].lastIndexOf(_selector) > 0) {\n    // eslint-disable-next-line no-param-reassign\n    selectors[0] = selectors[0].replace(_selectorRegexp, selfReferenceReplacer);\n  }\n};\n\nstylis.use([selfReferenceReplacementPlugin, parseRulesPlugin, returnRulesPlugin]);\nstylisSplitter.use([parseRulesPlugin, returnRulesPlugin]);\n\nvar splitByRules = function splitByRules(css) {\n  return stylisSplitter('', css);\n};\n\nfunction stringifyRules(rules, selector, prefix) {\n  var componentId = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '&';\n\n  var flatCSS = rules.join('').replace(COMMENT_REGEX, ''); // replace JS comments\n\n  var cssStr = selector && prefix ? prefix + ' ' + selector + ' { ' + flatCSS + ' }' : flatCSS;\n\n  // stylis has no concept of state to be passed to plugins\n  // but since JS is single=threaded, we can rely on that to ensure\n  // these properties stay in sync with the current stylis run\n  _componentId = componentId;\n  _selector = selector;\n  _selectorRegexp = new RegExp('\\\\' + _selector + '\\\\b', 'g');\n\n  return stylis(prefix || !selector ? '' : selector, cssStr);\n}\n\n// \n/* eslint-disable camelcase, no-undef */\n\nvar getNonce = (function () {\n  return  true ? __webpack_require__.nc : undefined;\n});\n\n// \n/* These are helpers for the StyleTags to keep track of the injected\n * rule names for each (component) ID that they're keeping track of.\n * They're crucial for detecting whether a name has already been\n * injected.\n * (This excludes rehydrated names) */\n\n/* adds a new ID:name pairing to a names dictionary */\nvar addNameForId = function addNameForId(names, id, name) {\n  if (name) {\n    // eslint-disable-next-line no-param-reassign\n    var namesForId = names[id] || (names[id] = Object.create(null));\n    namesForId[name] = true;\n  }\n};\n\n/* resets an ID entirely by overwriting it in the dictionary */\nvar resetIdNames = function resetIdNames(names, id) {\n  // eslint-disable-next-line no-param-reassign\n  names[id] = Object.create(null);\n};\n\n/* factory for a names dictionary checking the existance of an ID:name pairing */\nvar hasNameForId = function hasNameForId(names) {\n  return function (id, name) {\n    return names[id] !== undefined && names[id][name];\n  };\n};\n\n/* stringifies names for the html/element output */\nvar stringifyNames = function stringifyNames(names) {\n  var str = '';\n  // eslint-disable-next-line guard-for-in\n  for (var id in names) {\n    str += Object.keys(names[id]).join(' ') + ' ';\n  }\n  return str.trim();\n};\n\n/* clones the nested names dictionary */\nvar cloneNames = function cloneNames(names) {\n  var clone = Object.create(null);\n  // eslint-disable-next-line guard-for-in\n  for (var id in names) {\n    clone[id] = _extends({}, names[id]);\n  }\n  return clone;\n};\n\n// \n\n/* These are helpers that deal with the insertRule (aka speedy) API\n * They are used in the StyleTags and specifically the speedy tag\n */\n\n/* retrieve a sheet for a given style tag */\nvar sheetForTag = function sheetForTag(tag) {\n  // $FlowFixMe\n  if (tag.sheet) return tag.sheet;\n\n  /* Firefox quirk requires us to step through all stylesheets to find one owned by the given tag */\n  var size = tag.ownerDocument.styleSheets.length;\n  for (var i = 0; i < size; i += 1) {\n    var sheet = tag.ownerDocument.styleSheets[i];\n    // $FlowFixMe\n    if (sheet.ownerNode === tag) return sheet;\n  }\n\n  /* we should always be able to find a tag */\n  throw new StyledComponentsError(10);\n};\n\n/* insert a rule safely and return whether it was actually injected */\nvar safeInsertRule = function safeInsertRule(sheet, cssRule, index) {\n  /* abort early if cssRule string is falsy */\n  if (!cssRule) return false;\n\n  var maxIndex = sheet.cssRules.length;\n\n  try {\n    /* use insertRule and cap passed index with maxIndex (no of cssRules) */\n    sheet.insertRule(cssRule, index <= maxIndex ? index : maxIndex);\n  } catch (err) {\n    /* any error indicates an invalid rule */\n    return false;\n  }\n\n  return true;\n};\n\n/* deletes `size` rules starting from `removalIndex` */\nvar deleteRules = function deleteRules(sheet, removalIndex, size) {\n  var lowerBound = removalIndex - size;\n  for (var i = removalIndex; i > lowerBound; i -= 1) {\n    sheet.deleteRule(i);\n  }\n};\n\n// \n\n/* this marker separates component styles and is important for rehydration */\nvar makeTextMarker = function makeTextMarker(id) {\n  return '\\n/* sc-component-id: ' + id + ' */\\n';\n};\n\n/* add up all numbers in array up until and including the index */\nvar addUpUntilIndex = function addUpUntilIndex(sizes, index) {\n  var totalUpToIndex = 0;\n  for (var i = 0; i <= index; i += 1) {\n    totalUpToIndex += sizes[i];\n  }\n\n  return totalUpToIndex;\n};\n\n/* create a new style tag after lastEl */\nvar makeStyleTag = function makeStyleTag(target, tagEl, insertBefore) {\n  var targetDocument = document;\n  if (target) targetDocument = target.ownerDocument;else if (tagEl) targetDocument = tagEl.ownerDocument;\n\n  var el = targetDocument.createElement('style');\n  el.setAttribute(SC_ATTR, '');\n  el.setAttribute(SC_VERSION_ATTR, \"4.4.0\");\n\n  var nonce = getNonce();\n  if (nonce) {\n    el.setAttribute('nonce', nonce);\n  }\n\n  /* Work around insertRule quirk in EdgeHTML */\n  el.appendChild(targetDocument.createTextNode(''));\n\n  if (target && !tagEl) {\n    /* Append to target when no previous element was passed */\n    target.appendChild(el);\n  } else {\n    if (!tagEl || !target || !tagEl.parentNode) {\n      throw new StyledComponentsError(6);\n    }\n\n    /* Insert new style tag after the previous one */\n    tagEl.parentNode.insertBefore(el, insertBefore ? tagEl : tagEl.nextSibling);\n  }\n\n  return el;\n};\n\n/* takes a css factory function and outputs an html styled tag factory */\nvar wrapAsHtmlTag = function wrapAsHtmlTag(css, names) {\n  return function (additionalAttrs) {\n    var nonce = getNonce();\n    var attrs = [nonce && 'nonce=\"' + nonce + '\"', SC_ATTR + '=\"' + stringifyNames(names) + '\"', SC_VERSION_ATTR + '=\"' + \"4.4.0\" + '\"', additionalAttrs];\n\n    var htmlAttr = attrs.filter(Boolean).join(' ');\n    return '<style ' + htmlAttr + '>' + css() + '</style>';\n  };\n};\n\n/* takes a css factory function and outputs an element factory */\nvar wrapAsElement = function wrapAsElement(css, names) {\n  return function () {\n    var _props;\n\n    var props = (_props = {}, _props[SC_ATTR] = stringifyNames(names), _props[SC_VERSION_ATTR] = \"4.4.0\", _props);\n\n    var nonce = getNonce();\n    if (nonce) {\n      // $FlowFixMe\n      props.nonce = nonce;\n    }\n\n    // eslint-disable-next-line react/no-danger\n    return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement('style', _extends({}, props, { dangerouslySetInnerHTML: { __html: css() } }));\n  };\n};\n\nvar getIdsFromMarkersFactory = function getIdsFromMarkersFactory(markers) {\n  return function () {\n    return Object.keys(markers);\n  };\n};\n\n/* speedy tags utilise insertRule */\nvar makeSpeedyTag = function makeSpeedyTag(el, getImportRuleTag) {\n  var names = Object.create(null);\n  var markers = Object.create(null);\n  var sizes = [];\n\n  var extractImport = getImportRuleTag !== undefined;\n  /* indicates whether getImportRuleTag was called */\n  var usedImportRuleTag = false;\n\n  var insertMarker = function insertMarker(id) {\n    var prev = markers[id];\n    if (prev !== undefined) {\n      return prev;\n    }\n\n    markers[id] = sizes.length;\n    sizes.push(0);\n    resetIdNames(names, id);\n\n    return markers[id];\n  };\n\n  var insertRules = function insertRules(id, cssRules, name) {\n    var marker = insertMarker(id);\n    var sheet = sheetForTag(el);\n    var insertIndex = addUpUntilIndex(sizes, marker);\n\n    var injectedRules = 0;\n    var importRules = [];\n    var cssRulesSize = cssRules.length;\n\n    for (var i = 0; i < cssRulesSize; i += 1) {\n      var cssRule = cssRules[i];\n      var mayHaveImport = extractImport; /* @import rules are reordered to appear first */\n      if (mayHaveImport && cssRule.indexOf('@import') !== -1) {\n        importRules.push(cssRule);\n      } else if (safeInsertRule(sheet, cssRule, insertIndex + injectedRules)) {\n        mayHaveImport = false;\n        injectedRules += 1;\n      }\n    }\n\n    if (extractImport && importRules.length > 0) {\n      usedImportRuleTag = true;\n      // $FlowFixMe\n      getImportRuleTag().insertRules(id + '-import', importRules);\n    }\n\n    sizes[marker] += injectedRules; /* add up no of injected rules */\n    addNameForId(names, id, name);\n  };\n\n  var removeRules = function removeRules(id) {\n    var marker = markers[id];\n    if (marker === undefined) return;\n    // $FlowFixMe\n    if (el.isConnected === false) return;\n\n    var size = sizes[marker];\n    var sheet = sheetForTag(el);\n    var removalIndex = addUpUntilIndex(sizes, marker) - 1;\n    deleteRules(sheet, removalIndex, size);\n    sizes[marker] = 0;\n    resetIdNames(names, id);\n\n    if (extractImport && usedImportRuleTag) {\n      // $FlowFixMe\n      getImportRuleTag().removeRules(id + '-import');\n    }\n  };\n\n  var css = function css() {\n    var _sheetForTag = sheetForTag(el),\n        cssRules = _sheetForTag.cssRules;\n\n    var str = '';\n\n    // eslint-disable-next-line guard-for-in\n    for (var id in markers) {\n      str += makeTextMarker(id);\n      var marker = markers[id];\n      var end = addUpUntilIndex(sizes, marker);\n      var size = sizes[marker];\n      for (var i = end - size; i < end; i += 1) {\n        var rule = cssRules[i];\n        if (rule !== undefined) {\n          str += rule.cssText;\n        }\n      }\n    }\n\n    return str;\n  };\n\n  return {\n    clone: function clone() {\n      throw new StyledComponentsError(5);\n    },\n\n    css: css,\n    getIds: getIdsFromMarkersFactory(markers),\n    hasNameForId: hasNameForId(names),\n    insertMarker: insertMarker,\n    insertRules: insertRules,\n    removeRules: removeRules,\n    sealed: false,\n    styleTag: el,\n    toElement: wrapAsElement(css, names),\n    toHTML: wrapAsHtmlTag(css, names)\n  };\n};\n\nvar makeTextNode = function makeTextNode(targetDocument, id) {\n  return targetDocument.createTextNode(makeTextMarker(id));\n};\n\nvar makeBrowserTag = function makeBrowserTag(el, getImportRuleTag) {\n  var names = Object.create(null);\n  var markers = Object.create(null);\n\n  var extractImport = getImportRuleTag !== undefined;\n\n  /* indicates whether getImportRuleTag was called */\n  var usedImportRuleTag = false;\n\n  var insertMarker = function insertMarker(id) {\n    var prev = markers[id];\n    if (prev !== undefined) {\n      return prev;\n    }\n\n    markers[id] = makeTextNode(el.ownerDocument, id);\n    el.appendChild(markers[id]);\n    names[id] = Object.create(null);\n\n    return markers[id];\n  };\n\n  var insertRules = function insertRules(id, cssRules, name) {\n    var marker = insertMarker(id);\n    var importRules = [];\n    var cssRulesSize = cssRules.length;\n\n    for (var i = 0; i < cssRulesSize; i += 1) {\n      var rule = cssRules[i];\n      var mayHaveImport = extractImport;\n      if (mayHaveImport && rule.indexOf('@import') !== -1) {\n        importRules.push(rule);\n      } else {\n        mayHaveImport = false;\n        var separator = i === cssRulesSize - 1 ? '' : ' ';\n        marker.appendData('' + rule + separator);\n      }\n    }\n\n    addNameForId(names, id, name);\n\n    if (extractImport && importRules.length > 0) {\n      usedImportRuleTag = true;\n      // $FlowFixMe\n      getImportRuleTag().insertRules(id + '-import', importRules);\n    }\n  };\n\n  var removeRules = function removeRules(id) {\n    var marker = markers[id];\n    if (marker === undefined) return;\n\n    /* create new empty text node and replace the current one */\n    var newMarker = makeTextNode(el.ownerDocument, id);\n    el.replaceChild(newMarker, marker);\n    markers[id] = newMarker;\n    resetIdNames(names, id);\n\n    if (extractImport && usedImportRuleTag) {\n      // $FlowFixMe\n      getImportRuleTag().removeRules(id + '-import');\n    }\n  };\n\n  var css = function css() {\n    var str = '';\n\n    // eslint-disable-next-line guard-for-in\n    for (var id in markers) {\n      str += markers[id].data;\n    }\n\n    return str;\n  };\n\n  return {\n    clone: function clone() {\n      throw new StyledComponentsError(5);\n    },\n\n    css: css,\n    getIds: getIdsFromMarkersFactory(markers),\n    hasNameForId: hasNameForId(names),\n    insertMarker: insertMarker,\n    insertRules: insertRules,\n    removeRules: removeRules,\n    sealed: false,\n    styleTag: el,\n    toElement: wrapAsElement(css, names),\n    toHTML: wrapAsHtmlTag(css, names)\n  };\n};\n\nvar makeServerTag = function makeServerTag(namesArg, markersArg) {\n  var names = namesArg === undefined ? Object.create(null) : namesArg;\n  var markers = markersArg === undefined ? Object.create(null) : markersArg;\n\n  var insertMarker = function insertMarker(id) {\n    var prev = markers[id];\n    if (prev !== undefined) {\n      return prev;\n    }\n\n    return markers[id] = [''];\n  };\n\n  var insertRules = function insertRules(id, cssRules, name) {\n    var marker = insertMarker(id);\n    marker[0] += cssRules.join(' ');\n    addNameForId(names, id, name);\n  };\n\n  var removeRules = function removeRules(id) {\n    var marker = markers[id];\n    if (marker === undefined) return;\n    marker[0] = '';\n    resetIdNames(names, id);\n  };\n\n  var css = function css() {\n    var str = '';\n    // eslint-disable-next-line guard-for-in\n    for (var id in markers) {\n      var cssForId = markers[id][0];\n      if (cssForId) {\n        str += makeTextMarker(id) + cssForId;\n      }\n    }\n    return str;\n  };\n\n  var clone = function clone() {\n    var namesClone = cloneNames(names);\n    var markersClone = Object.create(null);\n\n    // eslint-disable-next-line guard-for-in\n    for (var id in markers) {\n      markersClone[id] = [markers[id][0]];\n    }\n\n    return makeServerTag(namesClone, markersClone);\n  };\n\n  var tag = {\n    clone: clone,\n    css: css,\n    getIds: getIdsFromMarkersFactory(markers),\n    hasNameForId: hasNameForId(names),\n    insertMarker: insertMarker,\n    insertRules: insertRules,\n    removeRules: removeRules,\n    sealed: false,\n    styleTag: null,\n    toElement: wrapAsElement(css, names),\n    toHTML: wrapAsHtmlTag(css, names)\n  };\n\n  return tag;\n};\n\nvar makeTag = function makeTag(target, tagEl, forceServer, insertBefore, getImportRuleTag) {\n  if (IS_BROWSER && !forceServer) {\n    var el = makeStyleTag(target, tagEl, insertBefore);\n\n    if (DISABLE_SPEEDY) {\n      return makeBrowserTag(el, getImportRuleTag);\n    } else {\n      return makeSpeedyTag(el, getImportRuleTag);\n    }\n  }\n\n  return makeServerTag();\n};\n\nvar rehydrate = function rehydrate(tag, els, extracted) {\n  /* add all extracted components to the new tag */\n  for (var i = 0, len = extracted.length; i < len; i += 1) {\n    var _extracted$i = extracted[i],\n        componentId = _extracted$i.componentId,\n        cssFromDOM = _extracted$i.cssFromDOM;\n\n    var cssRules = splitByRules(cssFromDOM);\n    tag.insertRules(componentId, cssRules);\n  }\n\n  /* remove old HTMLStyleElements, since they have been rehydrated */\n  for (var _i = 0, _len = els.length; _i < _len; _i += 1) {\n    var el = els[_i];\n    if (el.parentNode) {\n      el.parentNode.removeChild(el);\n    }\n  }\n};\n\n// \n\nvar SPLIT_REGEX = /\\s+/;\n\n/* determine the maximum number of components before tags are sharded */\nvar MAX_SIZE = void 0;\nif (IS_BROWSER) {\n  /* in speedy mode we can keep a lot more rules in a sheet before a slowdown can be expected */\n  MAX_SIZE = DISABLE_SPEEDY ? 40 : 1000;\n} else {\n  /* for servers we do not need to shard at all */\n  MAX_SIZE = -1;\n}\n\nvar sheetRunningId = 0;\nvar master = void 0;\n\nvar StyleSheet = function () {\n\n  /* a map from ids to tags */\n\n  /* deferred rules for a given id */\n\n  /* this is used for not reinjecting rules via hasNameForId() */\n\n  /* when rules for an id are removed using remove() we have to ignore rehydratedNames for it */\n\n  /* a list of tags belonging to this StyleSheet */\n\n  /* a tag for import rules */\n\n  /* current capacity until a new tag must be created */\n\n  /* children (aka clones) of this StyleSheet inheriting all and future injections */\n\n  function StyleSheet() {\n    var _this = this;\n\n    var target = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : IS_BROWSER ? document.head : null;\n    var forceServer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n    classCallCheck(this, StyleSheet);\n\n    this.getImportRuleTag = function () {\n      var importRuleTag = _this.importRuleTag;\n\n      if (importRuleTag !== undefined) {\n        return importRuleTag;\n      }\n\n      var firstTag = _this.tags[0];\n      var insertBefore = true;\n\n      return _this.importRuleTag = makeTag(_this.target, firstTag ? firstTag.styleTag : null, _this.forceServer, insertBefore);\n    };\n\n    sheetRunningId += 1;\n    this.id = sheetRunningId;\n    this.forceServer = forceServer;\n    this.target = forceServer ? null : target;\n    this.tagMap = {};\n    this.deferred = {};\n    this.rehydratedNames = {};\n    this.ignoreRehydratedNames = {};\n    this.tags = [];\n    this.capacity = 1;\n    this.clones = [];\n  }\n\n  /* rehydrate all SSR'd style tags */\n\n\n  StyleSheet.prototype.rehydrate = function rehydrate$$1() {\n    if (!IS_BROWSER || this.forceServer) return this;\n\n    var els = [];\n    var extracted = [];\n    var isStreamed = false;\n\n    /* retrieve all of our SSR style elements from the DOM */\n    var nodes = document.querySelectorAll('style[' + SC_ATTR + '][' + SC_VERSION_ATTR + '=\"' + \"4.4.0\" + '\"]');\n\n    var nodesSize = nodes.length;\n\n    /* abort rehydration if no previous style tags were found */\n    if (!nodesSize) return this;\n\n    for (var i = 0; i < nodesSize; i += 1) {\n      var el = nodes[i];\n\n      /* check if style tag is a streamed tag */\n      if (!isStreamed) isStreamed = !!el.getAttribute(SC_STREAM_ATTR);\n\n      /* retrieve all component names */\n      var elNames = (el.getAttribute(SC_ATTR) || '').trim().split(SPLIT_REGEX);\n      var elNamesSize = elNames.length;\n      for (var j = 0, name; j < elNamesSize; j += 1) {\n        name = elNames[j];\n        /* add rehydrated name to sheet to avoid re-adding styles */\n        this.rehydratedNames[name] = true;\n      }\n\n      /* extract all components and their CSS */\n      extracted.push.apply(extracted, extractComps(el.textContent));\n\n      /* store original HTMLStyleElement */\n      els.push(el);\n    }\n\n    /* abort rehydration if nothing was extracted */\n    var extractedSize = extracted.length;\n    if (!extractedSize) return this;\n\n    /* create a tag to be used for rehydration */\n    var tag = this.makeTag(null);\n\n    rehydrate(tag, els, extracted);\n\n    /* reset capacity and adjust MAX_SIZE by the initial size of the rehydration */\n    this.capacity = Math.max(1, MAX_SIZE - extractedSize);\n    this.tags.push(tag);\n\n    /* retrieve all component ids */\n    for (var _j = 0; _j < extractedSize; _j += 1) {\n      this.tagMap[extracted[_j].componentId] = tag;\n    }\n\n    return this;\n  };\n\n  /* retrieve a \"master\" instance of StyleSheet which is typically used when no other is available\n   * The master StyleSheet is targeted by createGlobalStyle, keyframes, and components outside of any\n    * StyleSheetManager's context */\n\n\n  /* reset the internal \"master\" instance */\n  StyleSheet.reset = function reset() {\n    var forceServer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n    master = new StyleSheet(undefined, forceServer).rehydrate();\n  };\n\n  /* adds \"children\" to the StyleSheet that inherit all of the parents' rules\n   * while their own rules do not affect the parent */\n\n\n  StyleSheet.prototype.clone = function clone() {\n    var sheet = new StyleSheet(this.target, this.forceServer);\n\n    /* add to clone array */\n    this.clones.push(sheet);\n\n    /* clone all tags */\n    sheet.tags = this.tags.map(function (tag) {\n      var ids = tag.getIds();\n      var newTag = tag.clone();\n\n      /* reconstruct tagMap */\n      for (var i = 0; i < ids.length; i += 1) {\n        sheet.tagMap[ids[i]] = newTag;\n      }\n\n      return newTag;\n    });\n\n    /* clone other maps */\n    sheet.rehydratedNames = _extends({}, this.rehydratedNames);\n    sheet.deferred = _extends({}, this.deferred);\n\n    return sheet;\n  };\n\n  /* force StyleSheet to create a new tag on the next injection */\n\n\n  StyleSheet.prototype.sealAllTags = function sealAllTags() {\n    this.capacity = 1;\n\n    this.tags.forEach(function (tag) {\n      // eslint-disable-next-line no-param-reassign\n      tag.sealed = true;\n    });\n  };\n\n  StyleSheet.prototype.makeTag = function makeTag$$1(tag) {\n    var lastEl = tag ? tag.styleTag : null;\n    var insertBefore = false;\n\n    return makeTag(this.target, lastEl, this.forceServer, insertBefore, this.getImportRuleTag);\n  };\n\n  /* get a tag for a given componentId, assign the componentId to one, or shard */\n  StyleSheet.prototype.getTagForId = function getTagForId(id) {\n    /* simply return a tag, when the componentId was already assigned one */\n    var prev = this.tagMap[id];\n    if (prev !== undefined && !prev.sealed) {\n      return prev;\n    }\n\n    var tag = this.tags[this.tags.length - 1];\n\n    /* shard (create a new tag) if the tag is exhausted (See MAX_SIZE) */\n    this.capacity -= 1;\n\n    if (this.capacity === 0) {\n      this.capacity = MAX_SIZE;\n      tag = this.makeTag(tag);\n      this.tags.push(tag);\n    }\n\n    return this.tagMap[id] = tag;\n  };\n\n  /* mainly for createGlobalStyle to check for its id */\n\n\n  StyleSheet.prototype.hasId = function hasId(id) {\n    return this.tagMap[id] !== undefined;\n  };\n\n  /* caching layer checking id+name to already have a corresponding tag and injected rules */\n\n\n  StyleSheet.prototype.hasNameForId = function hasNameForId(id, name) {\n    /* exception for rehydrated names which are checked separately */\n    if (this.ignoreRehydratedNames[id] === undefined && this.rehydratedNames[name]) {\n      return true;\n    }\n\n    var tag = this.tagMap[id];\n    return tag !== undefined && tag.hasNameForId(id, name);\n  };\n\n  /* registers a componentId and registers it on its tag */\n\n\n  StyleSheet.prototype.deferredInject = function deferredInject(id, cssRules) {\n    /* don't inject when the id is already registered */\n    if (this.tagMap[id] !== undefined) return;\n\n    var clones = this.clones;\n\n    for (var i = 0; i < clones.length; i += 1) {\n      clones[i].deferredInject(id, cssRules);\n    }\n\n    this.getTagForId(id).insertMarker(id);\n    this.deferred[id] = cssRules;\n  };\n\n  /* injects rules for a given id with a name that will need to be cached */\n\n\n  StyleSheet.prototype.inject = function inject(id, cssRules, name) {\n    var clones = this.clones;\n\n\n    for (var i = 0; i < clones.length; i += 1) {\n      clones[i].inject(id, cssRules, name);\n    }\n\n    var tag = this.getTagForId(id);\n\n    /* add deferred rules for component */\n    if (this.deferred[id] !== undefined) {\n      // Combine passed cssRules with previously deferred CSS rules\n      // NOTE: We cannot mutate the deferred array itself as all clones\n      // do the same (see clones[i].inject)\n      var rules = this.deferred[id].concat(cssRules);\n      tag.insertRules(id, rules, name);\n\n      this.deferred[id] = undefined;\n    } else {\n      tag.insertRules(id, cssRules, name);\n    }\n  };\n\n  /* removes all rules for a given id, which doesn't remove its marker but resets it */\n\n\n  StyleSheet.prototype.remove = function remove(id) {\n    var tag = this.tagMap[id];\n    if (tag === undefined) return;\n\n    var clones = this.clones;\n\n    for (var i = 0; i < clones.length; i += 1) {\n      clones[i].remove(id);\n    }\n\n    /* remove all rules from the tag */\n    tag.removeRules(id);\n\n    /* ignore possible rehydrated names */\n    this.ignoreRehydratedNames[id] = true;\n\n    /* delete possible deferred rules */\n    this.deferred[id] = undefined;\n  };\n\n  StyleSheet.prototype.toHTML = function toHTML() {\n    return this.tags.map(function (tag) {\n      return tag.toHTML();\n    }).join('');\n  };\n\n  StyleSheet.prototype.toReactElements = function toReactElements() {\n    var id = this.id;\n\n\n    return this.tags.map(function (tag, i) {\n      var key = 'sc-' + id + '-' + i;\n      return Object(react__WEBPACK_IMPORTED_MODULE_2__[\"cloneElement\"])(tag.toElement(), { key: key });\n    });\n  };\n\n  createClass(StyleSheet, null, [{\n    key: 'master',\n    get: function get$$1() {\n      return master || (master = new StyleSheet().rehydrate());\n    }\n\n    /* NOTE: This is just for backwards-compatibility with jest-styled-components */\n\n  }, {\n    key: 'instance',\n    get: function get$$1() {\n      return StyleSheet.master;\n    }\n  }]);\n  return StyleSheet;\n}();\n\n// \n\nvar Keyframes = function () {\n  function Keyframes(name, rules) {\n    var _this = this;\n\n    classCallCheck(this, Keyframes);\n\n    this.inject = function (styleSheet) {\n      if (!styleSheet.hasNameForId(_this.id, _this.name)) {\n        styleSheet.inject(_this.id, _this.rules, _this.name);\n      }\n    };\n\n    this.toString = function () {\n      throw new StyledComponentsError(12, String(_this.name));\n    };\n\n    this.name = name;\n    this.rules = rules;\n\n    this.id = 'sc-keyframes-' + name;\n  }\n\n  Keyframes.prototype.getName = function getName() {\n    return this.name;\n  };\n\n  return Keyframes;\n}();\n\n// \n\n/**\n * inlined version of\n * https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/hyphenateStyleName.js\n */\n\nvar uppercasePattern = /([A-Z])/g;\nvar msPattern = /^ms-/;\n\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n *   > hyphenateStyleName('backgroundColor')\n *   < \"background-color\"\n *   > hyphenateStyleName('MozTransition')\n *   < \"-moz-transition\"\n *   > hyphenateStyleName('msTransition')\n *   < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n *\n * @param {string} string\n * @return {string}\n */\nfunction hyphenateStyleName(string) {\n  return string.replace(uppercasePattern, '-$1').toLowerCase().replace(msPattern, '-ms-');\n}\n\n// \n\n// Taken from https://github.com/facebook/react/blob/b87aabdfe1b7461e7331abb3601d9e6bb27544bc/packages/react-dom/src/shared/dangerousStyleValue.js\nfunction addUnitIfNeeded(name, value) {\n  // https://github.com/amilajack/eslint-plugin-flowtype-errors/issues/133\n  // $FlowFixMe\n  if (value == null || typeof value === 'boolean' || value === '') {\n    return '';\n  }\n\n  if (typeof value === 'number' && value !== 0 && !(name in _emotion_unitless__WEBPACK_IMPORTED_MODULE_3__[\"default\"])) {\n    return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n  }\n\n  return String(value).trim();\n}\n\n// \n\n/**\n * It's falsish not falsy because 0 is allowed.\n */\nvar isFalsish = function isFalsish(chunk) {\n  return chunk === undefined || chunk === null || chunk === false || chunk === '';\n};\n\nvar objToCssArray = function objToCssArray(obj, prevKey) {\n  var rules = [];\n  var keys = Object.keys(obj);\n\n  keys.forEach(function (key) {\n    if (!isFalsish(obj[key])) {\n      if (isPlainObject(obj[key])) {\n        rules.push.apply(rules, objToCssArray(obj[key], key));\n\n        return rules;\n      } else if (isFunction(obj[key])) {\n        rules.push(hyphenateStyleName(key) + ':', obj[key], ';');\n\n        return rules;\n      }\n      rules.push(hyphenateStyleName(key) + ': ' + addUnitIfNeeded(key, obj[key]) + ';');\n    }\n    return rules;\n  });\n\n  return prevKey ? [prevKey + ' {'].concat(rules, ['}']) : rules;\n};\n\nfunction flatten(chunk, executionContext, styleSheet) {\n  if (Array.isArray(chunk)) {\n    var ruleSet = [];\n\n    for (var i = 0, len = chunk.length, result; i < len; i += 1) {\n      result = flatten(chunk[i], executionContext, styleSheet);\n\n      if (result === null) continue;else if (Array.isArray(result)) ruleSet.push.apply(ruleSet, result);else ruleSet.push(result);\n    }\n\n    return ruleSet;\n  }\n\n  if (isFalsish(chunk)) {\n    return null;\n  }\n\n  /* Handle other components */\n  if (isStyledComponent(chunk)) {\n    return '.' + chunk.styledComponentId;\n  }\n\n  /* Either execute or defer the function */\n  if (isFunction(chunk)) {\n    if (isStatelessFunction(chunk) && executionContext) {\n      var _result = chunk(executionContext);\n\n      if ( true && Object(react_is__WEBPACK_IMPORTED_MODULE_4__[\"isElement\"])(_result)) {\n        // eslint-disable-next-line no-console\n        console.warn(getComponentName(chunk) + ' is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.');\n      }\n\n      return flatten(_result, executionContext, styleSheet);\n    } else return chunk;\n  }\n\n  if (chunk instanceof Keyframes) {\n    if (styleSheet) {\n      chunk.inject(styleSheet);\n      return chunk.getName();\n    } else return chunk;\n  }\n\n  /* Handle objects */\n  return isPlainObject(chunk) ? objToCssArray(chunk) : chunk.toString();\n}\n\n// \n\nfunction css(styles) {\n  for (var _len = arguments.length, interpolations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    interpolations[_key - 1] = arguments[_key];\n  }\n\n  if (isFunction(styles) || isPlainObject(styles)) {\n    // $FlowFixMe\n    return flatten(interleave(EMPTY_ARRAY, [styles].concat(interpolations)));\n  }\n\n  // $FlowFixMe\n  return flatten(interleave(styles, interpolations));\n}\n\n// \n\nfunction constructWithOptions(componentConstructor, tag) {\n  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : EMPTY_OBJECT;\n\n  if (!Object(react_is__WEBPACK_IMPORTED_MODULE_4__[\"isValidElementType\"])(tag)) {\n    throw new StyledComponentsError(1, String(tag));\n  }\n\n  /* This is callable directly as a template function */\n  // $FlowFixMe: Not typed to avoid destructuring arguments\n  var templateFunction = function templateFunction() {\n    return componentConstructor(tag, options, css.apply(undefined, arguments));\n  };\n\n  /* If config methods are called, wrap up a new template function and merge options */\n  templateFunction.withConfig = function (config) {\n    return constructWithOptions(componentConstructor, tag, _extends({}, options, config));\n  };\n\n  /* Modify/inject new props at runtime */\n  templateFunction.attrs = function (attrs) {\n    return constructWithOptions(componentConstructor, tag, _extends({}, options, {\n      attrs: Array.prototype.concat(options.attrs, attrs).filter(Boolean)\n    }));\n  };\n\n  return templateFunction;\n}\n\n// \n// Source: https://github.com/garycourt/murmurhash-js/blob/master/murmurhash2_gc.js\nfunction murmurhash(c) {\n  for (var e = c.length | 0, a = e | 0, d = 0, b; e >= 4;) {\n    b = c.charCodeAt(d) & 255 | (c.charCodeAt(++d) & 255) << 8 | (c.charCodeAt(++d) & 255) << 16 | (c.charCodeAt(++d) & 255) << 24, b = 1540483477 * (b & 65535) + ((1540483477 * (b >>> 16) & 65535) << 16), b ^= b >>> 24, b = 1540483477 * (b & 65535) + ((1540483477 * (b >>> 16) & 65535) << 16), a = 1540483477 * (a & 65535) + ((1540483477 * (a >>> 16) & 65535) << 16) ^ b, e -= 4, ++d;\n  }\n  switch (e) {\n    case 3:\n      a ^= (c.charCodeAt(d + 2) & 255) << 16;\n    case 2:\n      a ^= (c.charCodeAt(d + 1) & 255) << 8;\n    case 1:\n      a ^= c.charCodeAt(d) & 255, a = 1540483477 * (a & 65535) + ((1540483477 * (a >>> 16) & 65535) << 16);\n  }\n  a ^= a >>> 13;\n  a = 1540483477 * (a & 65535) + ((1540483477 * (a >>> 16) & 65535) << 16);\n  return (a ^ a >>> 15) >>> 0;\n}\n\n// \n/* eslint-disable no-bitwise */\n\n/* This is the \"capacity\" of our alphabet i.e. 2x26 for all letters plus their capitalised\n * counterparts */\nvar charsLength = 52;\n\n/* start at 75 for 'a' until 'z' (25) and then start at 65 for capitalised letters */\nvar getAlphabeticChar = function getAlphabeticChar(code) {\n  return String.fromCharCode(code + (code > 25 ? 39 : 97));\n};\n\n/* input a number, usually a hash and convert it to base-52 */\nfunction generateAlphabeticName(code) {\n  var name = '';\n  var x = void 0;\n\n  /* get a char and divide by alphabet-length */\n  for (x = code; x > charsLength; x = Math.floor(x / charsLength)) {\n    name = getAlphabeticChar(x % charsLength) + name;\n  }\n\n  return getAlphabeticChar(x % charsLength) + name;\n}\n\n// \n\nfunction hasFunctionObjectKey(obj) {\n  // eslint-disable-next-line guard-for-in, no-restricted-syntax\n  for (var key in obj) {\n    if (isFunction(obj[key])) {\n      return true;\n    }\n  }\n\n  return false;\n}\n\nfunction isStaticRules(rules, attrs) {\n  for (var i = 0; i < rules.length; i += 1) {\n    var rule = rules[i];\n\n    // recursive case\n    if (Array.isArray(rule) && !isStaticRules(rule, attrs)) {\n      return false;\n    } else if (isFunction(rule) && !isStyledComponent(rule)) {\n      // functions are allowed to be static if they're just being\n      // used to get the classname of a nested styled component\n      return false;\n    }\n  }\n\n  if (attrs.some(function (x) {\n    return isFunction(x) || hasFunctionObjectKey(x);\n  })) return false;\n\n  return true;\n}\n\n// \n\n/* combines hashStr (murmurhash) and nameGenerator for convenience */\nvar hasher = function hasher(str) {\n  return generateAlphabeticName(murmurhash(str));\n};\n\n/*\n ComponentStyle is all the CSS-specific stuff, not\n the React-specific stuff.\n */\n\nvar ComponentStyle = function () {\n  function ComponentStyle(rules, attrs, componentId) {\n    classCallCheck(this, ComponentStyle);\n\n    this.rules = rules;\n    this.isStatic =  false && false;\n    this.componentId = componentId;\n\n    if (!StyleSheet.master.hasId(componentId)) {\n      StyleSheet.master.deferredInject(componentId, []);\n    }\n  }\n\n  /*\n   * Flattens a rule set into valid CSS\n   * Hashes it, wraps the whole chunk in a .hash1234 {}\n   * Returns the hash to be injected on render()\n   * */\n\n\n  ComponentStyle.prototype.generateAndInjectStyles = function generateAndInjectStyles(executionContext, styleSheet) {\n    var isStatic = this.isStatic,\n        componentId = this.componentId,\n        lastClassName = this.lastClassName;\n\n    if (IS_BROWSER && isStatic && typeof lastClassName === 'string' && styleSheet.hasNameForId(componentId, lastClassName)) {\n      return lastClassName;\n    }\n\n    var flatCSS = flatten(this.rules, executionContext, styleSheet);\n    var name = hasher(this.componentId + flatCSS.join(''));\n    if (!styleSheet.hasNameForId(componentId, name)) {\n      styleSheet.inject(this.componentId, stringifyRules(flatCSS, '.' + name, undefined, componentId), name);\n    }\n\n    this.lastClassName = name;\n    return name;\n  };\n\n  ComponentStyle.generateName = function generateName(str) {\n    return hasher(str);\n  };\n\n  return ComponentStyle;\n}();\n\n// \n\nvar LIMIT = 200;\n\nvar createWarnTooManyClasses = (function (displayName) {\n  var generatedClasses = {};\n  var warningSeen = false;\n\n  return function (className) {\n    if (!warningSeen) {\n      generatedClasses[className] = true;\n      if (Object.keys(generatedClasses).length >= LIMIT) {\n        // Unable to find latestRule in test environment.\n        /* eslint-disable no-console, prefer-template */\n        console.warn('Over ' + LIMIT + ' classes were generated for component ' + displayName + '. \\n' + 'Consider using the attrs method, together with a style object for frequently changed styles.\\n' + 'Example:\\n' + '  const Component = styled.div.attrs(props => ({\\n' + '    style: {\\n' + '      background: props.background,\\n' + '    },\\n' + '  }))`width: 100%;`\\n\\n' + '  <Component />');\n        warningSeen = true;\n        generatedClasses = {};\n      }\n    }\n  };\n});\n\n// \n\nvar determineTheme = (function (props, fallbackTheme) {\n  var defaultProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : EMPTY_OBJECT;\n\n  // Props should take precedence over ThemeProvider, which should take precedence over\n  // defaultProps, but React automatically puts defaultProps on props.\n\n  /* eslint-disable react/prop-types, flowtype-errors/show-errors */\n  var isDefaultTheme = defaultProps ? props.theme === defaultProps.theme : false;\n  var theme = props.theme && !isDefaultTheme ? props.theme : fallbackTheme || defaultProps.theme;\n  /* eslint-enable */\n\n  return theme;\n});\n\n// \nvar escapeRegex = /[[\\].#*$><+~=|^:(),\"'`-]+/g;\nvar dashesAtEnds = /(^-|-$)/g;\n\n/**\n * TODO: Explore using CSS.escape when it becomes more available\n * in evergreen browsers.\n */\nfunction escape(str) {\n  return str\n  // Replace all possible CSS selectors\n  .replace(escapeRegex, '-')\n\n  // Remove extraneous hyphens at the start and end\n  .replace(dashesAtEnds, '');\n}\n\n// \n\nfunction isTag(target) {\n  return typeof target === 'string' && ( true ? target.charAt(0) === target.charAt(0).toLowerCase() : undefined);\n}\n\n// \n\nfunction generateDisplayName(target) {\n  // $FlowFixMe\n  return isTag(target) ? 'styled.' + target : 'Styled(' + getComponentName(target) + ')';\n}\n\nvar _TYPE_STATICS;\n\nvar REACT_STATICS = {\n  childContextTypes: true,\n  contextTypes: true,\n  defaultProps: true,\n  displayName: true,\n  getDerivedStateFromProps: true,\n  propTypes: true,\n  type: true\n};\n\nvar KNOWN_STATICS = {\n  name: true,\n  length: true,\n  prototype: true,\n  caller: true,\n  callee: true,\n  arguments: true,\n  arity: true\n};\n\nvar TYPE_STATICS = (_TYPE_STATICS = {}, _TYPE_STATICS[react_is__WEBPACK_IMPORTED_MODULE_4__[\"ForwardRef\"]] = {\n  $$typeof: true,\n  render: true\n}, _TYPE_STATICS);\n\nvar defineProperty$1 = Object.defineProperty,\n    getOwnPropertyNames = Object.getOwnPropertyNames,\n    _Object$getOwnPropert = Object.getOwnPropertySymbols,\n    getOwnPropertySymbols = _Object$getOwnPropert === undefined ? function () {\n  return [];\n} : _Object$getOwnPropert,\n    getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor,\n    getPrototypeOf = Object.getPrototypeOf,\n    objectPrototype = Object.prototype;\nvar arrayPrototype = Array.prototype;\n\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n  if (typeof sourceComponent !== 'string') {\n    // don't hoist over string (html) components\n\n    var inheritedComponent = getPrototypeOf(sourceComponent);\n\n    if (inheritedComponent && inheritedComponent !== objectPrototype) {\n      hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n    }\n\n    var keys = arrayPrototype.concat(getOwnPropertyNames(sourceComponent),\n    // $FlowFixMe\n    getOwnPropertySymbols(sourceComponent));\n\n    var targetStatics = TYPE_STATICS[targetComponent.$$typeof] || REACT_STATICS;\n\n    var sourceStatics = TYPE_STATICS[sourceComponent.$$typeof] || REACT_STATICS;\n\n    var i = keys.length;\n    var descriptor = void 0;\n    var key = void 0;\n\n    // eslint-disable-next-line no-plusplus\n    while (i--) {\n      key = keys[i];\n\n      if (\n      // $FlowFixMe\n      !KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) &&\n      // $FlowFixMe\n      !(targetStatics && targetStatics[key])) {\n        descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n        if (descriptor) {\n          try {\n            // Avoid failures from read-only properties\n            defineProperty$1(targetComponent, key, descriptor);\n          } catch (e) {\n            /* fail silently */\n          }\n        }\n      }\n    }\n\n    return targetComponent;\n  }\n\n  return targetComponent;\n}\n\n// \nfunction isDerivedReactComponent(fn) {\n  return !!(fn && fn.prototype && fn.prototype.isReactComponent);\n}\n\n// \n// Helper to call a given function, only once\nvar once = (function (cb) {\n  var called = false;\n\n  return function () {\n    if (!called) {\n      called = true;\n      cb.apply(undefined, arguments);\n    }\n  };\n});\n\n// \n\nvar ThemeContext = Object(react__WEBPACK_IMPORTED_MODULE_2__[\"createContext\"])();\n\nvar ThemeConsumer = ThemeContext.Consumer;\n\n/**\n * Provide a theme to an entire react component tree via context\n */\n\nvar ThemeProvider = function (_Component) {\n  inherits(ThemeProvider, _Component);\n\n  function ThemeProvider(props) {\n    classCallCheck(this, ThemeProvider);\n\n    var _this = possibleConstructorReturn(this, _Component.call(this, props));\n\n    _this.getContext = Object(memoize_one__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(_this.getContext.bind(_this));\n    _this.renderInner = _this.renderInner.bind(_this);\n    return _this;\n  }\n\n  ThemeProvider.prototype.render = function render() {\n    if (!this.props.children) return null;\n\n    return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(\n      ThemeContext.Consumer,\n      null,\n      this.renderInner\n    );\n  };\n\n  ThemeProvider.prototype.renderInner = function renderInner(outerTheme) {\n    var context = this.getContext(this.props.theme, outerTheme);\n\n    return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(\n      ThemeContext.Provider,\n      { value: context },\n      this.props.children\n    );\n  };\n\n  /**\n   * Get the theme from the props, supporting both (outerTheme) => {}\n   * as well as object notation\n   */\n\n\n  ThemeProvider.prototype.getTheme = function getTheme(theme, outerTheme) {\n    if (isFunction(theme)) {\n      var mergedTheme = theme(outerTheme);\n\n      if ( true && (mergedTheme === null || Array.isArray(mergedTheme) || (typeof mergedTheme === 'undefined' ? 'undefined' : _typeof(mergedTheme)) !== 'object')) {\n        throw new StyledComponentsError(7);\n      }\n\n      return mergedTheme;\n    }\n\n    if (theme === null || Array.isArray(theme) || (typeof theme === 'undefined' ? 'undefined' : _typeof(theme)) !== 'object') {\n      throw new StyledComponentsError(8);\n    }\n\n    return _extends({}, outerTheme, theme);\n  };\n\n  ThemeProvider.prototype.getContext = function getContext(theme, outerTheme) {\n    return this.getTheme(theme, outerTheme);\n  };\n\n  return ThemeProvider;\n}(react__WEBPACK_IMPORTED_MODULE_2__[\"Component\"]);\n\n// \n\nvar CLOSING_TAG_R = /^\\s*<\\/[a-z]/i;\n\nvar ServerStyleSheet = function () {\n  function ServerStyleSheet() {\n    classCallCheck(this, ServerStyleSheet);\n\n    /* The master sheet might be reset, so keep a reference here */\n    this.masterSheet = StyleSheet.master;\n    this.instance = this.masterSheet.clone();\n    this.sealed = false;\n  }\n\n  /**\n   * Mark the ServerStyleSheet as being fully emitted and manually GC it from the\n   * StyleSheet singleton.\n   */\n\n\n  ServerStyleSheet.prototype.seal = function seal() {\n    if (!this.sealed) {\n      /* Remove sealed StyleSheets from the master sheet */\n      var index = this.masterSheet.clones.indexOf(this.instance);\n      this.masterSheet.clones.splice(index, 1);\n      this.sealed = true;\n    }\n  };\n\n  ServerStyleSheet.prototype.collectStyles = function collectStyles(children) {\n    if (this.sealed) {\n      throw new StyledComponentsError(2);\n    }\n\n    return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(\n      StyleSheetManager,\n      { sheet: this.instance },\n      children\n    );\n  };\n\n  ServerStyleSheet.prototype.getStyleTags = function getStyleTags() {\n    this.seal();\n    return this.instance.toHTML();\n  };\n\n  ServerStyleSheet.prototype.getStyleElement = function getStyleElement() {\n    this.seal();\n    return this.instance.toReactElements();\n  };\n\n  ServerStyleSheet.prototype.interleaveWithNodeStream = function interleaveWithNodeStream(readableStream) {\n    var _this = this;\n\n    {\n      throw new StyledComponentsError(3);\n    }\n\n    /* the tag index keeps track of which tags have already been emitted */\n    var instance = this.instance;\n\n    var instanceTagIndex = 0;\n\n    var streamAttr = SC_STREAM_ATTR + '=\"true\"';\n\n    var transformer = new stream.Transform({\n      transform: function appendStyleChunks(chunk, /* encoding */_, callback) {\n        var tags = instance.tags;\n\n        var html = '';\n\n        /* retrieve html for each new style tag */\n        for (; instanceTagIndex < tags.length; instanceTagIndex += 1) {\n          var tag = tags[instanceTagIndex];\n          html += tag.toHTML(streamAttr);\n        }\n\n        /* force our StyleSheets to emit entirely new tags */\n        instance.sealAllTags();\n\n        var renderedHtml = chunk.toString();\n\n        /* prepend style html to chunk, unless the start of the chunk is a closing tag in which case append right after that */\n        if (CLOSING_TAG_R.test(renderedHtml)) {\n          var endOfClosingTag = renderedHtml.indexOf('>');\n\n          this.push(renderedHtml.slice(0, endOfClosingTag + 1) + html + renderedHtml.slice(endOfClosingTag + 1));\n        } else this.push(html + renderedHtml);\n\n        callback();\n      }\n    });\n\n    readableStream.on('end', function () {\n      return _this.seal();\n    });\n\n    readableStream.on('error', function (err) {\n      _this.seal();\n\n      // forward the error to the transform stream\n      transformer.emit('error', err);\n    });\n\n    return readableStream.pipe(transformer);\n  };\n\n  return ServerStyleSheet;\n}();\n\n// \n\nvar StyleSheetContext = Object(react__WEBPACK_IMPORTED_MODULE_2__[\"createContext\"])();\nvar StyleSheetConsumer = StyleSheetContext.Consumer;\n\nvar StyleSheetManager = function (_Component) {\n  inherits(StyleSheetManager, _Component);\n\n  function StyleSheetManager(props) {\n    classCallCheck(this, StyleSheetManager);\n\n    var _this = possibleConstructorReturn(this, _Component.call(this, props));\n\n    _this.getContext = Object(memoize_one__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(_this.getContext);\n    return _this;\n  }\n\n  StyleSheetManager.prototype.getContext = function getContext(sheet, target) {\n    if (sheet) {\n      return sheet;\n    } else if (target) {\n      return new StyleSheet(target);\n    } else {\n      throw new StyledComponentsError(4);\n    }\n  };\n\n  StyleSheetManager.prototype.render = function render() {\n    var _props = this.props,\n        children = _props.children,\n        sheet = _props.sheet,\n        target = _props.target;\n\n\n    return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(\n      StyleSheetContext.Provider,\n      { value: this.getContext(sheet, target) },\n       true ? react__WEBPACK_IMPORTED_MODULE_2___default.a.Children.only(children) : undefined\n    );\n  };\n\n  return StyleSheetManager;\n}(react__WEBPACK_IMPORTED_MODULE_2__[\"Component\"]);\n true ? StyleSheetManager.propTypes = {\n  sheet: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.instanceOf(StyleSheet), prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.instanceOf(ServerStyleSheet)]),\n\n  target: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.shape({\n    appendChild: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func.isRequired\n  })\n} : undefined;\n\n// \n\nvar THEME_PROP_REGEX = /\\.theme[.[]/;\nvar identifiers = {};\n\n/* We depend on components having unique IDs */\nfunction generateId(_ComponentStyle, _displayName, parentComponentId) {\n  var displayName = typeof _displayName !== 'string' ? 'sc' : escape(_displayName);\n\n  /**\n   * This ensures uniqueness if two components happen to share\n   * the same displayName.\n   */\n  var nr = (identifiers[displayName] || 0) + 1;\n  identifiers[displayName] = nr;\n\n  var componentId = displayName + '-' + _ComponentStyle.generateName(displayName + nr);\n\n  return parentComponentId ? parentComponentId + '-' + componentId : componentId;\n}\n\n// $FlowFixMe\n\nvar StyledComponent = function (_Component) {\n  inherits(StyledComponent, _Component);\n\n  function StyledComponent() {\n    classCallCheck(this, StyledComponent);\n\n    var _this = possibleConstructorReturn(this, _Component.call(this));\n\n    _this.attrs = {};\n\n    _this.renderOuter = _this.renderOuter.bind(_this);\n    _this.renderInner = _this.renderInner.bind(_this);\n\n    if (true) {\n      _this.warnInnerRef = once(function (displayName) {\n        return (\n          // eslint-disable-next-line no-console\n          console.warn('The \"innerRef\" API has been removed in styled-components v4 in favor of React 16 ref forwarding, use \"ref\" instead like a typical component. \"innerRef\" was detected on component \"' + displayName + '\".')\n        );\n      });\n\n      _this.warnAttrsFnObjectKeyDeprecated = once(function (key, displayName) {\n        return (\n          // eslint-disable-next-line no-console\n          console.warn('Functions as object-form attrs({}) keys are now deprecated and will be removed in a future version of styled-components. Switch to the new attrs(props => ({})) syntax instead for easier and more powerful composition. The attrs key in question is \"' + key + '\" on component \"' + displayName + '\".', '\\n ' + new Error().stack)\n        );\n      });\n\n      _this.warnNonStyledComponentAttrsObjectKey = once(function (key, displayName) {\n        return (\n          // eslint-disable-next-line no-console\n          console.warn('It looks like you\\'ve used a non styled-component as the value for the \"' + key + '\" prop in an object-form attrs constructor of \"' + displayName + '\".\\n' + 'You should use the new function-form attrs constructor which avoids this issue: attrs(props => ({ yourStuff }))\\n' + \"To continue using the deprecated object syntax, you'll need to wrap your component prop in a function to make it available inside the styled component (you'll still get the deprecation warning though.)\\n\" + ('For example, { ' + key + ': () => InnerComponent } instead of { ' + key + ': InnerComponent }'))\n        );\n      });\n    }\n    return _this;\n  }\n\n  StyledComponent.prototype.render = function render() {\n    return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(\n      StyleSheetConsumer,\n      null,\n      this.renderOuter\n    );\n  };\n\n  StyledComponent.prototype.renderOuter = function renderOuter() {\n    var styleSheet = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : StyleSheet.master;\n\n    this.styleSheet = styleSheet;\n\n    // No need to subscribe a static component to theme changes, it won't change anything\n    if (this.props.forwardedComponent.componentStyle.isStatic) return this.renderInner();\n\n    return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(\n      ThemeConsumer,\n      null,\n      this.renderInner\n    );\n  };\n\n  StyledComponent.prototype.renderInner = function renderInner(theme) {\n    var _props$forwardedCompo = this.props.forwardedComponent,\n        componentStyle = _props$forwardedCompo.componentStyle,\n        defaultProps = _props$forwardedCompo.defaultProps,\n        displayName = _props$forwardedCompo.displayName,\n        foldedComponentIds = _props$forwardedCompo.foldedComponentIds,\n        styledComponentId = _props$forwardedCompo.styledComponentId,\n        target = _props$forwardedCompo.target,\n        usesTheme = _props$forwardedCompo.usesTheme;\n\n\n    var generatedClassName = void 0;\n    var rawTheme = void 0;\n\n    if (componentStyle.isStatic) {\n      generatedClassName = this.generateAndInjectStyles(EMPTY_OBJECT, this.props);\n    } else {\n      rawTheme = determineTheme(this.props, theme, defaultProps);\n      generatedClassName = this.generateAndInjectStyles(rawTheme || EMPTY_OBJECT, this.props);\n\n      if ( true && usesTheme && !rawTheme) {\n        console.error('Component \\'' +\n        // $FlowFixMe\n        displayName + '\\' (.' + styledComponentId + ') references the \\'theme\\' prop in its styles but no theme was provided via prop or <ThemeProvider>.');\n      }\n    }\n\n    var elementToBeCreated = this.props.as || this.attrs.as || target;\n    var isTargetTag = isTag(elementToBeCreated);\n\n    var propsForElement = {};\n    var computedProps = _extends({}, this.props, this.attrs);\n\n    var key = void 0;\n    // eslint-disable-next-line guard-for-in\n    for (key in computedProps) {\n      if ( true && key === 'innerRef' && isTargetTag) {\n        this.warnInnerRef(displayName);\n      }\n\n      if (key === 'forwardedComponent' || key === 'as') {\n        continue;\n      } else if (key === 'forwardedRef') propsForElement.ref = computedProps[key];else if (key === 'forwardedAs') propsForElement.as = computedProps[key];else if (!isTargetTag || Object(_emotion_is_prop_valid__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(key)) {\n        // Don't pass through non HTML tags through to HTML elements\n        propsForElement[key] = computedProps[key];\n      }\n    }\n\n    if (this.props.style && this.attrs.style) {\n      propsForElement.style = _extends({}, this.attrs.style, this.props.style);\n    }\n\n    propsForElement.className = Array.prototype.concat(foldedComponentIds, styledComponentId, generatedClassName !== styledComponentId ? generatedClassName : null, this.props.className, this.attrs.className).filter(Boolean).join(' ');\n\n    return Object(react__WEBPACK_IMPORTED_MODULE_2__[\"createElement\"])(elementToBeCreated, propsForElement);\n  };\n\n  StyledComponent.prototype.buildExecutionContext = function buildExecutionContext(theme, props, attrs) {\n    var _this2 = this;\n\n    var context = _extends({}, props, { theme: theme });\n\n    if (!attrs.length) return context;\n\n    this.attrs = {};\n\n    attrs.forEach(function (attrDef) {\n      var resolvedAttrDef = attrDef;\n      var attrDefWasFn = false;\n      var attr = void 0;\n      var key = void 0;\n\n      if (isFunction(resolvedAttrDef)) {\n        // $FlowFixMe\n        resolvedAttrDef = resolvedAttrDef(context);\n        attrDefWasFn = true;\n      }\n\n      /* eslint-disable guard-for-in */\n      // $FlowFixMe\n      for (key in resolvedAttrDef) {\n        attr = resolvedAttrDef[key];\n\n        if (!attrDefWasFn) {\n          if (isFunction(attr) && !isDerivedReactComponent(attr) && !isStyledComponent(attr)) {\n            if (true) {\n              _this2.warnAttrsFnObjectKeyDeprecated(key, props.forwardedComponent.displayName);\n            }\n\n            attr = attr(context);\n\n            if ( true && react__WEBPACK_IMPORTED_MODULE_2___default.a.isValidElement(attr)) {\n              _this2.warnNonStyledComponentAttrsObjectKey(key, props.forwardedComponent.displayName);\n            }\n          }\n        }\n\n        _this2.attrs[key] = attr;\n        context[key] = attr;\n      }\n      /* eslint-enable */\n    });\n\n    return context;\n  };\n\n  StyledComponent.prototype.generateAndInjectStyles = function generateAndInjectStyles(theme, props) {\n    var _props$forwardedCompo2 = props.forwardedComponent,\n        attrs = _props$forwardedCompo2.attrs,\n        componentStyle = _props$forwardedCompo2.componentStyle,\n        warnTooManyClasses = _props$forwardedCompo2.warnTooManyClasses;\n\n    // statically styled-components don't need to build an execution context object,\n    // and shouldn't be increasing the number of class names\n\n    if (componentStyle.isStatic && !attrs.length) {\n      return componentStyle.generateAndInjectStyles(EMPTY_OBJECT, this.styleSheet);\n    }\n\n    var className = componentStyle.generateAndInjectStyles(this.buildExecutionContext(theme, props, attrs), this.styleSheet);\n\n    if ( true && warnTooManyClasses) warnTooManyClasses(className);\n\n    return className;\n  };\n\n  return StyledComponent;\n}(react__WEBPACK_IMPORTED_MODULE_2__[\"Component\"]);\n\nfunction createStyledComponent(target, options, rules) {\n  var isTargetStyledComp = isStyledComponent(target);\n  var isClass = !isTag(target);\n\n  var _options$displayName = options.displayName,\n      displayName = _options$displayName === undefined ? generateDisplayName(target) : _options$displayName,\n      _options$componentId = options.componentId,\n      componentId = _options$componentId === undefined ? generateId(ComponentStyle, options.displayName, options.parentComponentId) : _options$componentId,\n      _options$ParentCompon = options.ParentComponent,\n      ParentComponent = _options$ParentCompon === undefined ? StyledComponent : _options$ParentCompon,\n      _options$attrs = options.attrs,\n      attrs = _options$attrs === undefined ? EMPTY_ARRAY : _options$attrs;\n\n\n  var styledComponentId = options.displayName && options.componentId ? escape(options.displayName) + '-' + options.componentId : options.componentId || componentId;\n\n  // fold the underlying StyledComponent attrs up (implicit extend)\n  var finalAttrs =\n  // $FlowFixMe\n  isTargetStyledComp && target.attrs ? Array.prototype.concat(target.attrs, attrs).filter(Boolean) : attrs;\n\n  var componentStyle = new ComponentStyle(isTargetStyledComp ? // fold the underlying StyledComponent rules up (implicit extend)\n  // $FlowFixMe\n  target.componentStyle.rules.concat(rules) : rules, finalAttrs, styledComponentId);\n\n  /**\n   * forwardRef creates a new interim component, which we'll take advantage of\n   * instead of extending ParentComponent to create _another_ interim class\n   */\n  var WrappedStyledComponent = void 0;\n  var forwardRef = function forwardRef(props, ref) {\n    return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(ParentComponent, _extends({}, props, { forwardedComponent: WrappedStyledComponent, forwardedRef: ref }));\n  };\n  forwardRef.displayName = displayName;\n  WrappedStyledComponent = react__WEBPACK_IMPORTED_MODULE_2___default.a.forwardRef(forwardRef);\n  WrappedStyledComponent.displayName = displayName;\n\n  // $FlowFixMe\n  WrappedStyledComponent.attrs = finalAttrs;\n  // $FlowFixMe\n  WrappedStyledComponent.componentStyle = componentStyle;\n\n  // $FlowFixMe\n  WrappedStyledComponent.foldedComponentIds = isTargetStyledComp ? // $FlowFixMe\n  Array.prototype.concat(target.foldedComponentIds, target.styledComponentId) : EMPTY_ARRAY;\n\n  // $FlowFixMe\n  WrappedStyledComponent.styledComponentId = styledComponentId;\n\n  // fold the underlying StyledComponent target up since we folded the styles\n  // $FlowFixMe\n  WrappedStyledComponent.target = isTargetStyledComp ? target.target : target;\n\n  // $FlowFixMe\n  WrappedStyledComponent.withComponent = function withComponent(tag) {\n    var previousComponentId = options.componentId,\n        optionsToCopy = objectWithoutProperties(options, ['componentId']);\n\n\n    var newComponentId = previousComponentId && previousComponentId + '-' + (isTag(tag) ? tag : escape(getComponentName(tag)));\n\n    var newOptions = _extends({}, optionsToCopy, {\n      attrs: finalAttrs,\n      componentId: newComponentId,\n      ParentComponent: ParentComponent\n    });\n\n    return createStyledComponent(tag, newOptions, rules);\n  };\n\n  // $FlowFixMe\n  Object.defineProperty(WrappedStyledComponent, 'defaultProps', {\n    get: function get$$1() {\n      return this._foldedDefaultProps;\n    },\n    set: function set$$1(obj) {\n      // $FlowFixMe\n      this._foldedDefaultProps = isTargetStyledComp ? Object(merge_anything__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(target.defaultProps, obj) : obj;\n    }\n  });\n\n  if (true) {\n    // $FlowFixMe\n    WrappedStyledComponent.usesTheme = componentStyle.rules.some(function (x) {\n      return isFunction(x) && THEME_PROP_REGEX.test(x.toString());\n    });\n\n    // $FlowFixMe\n    WrappedStyledComponent.warnTooManyClasses = createWarnTooManyClasses(displayName);\n  }\n\n  // $FlowFixMe\n  WrappedStyledComponent.toString = function () {\n    return '.' + WrappedStyledComponent.styledComponentId;\n  };\n\n  if (isClass) {\n    hoistNonReactStatics(WrappedStyledComponent, target, {\n      // all SC-specific things should not be hoisted\n      attrs: true,\n      componentStyle: true,\n      displayName: true,\n      foldedComponentIds: true,\n      styledComponentId: true,\n      target: true,\n      withComponent: true\n    });\n  }\n\n  return WrappedStyledComponent;\n}\n\n// \n// Thanks to ReactDOMFactories for this handy list!\n\nvar domElements = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr',\n\n// SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'marker', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\n// \n\nvar styled = function styled(tag) {\n  return constructWithOptions(createStyledComponent, tag);\n};\n\n// Shorthands for all valid HTML Elements\ndomElements.forEach(function (domElement) {\n  styled[domElement] = styled(domElement);\n});\n\n// \n\nvar GlobalStyle = function () {\n  function GlobalStyle(rules, componentId) {\n    classCallCheck(this, GlobalStyle);\n\n    this.rules = rules;\n    this.componentId = componentId;\n    this.isStatic = isStaticRules(rules, EMPTY_ARRAY);\n\n    if (!StyleSheet.master.hasId(componentId)) {\n      StyleSheet.master.deferredInject(componentId, []);\n    }\n  }\n\n  GlobalStyle.prototype.createStyles = function createStyles(executionContext, styleSheet) {\n    var flatCSS = flatten(this.rules, executionContext, styleSheet);\n    var css = stringifyRules(flatCSS, '');\n\n    styleSheet.inject(this.componentId, css);\n  };\n\n  GlobalStyle.prototype.removeStyles = function removeStyles(styleSheet) {\n    var componentId = this.componentId;\n\n    if (styleSheet.hasId(componentId)) {\n      styleSheet.remove(componentId);\n    }\n  };\n\n  // TODO: overwrite in-place instead of remove+create?\n\n\n  GlobalStyle.prototype.renderStyles = function renderStyles(executionContext, styleSheet) {\n    this.removeStyles(styleSheet);\n    this.createStyles(executionContext, styleSheet);\n  };\n\n  return GlobalStyle;\n}();\n\n// \n\n// place our cache into shared context so it'll persist between HMRs\nif (IS_BROWSER) {\n  window.scCGSHMRCache = {};\n}\n\nfunction createGlobalStyle(strings) {\n  for (var _len = arguments.length, interpolations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    interpolations[_key - 1] = arguments[_key];\n  }\n\n  var rules = css.apply(undefined, [strings].concat(interpolations));\n  var id = 'sc-global-' + murmurhash(JSON.stringify(rules));\n  var style = new GlobalStyle(rules, id);\n\n  var GlobalStyleComponent = function (_React$Component) {\n    inherits(GlobalStyleComponent, _React$Component);\n\n    function GlobalStyleComponent(props) {\n      classCallCheck(this, GlobalStyleComponent);\n\n      var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\n      var _this$constructor = _this.constructor,\n          globalStyle = _this$constructor.globalStyle,\n          styledComponentId = _this$constructor.styledComponentId;\n\n\n      if (IS_BROWSER) {\n        window.scCGSHMRCache[styledComponentId] = (window.scCGSHMRCache[styledComponentId] || 0) + 1;\n      }\n\n      /**\n       * This fixes HMR compatibility. Don't ask me why, but this combination of\n       * caching the closure variables via statics and then persisting the statics in\n       * state works across HMR where no other combination did. ¯\\_(ツ)_/¯\n       */\n      _this.state = {\n        globalStyle: globalStyle,\n        styledComponentId: styledComponentId\n      };\n      return _this;\n    }\n\n    GlobalStyleComponent.prototype.componentWillUnmount = function componentWillUnmount() {\n      if (window.scCGSHMRCache[this.state.styledComponentId]) {\n        window.scCGSHMRCache[this.state.styledComponentId] -= 1;\n      }\n      /**\n       * Depending on the order \"render\" is called this can cause the styles to be lost\n       * until the next render pass of the remaining instance, which may\n       * not be immediate.\n       */\n      if (window.scCGSHMRCache[this.state.styledComponentId] === 0) {\n        this.state.globalStyle.removeStyles(this.styleSheet);\n      }\n    };\n\n    GlobalStyleComponent.prototype.render = function render() {\n      var _this2 = this;\n\n      if ( true && react__WEBPACK_IMPORTED_MODULE_2___default.a.Children.count(this.props.children)) {\n        // eslint-disable-next-line no-console\n        console.warn('The global style component ' + this.state.styledComponentId + ' was given child JSX. createGlobalStyle does not render children.');\n      }\n\n      return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(\n        StyleSheetConsumer,\n        null,\n        function (styleSheet) {\n          _this2.styleSheet = styleSheet || StyleSheet.master;\n\n          var globalStyle = _this2.state.globalStyle;\n\n\n          if (globalStyle.isStatic) {\n            globalStyle.renderStyles(STATIC_EXECUTION_CONTEXT, _this2.styleSheet);\n\n            return null;\n          } else {\n            return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(\n              ThemeConsumer,\n              null,\n              function (theme) {\n                // $FlowFixMe\n                var defaultProps = _this2.constructor.defaultProps;\n\n\n                var context = _extends({}, _this2.props);\n\n                if (typeof theme !== 'undefined') {\n                  context.theme = determineTheme(_this2.props, theme, defaultProps);\n                }\n\n                globalStyle.renderStyles(context, _this2.styleSheet);\n\n                return null;\n              }\n            );\n          }\n        }\n      );\n    };\n\n    return GlobalStyleComponent;\n  }(react__WEBPACK_IMPORTED_MODULE_2___default.a.Component);\n\n  GlobalStyleComponent.globalStyle = style;\n  GlobalStyleComponent.styledComponentId = id;\n\n\n  return GlobalStyleComponent;\n}\n\n// \n\nvar replaceWhitespace = function replaceWhitespace(str) {\n  return str.replace(/\\s|\\\\n/g, '');\n};\n\nfunction keyframes(strings) {\n  /* Warning if you've used keyframes on React Native */\n  if ( true && typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n    // eslint-disable-next-line no-console\n    console.warn('`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.');\n  }\n\n  for (var _len = arguments.length, interpolations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    interpolations[_key - 1] = arguments[_key];\n  }\n\n  var rules = css.apply(undefined, [strings].concat(interpolations));\n\n  var name = generateAlphabeticName(murmurhash(replaceWhitespace(JSON.stringify(rules))));\n\n  return new Keyframes(name, stringifyRules(rules, name, '@keyframes'));\n}\n\n// \n\nvar withTheme = (function (Component$$1) {\n  var WithTheme = react__WEBPACK_IMPORTED_MODULE_2___default.a.forwardRef(function (props, ref) {\n    return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(\n      ThemeConsumer,\n      null,\n      function (theme) {\n        // $FlowFixMe\n        var defaultProps = Component$$1.defaultProps;\n\n        var themeProp = determineTheme(props, theme, defaultProps);\n\n        if ( true && themeProp === undefined) {\n          // eslint-disable-next-line no-console\n          console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \"' + getComponentName(Component$$1) + '\"');\n        }\n\n        return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(Component$$1, _extends({}, props, { theme: themeProp, ref: ref }));\n      }\n    );\n  });\n\n  hoistNonReactStatics(WithTheme, Component$$1);\n\n  WithTheme.displayName = 'WithTheme(' + getComponentName(Component$$1) + ')';\n\n  return WithTheme;\n});\n\n// \n\n/* eslint-disable */\nvar __DO_NOT_USE_OR_YOU_WILL_BE_HAUNTED_BY_SPOOKY_GHOSTS = {\n  StyleSheet: StyleSheet\n};\n\n// \n\n/* Warning if you've imported this file on React Native */\nif ( true && typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n  // eslint-disable-next-line no-console\n  console.warn(\"It looks like you've imported 'styled-components' on React Native.\\n\" + \"Perhaps you're looking to import 'styled-components/native'?\\n\" + 'Read more about this at https://www.styled-components.com/docs/basics#react-native');\n}\n\n/* Warning if there are several instances of styled-components */\nif ( true && typeof window !== 'undefined' && typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string' && navigator.userAgent.indexOf('Node.js') === -1 && navigator.userAgent.indexOf('jsdom') === -1) {\n  window['__styled-components-init__'] = window['__styled-components-init__'] || 0;\n\n  if (window['__styled-components-init__'] === 1) {\n    // eslint-disable-next-line no-console\n    console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. \" + 'This may cause dynamic styles not rendering properly, errors happening during rehydration process ' + 'and makes your application bigger without a good reason.\\n\\n' + 'See https://s-c.sh/2BAXzed for more info.');\n  }\n\n  window['__styled-components-init__'] += 1;\n}\n\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (styled);\n\n//# sourceMappingURL=styled-components.browser.esm.js.map\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../process/browser.js */ \"./node_modules/process/browser.js\")))\n\n/***/ }),\n\n/***/ \"./node_modules/stylis-rule-sheet/index.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/stylis-rule-sheet/index.js ***!\n  \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n(function (factory) {\n\t true ? (module['exports'] = factory()) :\n\t\tundefined\n}(function () {\n\n\t'use strict'\n\n\treturn function (insertRule) {\n\t\tvar delimiter = '/*|*/'\n\t\tvar needle = delimiter+'}'\n\n\t\tfunction toSheet (block) {\n\t\t\tif (block)\n\t\t\t\ttry {\n\t\t\t\t\tinsertRule(block + '}')\n\t\t\t\t} catch (e) {}\n\t\t}\n\n\t\treturn function ruleSheet (context, content, selectors, parents, line, column, length, ns, depth, at) {\n\t\t\tswitch (context) {\n\t\t\t\t// property\n\t\t\t\tcase 1:\n\t\t\t\t\t// @import\n\t\t\t\t\tif (depth === 0 && content.charCodeAt(0) === 64)\n\t\t\t\t\t\treturn insertRule(content+';'), ''\n\t\t\t\t\tbreak\n\t\t\t\t// selector\n\t\t\t\tcase 2:\n\t\t\t\t\tif (ns === 0)\n\t\t\t\t\t\treturn content + delimiter\n\t\t\t\t\tbreak\n\t\t\t\t// at-rule\n\t\t\t\tcase 3:\n\t\t\t\t\tswitch (ns) {\n\t\t\t\t\t\t// @font-face, @page\n\t\t\t\t\t\tcase 102:\n\t\t\t\t\t\tcase 112:\n\t\t\t\t\t\t\treturn insertRule(selectors[0]+content), ''\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\treturn content + (at === 0 ? delimiter : '')\n\t\t\t\t\t}\n\t\t\t\tcase -2:\n\t\t\t\t\tcontent.split(needle).forEach(toSheet)\n\t\t\t}\n\t\t}\n\t}\n}))\n\n\n/***/ }),\n\n/***/ \"./node_modules/stylis/stylis.min.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/stylis/stylis.min.js ***!\n  \\*******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n!function(e){ true?module.exports=e(null):undefined}(function e(a){\"use strict\";var r=/^\\0+/g,c=/[\\0\\r\\f]/g,s=/: */g,t=/zoo|gra/,i=/([,: ])(transform)/g,f=/,+\\s*(?![^(]*[)])/g,n=/ +\\s*(?![^(]*[)])/g,l=/ *[\\0] */g,o=/,\\r+?/g,h=/([\\t\\r\\n ])*\\f?&/g,u=/:global\\(((?:[^\\(\\)\\[\\]]*|\\[.*\\]|\\([^\\(\\)]*\\))*)\\)/g,d=/\\W+/g,b=/@(k\\w+)\\s*(\\S*)\\s*/,p=/::(place)/g,k=/:(read-only)/g,g=/\\s+(?=[{\\];=:>])/g,A=/([[}=:>])\\s+/g,C=/(\\{[^{]+?);(?=\\})/g,w=/\\s{2,}/g,v=/([^\\(])(:+) */g,m=/[svh]\\w+-[tblr]{2}/,x=/\\(\\s*(.*)\\s*\\)/g,$=/([\\s\\S]*?);/g,y=/-self|flex-/g,O=/[^]*?(:[rp][el]a[\\w-]+)[^]*/,j=/stretch|:\\s*\\w+\\-(?:conte|avail)/,z=/([^-])(image-set\\()/,N=\"-webkit-\",S=\"-moz-\",F=\"-ms-\",W=59,q=125,B=123,D=40,E=41,G=91,H=93,I=10,J=13,K=9,L=64,M=32,P=38,Q=45,R=95,T=42,U=44,V=58,X=39,Y=34,Z=47,_=62,ee=43,ae=126,re=0,ce=12,se=11,te=107,ie=109,fe=115,ne=112,le=111,oe=105,he=99,ue=100,de=112,be=1,pe=1,ke=0,ge=1,Ae=1,Ce=1,we=0,ve=0,me=0,xe=[],$e=[],ye=0,Oe=null,je=-2,ze=-1,Ne=0,Se=1,Fe=2,We=3,qe=0,Be=1,De=\"\",Ee=\"\",Ge=\"\";function He(e,a,s,t,i){for(var f,n,o=0,h=0,u=0,d=0,g=0,A=0,C=0,w=0,m=0,$=0,y=0,O=0,j=0,z=0,R=0,we=0,$e=0,Oe=0,je=0,ze=s.length,Je=ze-1,Re=\"\",Te=\"\",Ue=\"\",Ve=\"\",Xe=\"\",Ye=\"\";R<ze;){if(C=s.charCodeAt(R),R===Je)if(h+d+u+o!==0){if(0!==h)C=h===Z?I:Z;d=u=o=0,ze++,Je++}if(h+d+u+o===0){if(R===Je){if(we>0)Te=Te.replace(c,\"\");if(Te.trim().length>0){switch(C){case M:case K:case W:case J:case I:break;default:Te+=s.charAt(R)}C=W}}if(1===$e)switch(C){case B:case q:case W:case Y:case X:case D:case E:case U:$e=0;case K:case J:case I:case M:break;default:for($e=0,je=R,g=C,R--,C=W;je<ze;)switch(s.charCodeAt(je++)){case I:case J:case W:++R,C=g,je=ze;break;case V:if(we>0)++R,C=g;case B:je=ze}}switch(C){case B:for(g=(Te=Te.trim()).charCodeAt(0),y=1,je=++R;R<ze;){switch(C=s.charCodeAt(R)){case B:y++;break;case q:y--;break;case Z:switch(A=s.charCodeAt(R+1)){case T:case Z:R=Qe(A,R,Je,s)}break;case G:C++;case D:C++;case Y:case X:for(;R++<Je&&s.charCodeAt(R)!==C;);}if(0===y)break;R++}if(Ue=s.substring(je,R),g===re)g=(Te=Te.replace(r,\"\").trim()).charCodeAt(0);switch(g){case L:if(we>0)Te=Te.replace(c,\"\");switch(A=Te.charCodeAt(1)){case ue:case ie:case fe:case Q:f=a;break;default:f=xe}if(je=(Ue=He(a,f,Ue,A,i+1)).length,me>0&&0===je)je=Te.length;if(ye>0)if(f=Ie(xe,Te,Oe),n=Pe(We,Ue,f,a,pe,be,je,A,i,t),Te=f.join(\"\"),void 0!==n)if(0===(je=(Ue=n.trim()).length))A=0,Ue=\"\";if(je>0)switch(A){case fe:Te=Te.replace(x,Me);case ue:case ie:case Q:Ue=Te+\"{\"+Ue+\"}\";break;case te:if(Ue=(Te=Te.replace(b,\"$1 $2\"+(Be>0?De:\"\")))+\"{\"+Ue+\"}\",1===Ae||2===Ae&&Le(\"@\"+Ue,3))Ue=\"@\"+N+Ue+\"@\"+Ue;else Ue=\"@\"+Ue;break;default:if(Ue=Te+Ue,t===de)Ve+=Ue,Ue=\"\"}else Ue=\"\";break;default:Ue=He(a,Ie(a,Te,Oe),Ue,t,i+1)}Xe+=Ue,O=0,$e=0,z=0,we=0,Oe=0,j=0,Te=\"\",Ue=\"\",C=s.charCodeAt(++R);break;case q:case W:if((je=(Te=(we>0?Te.replace(c,\"\"):Te).trim()).length)>1){if(0===z)if((g=Te.charCodeAt(0))===Q||g>96&&g<123)je=(Te=Te.replace(\" \",\":\")).length;if(ye>0)if(void 0!==(n=Pe(Se,Te,a,e,pe,be,Ve.length,t,i,t)))if(0===(je=(Te=n.trim()).length))Te=\"\\0\\0\";switch(g=Te.charCodeAt(0),A=Te.charCodeAt(1),g){case re:break;case L:if(A===oe||A===he){Ye+=Te+s.charAt(R);break}default:if(Te.charCodeAt(je-1)===V)break;Ve+=Ke(Te,g,A,Te.charCodeAt(2))}}O=0,$e=0,z=0,we=0,Oe=0,Te=\"\",C=s.charCodeAt(++R)}}switch(C){case J:case I:if(h+d+u+o+ve===0)switch($){case E:case X:case Y:case L:case ae:case _:case T:case ee:case Z:case Q:case V:case U:case W:case B:case q:break;default:if(z>0)$e=1}if(h===Z)h=0;else if(ge+O===0&&t!==te&&Te.length>0)we=1,Te+=\"\\0\";if(ye*qe>0)Pe(Ne,Te,a,e,pe,be,Ve.length,t,i,t);be=1,pe++;break;case W:case q:if(h+d+u+o===0){be++;break}default:switch(be++,Re=s.charAt(R),C){case K:case M:if(d+o+h===0)switch(w){case U:case V:case K:case M:Re=\"\";break;default:if(C!==M)Re=\" \"}break;case re:Re=\"\\\\0\";break;case ce:Re=\"\\\\f\";break;case se:Re=\"\\\\v\";break;case P:if(d+h+o===0&&ge>0)Oe=1,we=1,Re=\"\\f\"+Re;break;case 108:if(d+h+o+ke===0&&z>0)switch(R-z){case 2:if(w===ne&&s.charCodeAt(R-3)===V)ke=w;case 8:if(m===le)ke=m}break;case V:if(d+h+o===0)z=R;break;case U:if(h+u+d+o===0)we=1,Re+=\"\\r\";break;case Y:case X:if(0===h)d=d===C?0:0===d?C:d;break;case G:if(d+h+u===0)o++;break;case H:if(d+h+u===0)o--;break;case E:if(d+h+o===0)u--;break;case D:if(d+h+o===0){if(0===O)switch(2*w+3*m){case 533:break;default:y=0,O=1}u++}break;case L:if(h+u+d+o+z+j===0)j=1;break;case T:case Z:if(d+o+u>0)break;switch(h){case 0:switch(2*C+3*s.charCodeAt(R+1)){case 235:h=Z;break;case 220:je=R,h=T}break;case T:if(C===Z&&w===T&&je+2!==R){if(33===s.charCodeAt(je+2))Ve+=s.substring(je,R+1);Re=\"\",h=0}}}if(0===h){if(ge+d+o+j===0&&t!==te&&C!==W)switch(C){case U:case ae:case _:case ee:case E:case D:if(0===O){switch(w){case K:case M:case I:case J:Re+=\"\\0\";break;default:Re=\"\\0\"+Re+(C===U?\"\":\"\\0\")}we=1}else switch(C){case D:if(z+7===R&&108===w)z=0;O=++y;break;case E:if(0==(O=--y))we=1,Re+=\"\\0\"}break;case K:case M:switch(w){case re:case B:case q:case W:case U:case ce:case K:case M:case I:case J:break;default:if(0===O)we=1,Re+=\"\\0\"}}if(Te+=Re,C!==M&&C!==K)$=C}}m=w,w=C,R++}if(je=Ve.length,me>0)if(0===je&&0===Xe.length&&0===a[0].length==false)if(t!==ie||1===a.length&&(ge>0?Ee:Ge)===a[0])je=a.join(\",\").length+2;if(je>0){if(f=0===ge&&t!==te?function(e){for(var a,r,s=0,t=e.length,i=Array(t);s<t;++s){for(var f=e[s].split(l),n=\"\",o=0,h=0,u=0,d=0,b=f.length;o<b;++o){if(0===(h=(r=f[o]).length)&&b>1)continue;if(u=n.charCodeAt(n.length-1),d=r.charCodeAt(0),a=\"\",0!==o)switch(u){case T:case ae:case _:case ee:case M:case D:break;default:a=\" \"}switch(d){case P:r=a+Ee;case ae:case _:case ee:case M:case E:case D:break;case G:r=a+r+Ee;break;case V:switch(2*r.charCodeAt(1)+3*r.charCodeAt(2)){case 530:if(Ce>0){r=a+r.substring(8,h-1);break}default:if(o<1||f[o-1].length<1)r=a+Ee+r}break;case U:a=\"\";default:if(h>1&&r.indexOf(\":\")>0)r=a+r.replace(v,\"$1\"+Ee+\"$2\");else r=a+r+Ee}n+=r}i[s]=n.replace(c,\"\").trim()}return i}(a):a,ye>0)if(void 0!==(n=Pe(Fe,Ve,f,e,pe,be,je,t,i,t))&&0===(Ve=n).length)return Ye+Ve+Xe;if(Ve=f.join(\",\")+\"{\"+Ve+\"}\",Ae*ke!=0){if(2===Ae&&!Le(Ve,2))ke=0;switch(ke){case le:Ve=Ve.replace(k,\":\"+S+\"$1\")+Ve;break;case ne:Ve=Ve.replace(p,\"::\"+N+\"input-$1\")+Ve.replace(p,\"::\"+S+\"$1\")+Ve.replace(p,\":\"+F+\"input-$1\")+Ve}ke=0}}return Ye+Ve+Xe}function Ie(e,a,r){var c=a.trim().split(o),s=c,t=c.length,i=e.length;switch(i){case 0:case 1:for(var f=0,n=0===i?\"\":e[0]+\" \";f<t;++f)s[f]=Je(n,s[f],r,i).trim();break;default:f=0;var l=0;for(s=[];f<t;++f)for(var h=0;h<i;++h)s[l++]=Je(e[h]+\" \",c[f],r,i).trim()}return s}function Je(e,a,r,c){var s=a,t=s.charCodeAt(0);if(t<33)t=(s=s.trim()).charCodeAt(0);switch(t){case P:switch(ge+c){case 0:case 1:if(0===e.trim().length)break;default:return s.replace(h,\"$1\"+e.trim())}break;case V:switch(s.charCodeAt(1)){case 103:if(Ce>0&&ge>0)return s.replace(u,\"$1\").replace(h,\"$1\"+Ge);break;default:return e.trim()+s.replace(h,\"$1\"+e.trim())}default:if(r*ge>0&&s.indexOf(\"\\f\")>0)return s.replace(h,(e.charCodeAt(0)===V?\"\":\"$1\")+e.trim())}return e+s}function Ke(e,a,r,c){var l,o=0,h=e+\";\",u=2*a+3*r+4*c;if(944===u)return function(e){var a=e.length,r=e.indexOf(\":\",9)+1,c=e.substring(0,r).trim(),s=e.substring(r,a-1).trim();switch(e.charCodeAt(9)*Be){case 0:break;case Q:if(110!==e.charCodeAt(10))break;default:for(var t=s.split((s=\"\",f)),i=0,r=0,a=t.length;i<a;r=0,++i){for(var l=t[i],o=l.split(n);l=o[r];){var h=l.charCodeAt(0);if(1===Be&&(h>L&&h<90||h>96&&h<123||h===R||h===Q&&l.charCodeAt(1)!==Q))switch(isNaN(parseFloat(l))+(-1!==l.indexOf(\"(\"))){case 1:switch(l){case\"infinite\":case\"alternate\":case\"backwards\":case\"running\":case\"normal\":case\"forwards\":case\"both\":case\"none\":case\"linear\":case\"ease\":case\"ease-in\":case\"ease-out\":case\"ease-in-out\":case\"paused\":case\"reverse\":case\"alternate-reverse\":case\"inherit\":case\"initial\":case\"unset\":case\"step-start\":case\"step-end\":break;default:l+=De}}o[r++]=l}s+=(0===i?\"\":\",\")+o.join(\" \")}}if(s=c+s+\";\",1===Ae||2===Ae&&Le(s,1))return N+s+s;return s}(h);else if(0===Ae||2===Ae&&!Le(h,1))return h;switch(u){case 1015:return 97===h.charCodeAt(10)?N+h+h:h;case 951:return 116===h.charCodeAt(3)?N+h+h:h;case 963:return 110===h.charCodeAt(5)?N+h+h:h;case 1009:if(100!==h.charCodeAt(4))break;case 969:case 942:return N+h+h;case 978:return N+h+S+h+h;case 1019:case 983:return N+h+S+h+F+h+h;case 883:if(h.charCodeAt(8)===Q)return N+h+h;if(h.indexOf(\"image-set(\",11)>0)return h.replace(z,\"$1\"+N+\"$2\")+h;return h;case 932:if(h.charCodeAt(4)===Q)switch(h.charCodeAt(5)){case 103:return N+\"box-\"+h.replace(\"-grow\",\"\")+N+h+F+h.replace(\"grow\",\"positive\")+h;case 115:return N+h+F+h.replace(\"shrink\",\"negative\")+h;case 98:return N+h+F+h.replace(\"basis\",\"preferred-size\")+h}return N+h+F+h+h;case 964:return N+h+F+\"flex-\"+h+h;case 1023:if(99!==h.charCodeAt(8))break;return l=h.substring(h.indexOf(\":\",15)).replace(\"flex-\",\"\").replace(\"space-between\",\"justify\"),N+\"box-pack\"+l+N+h+F+\"flex-pack\"+l+h;case 1005:return t.test(h)?h.replace(s,\":\"+N)+h.replace(s,\":\"+S)+h:h;case 1e3:switch(o=(l=h.substring(13).trim()).indexOf(\"-\")+1,l.charCodeAt(0)+l.charCodeAt(o)){case 226:l=h.replace(m,\"tb\");break;case 232:l=h.replace(m,\"tb-rl\");break;case 220:l=h.replace(m,\"lr\");break;default:return h}return N+h+F+l+h;case 1017:if(-1===h.indexOf(\"sticky\",9))return h;case 975:switch(o=(h=e).length-10,u=(l=(33===h.charCodeAt(o)?h.substring(0,o):h).substring(e.indexOf(\":\",7)+1).trim()).charCodeAt(0)+(0|l.charCodeAt(7))){case 203:if(l.charCodeAt(8)<111)break;case 115:h=h.replace(l,N+l)+\";\"+h;break;case 207:case 102:h=h.replace(l,N+(u>102?\"inline-\":\"\")+\"box\")+\";\"+h.replace(l,N+l)+\";\"+h.replace(l,F+l+\"box\")+\";\"+h}return h+\";\";case 938:if(h.charCodeAt(5)===Q)switch(h.charCodeAt(6)){case 105:return l=h.replace(\"-items\",\"\"),N+h+N+\"box-\"+l+F+\"flex-\"+l+h;case 115:return N+h+F+\"flex-item-\"+h.replace(y,\"\")+h;default:return N+h+F+\"flex-line-pack\"+h.replace(\"align-content\",\"\").replace(y,\"\")+h}break;case 973:case 989:if(h.charCodeAt(3)!==Q||122===h.charCodeAt(4))break;case 931:case 953:if(true===j.test(e))if(115===(l=e.substring(e.indexOf(\":\")+1)).charCodeAt(0))return Ke(e.replace(\"stretch\",\"fill-available\"),a,r,c).replace(\":fill-available\",\":stretch\");else return h.replace(l,N+l)+h.replace(l,S+l.replace(\"fill-\",\"\"))+h;break;case 962:if(h=N+h+(102===h.charCodeAt(5)?F+h:\"\")+h,r+c===211&&105===h.charCodeAt(13)&&h.indexOf(\"transform\",10)>0)return h.substring(0,h.indexOf(\";\",27)+1).replace(i,\"$1\"+N+\"$2\")+h}return h}function Le(e,a){var r=e.indexOf(1===a?\":\":\"{\"),c=e.substring(0,3!==a?r:10),s=e.substring(r+1,e.length-1);return Oe(2!==a?c:c.replace(O,\"$1\"),s,a)}function Me(e,a){var r=Ke(a,a.charCodeAt(0),a.charCodeAt(1),a.charCodeAt(2));return r!==a+\";\"?r.replace($,\" or ($1)\").substring(4):\"(\"+a+\")\"}function Pe(e,a,r,c,s,t,i,f,n,l){for(var o,h=0,u=a;h<ye;++h)switch(o=$e[h].call(Te,e,u,r,c,s,t,i,f,n,l)){case void 0:case false:case true:case null:break;default:u=o}if(u!==a)return u}function Qe(e,a,r,c){for(var s=a+1;s<r;++s)switch(c.charCodeAt(s)){case Z:if(e===T)if(c.charCodeAt(s-1)===T&&a+2!==s)return s+1;break;case I:if(e===Z)return s+1}return s}function Re(e){for(var a in e){var r=e[a];switch(a){case\"keyframe\":Be=0|r;break;case\"global\":Ce=0|r;break;case\"cascade\":ge=0|r;break;case\"compress\":we=0|r;break;case\"semicolon\":ve=0|r;break;case\"preserve\":me=0|r;break;case\"prefix\":if(Oe=null,!r)Ae=0;else if(\"function\"!=typeof r)Ae=1;else Ae=2,Oe=r}}return Re}function Te(a,r){if(void 0!==this&&this.constructor===Te)return e(a);var s=a,t=s.charCodeAt(0);if(t<33)t=(s=s.trim()).charCodeAt(0);if(Be>0)De=s.replace(d,t===G?\"\":\"-\");if(t=1,1===ge)Ge=s;else Ee=s;var i,f=[Ge];if(ye>0)if(void 0!==(i=Pe(ze,r,f,f,pe,be,0,0,0,0))&&\"string\"==typeof i)r=i;var n=He(xe,f,r,0,0);if(ye>0)if(void 0!==(i=Pe(je,n,f,f,pe,be,n.length,0,0,0))&&\"string\"!=typeof(n=i))t=0;return De=\"\",Ge=\"\",Ee=\"\",ke=0,pe=1,be=1,we*t==0?n:n.replace(c,\"\").replace(g,\"\").replace(A,\"$1\").replace(C,\"$1\").replace(w,\" \")}if(Te.use=function e(a){switch(a){case void 0:case null:ye=$e.length=0;break;default:if(\"function\"==typeof a)$e[ye++]=a;else if(\"object\"==typeof a)for(var r=0,c=a.length;r<c;++r)e(a[r]);else qe=0|!!a}return e},Te.set=Re,void 0!==a)Re(a);return Te});\n//# sourceMappingURL=stylis.min.js.map\n\n/***/ }),\n\n/***/ \"./node_modules/tinycolor2/tinycolor.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/tinycolor2/tinycolor.js ***!\n  \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_RESULT__;// TinyColor v1.4.1\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\n(function(Math) {\n\nvar trimLeft = /^\\s+/,\n    trimRight = /\\s+$/,\n    tinyCounter = 0,\n    mathRound = Math.round,\n    mathMin = Math.min,\n    mathMax = Math.max,\n    mathRandom = Math.random;\n\nfunction tinycolor (color, opts) {\n\n    color = (color) ? color : '';\n    opts = opts || { };\n\n    // If input is already a tinycolor, return itself\n    if (color instanceof tinycolor) {\n       return color;\n    }\n    // If we are called as a function, call using new instead\n    if (!(this instanceof tinycolor)) {\n        return new tinycolor(color, opts);\n    }\n\n    var rgb = inputToRGB(color);\n    this._originalInput = color,\n    this._r = rgb.r,\n    this._g = rgb.g,\n    this._b = rgb.b,\n    this._a = rgb.a,\n    this._roundA = mathRound(100*this._a) / 100,\n    this._format = opts.format || rgb.format;\n    this._gradientType = opts.gradientType;\n\n    // Don't let the range of [0,255] come back in [0,1].\n    // Potentially lose a little bit of precision here, but will fix issues where\n    // .5 gets interpreted as half of the total, instead of half of 1\n    // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n    if (this._r < 1) { this._r = mathRound(this._r); }\n    if (this._g < 1) { this._g = mathRound(this._g); }\n    if (this._b < 1) { this._b = mathRound(this._b); }\n\n    this._ok = rgb.ok;\n    this._tc_id = tinyCounter++;\n}\n\ntinycolor.prototype = {\n    isDark: function() {\n        return this.getBrightness() < 128;\n    },\n    isLight: function() {\n        return !this.isDark();\n    },\n    isValid: function() {\n        return this._ok;\n    },\n    getOriginalInput: function() {\n      return this._originalInput;\n    },\n    getFormat: function() {\n        return this._format;\n    },\n    getAlpha: function() {\n        return this._a;\n    },\n    getBrightness: function() {\n        //http://www.w3.org/TR/AERT#color-contrast\n        var rgb = this.toRgb();\n        return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n    },\n    getLuminance: function() {\n        //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n        var rgb = this.toRgb();\n        var RsRGB, GsRGB, BsRGB, R, G, B;\n        RsRGB = rgb.r/255;\n        GsRGB = rgb.g/255;\n        BsRGB = rgb.b/255;\n\n        if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n        if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n        if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n        return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n    },\n    setAlpha: function(value) {\n        this._a = boundAlpha(value);\n        this._roundA = mathRound(100*this._a) / 100;\n        return this;\n    },\n    toHsv: function() {\n        var hsv = rgbToHsv(this._r, this._g, this._b);\n        return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\n    },\n    toHsvString: function() {\n        var hsv = rgbToHsv(this._r, this._g, this._b);\n        var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n        return (this._a == 1) ?\n          \"hsv(\"  + h + \", \" + s + \"%, \" + v + \"%)\" :\n          \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n    },\n    toHsl: function() {\n        var hsl = rgbToHsl(this._r, this._g, this._b);\n        return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\n    },\n    toHslString: function() {\n        var hsl = rgbToHsl(this._r, this._g, this._b);\n        var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n        return (this._a == 1) ?\n          \"hsl(\"  + h + \", \" + s + \"%, \" + l + \"%)\" :\n          \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n    },\n    toHex: function(allow3Char) {\n        return rgbToHex(this._r, this._g, this._b, allow3Char);\n    },\n    toHexString: function(allow3Char) {\n        return '#' + this.toHex(allow3Char);\n    },\n    toHex8: function(allow4Char) {\n        return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n    },\n    toHex8String: function(allow4Char) {\n        return '#' + this.toHex8(allow4Char);\n    },\n    toRgb: function() {\n        return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n    },\n    toRgbString: function() {\n        return (this._a == 1) ?\n          \"rgb(\"  + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n          \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n    },\n    toPercentageRgb: function() {\n        return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n    },\n    toPercentageRgbString: function() {\n        return (this._a == 1) ?\n          \"rgb(\"  + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n          \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n    },\n    toName: function() {\n        if (this._a === 0) {\n            return \"transparent\";\n        }\n\n        if (this._a < 1) {\n            return false;\n        }\n\n        return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n    },\n    toFilter: function(secondColor) {\n        var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n        var secondHex8String = hex8String;\n        var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\n        if (secondColor) {\n            var s = tinycolor(secondColor);\n            secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n        }\n\n        return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n    },\n    toString: function(format) {\n        var formatSet = !!format;\n        format = format || this._format;\n\n        var formattedString = false;\n        var hasAlpha = this._a < 1 && this._a >= 0;\n        var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n        if (needsAlphaFormat) {\n            // Special case for \"transparent\", all other non-alpha formats\n            // will return rgba when there is transparency.\n            if (format === \"name\" && this._a === 0) {\n                return this.toName();\n            }\n            return this.toRgbString();\n        }\n        if (format === \"rgb\") {\n            formattedString = this.toRgbString();\n        }\n        if (format === \"prgb\") {\n            formattedString = this.toPercentageRgbString();\n        }\n        if (format === \"hex\" || format === \"hex6\") {\n            formattedString = this.toHexString();\n        }\n        if (format === \"hex3\") {\n            formattedString = this.toHexString(true);\n        }\n        if (format === \"hex4\") {\n            formattedString = this.toHex8String(true);\n        }\n        if (format === \"hex8\") {\n            formattedString = this.toHex8String();\n        }\n        if (format === \"name\") {\n            formattedString = this.toName();\n        }\n        if (format === \"hsl\") {\n            formattedString = this.toHslString();\n        }\n        if (format === \"hsv\") {\n            formattedString = this.toHsvString();\n        }\n\n        return formattedString || this.toHexString();\n    },\n    clone: function() {\n        return tinycolor(this.toString());\n    },\n\n    _applyModification: function(fn, args) {\n        var color = fn.apply(null, [this].concat([].slice.call(args)));\n        this._r = color._r;\n        this._g = color._g;\n        this._b = color._b;\n        this.setAlpha(color._a);\n        return this;\n    },\n    lighten: function() {\n        return this._applyModification(lighten, arguments);\n    },\n    brighten: function() {\n        return this._applyModification(brighten, arguments);\n    },\n    darken: function() {\n        return this._applyModification(darken, arguments);\n    },\n    desaturate: function() {\n        return this._applyModification(desaturate, arguments);\n    },\n    saturate: function() {\n        return this._applyModification(saturate, arguments);\n    },\n    greyscale: function() {\n        return this._applyModification(greyscale, arguments);\n    },\n    spin: function() {\n        return this._applyModification(spin, arguments);\n    },\n\n    _applyCombination: function(fn, args) {\n        return fn.apply(null, [this].concat([].slice.call(args)));\n    },\n    analogous: function() {\n        return this._applyCombination(analogous, arguments);\n    },\n    complement: function() {\n        return this._applyCombination(complement, arguments);\n    },\n    monochromatic: function() {\n        return this._applyCombination(monochromatic, arguments);\n    },\n    splitcomplement: function() {\n        return this._applyCombination(splitcomplement, arguments);\n    },\n    triad: function() {\n        return this._applyCombination(triad, arguments);\n    },\n    tetrad: function() {\n        return this._applyCombination(tetrad, arguments);\n    }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n    if (typeof color == \"object\") {\n        var newColor = {};\n        for (var i in color) {\n            if (color.hasOwnProperty(i)) {\n                if (i === \"a\") {\n                    newColor[i] = color[i];\n                }\n                else {\n                    newColor[i] = convertToPercentage(color[i]);\n                }\n            }\n        }\n        color = newColor;\n    }\n\n    return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n//     \"red\"\n//     \"#f00\" or \"f00\"\n//     \"#ff0000\" or \"ff0000\"\n//     \"#ff000000\" or \"ff000000\"\n//     \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n//     \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n//     \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n//     \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n//     \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n//     \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n//     \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n\n    var rgb = { r: 0, g: 0, b: 0 };\n    var a = 1;\n    var s = null;\n    var v = null;\n    var l = null;\n    var ok = false;\n    var format = false;\n\n    if (typeof color == \"string\") {\n        color = stringInputToObject(color);\n    }\n\n    if (typeof color == \"object\") {\n        if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n            rgb = rgbToRgb(color.r, color.g, color.b);\n            ok = true;\n            format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n        }\n        else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n            s = convertToPercentage(color.s);\n            v = convertToPercentage(color.v);\n            rgb = hsvToRgb(color.h, s, v);\n            ok = true;\n            format = \"hsv\";\n        }\n        else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n            s = convertToPercentage(color.s);\n            l = convertToPercentage(color.l);\n            rgb = hslToRgb(color.h, s, l);\n            ok = true;\n            format = \"hsl\";\n        }\n\n        if (color.hasOwnProperty(\"a\")) {\n            a = color.a;\n        }\n    }\n\n    a = boundAlpha(a);\n\n    return {\n        ok: ok,\n        format: color.format || format,\n        r: mathMin(255, mathMax(rgb.r, 0)),\n        g: mathMin(255, mathMax(rgb.g, 0)),\n        b: mathMin(255, mathMax(rgb.b, 0)),\n        a: a\n    };\n}\n\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// <http://www.w3.org/TR/css3-color/>\n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b){\n    return {\n        r: bound01(r, 255) * 255,\n        g: bound01(g, 255) * 255,\n        b: bound01(b, 255) * 255\n    };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n\n    r = bound01(r, 255);\n    g = bound01(g, 255);\n    b = bound01(b, 255);\n\n    var max = mathMax(r, g, b), min = mathMin(r, g, b);\n    var h, s, l = (max + min) / 2;\n\n    if(max == min) {\n        h = s = 0; // achromatic\n    }\n    else {\n        var d = max - min;\n        s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n        switch(max) {\n            case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n            case g: h = (b - r) / d + 2; break;\n            case b: h = (r - g) / d + 4; break;\n        }\n\n        h /= 6;\n    }\n\n    return { h: h, s: s, l: l };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n    var r, g, b;\n\n    h = bound01(h, 360);\n    s = bound01(s, 100);\n    l = bound01(l, 100);\n\n    function hue2rgb(p, q, t) {\n        if(t < 0) t += 1;\n        if(t > 1) t -= 1;\n        if(t < 1/6) return p + (q - p) * 6 * t;\n        if(t < 1/2) return q;\n        if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n        return p;\n    }\n\n    if(s === 0) {\n        r = g = b = l; // achromatic\n    }\n    else {\n        var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n        var p = 2 * l - q;\n        r = hue2rgb(p, q, h + 1/3);\n        g = hue2rgb(p, q, h);\n        b = hue2rgb(p, q, h - 1/3);\n    }\n\n    return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n    r = bound01(r, 255);\n    g = bound01(g, 255);\n    b = bound01(b, 255);\n\n    var max = mathMax(r, g, b), min = mathMin(r, g, b);\n    var h, s, v = max;\n\n    var d = max - min;\n    s = max === 0 ? 0 : d / max;\n\n    if(max == min) {\n        h = 0; // achromatic\n    }\n    else {\n        switch(max) {\n            case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n            case g: h = (b - r) / d + 2; break;\n            case b: h = (r - g) / d + 4; break;\n        }\n        h /= 6;\n    }\n    return { h: h, s: s, v: v };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n    h = bound01(h, 360) * 6;\n    s = bound01(s, 100);\n    v = bound01(v, 100);\n\n    var i = Math.floor(h),\n        f = h - i,\n        p = v * (1 - s),\n        q = v * (1 - f * s),\n        t = v * (1 - (1 - f) * s),\n        mod = i % 6,\n        r = [v, q, p, p, t, v][mod],\n        g = [t, v, v, q, p, p][mod],\n        b = [p, p, t, v, v, q][mod];\n\n    return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n    var hex = [\n        pad2(mathRound(r).toString(16)),\n        pad2(mathRound(g).toString(16)),\n        pad2(mathRound(b).toString(16))\n    ];\n\n    // Return a 3 character hex if possible\n    if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n        return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n    }\n\n    return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n    var hex = [\n        pad2(mathRound(r).toString(16)),\n        pad2(mathRound(g).toString(16)),\n        pad2(mathRound(b).toString(16)),\n        pad2(convertDecimalToHex(a))\n    ];\n\n    // Return a 4 character hex if possible\n    if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n        return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n    }\n\n    return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n    var hex = [\n        pad2(convertDecimalToHex(a)),\n        pad2(mathRound(r).toString(16)),\n        pad2(mathRound(g).toString(16)),\n        pad2(mathRound(b).toString(16))\n    ];\n\n    return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n    if (!color1 || !color2) { return false; }\n    return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n    return tinycolor.fromRatio({\n        r: mathRandom(),\n        g: mathRandom(),\n        b: mathRandom()\n    });\n};\n\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js>\n\nfunction desaturate(color, amount) {\n    amount = (amount === 0) ? 0 : (amount || 10);\n    var hsl = tinycolor(color).toHsl();\n    hsl.s -= amount / 100;\n    hsl.s = clamp01(hsl.s);\n    return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n    amount = (amount === 0) ? 0 : (amount || 10);\n    var hsl = tinycolor(color).toHsl();\n    hsl.s += amount / 100;\n    hsl.s = clamp01(hsl.s);\n    return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n    return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n    amount = (amount === 0) ? 0 : (amount || 10);\n    var hsl = tinycolor(color).toHsl();\n    hsl.l += amount / 100;\n    hsl.l = clamp01(hsl.l);\n    return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n    amount = (amount === 0) ? 0 : (amount || 10);\n    var rgb = tinycolor(color).toRgb();\n    rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n    rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n    rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n    return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n    amount = (amount === 0) ? 0 : (amount || 10);\n    var hsl = tinycolor(color).toHsl();\n    hsl.l -= amount / 100;\n    hsl.l = clamp01(hsl.l);\n    return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction spin(color, amount) {\n    var hsl = tinycolor(color).toHsl();\n    var hue = (hsl.h + amount) % 360;\n    hsl.h = hue < 0 ? 360 + hue : hue;\n    return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js>\n\nfunction complement(color) {\n    var hsl = tinycolor(color).toHsl();\n    hsl.h = (hsl.h + 180) % 360;\n    return tinycolor(hsl);\n}\n\nfunction triad(color) {\n    var hsl = tinycolor(color).toHsl();\n    var h = hsl.h;\n    return [\n        tinycolor(color),\n        tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n        tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n    ];\n}\n\nfunction tetrad(color) {\n    var hsl = tinycolor(color).toHsl();\n    var h = hsl.h;\n    return [\n        tinycolor(color),\n        tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n        tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n        tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n    ];\n}\n\nfunction splitcomplement(color) {\n    var hsl = tinycolor(color).toHsl();\n    var h = hsl.h;\n    return [\n        tinycolor(color),\n        tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n        tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n    ];\n}\n\nfunction analogous(color, results, slices) {\n    results = results || 6;\n    slices = slices || 30;\n\n    var hsl = tinycolor(color).toHsl();\n    var part = 360 / slices;\n    var ret = [tinycolor(color)];\n\n    for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n        hsl.h = (hsl.h + part) % 360;\n        ret.push(tinycolor(hsl));\n    }\n    return ret;\n}\n\nfunction monochromatic(color, results) {\n    results = results || 6;\n    var hsv = tinycolor(color).toHsv();\n    var h = hsv.h, s = hsv.s, v = hsv.v;\n    var ret = [];\n    var modification = 1 / results;\n\n    while (results--) {\n        ret.push(tinycolor({ h: h, s: s, v: v}));\n        v = (v + modification) % 1;\n    }\n\n    return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n    amount = (amount === 0) ? 0 : (amount || 50);\n\n    var rgb1 = tinycolor(color1).toRgb();\n    var rgb2 = tinycolor(color2).toRgb();\n\n    var p = amount / 100;\n\n    var rgba = {\n        r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n        g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n        b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n        a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n    };\n\n    return tinycolor(rgba);\n};\n\n\n// Readability Functions\n// ---------------------\n// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)\n\n// `contrast`\n// Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)\ntinycolor.readability = function(color1, color2) {\n    var c1 = tinycolor(color1);\n    var c2 = tinycolor(color2);\n    return (Math.max(c1.getLuminance(),c2.getLuminance())+0.05) / (Math.min(c1.getLuminance(),c2.getLuminance())+0.05);\n};\n\n// `isReadable`\n// Ensure that foreground and background color combinations meet WCAG2 guidelines.\n// The third argument is an optional Object.\n//      the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA';\n//      the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'.\n// If the entire object is absent, isReadable defaults to {level:\"AA\",size:\"small\"}.\n\n// *Example*\n//    tinycolor.isReadable(\"#000\", \"#111\") => false\n//    tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n    var readability = tinycolor.readability(color1, color2);\n    var wcag2Parms, out;\n\n    out = false;\n\n    wcag2Parms = validateWCAG2Parms(wcag2);\n    switch (wcag2Parms.level + wcag2Parms.size) {\n        case \"AAsmall\":\n        case \"AAAlarge\":\n            out = readability >= 4.5;\n            break;\n        case \"AAlarge\":\n            out = readability >= 3;\n            break;\n        case \"AAAsmall\":\n            out = readability >= 7;\n            break;\n    }\n    return out;\n\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n//    tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n//    tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString();  // \"#ffffff\"\n//    tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n//    tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n    var bestColor = null;\n    var bestScore = 0;\n    var readability;\n    var includeFallbackColors, level, size ;\n    args = args || {};\n    includeFallbackColors = args.includeFallbackColors ;\n    level = args.level;\n    size = args.size;\n\n    for (var i= 0; i < colorList.length ; i++) {\n        readability = tinycolor.readability(baseColor, colorList[i]);\n        if (readability > bestScore) {\n            bestScore = readability;\n            bestColor = tinycolor(colorList[i]);\n        }\n    }\n\n    if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n        return bestColor;\n    }\n    else {\n        args.includeFallbackColors=false;\n        return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n    }\n};\n\n\n// Big List of Colors\n// ------------------\n// <http://www.w3.org/TR/css3-color/#svg-color>\nvar names = tinycolor.names = {\n    aliceblue: \"f0f8ff\",\n    antiquewhite: \"faebd7\",\n    aqua: \"0ff\",\n    aquamarine: \"7fffd4\",\n    azure: \"f0ffff\",\n    beige: \"f5f5dc\",\n    bisque: \"ffe4c4\",\n    black: \"000\",\n    blanchedalmond: \"ffebcd\",\n    blue: \"00f\",\n    blueviolet: \"8a2be2\",\n    brown: \"a52a2a\",\n    burlywood: \"deb887\",\n    burntsienna: \"ea7e5d\",\n    cadetblue: \"5f9ea0\",\n    chartreuse: \"7fff00\",\n    chocolate: \"d2691e\",\n    coral: \"ff7f50\",\n    cornflowerblue: \"6495ed\",\n    cornsilk: \"fff8dc\",\n    crimson: \"dc143c\",\n    cyan: \"0ff\",\n    darkblue: \"00008b\",\n    darkcyan: \"008b8b\",\n    darkgoldenrod: \"b8860b\",\n    darkgray: \"a9a9a9\",\n    darkgreen: \"006400\",\n    darkgrey: \"a9a9a9\",\n    darkkhaki: \"bdb76b\",\n    darkmagenta: \"8b008b\",\n    darkolivegreen: \"556b2f\",\n    darkorange: \"ff8c00\",\n    darkorchid: \"9932cc\",\n    darkred: \"8b0000\",\n    darksalmon: \"e9967a\",\n    darkseagreen: \"8fbc8f\",\n    darkslateblue: \"483d8b\",\n    darkslategray: \"2f4f4f\",\n    darkslategrey: \"2f4f4f\",\n    darkturquoise: \"00ced1\",\n    darkviolet: \"9400d3\",\n    deeppink: \"ff1493\",\n    deepskyblue: \"00bfff\",\n    dimgray: \"696969\",\n    dimgrey: \"696969\",\n    dodgerblue: \"1e90ff\",\n    firebrick: \"b22222\",\n    floralwhite: \"fffaf0\",\n    forestgreen: \"228b22\",\n    fuchsia: \"f0f\",\n    gainsboro: \"dcdcdc\",\n    ghostwhite: \"f8f8ff\",\n    gold: \"ffd700\",\n    goldenrod: \"daa520\",\n    gray: \"808080\",\n    green: \"008000\",\n    greenyellow: \"adff2f\",\n    grey: \"808080\",\n    honeydew: \"f0fff0\",\n    hotpink: \"ff69b4\",\n    indianred: \"cd5c5c\",\n    indigo: \"4b0082\",\n    ivory: \"fffff0\",\n    khaki: \"f0e68c\",\n    lavender: \"e6e6fa\",\n    lavenderblush: \"fff0f5\",\n    lawngreen: \"7cfc00\",\n    lemonchiffon: \"fffacd\",\n    lightblue: \"add8e6\",\n    lightcoral: \"f08080\",\n    lightcyan: \"e0ffff\",\n    lightgoldenrodyellow: \"fafad2\",\n    lightgray: \"d3d3d3\",\n    lightgreen: \"90ee90\",\n    lightgrey: \"d3d3d3\",\n    lightpink: \"ffb6c1\",\n    lightsalmon: \"ffa07a\",\n    lightseagreen: \"20b2aa\",\n    lightskyblue: \"87cefa\",\n    lightslategray: \"789\",\n    lightslategrey: \"789\",\n    lightsteelblue: \"b0c4de\",\n    lightyellow: \"ffffe0\",\n    lime: \"0f0\",\n    limegreen: \"32cd32\",\n    linen: \"faf0e6\",\n    magenta: \"f0f\",\n    maroon: \"800000\",\n    mediumaquamarine: \"66cdaa\",\n    mediumblue: \"0000cd\",\n    mediumorchid: \"ba55d3\",\n    mediumpurple: \"9370db\",\n    mediumseagreen: \"3cb371\",\n    mediumslateblue: \"7b68ee\",\n    mediumspringgreen: \"00fa9a\",\n    mediumturquoise: \"48d1cc\",\n    mediumvioletred: \"c71585\",\n    midnightblue: \"191970\",\n    mintcream: \"f5fffa\",\n    mistyrose: \"ffe4e1\",\n    moccasin: \"ffe4b5\",\n    navajowhite: \"ffdead\",\n    navy: \"000080\",\n    oldlace: \"fdf5e6\",\n    olive: \"808000\",\n    olivedrab: \"6b8e23\",\n    orange: \"ffa500\",\n    orangered: \"ff4500\",\n    orchid: \"da70d6\",\n    palegoldenrod: \"eee8aa\",\n    palegreen: \"98fb98\",\n    paleturquoise: \"afeeee\",\n    palevioletred: \"db7093\",\n    papayawhip: \"ffefd5\",\n    peachpuff: \"ffdab9\",\n    peru: \"cd853f\",\n    pink: \"ffc0cb\",\n    plum: \"dda0dd\",\n    powderblue: \"b0e0e6\",\n    purple: \"800080\",\n    rebeccapurple: \"663399\",\n    red: \"f00\",\n    rosybrown: \"bc8f8f\",\n    royalblue: \"4169e1\",\n    saddlebrown: \"8b4513\",\n    salmon: \"fa8072\",\n    sandybrown: \"f4a460\",\n    seagreen: \"2e8b57\",\n    seashell: \"fff5ee\",\n    sienna: \"a0522d\",\n    silver: \"c0c0c0\",\n    skyblue: \"87ceeb\",\n    slateblue: \"6a5acd\",\n    slategray: \"708090\",\n    slategrey: \"708090\",\n    snow: \"fffafa\",\n    springgreen: \"00ff7f\",\n    steelblue: \"4682b4\",\n    tan: \"d2b48c\",\n    teal: \"008080\",\n    thistle: \"d8bfd8\",\n    tomato: \"ff6347\",\n    turquoise: \"40e0d0\",\n    violet: \"ee82ee\",\n    wheat: \"f5deb3\",\n    white: \"fff\",\n    whitesmoke: \"f5f5f5\",\n    yellow: \"ff0\",\n    yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n    var flipped = { };\n    for (var i in o) {\n        if (o.hasOwnProperty(i)) {\n            flipped[o[i]] = i;\n        }\n    }\n    return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n    a = parseFloat(a);\n\n    if (isNaN(a) || a < 0 || a > 1) {\n        a = 1;\n    }\n\n    return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n    if (isOnePointZero(n)) { n = \"100%\"; }\n\n    var processPercent = isPercentage(n);\n    n = mathMin(max, mathMax(0, parseFloat(n)));\n\n    // Automatically convert percentage into number\n    if (processPercent) {\n        n = parseInt(n * max, 10) / 100;\n    }\n\n    // Handle floating point rounding errors\n    if ((Math.abs(n - max) < 0.000001)) {\n        return 1;\n    }\n\n    // Convert into [0, 1] range if it isn't already\n    return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n    return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n    return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\nfunction isOnePointZero(n) {\n    return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n    return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n    return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n    if (n <= 1) {\n        n = (n * 100) + \"%\";\n    }\n\n    return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n    return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n    return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n    // <http://www.w3.org/TR/css3-values/#integers>\n    var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n    // <http://www.w3.org/TR/css3-values/#number-value>\n    var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n    // Allow positive/negative integer/number.  Don't capture the either/or, just the entire outcome.\n    var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n    // Actual matching.\n    // Parentheses and commas are optional, but not required.\n    // Whitespace can take the place of commas or opening paren\n    var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n    var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n    return {\n        CSS_UNIT: new RegExp(CSS_UNIT),\n        rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n        rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n        hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n        hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n        hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n        hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n        hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n        hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n        hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n        hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n    };\n})();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n    return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing.  Take in a number of formats, and output an object\n// based on detected format.  Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n\n    color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n    var named = false;\n    if (names[color]) {\n        color = names[color];\n        named = true;\n    }\n    else if (color == 'transparent') {\n        return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n    }\n\n    // Try to match string input using regular expressions.\n    // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n    // Just return an object and let the conversion functions handle that.\n    // This way the result will be the same whether the tinycolor is initialized with string or object.\n    var match;\n    if ((match = matchers.rgb.exec(color))) {\n        return { r: match[1], g: match[2], b: match[3] };\n    }\n    if ((match = matchers.rgba.exec(color))) {\n        return { r: match[1], g: match[2], b: match[3], a: match[4] };\n    }\n    if ((match = matchers.hsl.exec(color))) {\n        return { h: match[1], s: match[2], l: match[3] };\n    }\n    if ((match = matchers.hsla.exec(color))) {\n        return { h: match[1], s: match[2], l: match[3], a: match[4] };\n    }\n    if ((match = matchers.hsv.exec(color))) {\n        return { h: match[1], s: match[2], v: match[3] };\n    }\n    if ((match = matchers.hsva.exec(color))) {\n        return { h: match[1], s: match[2], v: match[3], a: match[4] };\n    }\n    if ((match = matchers.hex8.exec(color))) {\n        return {\n            r: parseIntFromHex(match[1]),\n            g: parseIntFromHex(match[2]),\n            b: parseIntFromHex(match[3]),\n            a: convertHexToDecimal(match[4]),\n            format: named ? \"name\" : \"hex8\"\n        };\n    }\n    if ((match = matchers.hex6.exec(color))) {\n        return {\n            r: parseIntFromHex(match[1]),\n            g: parseIntFromHex(match[2]),\n            b: parseIntFromHex(match[3]),\n            format: named ? \"name\" : \"hex\"\n        };\n    }\n    if ((match = matchers.hex4.exec(color))) {\n        return {\n            r: parseIntFromHex(match[1] + '' + match[1]),\n            g: parseIntFromHex(match[2] + '' + match[2]),\n            b: parseIntFromHex(match[3] + '' + match[3]),\n            a: convertHexToDecimal(match[4] + '' + match[4]),\n            format: named ? \"name\" : \"hex8\"\n        };\n    }\n    if ((match = matchers.hex3.exec(color))) {\n        return {\n            r: parseIntFromHex(match[1] + '' + match[1]),\n            g: parseIntFromHex(match[2] + '' + match[2]),\n            b: parseIntFromHex(match[3] + '' + match[3]),\n            format: named ? \"name\" : \"hex\"\n        };\n    }\n\n    return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n    // return valid WCAG2 parms for isReadable.\n    // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n    var level, size;\n    parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n    level = (parms.level || \"AA\").toUpperCase();\n    size = (parms.size || \"small\").toLowerCase();\n    if (level !== \"AA\" && level !== \"AAA\") {\n        level = \"AA\";\n    }\n    if (size !== \"small\" && size !== \"large\") {\n        size = \"small\";\n    }\n    return {\"level\":level, \"size\":size};\n}\n\n// Node: Export function\nif ( true && module.exports) {\n    module.exports = tinycolor;\n}\n// AMD/requirejs: Define the module\nelse if (true) {\n    !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {return tinycolor;}).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n}\n// Browser: Expose to window\nelse {}\n\n})(Math);\n\n\n/***/ }),\n\n/***/ \"./node_modules/tinygradient/tinygradient.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/tinygradient/tinygradient.js ***!\n  \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n * TinyGradient 0.4.3\n * Copyright 2014-2018 Damien \"Mistic\" Sorel (http://www.strangeplanet.fr)\n * Licensed under MIT (http://opensource.org/licenses/MIT)\n */\n\n(function (root, factory) {\n    if ( true && module.exports) {\n        module.exports = factory(__webpack_require__(/*! tinycolor2 */ \"./node_modules/tinycolor2/tinycolor.js\"));\n    }\n    else if (true) {\n        !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! tinycolor2 */ \"./node_modules/tinycolor2/tinycolor.js\")], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n    }\n    else {}\n}(this, function (tinycolor) {\n    \"use strict\";\n\n    var RGBA_MAX = {r: 256, g: 256, b: 256, a: 1};\n    var HSVA_MAX = {h: 360, s: 1, v: 1, a: 1};\n\n    /**\n     * Linearly compute the step size between start and end (not normalized)\n     * @param {Object} start - rgba or hsva\n     * @param {Object} end - rgba or hsva\n     * @param {int} steps - number of desired steps\n     * @return {Object} rgba or hsva\n     */\n    function stepize(start, end, steps) {\n        var step = {};\n\n        for (var k in start) {\n            if (start.hasOwnProperty(k)) {\n                step[k] = steps === 0 ? 0 : (end[k] - start[k]) / steps;\n            }\n        }\n\n        return step;\n    }\n\n    /**\n     * Compute the final step color\n     * @param {Object} step - rgba or hsva from `stepize`\n     * @param {Object} start - rgba or hsva\n     * @param {int} i - color index\n     * @param {Object} max - rgba or hsva of maximum values for each channel\n     * @return {Object} rgba or hsva\n     */\n    function interpolate(step, start, i, max) {\n        var color = {};\n\n        for (var k in start) {\n            if (start.hasOwnProperty(k)) {\n                color[k] = step[k] * i + start[k];\n                color[k] = color[k] < 0 ? color[k] + max[k] : ( max[k] !== 1 ? color[k] % max[k] : color[k] );\n            }\n        }\n\n        return color;\n    }\n\n    /**\n     * Generate gradient with RGBa interpolation\n     * @param {Object} stop1\n     * @param {Object} stop2\n     * @param {int} steps\n     * @return {tinycolor[]} color1 included, color2 excluded\n     */\n    function interpolateRgb(stop1, stop2, steps) {\n        var start = stop1.color.toRgb(),\n            end = stop2.color.toRgb(),\n            gradient = [stop1.color],\n            step = stepize(start, end, steps),\n            color;\n\n        for (var i = 1; i < steps; i++) {\n            color = interpolate(step, start, i, RGBA_MAX);\n            gradient.push(tinycolor(color));\n        }\n\n        return gradient;\n    }\n\n    /**\n     * Generate gradient with HSVa interpolation\n     * @param {Object} stop1\n     * @param {Object} stop2\n     * @param {int} steps\n     * @param {Boolean} trigonometric - true to step in trigonometric order\n     * @return {tinycolor[]} color1 included, color2 excluded\n     */\n    function interpolateHsv(stop1, stop2, steps, trigonometric) {\n        var start = stop1.color.toHsv(),\n            end = stop2.color.toHsv(),\n            gradient = [stop1.color],\n            step = stepize(start, end, steps),\n            diff, color;\n\n        // recompute hue\n        if ((start.h <= end.h && !trigonometric) || (start.h >= end.h && trigonometric)) {\n            diff = end.h - start.h;\n        }\n        else if (trigonometric) {\n            diff = 360 - end.h + start.h;\n        }\n        else {\n            diff = 360 - start.h + end.h;\n        }\n        step.h = Math.pow(-1, trigonometric ? 1 : 0) * Math.abs(diff) / steps;\n\n        for (var i = 1; i < steps; i++) {\n            color = interpolate(step, start, i, HSVA_MAX);\n            gradient.push(tinycolor(color));\n        }\n\n        return gradient;\n    }\n\n    /**\n     * Compute substeps between each stops\n     * @param {Object[]} stops\n     * @param {int} steps\n     * @return {int[]}\n     */\n    function computeSubsteps(stops, steps) {\n        var l = stops.length;\n\n        // validation\n        steps = parseInt(steps);\n\n        if (isNaN(steps) || steps < 2) {\n            throw new Error('Invalid number of steps (< 2)');\n        }\n        if (steps < l) {\n            throw new Error('Number of steps cannot be inferior to number of stops');\n        }\n\n        // compute substeps from stop positions\n        var substeps = [];\n\n        for (var i = 1; i < l; i++) {\n            var step = (steps - 1) * (stops[i].pos - stops[i - 1].pos);\n            substeps.push(Math.max(1, Math.round(step)));\n        }\n\n        // adjust number of steps\n        var totalSubsteps = 1;\n        for (var n = l - 1; n--;) totalSubsteps += substeps[n];\n\n        while (totalSubsteps !== steps) {\n            if (totalSubsteps < steps) {\n                var min = Math.min.apply(null, substeps);\n                substeps[substeps.indexOf(min)]++;\n                totalSubsteps++;\n            }\n            else {\n                var max = Math.max.apply(null, substeps);\n                substeps[substeps.indexOf(max)]--;\n                totalSubsteps--;\n            }\n        }\n\n        return substeps;\n    }\n\n    /**\n     * Compute the color at a specific position\n     * @param {Object[]} stops\n     * @param {float} pos\n     * @param {string} method\n     * @param {Object} max\n     * @returns {tinycolor}\n     */\n    function computeAt(stops, pos, method, max) {\n        if (pos < 0 || pos > 1) {\n            throw new Error('Position must be between 0 and 1');\n        }\n\n        var start, end;\n        for (var i = 0, l = stops.length; i < l - 1; i++) {\n            if (pos >= stops[i].pos && pos < stops[i + 1].pos) {\n                start = stops[i];\n                end = stops[i + 1];\n                break;\n            }\n        }\n\n        if (!start) {\n            start = end = stops[stops.length - 1];\n        }\n\n        var step = stepize(start.color[method](), end.color[method](), (end.pos - start.pos) * 100);\n        var color = interpolate(step, start.color[method](), Math.round((pos - start.pos) * 100), max);\n        return tinycolor(color);\n    }\n\n    /**\n     * @class tinygradient\n     * @param {*} stops\n     */\n    var TinyGradient = function (stops) {\n        // varargs\n        if (arguments.length === 1) {\n            if (!(arguments[0] instanceof Array)) {\n                throw new Error('\"stops\" is not an array');\n            }\n            stops = arguments[0];\n        }\n        else {\n            stops = Array.prototype.slice.call(arguments);\n        }\n\n        // if we are called as a function, call using new instead\n        if (!(this instanceof TinyGradient)) {\n            return new TinyGradient(stops);\n        }\n\n        // validation\n        if (stops.length < 2) {\n            throw new Error('Invalid number of stops (< 2)');\n        }\n\n        var havingPositions = stops[0].pos !== undefined,\n            l = stops.length,\n            p = -1;\n        // create tinycolor objects and clean positions\n        this.stops = stops.map(function (stop, i) {\n            var hasPosition = stop.pos !== undefined;\n            if (havingPositions ^ hasPosition) {\n                throw new Error('Cannot mix positionned and not posionned color stops');\n            }\n\n            if (hasPosition) {\n                stop = {\n                    color: tinycolor(stop.color),\n                    pos  : stop.pos\n                };\n\n                if (stop.pos < 0 || stop.pos > 1) {\n                    throw new Error('Color stops positions must be between 0 and 1');\n                }\n                else if (stop.pos <= p) {\n                    throw new Error('Color stops positions are not ordered');\n                }\n                p = stop.pos;\n            }\n            else {\n                stop = {\n                    color: tinycolor(stop),\n                    pos  : i / (l - 1)\n                };\n            }\n\n            return stop;\n        });\n\n        if (this.stops[0].pos !== 0) {\n            this.stops.unshift({\n                color: this.stops[0].color,\n                pos  : 0\n            });\n        }\n        if (this.stops[this.stops.length - 1].pos !== 1) {\n            this.stops.push({\n                color: this.stops[this.stops.length - 1].color,\n                pos  : 1\n            });\n        }\n    };\n\n    /**\n     * Return new instance with reversed stops\n     * @return {tinygradient}\n     */\n    TinyGradient.prototype.reverse = function () {\n        var stops = [];\n\n        this.stops.forEach(function (stop) {\n            stops.push({\n                color: stop.color,\n                pos  : 1 - stop.pos\n            });\n        });\n\n        return new TinyGradient(stops.reverse());\n    };\n\n    /**\n     * Generate gradient with RGBa interpolation\n     * @param {int} steps\n     * @return {tinycolor[]}\n     */\n    TinyGradient.prototype.rgb = function (steps) {\n        var substeps = computeSubsteps(this.stops, steps),\n            gradient = [];\n\n        for (var i = 0, l = this.stops.length; i < l - 1; i++) {\n            gradient = gradient.concat(interpolateRgb(this.stops[i], this.stops[i + 1], substeps[i]));\n        }\n\n        gradient.push(this.stops[l - 1].color);\n\n        return gradient;\n    };\n\n    /**\n     * Generate gradient with HSVa interpolation\n     * @param {int} steps\n     * @param {Boolean|String} [mode=false]\n     *    - false to step in clockwise\n     *    - true to step in trigonometric order\n     *    - 'short' to use the shortest way\n     *    - 'long' to use the longest way\n     * @return {tinycolor[]}\n     */\n    TinyGradient.prototype.hsv = function (steps, mode) {\n        var substeps = computeSubsteps(this.stops, steps),\n            trigonometric = mode === true,\n            parametrized = typeof mode === 'string',\n            gradient = [],\n            start, end, trig;\n\n        for (var i = 0, l = this.stops.length; i < l - 1; i++) {\n            start = this.stops[i].color.toHsv();\n            end = this.stops[i + 1].color.toHsv();\n\n            if (parametrized) {\n                trig = (start.h < end.h && end.h - start.h < 180) || (start.h > end.h && start.h - end.h > 180);\n            }\n\n            // rgb interpolation if one of the steps in grayscale\n            if (start.s === 0 || end.s === 0) {\n                gradient = gradient.concat(interpolateRgb(this.stops[i], this.stops[i + 1], substeps[i]));\n            }\n            else {\n                gradient = gradient.concat(interpolateHsv(this.stops[i], this.stops[i + 1], substeps[i],\n                    (mode === 'long' && trig) || (mode === 'short' && !trig) || (!parametrized && trigonometric)\n                ));\n            }\n        }\n\n        gradient.push(this.stops[l - 1].color);\n\n        return gradient;\n    };\n\n    /**\n     * Generate CSS3 command (no prefix) for this gradient\n     * @param {String} [mode=linear] - 'linear' or 'radial'\n     * @param {String} [direction] - default is 'to right' or 'ellipse at center'\n     * @return {String}\n     */\n    TinyGradient.prototype.css = function (mode, direction) {\n        mode = mode || 'linear';\n        direction = direction || (mode === 'linear' ? 'to right' : 'ellipse at center');\n\n        var css = mode + '-gradient(' + direction;\n        this.stops.forEach(function (stop) {\n            css += ', ' + stop.color.toRgbString() + ' ' + (stop.pos * 100) + '%';\n        });\n        css += ')';\n        return css;\n    };\n\n    /**\n     * Returns the color at specific position with RGBa interpolation\n     * @param {float} pos, between 0 and 1\n     * @return {tinycolor}\n     */\n    TinyGradient.prototype.rgbAt = function (pos) {\n        return computeAt(this.stops, pos, 'toRgb', RGBA_MAX);\n    };\n\n    /**\n     * Returns the color at specific position with HSVa interpolation\n     * @param {float} pos, between 0 and 1\n     * @return {tinycolor}\n     */\n    TinyGradient.prototype.hsvAt = function (pos) {\n        return computeAt(this.stops, pos, 'toHsv', HSVA_MAX);\n    };\n\n    var STATIC_FNS = {\n        'rgb'  : 1,\n        'hsv'  : 2,\n        'css'  : 2,\n        'rgbAt': 1,\n        'hsvAt': 1\n    };\n\n    Object.keys(STATIC_FNS).forEach(function (fn) {\n        TinyGradient[fn] = function () {\n            var colors = Array.prototype.slice.call(arguments);\n            var args = colors.splice(-STATIC_FNS[fn]);\n            var gradient = new TinyGradient(colors);\n            return gradient[fn].apply(gradient, args);\n        };\n    });\n\n    // export\n    return TinyGradient;\n}));\n\n/***/ }),\n\n/***/ \"./node_modules/warning/warning.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/warning/warning.js ***!\n  \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = \"development\" !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n  var printWarning = function printWarning(format, args) {\n    var len = arguments.length;\n    args = new Array(len > 1 ? len - 1 : 0);\n    for (var key = 1; key < len; key++) {\n      args[key - 1] = arguments[key];\n    }\n    var argIndex = 0;\n    var message = 'Warning: ' +\n      format.replace(/%s/g, function() {\n        return args[argIndex++];\n      });\n    if (typeof console !== 'undefined') {\n      console.error(message);\n    }\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  }\n\n  warning = function(condition, format, args) {\n    var len = arguments.length;\n    args = new Array(len > 2 ? len - 2 : 0);\n    for (var key = 2; key < len; key++) {\n      args[key - 2] = arguments[key];\n    }\n    if (format === undefined) {\n      throw new Error(\n          '`warning(condition, format, ...args)` requires a warning ' +\n          'message argument'\n      );\n    }\n    if (!condition) {\n      printWarning.apply(null, [format].concat(args));\n    }\n  };\n}\n\nmodule.exports = warning;\n\n\n/***/ }),\n\n/***/ \"./node_modules/webpack/buildin/global.js\":\n/*!***********************************!*\\\n  !*** (webpack)/buildin/global.js ***!\n  \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n/***/ }),\n\n/***/ \"./src/components/BooleanSwitch.react.js\":\n/*!***********************************************!*\\\n  !*** ./src/components/BooleanSwitch.react.js ***!\n  \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ramda */ \"./node_modules/ramda/es/index.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _ToggleSwitch_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ToggleSwitch.react */ \"./src/components/ToggleSwitch.react.js\");\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\n\n\n/**\r\n * A switch component that toggles\r\n * between on and off.\r\n */\n\nvar BooleanSwitch =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(BooleanSwitch, _Component);\n\n  function BooleanSwitch(props) {\n    var _this;\n\n    _classCallCheck(this, BooleanSwitch);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(BooleanSwitch).call(this, props));\n    _this.state = {\n      on: props.persisted_props == 'on' ? localStorage.getItem(props.id) == null ? props.on : localStorage.getItem(props.id) == 'true' : props.on\n    };\n    _this.setPropsOverride = _this.setPropsOverride.bind(_assertThisInitialized(_this));\n    return _this;\n  }\n\n  _createClass(BooleanSwitch, [{\n    key: \"UNSAFE_componentWillReceiveProps\",\n    value: function UNSAFE_componentWillReceiveProps(newProps) {\n      if (newProps.on !== this.state.on) this.setState({\n        on: newProps.on\n      });\n    }\n  }, {\n    key: \"setPropsOverride\",\n    value: function setPropsOverride(_ref) {\n      var value = _ref.value;\n      this.setState({\n        on: value\n      });\n      if (this.props.setProps) this.props.setProps({\n        on: value\n      });\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props = this.props,\n          color = _this$props.color,\n          theme = _this$props.theme;\n      var filteredProps = Object(ramda__WEBPACK_IMPORTED_MODULE_3__[\"omit\"])(['persisted_props'], this.props);\n\n      if (this.props.persisted_props == 'on' && this.props.id != null) {\n        localStorage.setItem(this.props.id, this.state.on);\n      }\n\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ToggleSwitch_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _extends({}, filteredProps, {\n        value: this.state.on,\n        setProps: this.setPropsOverride,\n        booleanSwitch: true,\n        color: color || theme.primary\n      }));\n    }\n  }]);\n\n  return BooleanSwitch;\n}(react__WEBPACK_IMPORTED_MODULE_0__[\"Component\"]);\n\nBooleanSwitch.defaultProps = {\n  on: false,\n  vertical: false,\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_4__[\"light\"],\n  labelPosition: 'top',\n  persisted_props: ['on'],\n  persistence_type: 'local'\n};\nBooleanSwitch.propTypes = {\n  /**\r\n   * The ID used to identify this compnent in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Whether or not the switch is on\r\n   */\n  on: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * Color to highlight active switch background\r\n   */\n  color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * If true, switch will be vertical instead\r\n   * of horizontal\r\n   */\n  vertical: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * If true, switch cannot be clicked\r\n   */\n  disabled: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the control. To control styling,\r\n   * pass an object with label and style properties.\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the component label is positioned.\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Class to apply to the root component element.\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root object.\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Dash-assigned callback that gets fired when\r\n   * switch is toggled.\r\n   */\n  setProps: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n\n  /**\r\n   * Used to allow user interactions in this component to be persisted when\r\n   * the component - or the page - is refreshed. If `persisted` is truthy and\r\n   * hasn't changed from its previous value, a `value` that the user has\r\n   * changed while using the app will keep that change, as long as\r\n   * the new `value` also matches what was given originally.\r\n   * Used in conjunction with `persistence_type`.\r\n   */\n  persistence: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number]),\n\n  /**\r\n   * Properties whose user interactions will persist after refreshing the\r\n   * component or the page. Since only `on` is allowed this prop can\r\n   * normally be ignored.\r\n   */\n  persisted_props: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['on'])),\n\n  /**\r\n   * Where persisted user changes will be stored:\r\n   * memory: only kept in memory, reset on page refresh.\r\n   * local: window.localStorage, data is kept after the browser quit.\r\n   * session: window.sessionStorage, data is cleared once the browser quit.\r\n   */\n  persistence_type: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['local', 'session', 'memory']),\n\n  /**\r\n   * size of the switch\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number\n};\nvar ThemedBooleanSwitch = Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(BooleanSwitch);\nThemedBooleanSwitch.defaultProps = BooleanSwitch.defaultProps;\n/* harmony default export */ __webpack_exports__[\"default\"] = (ThemedBooleanSwitch);\n\n/***/ }),\n\n/***/ \"./src/components/ColorPicker.react.js\":\n/*!*********************************************!*\\\n  !*** ./src/components/ColorPicker.react.js ***!\n  \\*********************************************/\n/*! exports provided: default, defaultProps, propTypes */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ColorPicker; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultProps\", function() { return defaultProps; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"propTypes\", function() { return propTypes; });\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\nvar RealColorPicker = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"lazy\"])(function () {\n  return __webpack_require__.e(/*! import() | colorpicker */ \"async-colorpicker\").then(__webpack_require__.bind(null, /*! ../fragments/ColorPicker.react */ \"./src/fragments/ColorPicker.react.js\"));\n});\n/**\r\n * A color picker.\r\n */\n\nvar ColorPicker =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(ColorPicker, _Component);\n\n  function ColorPicker() {\n    _classCallCheck(this, ColorPicker);\n\n    return _possibleConstructorReturn(this, _getPrototypeOf(ColorPicker).apply(this, arguments));\n  }\n\n  _createClass(ColorPicker, [{\n    key: \"render\",\n    value: function render() {\n      return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_1__[\"Suspense\"], {\n        fallback: null\n      }, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(RealColorPicker, this.props));\n    }\n  }]);\n\n  return ColorPicker;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]);\n\n\nColorPicker.defaultProps = {\n  size: 225,\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_2__[\"light\"],\n  labelPosition: 'top',\n  persisted_props: ['value'],\n  persistence_type: 'local'\n};\nColorPicker.propTypes = {\n  /**\r\n   * The ID used to identify the color picker in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n\n  /**\r\n   * Color value of the picker\r\n   */\n  value: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.shape({\n    /**\r\n     * Hex string\r\n     */\n    hex: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n\n    /**\r\n     * RGB/RGBA object\r\n     */\n    rbg: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.shape({\n      r: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number,\n      g: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number,\n      b: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number,\n      a: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number\n    })\n  }),\n\n  /**\r\n   * If true, color cannot be picked.\r\n   */\n  disabled: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool,\n\n  /**\r\n   * Size (width) of the component in pixels\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the control. To control styling,\r\n   * pass an object with label and style properties\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string\n  })]),\n\n  /**\r\n   * Where the indicator label is positioned\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Class to apply to the root component element\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n\n  /**\r\n   * Dash-assigned callback that gets fired when\r\n   * the color picker's value changes\r\n   */\n  setProps: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.func,\n\n  /**\r\n   * Style to apply to the root component element\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.object,\n\n  /**\r\n   * Used to allow user interactions in this component to be persisted when\r\n   * the component - or the page - is refreshed. If `persisted` is truthy and\r\n   * hasn't changed from its previous value, a `value` that the user has\r\n   * changed while using the app will keep that change, as long as\r\n   * the new `value` also matches what was given originally.\r\n   * Used in conjunction with `persistence_type`.\r\n   */\n  persistence: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool, prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number]),\n\n  /**\r\n   * Properties whose user interactions will persist after refreshing the\r\n   * component or the page. Since only `value` is allowed this prop can\r\n   * normally be ignored.\r\n   */\n  persisted_props: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOf(['value'])),\n\n  /**\r\n   * Where persisted user changes will be stored:\r\n   * memory: only kept in memory, reset on page refresh.\r\n   * local: window.localStorage, data is kept after the browser quit.\r\n   * session: window.sessionStorage, data is cleared once the browser quit.\r\n   */\n  persistence_type: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOf(['local', 'session', 'memory'])\n};\nvar defaultProps = ColorPicker.defaultProps;\nvar propTypes = ColorPicker.propTypes;\n\n/***/ }),\n\n/***/ \"./src/components/DarkThemeProvider.react.js\":\n/*!***************************************************!*\\\n  !*** ./src/components/DarkThemeProvider.react.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n\n\n\n\n/**\r\n * DarkThemeProvider is a component that is placed at the root of\r\n * the component tree to make all components match the dark theme\r\n */\n\nfunction DarkThemeProvider(props) {\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"ThemeProvider\"], {\n    theme: props.theme || _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"dark\"]\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, props.children));\n}\n\nDarkThemeProvider.propTypes = {\n  /**\r\n   * The children of this component\r\n   */\n  children: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.node), prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.node]),\n\n  /**\r\n   * Theme object to override with a custom theme\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    /**\r\n     * Highlight color\r\n     */\n    primary: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n    /**\r\n     * Supporting color\r\n     */\n    secondary: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n    /**\r\n     * Color used for UI details, like borders\r\n     */\n    detail: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n    /**\r\n     * True for Dark mode, false for Light\r\n     */\n    dark: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool\n  })\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (DarkThemeProvider);\n\n/***/ }),\n\n/***/ \"./src/components/Gauge.react.js\":\n/*!***************************************!*\\\n  !*** ./src/components/Gauge.react.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _helpers_GaugeSvg_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/GaugeSvg.react */ \"./src/helpers/GaugeSvg.react.js\");\n/* harmony import */ var _styled_Gauge_styled__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styled/Gauge.styled */ \"./src/styled/Gauge.styled.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _styled_CurrentValue_styled__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styled/CurrentValue.styled */ \"./src/styled/CurrentValue.styled.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _styled_Tank_styled__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styled/Tank.styled */ \"./src/styled/Tank.styled.js\");\n/* harmony import */ var _helpers_util__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../helpers/util */ \"./src/helpers/util.js\");\n/* harmony import */ var _helpers_logarithm__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../helpers/logarithm */ \"./src/helpers/logarithm.js\");\n/* harmony import */ var _helpers_scale__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../helpers/scale */ \"./src/helpers/scale.js\");\n/* harmony import */ var _helpers_colorRanges__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../helpers/colorRanges */ \"./src/helpers/colorRanges.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\n/* harmony import */ var conic_gradient__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! conic-gradient */ \"./node_modules/conic-gradient/conic-gradient.js\");\n/* harmony import */ var conic_gradient__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(conic_gradient__WEBPACK_IMPORTED_MODULE_14__);\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\r\n * A Gauge component that points to\r\n * a value between some range.\r\n */\n\nvar Gauge = function Gauge(props) {\n  var max = props.max,\n      min = props.min,\n      showCurrentValue = props.showCurrentValue,\n      units = props.units,\n      logarithmic = props.logarithmic,\n      base = props.base,\n      id = props.id,\n      className = props.className,\n      style = props.style,\n      theme = props.theme,\n      digits = props.digits;\n  var warningPara = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useRef\"])(null);\n  var color = Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_12__[\"convertInRange\"])(props.color, max, min ? min : 0);\n  var colorValue = props.textColor || Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_12__[\"getColorValue\"])(color);\n  var rawValue = props.value != null ? props.value : min;\n  var dirtyValue = logarithmic ? _helpers_logarithm__WEBPACK_IMPORTED_MODULE_10__[\"default\"].compute(rawValue) : rawValue;\n  var currentDisplayValue = dirtyValue;\n  var value = Object(_helpers_util__WEBPACK_IMPORTED_MODULE_9__[\"sanitizeRangeValue\"])({\n    min: min,\n    max: max,\n    value: dirtyValue\n  });\n  var formatter = logarithmic ? _helpers_logarithm__WEBPACK_IMPORTED_MODULE_10__[\"default\"].generateLogFormatter({\n    base: base,\n    isSVG: true\n  }) : null;\n  var scale = Object(_helpers_scale__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(_objectSpread({}, props, {\n    formatter: formatter\n  }));\n  var progress = Object(_helpers_util__WEBPACK_IMPORTED_MODULE_9__[\"computeProgress\"])({\n    min: min,\n    max: max,\n    value: value,\n    progressionTarget: 1\n  });\n  var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_13__[\"getClassName\"])('gauge', theme);\n  var currentValue = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_CurrentValue_styled__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n    className: elementName + '__current-value',\n    valueColor: colorValue,\n    units: units,\n    valueSize: (props.size + 32) * 13.3333 / 100,\n    css: 'transform: translateY(-150%); top: 0;'\n  }, logarithmic ? _helpers_logarithm__WEBPACK_IMPORTED_MODULE_10__[\"default\"].formatValue(currentDisplayValue, base) : currentDisplayValue.toFixed(digits));\n  var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_13__[\"getFilteredProps\"])(props);\n  Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"])(function () {\n    var currValue = logarithmic ? Math.pow(base || 10, currentDisplayValue) : currentDisplayValue;\n    var maximum = logarithmic ? Math.pow(base || 10, max) : max;\n    var minimum = logarithmic ? Math.pow(base || 10, min) : min;\n\n    if (currValue > maximum) {\n      var str = '';\n      warningPara.current.innerHTML = props.exceedMessage ? typeof props.exceedMessage == 'string' ? props.exceedMessage : props.exceedMessage(currValue, maximum) || str : str;\n    } else if (currValue < minimum) {\n      var _str = '';\n      warningPara.current.innerHTML = props.lagingMessage ? typeof props.lagingMessage == 'string' ? props.lagingMessage : props.lagingMessage(currValue, minimum) || _str : _str;\n    } else {\n      warningPara.current.innerHTML = '';\n    }\n  }, [currentDisplayValue]);\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n    id: id,\n    className: elementName + (className ? ' ' + className : ''),\n    style: style\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Tank_styled__WEBPACK_IMPORTED_MODULE_8__[\"ExceededWarning\"], {\n    ref: warningPara\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _extends({\n    className: elementName + '__label'\n  }, filteredProps, {\n    labelCSS: props.labelPosition === 'top' ? null : 'transform: translateY(-80px);'\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Gauge_styled__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n    color: colorValue\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_helpers_GaugeSvg_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _extends({\n    className: elementName + '__gauge'\n  }, _objectSpread({}, filteredProps, {\n    scale: scale,\n    progress: progress,\n    color: color\n  }))), showCurrentValue && currentValue)));\n};\n\nGauge.defaultProps = {\n  min: 0,\n  max: 10,\n  base: 10,\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_7__[\"light\"],\n  labelPosition: 'top',\n  digits: 1,\n  size: 208\n};\nGauge.propTypes = {\n  /**\r\n   * The ID used to identify this compnent in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * The value of gauge. If logarithmic, the displayed\r\n   * value will be the logarithm of the inputted value.\r\n   */\n  value: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The size (diameter) of the gauge in pixels\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The minimum value of the gauge. If logarithmic,\r\n   * represents the minimum exponent.\r\n   */\n  min: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The maximum value of the gauge. If logarithmic,\r\n   * represents the maximum exponent.\r\n   */\n  max: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Base to be used in logarithmic scale.\r\n   */\n  base: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * If set to true, a logarithmic scale will be\r\n   * used.\r\n   */\n  logarithmic: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * If true, the current value of the gauge\r\n   * will be displayed\r\n   */\n  showCurrentValue: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * Number of digits for current value\r\n   */\n  digits: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Label for the current value\r\n   */\n  units: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the control. To control styling, pass an object with label and style properties.\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the component label is positioned.\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Configuration for the component scale.\r\n   */\n  scale: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    /**\r\n     * Value to start the scale from. Defaults\r\n     * to min.\r\n     */\n    start: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n    /**\r\n     * Interval by which the scale goes up. Attempts\r\n     * to dynamically divide min-max range by\r\n     * default.\r\n     */\n    interval: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n    /**\r\n     * Interval by which labels are added to\r\n     * scale marks. Defaults to 2 (every other\r\n     * mark has a label).\r\n     */\n    labelInterval: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n    /**\r\n     * Custom scale marks. The key determines the position\r\n     * and the value determines what will show. If you want\r\n     * to set the style of a specific mark point, the value\r\n     * should be an object which contains style and label\r\n     * properties\r\n     */\n    custom: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n    /**\r\n     * Label for the mark\r\n     */\n    prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n    /**\r\n     * Style object with label\r\n     */\n    prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n      style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n      label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n    })])\n  }),\n\n  /**\r\n   * Color configuration for the gauge's track.\r\n   */\n  color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Color used for gauge's track/indicator\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * Color ranges configuration.\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    /**\r\n     * Color used for current value text and other minor accents\r\n     */\n    \"default\": prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n    /**\r\n     * Display ranges as a gradient between given colors.\r\n     */\n    gradient: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n    /**\r\n     * Define multiple color ranges on the gauge's track.\r\n     * The key determines the color of the range and\r\n     * the value is the start,end of the range itself.\r\n     * Ranges must be contiguous along the entirety\r\n     * of the gauge's range of values.\r\n     */\n    ranges: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n      color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number)]))\n    })\n  })]),\n\n  /**\r\n   * Class to apply to the root component element.\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root component element.\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Warning message when value exceed max\r\n   */\n  exceedMessage: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string]),\n\n  /**\r\n   * Warning message when value is laging from min\r\n   */\n  lagingMessage: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string]),\n\n  /**\r\n   * text color for theme\r\n   */\n  textColor: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(Gauge));\n\n/***/ }),\n\n/***/ \"./src/components/GraduatedBar.react.js\":\n/*!**********************************************!*\\\n  !*** ./src/components/GraduatedBar.react.js ***!\n  \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _helpers_colorRanges__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helpers/colorRanges */ \"./src/helpers/colorRanges.js\");\n/* harmony import */ var _styled_GraduatedBar_styled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styled/GraduatedBar.styled */ \"./src/styled/GraduatedBar.styled.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\n\n\n\n\n\n\n\nvar valueColor = function valueColor(value, color) {\n  var entry = Object.entries(color.ranges).filter(function (_ref) {\n    var _ref2 = _slicedToArray(_ref, 2),\n        range = _ref2[1];\n\n    return value >= range[0] && value <= range[1];\n  })[0];\n  return entry && entry[0];\n};\n/**\r\n * A graduated bar component that displays\r\n * a value within some range as a\r\n * percentage.\r\n */\n\n\nvar GraduatedBar = function GraduatedBar(props) {\n  var step = props.step,\n      min = props.min,\n      max = props.max,\n      label = props.label,\n      labelPosition = props.labelPosition,\n      id = props.id,\n      className = props.className,\n      color = props.color,\n      size = props.size,\n      style = props.style,\n      showCurrentValue = props.showCurrentValue,\n      vertical = props.vertical,\n      theme = props.theme;\n  var value = props.value || min;\n  var gradient = null;\n  var progressBlocks = [];\n  var normalizedValue = Math.max(Math.min(max, value), min);\n\n  if (color.gradient && Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_4__[\"isContiguous\"])({\n    color: color,\n    min: min,\n    max: max\n  })) {\n    gradient = Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_4__[\"getGradientObject\"])({\n      color: color,\n      min: min,\n      max: max\n    });\n  }\n\n  var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_7__[\"getClassName\"])('graduatedbar', theme);\n  var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_7__[\"getFilteredProps\"])(props);\n\n  for (var i = min; i < normalizedValue; i += step) {\n    var blockProps = _objectSpread({}, filteredProps, {\n      color: Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_4__[\"getColorValue\"])(color)\n    });\n\n    if (color.ranges && valueColor(i, color)) {\n      blockProps = _objectSpread({}, filteredProps, {\n        color: valueColor(i, color)\n      });\n    }\n\n    progressBlocks.push(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_GraduatedBar_styled__WEBPACK_IMPORTED_MODULE_5__[\"Block\"], _extends({\n      className: elementName + '__progressBlock',\n      key: i,\n      progress: i / (max - min),\n      gradient: gradient\n    }, blockProps)));\n  }\n\n  var percent = normalizedValue / (max - min) * 100;\n  if (!isFinite(percent)) percent = 0;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n    id: id,\n    className: elementName + (className ? ' ' + className : ''),\n    style: style\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n    className: elementName + '__label',\n    label: label,\n    labelPosition: labelPosition\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_GraduatedBar_styled__WEBPACK_IMPORTED_MODULE_5__[\"Container\"], {\n    vertical: vertical,\n    size: size\n  }, progressBlocks, showCurrentValue && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_GraduatedBar_styled__WEBPACK_IMPORTED_MODULE_5__[\"Value\"], {\n    className: elementName + '__currentvalue',\n    vertical: vertical\n  }, percent.toFixed(0), \"%\"))));\n};\n\nGraduatedBar.defaultProps = {\n  min: 0,\n  max: 10,\n  size: 250,\n  step: 0.5,\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"light\"],\n  labelPosition: 'top',\n  color: _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"light\"].primary\n};\nGraduatedBar.propTypes = {\n  /**\r\n   * The ID used to identify this compnent in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * The value of the graduated bar\r\n   */\n  value: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Color configuration for the graduated bar's\r\n   * progress blocks.\r\n   */\n  color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Color used for graduated bar's track/indicator\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * Color ranges configuration.\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    /**\r\n     * Fallback color to use when color.ranges\r\n     * has gaps.\r\n     */\n    \"default\": prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n    /**\r\n     * Display ranges as a gradient between given colors.\r\n     * Requires color.ranges to be contiguous along\r\n     * the entirety of the graduated bar's range of values.\r\n     */\n    gradient: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n    /**\r\n     * Define multiple color ranges on the graduated bar's track.\r\n     * The key determines the color of the range and\r\n     * the value is the start,end of the range itself.\r\n     */\n    ranges: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n      color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number)\n    })\n  })]),\n\n  /**\r\n   * The size (length) of the graduated bar in pixels\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * If true, will display bar vertically instead of horizontally\r\n   */\n  vertical: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * The minimum value of the graduated bar\r\n   */\n  min: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The maximum value of the graduated bar\r\n   */\n  max: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Value by which progress blocks appear\r\n   */\n  step: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * If true, the current percentage\r\n   *  of the bar will be displayed\r\n   */\n  showCurrentValue: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the control. To control styling, pass an object with label and style properties.\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the component label is positioned.\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Class to apply to the root component element.\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root component element.\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(GraduatedBar));\n\n/***/ }),\n\n/***/ \"./src/components/Indicator.react.js\":\n/*!*******************************************!*\\\n  !*** ./src/components/Indicator.react.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var color__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! color */ \"./node_modules/color/index.js\");\n/* harmony import */ var color__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(color__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _styled_shared_Indicator_styled__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styled/shared/Indicator.styled */ \"./src/styled/shared/Indicator.styled.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\n\n\n\n\n\n\n\n\n/**\r\n * A boolean indicator LED.\r\n */\n\nvar Indicator = function Indicator(props) {\n  var id = props.id,\n      className = props.className,\n      color = props.color,\n      size = props.size,\n      width = props.width,\n      height = props.height,\n      value = props.value,\n      style = props.style,\n      theme = props.theme;\n  var bg = color__WEBPACK_IMPORTED_MODULE_2___default()(color).desaturate(0.2).lighten(0.2).rgb().toString();\n  var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_7__[\"getClassName\"])('indicator', theme);\n  var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_7__[\"getFilteredProps\"])(props);\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n    id: id,\n    className: elementName + (className ? ' ' + className : ''),\n    style: style\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__[\"default\"], filteredProps, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_Indicator_styled__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n    className: elementName + '__indicator' + (props.value ? '--on' : '--off'),\n    size: size,\n    width: width,\n    height: height,\n    rectangular: width && height,\n    main: true,\n    on: value,\n    primary: color,\n    secondary: !theme.dark ? bg : null\n  })));\n};\n\nIndicator.defaultProps = {\n  color: _styled_constants__WEBPACK_IMPORTED_MODULE_6__[\"colors\"].DARKER_PRIMARY,\n  size: 15,\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_6__[\"light\"],\n  labelPosition: 'top'\n};\nIndicator.propTypes = {\n  /**\r\n   * The ID used to identify the indicator in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * If true, indicator is illuminated\r\n   */\n  value: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * Color of the indicator\r\n   */\n  color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Size of the component. Either use this or width and height\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Width of the component. Set both width and height for a rectangular indicator\r\n   */\n  width: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Height of the component. Set both width and height for a rectangular indicator\r\n   */\n  height: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the control. To control styling,\r\n   * pass an object with label and style properties\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the indicator label is positioned\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom', 'right', 'left']),\n\n  /**\r\n   * Class to apply to the root component element\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root component element\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(styled_components__WEBPACK_IMPORTED_MODULE_3__[\"withTheme\"])(Indicator));\n\n/***/ }),\n\n/***/ \"./src/components/Joystick.react.js\":\n/*!******************************************!*\\\n  !*** ./src/components/Joystick.react.js ***!\n  \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var nipplejs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! nipplejs */ \"./node_modules/nipplejs/dist/nipplejs.js\");\n/* harmony import */ var nipplejs__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(nipplejs__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\n\n\n\n/**\r\n * A joystick.\r\n */\n\nvar Joystick =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(Joystick, _Component);\n\n  function Joystick(props) {\n    var _this;\n\n    _classCallCheck(this, Joystick);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(Joystick).call(this, props));\n    _this.lastAngle = 0;\n    return _this;\n  }\n\n  _createClass(Joystick, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      var _this2 = this;\n\n      var _this$props = this.props,\n          size = _this$props.size,\n          setProps = _this$props.setProps;\n      this.manager = nipplejs__WEBPACK_IMPORTED_MODULE_3___default.a.create({\n        mode: 'static',\n        color: 'grey',\n        size: size,\n        position: {\n          left: '50%',\n          top: '50%'\n        },\n        zone: this.zoneRef\n      });\n      this.manager.on('move', function (e, data) {\n        var degree = data.angle.degree,\n            force = data.force;\n        _this2.lastAngle = degree;\n\n        if (setProps) {\n          setProps({\n            angle: degree,\n            force: force\n          });\n        }\n      });\n      this.manager.on('end', function () {\n        if (setProps) {\n          setProps({\n            angle: _this2.lastAngle,\n            force: 0\n          });\n        }\n      });\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      this.manager.destroy();\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this3 = this;\n\n      var _this$props2 = this.props,\n          id = _this$props2.id,\n          className = _this$props2.className,\n          style = _this$props2.style,\n          size = _this$props2.size,\n          theme = _this$props2.theme;\n      var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_6__[\"getClassName\"])('joystick', theme);\n      var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_6__[\"getFilteredProps\"])(this.props);\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        id: id,\n        className: elementName + (className ? ' ' + className : ''),\n        style: style\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _extends({\n        className: elementName + '__label'\n      }, filteredProps), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        className: elementName + '__joystick',\n        ref: function ref(_ref) {\n          return _this3.zoneRef = _ref;\n        },\n        style: {\n          position: 'relative',\n          width: size + 'px',\n          height: size + 'px'\n        }\n      })));\n    }\n  }]);\n\n  return Joystick;\n}(react__WEBPACK_IMPORTED_MODULE_0__[\"Component\"]);\n\nJoystick.defaultProps = {\n  size: 100,\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_4__[\"light\"],\n  labelPosition: 'top'\n};\nJoystick.propTypes = {\n  /**\r\n   * The ID used to identify the Joystick in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Joystick angle in degrees, 0 = right, 90 = up, 180 = left, 270 = down\r\n   */\n  angle: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Joystick force: distance between cursor and center in big-circle radii\r\n   */\n  force: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Size (width) of the component in pixels\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the control. To control styling,\r\n   * pass an object with label and style properties\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the indicator label is positioned\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Class to apply to the root component element\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Dash-assigned callback that gets fired when\r\n   * the color picker's value changes\r\n   */\n  setProps: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n\n  /**\r\n   * Style to apply to the root component element\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(Joystick));\n\n/***/ }),\n\n/***/ \"./src/components/Knob.react.js\":\n/*!**************************************!*\\\n  !*** ./src/components/Knob.react.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _helpers_KnobSvg_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/KnobSvg.react */ \"./src/helpers/KnobSvg.react.js\");\n/* harmony import */ var _styled_Knob_styled__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styled/Knob.styled */ \"./src/styled/Knob.styled.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _styled_CurrentValue_styled__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styled/CurrentValue.styled */ \"./src/styled/CurrentValue.styled.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _helpers_util__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../helpers/util */ \"./src/helpers/util.js\");\n/* harmony import */ var _helpers_colorRanges__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../helpers/colorRanges */ \"./src/helpers/colorRanges.js\");\n/* harmony import */ var _helpers_scale__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../helpers/scale */ \"./src/helpers/scale.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar RESET_START_ANGLE = -1;\n\nvar valueToDeg = function valueToDeg(_ref) {\n  var min = _ref.min,\n      max = _ref.max,\n      value = _ref.value;\n  return Object(_helpers_util__WEBPACK_IMPORTED_MODULE_8__[\"computeProgress\"])({\n    min: min,\n    max: max,\n    value: value,\n    progressionTarget: _styled_constants__WEBPACK_IMPORTED_MODULE_7__[\"TRACK_TOTAL_DEG\"]\n  });\n};\n\nvar degToValue = function degToValue(_ref2) {\n  var min = _ref2.min,\n      max = _ref2.max,\n      deg = _ref2.deg;\n  return Object(_helpers_util__WEBPACK_IMPORTED_MODULE_8__[\"computeProgress\"])({\n    min: 0,\n    max: _styled_constants__WEBPACK_IMPORTED_MODULE_7__[\"TRACK_TOTAL_DEG\"],\n    value: deg,\n    progressionTarget: max - min\n  }) + min;\n};\n/**\r\n * A knob component that can be turned\r\n * to a value between some range.\r\n */\n\n\nvar Knob =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(Knob, _Component);\n\n  function Knob(props) {\n    var _this;\n\n    _classCallCheck(this, Knob);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(Knob).call(this, props));\n    var currentDeg = valueToDeg({\n      min: props.min,\n      max: props.max,\n      value: props.value != null ? props.value : props.min\n    });\n    _this.state = {\n      min: props.min,\n      max: props.max,\n      value: props.value || props.min,\n      scale: Object(_helpers_scale__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(props),\n      isDragging: false,\n      startAngle: RESET_START_ANGLE,\n      rotation: currentDeg,\n      currentDeg: currentDeg\n    };\n    _this.onMouseDown = _this.onMouseDown.bind(_assertThisInitialized(_this));\n    _this.onMouseUp = _this.onMouseUp.bind(_assertThisInitialized(_this));\n    _this.onMouseMove = _this.onMouseMove.bind(_assertThisInitialized(_this));\n    _this.setValue = _this.setValue.bind(_assertThisInitialized(_this));\n    return _this;\n  }\n\n  _createClass(Knob, [{\n    key: \"noop\",\n    value: function noop() {}\n  }, {\n    key: \"UNSAFE_componentWillReceiveProps\",\n    value: function UNSAFE_componentWillReceiveProps(newProps) {\n      if (typeof newProps.value !== 'undefined') this.setState({\n        value: newProps.value\n      });\n\n      if (this.state.max != newProps.max) {\n        this.setState({\n          max: newProps.max instanceof Number ? newProps.max : this.state.max\n        });\n      }\n\n      if (this.state.min != newProps.min) {\n        this.setState({\n          min: newProps.min instanceof Number ? newProps.min : this.state.min\n        });\n      }\n    }\n  }, {\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      window.addEventListener('mouseup', this.onMouseUp, false); // eslint-disable-next-line\n\n      __webpack_require__(/*! conic-gradient */ \"./node_modules/conic-gradient/conic-gradient.js\");\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      window.removeEventListener('mouseup', this.onMouseUp, false);\n    }\n  }, {\n    key: \"onMouseDown\",\n    value: function onMouseDown() {\n      this.setState({\n        isDragging: true\n      });\n    }\n  }, {\n    key: \"onMouseUp\",\n    value: function onMouseUp() {\n      if (this.state.isDragging) {\n        this.setState(function (state) {\n          return {\n            rotation: state.currentDeg,\n            isDragging: false,\n            startAngle: RESET_START_ANGLE\n          };\n        });\n      }\n    }\n  }, {\n    key: \"onMouseMove\",\n    value: function onMouseMove(e) {\n      if (!this.state.isDragging) {\n        return;\n      }\n\n      var _this$props = this.props,\n          min = _this$props.min,\n          max = _this$props.max;\n      var rotation = this.state.rotation;\n      var startAngle = this.state.startAngle;\n\n      if (e.touches) {\n        e = e.touches[0];\n      }\n\n      var rect = this.knobElement.getBoundingClientRect();\n      var centerX = rect.width / 2 + rect.left;\n      var centerY = rect.height / 2 + rect.top;\n      var radians = Math.atan2(e.clientX - centerX, e.clientY - centerY);\n      var angle = radians * (180 / Math.PI);\n\n      if (e.clientX - centerX >= 0) {\n        angle = Math.abs(360 - angle) + 180;\n      } else {\n        angle = angle - 180;\n      }\n\n      angle = Math.abs(angle);\n\n      if (startAngle === RESET_START_ANGLE) {\n        startAngle = angle;\n        this.setState({\n          startAngle: startAngle\n        });\n      }\n\n      var tmp = Math.floor(angle - startAngle + rotation);\n      tmp = Math.min(tmp, _styled_constants__WEBPACK_IMPORTED_MODULE_7__[\"TRACK_TOTAL_DEG\"]);\n      tmp = Math.max(tmp, 0);\n      this.setState({\n        currentDeg: tmp\n      });\n      this.setValue(Object(_helpers_util__WEBPACK_IMPORTED_MODULE_8__[\"roundToDecimal\"])(degToValue({\n        min: min,\n        max: max,\n        deg: tmp\n      }), 2));\n    }\n  }, {\n    key: \"setValue\",\n    value: function setValue(value) {\n      this.setState({\n        value: value\n      });\n      if (this.props.setProps) this.props.setProps({\n        value: value\n      });\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this2 = this;\n\n      var _this$props2 = this.props,\n          min = _this$props2.min,\n          max = _this$props2.max,\n          _this$props2$value = _this$props2.value,\n          value = _this$props2$value === void 0 ? this.props.min : _this$props2$value;\n      var _this$props3 = this.props,\n          id = _this$props3.id,\n          className = _this$props3.className,\n          labelPosition = _this$props3.labelPosition,\n          color = _this$props3.color,\n          style = _this$props3.style,\n          disabled = _this$props3.disabled,\n          theme = _this$props3.theme,\n          textColor = _this$props3.textColor;\n      var progress = Object(_helpers_util__WEBPACK_IMPORTED_MODULE_8__[\"computeProgress\"])({\n        min: min,\n        max: max,\n        value: value > min && value < max ? value : (min + max) / 2,\n        progressionTarget: 1\n      });\n      var colorValue = textColor || Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_9__[\"getColorValue\"])(color);\n      var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_11__[\"getClassName\"])('knob', theme);\n      var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_11__[\"getFilteredProps\"])(this.props);\n      var currentValue = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_CurrentValue_styled__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n        className: elementName + '__current-value',\n        valueColor: colorValue,\n        valueSize: Math.min((this.props.size + 32) * 13.3333 / 100, 32),\n        units: false,\n        css: 'transform: translateY(0%); top: 0;'\n      }, value.toFixed(this.props.digits)));\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        id: id,\n        className: elementName + (className ? ' ' + className : ''),\n        style: style\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _extends({\n        className: elementName + '__label'\n      }, filteredProps, {\n        labelCSS: labelPosition === 'top' ? null : 'transform: translateY(-40px);'\n      }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Knob_styled__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n        className: elementName + '__container',\n        colorValue: colorValue,\n        color: Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_9__[\"getColorValue\"])(color)\n      }, this.props.showCurrentValue && currentValue, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_helpers_KnobSvg_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _extends({\n        progress: progress\n      }, filteredProps, this.state, {\n        min: this.props.min != this.state.min ? this.props.min : this.state.min,\n        max: this.props.max != this.state.max ? this.props.max : this.state.max,\n        value: value > min && value < max ? value : (min + max) / 2,\n        scale: Object(_helpers_scale__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(this.props),\n        currentDeg: valueToDeg({\n          min: this.props.min,\n          max: this.props.max,\n          value: value > min && value < max ? value : (min + max) / 2\n        }),\n        refFunc: function refFunc(ele) {\n          return _this2.knobElement = ele;\n        },\n        onMouseDown: disabled ? this.noop : this.onMouseDown,\n        onMouseUp: disabled ? this.noop : this.onMouseUp,\n        onMouseMove: disabled ? this.noop : this.onMouseMove\n      })))));\n    }\n  }]);\n\n  return Knob;\n}(react__WEBPACK_IMPORTED_MODULE_0__[\"Component\"]);\n\nKnob.defaultProps = {\n  min: 0,\n  max: 10,\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_7__[\"light\"],\n  labelPosition: 'top',\n  persisted_props: ['value'],\n  persistence_type: 'local',\n  size: 114\n};\nKnob.propTypes = {\n  /**\r\n   * The ID used to identify this compnent in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * The value of knob\r\n   */\n  value: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Color configuration for the knob's track.\r\n   */\n  color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Color used for knob's track/indicator\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * Color ranges configuration.\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    /**\r\n     * Color used for current value text and other minor accents\r\n     */\n    \"default\": prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n    /**\r\n     * Display ranges as a gradient between given colors.\r\n     */\n    gradient: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n    /**\r\n     * Define multiple color ranges on the knob's track.\r\n     * The key determines the color of the range and\r\n     * the value is the start,end of the range itself.\r\n     * Ranges must be contiguous along the entirety\r\n     * of the knob's range of values.\r\n     */\n    ranges: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n      color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number)\n    })\n  })]),\n\n  /**\r\n   * The size (diameter) of the knob in pixels\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The minimum value of the knob\r\n   */\n  min: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The maximum value of the knob\r\n   */\n  max: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * If true, knob cannot be moved.\r\n   */\n  disabled: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the control. To control styling, pass an object with label and style properties.\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the knob label is positioned.\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Configuration for the component scale.\r\n   */\n  scale: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    /**\r\n     * Value to start the scale from. Defaults\r\n     * to min.\r\n     */\n    start: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n    /**\r\n     * Interval by which the scale goes up. Attempts\r\n     * to dynamically divide min-max range by\r\n     * default.\r\n     */\n    interval: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n    /**\r\n     * Interval by which labels are added to\r\n     * scale marks. Defaults to 2 (every other\r\n     * mark has a label).\r\n     */\n    labelInterval: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n    /**\r\n     * Custom scale marks. The key determines the position\r\n     * and the value determines what will show. If you want\r\n     * to set the style of a specific mark point, the value\r\n     * should be an object which contains style and label\r\n     * properties\r\n     */\n    custom: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n    /**\r\n     * Label for the mark\r\n     */\n    prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n    /**\r\n     * Style object with label\r\n     */\n    prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n      style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n      label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n    })])\n  }),\n\n  /**\r\n   * Class to apply to the root component element.\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root component element.\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Dash-assigned callback that gets fired when selected\r\n   * value changes.\r\n   */\n  setProps: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n\n  /**\r\n   * Used to allow user interactions in this component to be persisted when\r\n   * the component - or the page - is refreshed. If `persisted` is truthy and\r\n   * hasn't changed from its previous value, a `value` that the user has\r\n   * changed while using the app will keep that change, as long as\r\n   * the new `value` also matches what was given originally.\r\n   * Used in conjunction with `persistence_type`.\r\n   */\n  persistence: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number]),\n\n  /**\r\n   * Properties whose user interactions will persist after refreshing the\r\n   * component or the page. Since only `value` is allowed this prop can\r\n   * normally be ignored.\r\n   */\n  persisted_props: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['value'])),\n\n  /**\r\n   * Where persisted user changes will be stored:\r\n   * memory: only kept in memory, reset on page refresh.\r\n   * local: window.localStorage, data is kept after the browser quit.\r\n   * session: window.sessionStorage, data is cleared once the browser quit.\r\n   */\n  persistence_type: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['local', 'session', 'memory']),\n\n  /**\r\n     * show current value of knob\r\n   */\n  showCurrentValue: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * text color of scale\r\n   */\n  textColor: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * number of digits to show after decimal places\r\n   */\n  digits: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number\n};\nvar ThemedKnob = Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(Knob);\nThemedKnob.defaultProps = Knob.defaultProps;\n/* harmony default export */ __webpack_exports__[\"default\"] = (ThemedKnob);\n\n/***/ }),\n\n/***/ \"./src/components/LEDDisplay.react.js\":\n/*!********************************************!*\\\n  !*** ./src/components/LEDDisplay.react.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _helpers_LEDDisplaySvg_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/LEDDisplaySvg.react */ \"./src/helpers/LEDDisplaySvg.react.js\");\n/* harmony import */ var _styled_LEDDisplay_styled__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styled/LEDDisplay.styled */ \"./src/styled/LEDDisplay.styled.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\n\n\n\n\n\n\n\n\nvar VALID_INPUT = /^(\\-)?((\\.|:)?[0-9])*$/;\nvar isValidInput = VALID_INPUT.test.bind(VALID_INPUT);\n/**\r\n * A 7-bar LED display component.\r\n */\n\nvar LEDDisplay = function LEDDisplay(props) {\n  var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_7__[\"getClassName\"])('leddisplay', props.theme);\n  var digits = isValidInput(props.value) ? extractDigits(props, elementName) : null;\n  var led = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_LEDDisplay_styled__WEBPACK_IMPORTED_MODULE_4__[\"LEDContainer\"], {\n    backgroundColor: props.backgroundColor\n  }, digits);\n  var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_7__[\"getFilteredProps\"])(props);\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n    id: props.id,\n    className: elementName + (props.className ? ' ' + props.className : ''),\n    style: props.style\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__[\"default\"], filteredProps, digits ? led : 'Invalid Input'));\n};\n\nfunction extractDigits(_ref, elementName) {\n  var value = _ref.value,\n      color = _ref.color,\n      backgroundColor = _ref.backgroundColor,\n      theme = _ref.theme,\n      size = _ref.size;\n  var digitStack = value.toString().split('').reverse();\n  var formattedDigits = [];\n  addLeadingZeroIfNeeded(digitStack);\n  var currKey = 0;\n\n  while (digitStack.length) {\n    var currDigit = digitStack.pop();\n    var nextDigit = digitStack.pop();\n    formattedDigits.push(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_helpers_LEDDisplaySvg_react__WEBPACK_IMPORTED_MODULE_3__[\"Digit\"], {\n      className: elementName + '__digit',\n      theme: theme,\n      key: currKey++,\n      value: currDigit,\n      hasColon: nextDigit === ':',\n      hasDecimal: nextDigit === '.',\n      color: color,\n      backgroundColor: backgroundColor,\n      size: size\n    }));\n    if (nextDigit && nextDigit !== '.' && nextDigit !== ':') digitStack.push(nextDigit);\n  }\n\n  return formattedDigits;\n}\n\nfunction addLeadingZeroIfNeeded(digits) {\n  var isNegative = false;\n\n  if (digits[digits.length - 1] === '-') {\n    isNegative = true;\n    digits.pop();\n  }\n\n  var leadingDigit = digits[digits.length - 1];\n  if (['.', ':'].includes(leadingDigit)) digits.push('0');\n  if (isNegative) digits.push('-');\n}\n\nLEDDisplay.defaultProps = {\n  color: _styled_constants__WEBPACK_IMPORTED_MODULE_6__[\"colors\"].PRIMARY,\n  backgroundColor: '#fff',\n  size: 42,\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_6__[\"light\"],\n  labelPosition: 'top'\n};\nLEDDisplay.propTypes = {\n  /**\r\n   * The ID used to identify the display in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Value to be displayed. A number or a string\r\n   * containing only digits (0-9), periods, and colons,\r\n   * and possibly starting with a minus sign.\r\n   */\n  value: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string]),\n\n  /**\r\n   * Color of the display\r\n   */\n  color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Color of the display's background\r\n   */\n  backgroundColor: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Size of the display\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the control. To control styling,\r\n   * pass an object with label and style properties\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the display label is positioned\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Class to apply to the root component element\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root component element\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(LEDDisplay));\n\n/***/ }),\n\n/***/ \"./src/components/NumericInput.react.js\":\n/*!**********************************************!*\\\n  !*** ./src/components/NumericInput.react.js ***!\n  \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\n/* harmony import */ var _helpers_NumericInput__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./../helpers/NumericInput */ \"./src/helpers/NumericInput.js\");\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\n\n\n\n/**\r\n * A numeric input component that can be\r\n * set to a value between some range.\r\n */\n\nvar NumericInput =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(NumericInput, _Component);\n\n  function NumericInput(props) {\n    var _this;\n\n    _classCallCheck(this, NumericInput);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(NumericInput).call(this, props));\n    _this.state = {\n      value: props.value || props.min\n    };\n    _this.setValue = _this.setValue.bind(_assertThisInitialized(_this));\n    return _this;\n  }\n\n  _createClass(NumericInput, [{\n    key: \"UNSAFE_componentWillReceiveProps\",\n    value: function UNSAFE_componentWillReceiveProps(newProps) {\n      if (newProps.value !== this.state.value) this.setState({\n        value: newProps.value\n      });\n    }\n  }, {\n    key: \"setValue\",\n    value: function setValue(value) {\n      if (value != null && value >= this.props.min && value <= this.props.max) {\n        this.setState({\n          value: value\n        });\n        if (this.props.setProps) this.props.setProps({\n          value: value\n        });\n      }\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props = this.props,\n          size = _this$props.size,\n          theme = _this$props.theme,\n          style = _this$props.style,\n          className = _this$props.className,\n          id = _this$props.id,\n          disabled = _this$props.disabled,\n          min = _this$props.min,\n          max = _this$props.max;\n      var buttonStyle = {\n        background: 'none',\n        boxShadow: 'none',\n        border: 'none',\n        color: theme.secondary,\n        cursor: 'pointer'\n      };\n      var padding = Math.max(this.state.value ? 16 - 2 * this.state.value.toString().length : 16, 10);\n      var inputStyle = {\n        borderRadius: 3,\n        border: theme.dark ? 'none' : \"1px solid \".concat(_styled_constants__WEBPACK_IMPORTED_MODULE_4__[\"colors\"].GREY),\n        outline: 'none',\n        paddingRight: padding,\n        paddingLeft: padding,\n        paddingTop: 8,\n        paddingBottom: 8,\n        width: size || 56,\n        color: theme.dark ? '#fff' : _styled_constants__WEBPACK_IMPORTED_MODULE_4__[\"colors\"].OFF_WHITE,\n        backgroundColor: theme.dark ? '#22272a' : '#fff',\n        fontSize: 14,\n        boxSizing: 'border-box'\n      };\n      var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_5__[\"getClassName\"])('numericinput', theme);\n      var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_5__[\"getFilteredProps\"])(this.props);\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        id: id,\n        className: elementName + (className ? ' ' + className : ''),\n        style: style\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _extends({\n        className: elementName + '__label'\n      }, filteredProps), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_helpers_NumericInput__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n        className: elementName + '__input',\n        disabled: disabled,\n        style: {\n          input: inputStyle,\n          'input:not(.form-control)': inputStyle,\n          btn: buttonStyle,\n          'btn:hover': buttonStyle,\n          'btn:active': buttonStyle,\n          'input:disabled': {\n            opacity: 0.65,\n            cursor: 'not-allowed'\n          }\n        },\n        min: min,\n        max: max,\n        value: this.state.value,\n        onChange: this.setValue,\n        mobile: false\n      })));\n    }\n  }]);\n\n  return NumericInput;\n}(react__WEBPACK_IMPORTED_MODULE_0__[\"Component\"]);\n\nNumericInput.defaultProps = {\n  min: 0,\n  max: 10,\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_4__[\"light\"],\n  labelPosition: 'top',\n  persisted_props: ['value'],\n  persistence_type: 'local',\n  style: {\n    display: 'flex',\n    justifyContent: 'center'\n  }\n};\nNumericInput.propTypes = {\n  /**\r\n   * The ID used to identify this compnent in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * The value of numeric input\r\n   */\n  value: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The size (length) of the numeric input in pixels\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The minimum value of the numeric input\r\n   */\n  min: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The maximum value of the numeric input\r\n   */\n  max: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * If true, numeric input cannot changed.\r\n   */\n  disabled: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the control. To control styling,\r\n   * pass an object with label and style properties.\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the numeric input label is positioned.\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Class to apply to the root component element.\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root component element.\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Dash-assigned callback that gets fired when selected\r\n   * value changes.\r\n   */\n  setProps: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n\n  /**\r\n   * Used to allow user interactions in this component to be persisted when\r\n   * the component - or the page - is refreshed. If `persisted` is truthy and\r\n   * hasn't changed from its previous value, a `value` that the user has\r\n   * changed while using the app will keep that change, as long as\r\n   * the new `value` also matches what was given originally.\r\n   * Used in conjunction with `persistence_type`.\r\n   */\n  persistence: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number]),\n\n  /**\r\n   * Properties whose user interactions will persist after refreshing the\r\n   * component or the page. Since only `value` is allowed this prop can\r\n   * normally be ignored.\r\n   */\n  persisted_props: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['value'])),\n\n  /**\r\n   * Where persisted user changes will be stored:\r\n   * memory: only kept in memory, reset on page refresh.\r\n   * local: window.localStorage, data is kept after the browser quit.\r\n   * session: window.sessionStorage, data is cleared once the browser quit.\r\n   */\n  persistence_type: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['local', 'session', 'memory'])\n};\nvar ThemedNumericInput = Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(NumericInput);\nThemedNumericInput.defaultProps = NumericInput.defaultProps;\n/* harmony default export */ __webpack_exports__[\"default\"] = (ThemedNumericInput);\n\n/***/ }),\n\n/***/ \"./src/components/PowerButton.react.js\":\n/*!*********************************************!*\\\n  !*** ./src/components/PowerButton.react.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _styled_PowerButton_styled__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../styled/PowerButton.styled */ \"./src/styled/PowerButton.styled.js\");\n/* harmony import */ var _helpers_PowerButtonSvg_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helpers/PowerButtonSvg.react */ \"./src/helpers/PowerButtonSvg.react.js\");\n/* harmony import */ var _styled_shared_Indicator_styled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styled/shared/Indicator.styled */ \"./src/styled/shared/Indicator.styled.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\n\n\n\n\n\n/**\r\n * A power button component can be\r\n * turned on and off.\r\n */\n\nvar PowerButton =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(PowerButton, _Component);\n\n  function PowerButton(props) {\n    var _this;\n\n    _classCallCheck(this, PowerButton);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(PowerButton).call(this, props));\n    _this.state = {\n      on: _this.props.on\n    };\n    _this.onClick = _this.onClick.bind(_assertThisInitialized(_this));\n    return _this;\n  }\n\n  _createClass(PowerButton, [{\n    key: \"UNSAFE_componentWillReceiveProps\",\n    value: function UNSAFE_componentWillReceiveProps(newProps) {\n      if (newProps.on !== this.state.on) this.setState({\n        on: newProps.on\n      });\n    }\n  }, {\n    key: \"onClick\",\n    value: function onClick() {\n      var newOnValue = !this.state.on;\n      this.setState({\n        on: newOnValue\n      });\n      if (this.props.setProps) this.props.setProps({\n        on: newOnValue\n      });\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props = this.props,\n          id = _this$props.id,\n          size = _this$props.size,\n          className = _this$props.className,\n          color = _this$props.color,\n          disabled = _this$props.disabled,\n          style = _this$props.style,\n          theme = _this$props.theme;\n      var INDICATOR_SIZE = size / 10 * 1.25;\n      var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_8__[\"getClassName\"])('powerbutton', theme);\n      var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_8__[\"getFilteredProps\"])(this.props);\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        id: id,\n        className: elementName + (className ? ' ' + className : ''),\n        style: style\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_6__[\"default\"], _extends({\n        className: elementName + '__label'\n      }, filteredProps), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_PowerButton_styled__WEBPACK_IMPORTED_MODULE_3__[\"Container\"], {\n        className: elementName + '__container'\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_PowerButton_styled__WEBPACK_IMPORTED_MODULE_3__[\"Button\"], {\n        className: elementName + '__button',\n        on: this.state.on,\n        color: color,\n        size: size,\n        disabled: disabled,\n        onClick: this.onClick,\n        style: this.state.on ? this.props.onButtonStyle : this.props.offButtonStyle\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_helpers_PowerButtonSvg_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n        on: this.state.on,\n        color: color,\n        size: size * 0.3\n      })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_Indicator_styled__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n        className: elementName + '__indicator',\n        on: this.state.on,\n        primary: color,\n        main: true,\n        size: INDICATOR_SIZE\n      }))));\n    }\n  }]);\n\n  return PowerButton;\n}(react__WEBPACK_IMPORTED_MODULE_0__[\"Component\"]);\n\nPowerButton.defaultProps = {\n  on: false,\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_7__[\"light\"],\n  size: 48,\n  labelPosition: 'top',\n  persisted_props: ['on'],\n  persistence_type: 'local'\n};\nPowerButton.propTypes = {\n  /**\r\n   * The ID used to identify this compnent in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Whether or not the power button is on\r\n   */\n  on: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * The indicator color to display when power button is on\r\n   */\n  color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * The size (diameter) of the power button in pixels\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * If true, power button cannot be clicked\r\n   */\n  disabled: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the button. To control styling, pass an object with label and style properties.\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the button label is positioned.\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Class to apply to the root component element.\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root component element.\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * style to apply on switch on button\r\n   */\n  onButtonStyle: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * style to apply on switch off button\r\n   */\n  offButtonStyle: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Dash-assigned callback that gets fired when\r\n   * button is clicked.\r\n   */\n  setProps: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n\n  /**\r\n   * Used to allow user interactions in this component to be persisted when\r\n   * the component - or the page - is refreshed. If `persisted` is truthy and\r\n   * hasn't changed from its previous value, a `value` that the user has\r\n   * changed while using the app will keep that change, as long as\r\n   * the new `value` also matches what was given originally.\r\n   * Used in conjunction with `persistence_type`.\r\n   */\n  persistence: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number]),\n\n  /**\r\n   * Properties whose user interactions will persist after refreshing the\r\n   * component or the page. Since only `on` is allowed this prop can\r\n   * normally be ignored.\r\n   */\n  persisted_props: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['on'])),\n\n  /**\r\n   * Where persisted user changes will be stored:\r\n   * memory: only kept in memory, reset on page refresh.\r\n   * local: window.localStorage, data is kept after the browser quit.\r\n   * session: window.sessionStorage, data is cleared once the browser quit.\r\n   */\n  persistence_type: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['local', 'session', 'memory'])\n};\nvar ThemedPowerButton = Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(PowerButton);\nThemedPowerButton.defaultProps = PowerButton.defaultProps;\n/* harmony default export */ __webpack_exports__[\"default\"] = (ThemedPowerButton);\n\n/***/ }),\n\n/***/ \"./src/components/PrecisionInput.react.js\":\n/*!************************************************!*\\\n  !*** ./src/components/PrecisionInput.react.js ***!\n  \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _styled_PrecisionInput_styled__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../styled/PrecisionInput.styled */ \"./src/styled/PrecisionInput.styled.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\n/* harmony import */ var _helpers_NumericInput__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./../helpers/NumericInput */ \"./src/helpers/NumericInput.js\");\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\n\n\n\n\nvar defaultRootStyles = {\n  display: 'flex',\n  flexDirection: 'column',\n  justifyContent: 'space-between',\n  alignItems: 'center'\n};\n/**\r\n * A numeric input component that converts\r\n * an input value to the desired precision.\r\n */\n\nvar PrecisionInput =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(PrecisionInput, _Component);\n\n  function PrecisionInput(props) {\n    var _this;\n\n    _classCallCheck(this, PrecisionInput);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(PrecisionInput).call(this, props));\n    _this.formatPrecision = _this.formatPrecision.bind(_assertThisInitialized(_this));\n    _this.setTempValue = _this.setTempValue.bind(_assertThisInitialized(_this));\n    _this.blur = _this.blur.bind(_assertThisInitialized(_this));\n    _this.setValue = _this.setValue.bind(_assertThisInitialized(_this));\n    _this.toggleInput = _this.toggleInput.bind(_assertThisInitialized(_this));\n    _this.state = {\n      value: props.value != null ? _this.formatPrecision(props.value) : _this.formatPrecision(props.min),\n      isInput: false,\n      tempValue: null\n    };\n    return _this;\n  }\n\n  _createClass(PrecisionInput, [{\n    key: \"UNSAFE_componentWillReceiveProps\",\n    value: function UNSAFE_componentWillReceiveProps(newProps) {\n      if (newProps.value != null && newProps.value !== this.state.value) this.setState({\n        value: this.formatPrecision(newProps.value)\n      });\n    }\n  }, {\n    key: \"formatPrecision\",\n    value: function formatPrecision(value) {\n      return Number(Number(value.toPrecision(this.props.precision)));\n    }\n  }, {\n    key: \"setValue\",\n    value: function setValue(value) {\n      if (value != null && value >= this.props.min && value <= this.props.max) {\n        var newValue = this.formatPrecision(value);\n        this.setState({\n          value: newValue\n        });\n\n        if (this.props.setProps) {\n          this.props.setProps({\n            value: newValue\n          });\n        }\n      }\n    }\n  }, {\n    key: \"toggleInput\",\n    value: function toggleInput() {\n      if (this.props.disabled) return;\n      var isInput = !this.state.isInput;\n      this.setState({\n        isInput: isInput\n      });\n\n      if (isInput) {\n        this.setState({\n          tempValue: this.state.value\n        });\n      }\n    }\n  }, {\n    key: \"setTempValue\",\n    value: function setTempValue(tempValue) {\n      this.setState({\n        tempValue: tempValue\n      });\n    }\n  }, {\n    key: \"blur\",\n    value: function blur() {\n      if (this.state.tempValue != null) {\n        this.setValue(this.state.tempValue);\n      }\n\n      this.setState({\n        tempValue: null\n      });\n      this.toggleInput();\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props = this.props,\n          id = _this$props.id,\n          className = _this$props.className,\n          style = _this$props.style,\n          size = _this$props.size,\n          theme = _this$props.theme,\n          disabled = _this$props.disabled,\n          precision = _this$props.precision,\n          min = _this$props.min,\n          max = _this$props.max;\n      var buttonStyle = {\n        background: 'none',\n        boxShadow: 'none',\n        border: 'none',\n        color: theme.secondary,\n        cursor: 'pointer'\n      };\n      var MINIMUM_PADDING = 10;\n      var dynamicPadding = this.state.value ? 16 - 2 * this.state.value.toString().length : 16;\n      var padding = Math.max(dynamicPadding, MINIMUM_PADDING);\n      var inputStyle = {\n        borderRadius: 3,\n        border: theme.dark ? 'none' : \"1px solid \".concat(_styled_constants__WEBPACK_IMPORTED_MODULE_5__[\"colors\"].GREY),\n        outline: 'none',\n        paddingRight: padding,\n        paddingLeft: padding,\n        paddingTop: 4,\n        paddingBottom: 4,\n        width: size || 56 + precision * 20,\n        height: 36,\n        backgroundColor: theme.dark ? '#22272a' : '#fff',\n        color: theme.dark ? '#fff' : '#000',\n        fontSize: 14,\n        lineHeight: 14,\n        boxSizing: 'border-box'\n      };\n      var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_6__[\"getClassName\"])('precisioninput', theme.dark);\n      var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_6__[\"getFilteredProps\"])(this.props);\n      var precisionElement;\n\n      if (this.state.isInput) {\n        precisionElement = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_helpers_NumericInput__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n          autoFocus: true,\n          className: elementName + '__input',\n          disabled: disabled,\n          style: {\n            input: inputStyle,\n            'input:not(.form-control)': inputStyle,\n            btn: buttonStyle,\n            'btn:hover': buttonStyle,\n            'btn:active': buttonStyle,\n            'input:disabled': {\n              opacity: 0.65,\n              cursor: 'not-allowed'\n            }\n          },\n          min: min,\n          max: max,\n          value: this.state.tempValue,\n          onChange: this.setTempValue,\n          onBlur: this.blur\n        });\n      } else {\n        precisionElement = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PrecisionOutput, {\n          elementName: elementName + '__output',\n          value: this.state.value,\n          size: size,\n          onClick: this.toggleInput,\n          color: theme.dark ? '#fff' : _styled_constants__WEBPACK_IMPORTED_MODULE_5__[\"colors\"].OFF_WHITE\n        });\n      }\n\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        id: id,\n        className: elementName + (className ? ' ' + className : ''),\n        style: Object.assign({}, defaultRootStyles, style)\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _extends({\n        className: elementName + '__label'\n      }, filteredProps), precisionElement));\n    }\n  }]);\n\n  return PrecisionInput;\n}(react__WEBPACK_IMPORTED_MODULE_0__[\"Component\"]);\n\nvar toScientificNotation = function toScientificNotation(value) {\n  var scientificNum = Number(value).toExponential();\n  return scientificNum.replace('+', '');\n};\n\nvar mergeLeadingNegative = function mergeLeadingNegative(digits) {\n  if (digits[0] === '-') {\n    digits.shift();\n    var leading = digits.shift();\n    digits.unshift(\"-\".concat(leading));\n  }\n\n  return digits;\n};\n\nvar PrecisionOutput = function PrecisionOutput(_ref) {\n  var value = _ref.value,\n      onClick = _ref.onClick,\n      size = _ref.size,\n      elementName = _ref.elementName;\n\n  var _toScientificNotation = toScientificNotation(value).split('e'),\n      _toScientificNotation2 = _slicedToArray(_toScientificNotation, 2),\n      characteristic = _toScientificNotation2[0],\n      mantissa = _toScientificNotation2[1];\n\n  var characteristicDigits = mergeLeadingNegative(characteristic.split(''));\n  var mantissaDigits = mergeLeadingNegative(mantissa.split(''));\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_PrecisionInput_styled__WEBPACK_IMPORTED_MODULE_3__[\"Container\"], {\n    size: size,\n    onClick: onClick,\n    className: elementName\n  }, characteristicDigits.map(function (digit, i) {\n    return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_PrecisionInput_styled__WEBPACK_IMPORTED_MODULE_3__[\"Digit\"], {\n      className: elementName + '__digit',\n      key: \"d\".concat(i)\n    }, digit);\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_PrecisionInput_styled__WEBPACK_IMPORTED_MODULE_3__[\"ExponentialDigit\"], {\n    className: elementName + '__exp'\n  }, \"E\"), mantissaDigits.map(function (digit, i) {\n    return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_PrecisionInput_styled__WEBPACK_IMPORTED_MODULE_3__[\"ExponentialDigit\"], {\n      className: elementName + '__expdigit',\n      key: \"e\".concat(i)\n    }, digit);\n  }));\n};\n\nPrecisionInput.defaultProps = {\n  min: 0,\n  max: Number.MAX_SAFE_INTEGER,\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_5__[\"light\"],\n  labelPosition: 'top',\n  precision: 2,\n  persisted_props: ['value'],\n  persistence_type: 'local'\n};\nPrecisionInput.propTypes = {\n  /**\r\n   * The ID used to identify this compnent in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * The value of numeric input\r\n   */\n  value: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The size (length) of the numeric input in pixels\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The minimum value of the numeric input\r\n   */\n  min: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The maximum value of the numeric input\r\n   */\n  max: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Number of significant figures\r\n   */\n  precision: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number.isRequired,\n\n  /**\r\n   * If true, numeric input cannot be changed.\r\n   */\n  disabled: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the scientific notation. To control styling,\r\n   * pass an object with label and style properties.\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the numeric input label is positioned.\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Class to apply to the root component element.\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root component element.\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Dash-assigned callback that gets fired when selected\r\n   * value changes.\r\n   */\n  setProps: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n\n  /**\r\n   * Used to allow user interactions in this component to be persisted when\r\n   * the component - or the page - is refreshed. If `persisted` is truthy and\r\n   * hasn't changed from its previous value, a `value` that the user has\r\n   * changed while using the app will keep that change, as long as\r\n   * the new `value` also matches what was given originally.\r\n   * Used in conjunction with `persistence_type`.\r\n   */\n  persistence: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number]),\n\n  /**\r\n   * Properties whose user interactions will persist after refreshing the\r\n   * component or the page. Since only `value` is allowed this prop can\r\n   * normally be ignored.\r\n   */\n  persisted_props: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['value'])),\n\n  /**\r\n   * Where persisted user changes will be stored:\r\n   * memory: only kept in memory, reset on page refresh.\r\n   * local: window.localStorage, data is kept after the browser quit.\r\n   * session: window.sessionStorage, data is cleared once the browser quit.\r\n   */\n  persistence_type: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['local', 'session', 'memory'])\n};\nvar ThemedPrecisionInput = Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(PrecisionInput);\nThemedPrecisionInput.defaultProps = PrecisionInput.defaultProps;\n/* harmony default export */ __webpack_exports__[\"default\"] = (ThemedPrecisionInput);\n\n/***/ }),\n\n/***/ \"./src/components/Slider.react.js\":\n/*!****************************************!*\\\n  !*** ./src/components/Slider.react.js ***!\n  \\****************************************/\n/*! exports provided: default, defaultProps, propTypes */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Slider; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultProps\", function() { return defaultProps; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"propTypes\", function() { return propTypes; });\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _fragments_Slider_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../fragments/Slider.react */ \"./src/fragments/Slider.react.js\");\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n // const RealSlider = lazy(() => import(/* webpackChunkName: \"slider\" */ '../fragments/Slider.react'));\n\n/**\r\n * A slider component with support for\r\n * a target value.\r\n */\n\nvar Slider =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(Slider, _Component);\n\n  function Slider() {\n    _classCallCheck(this, Slider);\n\n    return _possibleConstructorReturn(this, _getPrototypeOf(Slider).apply(this, arguments));\n  }\n\n  _createClass(Slider, [{\n    key: \"render\",\n    value: function render() {\n      return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_1__[\"Suspense\"], {\n        fallback: null\n      }, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_fragments_Slider_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], this.props));\n    }\n  }]);\n\n  return Slider;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]);\n\n\nSlider.defaultProps = {\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_2__[\"light\"],\n  targets: {},\n  updatemode: 'mouseup',\n  color: _styled_constants__WEBPACK_IMPORTED_MODULE_2__[\"colors\"].DARKER_PRIMARY,\n  min: 0,\n  size: 265,\n  labelPosition: 'bottom',\n  persisted_props: ['value'],\n  persistence_type: 'local',\n  style: {\n    display: 'flex',\n    justifyContent: 'center'\n  }\n};\nSlider.propTypes = {\n  /**\r\n   * The ID used to identify this component in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n\n  /**\r\n   * Style to apply to the root component element.\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.object,\n\n  /**\r\n   * Marks on the slider.\r\n   * The key determines the position,\r\n   * and the value determines what will show.\r\n   * If you want to set the style of a specific mark point,\r\n   * the value should be an object which\r\n   * contains style and label properties.\r\n   */\n  marks: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.shape({\n    number: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOfType([\n    /**\r\n     * The label of the mark\r\n     */\n    prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n    /**\r\n     * The style and label of the mark\r\n     */\n    prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.shape({\n      style: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.object,\n      label: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string\n    })])\n  }),\n\n  /**\r\n   * Color configuration for the slider's track.\r\n   */\n  color: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOfType([\n  /**\r\n   * Color used for slider's track/indicator\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n  /**\r\n   * Color ranges configuration.\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.shape({\n    /**\r\n     * Fallback color to use when color.ranges\r\n     * has gaps.\r\n     */\n    \"default\": prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n\n    /**\r\n     * Display ranges as a gradient between given colors.\r\n     * Requires color.ranges to be contiguous along\r\n     * the entirety of the gauge's range of values.\r\n     */\n    gradient: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool,\n\n    /**\r\n     * Define multiple color ranges on the slider's track.\r\n     * The key determines the color of the range and\r\n     * the value is the start,end of the range itself.\r\n     */\n    ranges: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.shape({\n      color: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number)\n    })\n  })]),\n\n  /**\r\n   * The value of the input.\r\n   */\n  value: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number,\n\n  /**\r\n   * Additional CSS class for the root DOM node.\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n\n  /**\r\n   * Where the component label is positioned.\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * If true, the handles can't be moved.\r\n   */\n  disabled: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool,\n\n  /**\r\n   * When the step value is greater than 1,\r\n   * you can set the dots to true if you want to\r\n   * render the slider with dots.\r\n   *\r\n   * Note: dots are disabled automatically when\r\n   * using color.ranges\r\n   */\n  dots: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool,\n\n  /**\r\n   * If the value is true, it means a continuous\r\n   * value is included. Otherwise, it is an independent value.\r\n   */\n  included: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool,\n\n  /**\r\n   * Minimum allowed value of the slider.\r\n   */\n  min: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number,\n\n  /**\r\n   * Maximum allowed value of the slider.\r\n   */\n  max: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number,\n\n  /**\r\n   * Value by which increments or decrements are made.\r\n   */\n  step: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number,\n\n  /**\r\n   * If true, the slider will be vertical.\r\n   */\n  vertical: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool,\n\n  /**\r\n   * Size of the slider in pixels.\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number,\n\n  /**\r\n   * Targets on the slider.\r\n   * The key determines the position,\r\n   * and the value determines what will show.\r\n   * If you want to set the style of a specific target point,\r\n   * the value should be an object which\r\n   * contains style and label properties.\r\n   */\n  targets: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.shape({\n    number: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOfType([\n    /**\r\n     * The label of the mark\r\n     */\n    prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n    /**\r\n     * The style and label of the mark\r\n     */\n    prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.shape({\n      showCurrentValue: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool,\n      label: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n      color: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n      style: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.object\n    })])\n  }),\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.object,\n\n  /**\r\n   * Configuration of the slider handle's label.\r\n   * Passing falsy value will disable the label.\r\n   */\n  handleLabel: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOfType([\n  /**\r\n   * The label of the handle\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n  /**\r\n   * The style and label of the handle\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.shape({\n    showCurrentValue: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n    color: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n    style: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.object\n  })]),\n\n  /**\r\n   * Determines when the component should update\r\n   * its value. If `mouseup`, then the slider\r\n   * will only trigger its value when the user has\r\n   * finished dragging the slider. If `drag`, then\r\n   * the slider will update its value continuously\r\n   * as it is being dragged.\r\n   * Only use `drag` if your updates are fast.\r\n   */\n  updatemode: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOf(['mouseup', 'drag']),\n\n  /**\r\n   * Dash-assigned callback that gets fired when the value changes.\r\n   */\n  setProps: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.func,\n\n  /**\r\n   * Used to allow user interactions in this component to be persisted when\r\n   * the component - or the page - is refreshed. If `persisted` is truthy and\r\n   * hasn't changed from its previous value, a `value` that the user has\r\n   * changed while using the app will keep that change, as long as\r\n   * the new `value` also matches what was given originally.\r\n   * Used in conjunction with `persistence_type`.\r\n   */\n  persistence: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool, prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number]),\n\n  /**\r\n   * Properties whose user interactions will persist after refreshing the\r\n   * component or the page. Since only `value` is allowed this prop can\r\n   * normally be ignored.\r\n   */\n  persisted_props: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOf(['value'])),\n\n  /**\r\n   * Where persisted user changes will be stored:\r\n   * memory: only kept in memory, reset on page refresh.\r\n   * local: window.localStorage, data is kept after the browser quit.\r\n   * session: window.sessionStorage, data is cleared once the browser quit.\r\n   */\n  persistence_type: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOf(['local', 'session', 'memory']),\n\n  /**\r\n   * make slider same size of its parent\r\n   */\n  fullSize: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool\n};\nvar defaultProps = Slider.defaultProps;\nvar propTypes = Slider.propTypes;\n\n/***/ }),\n\n/***/ \"./src/components/StopButton.react.js\":\n/*!********************************************!*\\\n  !*** ./src/components/StopButton.react.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _styled_StopButton_styled__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../styled/StopButton.styled */ \"./src/styled/StopButton.styled.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\n\n\n\n\n\n\n/**\r\n * A Stop button component\r\n */\n\nvar StopButton = function StopButton(props) {\n  var id = props.id,\n      className = props.className,\n      style = props.style,\n      size = props.size,\n      disabled = props.disabled,\n      children = props.children,\n      n_clicks = props.n_clicks,\n      buttonText = props.buttonText,\n      theme = props.theme;\n  var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_5__[\"getClassName\"])('stopbutton', theme);\n  var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_5__[\"getFilteredProps\"])(props);\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n    id: id,\n    className: elementName + (className ? ' ' + className : ''),\n    style: style\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_4__[\"default\"], filteredProps, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_StopButton_styled__WEBPACK_IMPORTED_MODULE_3__[\"Button\"], {\n    className: elementName + '__button',\n    size: size,\n    disabled: disabled,\n    onClick: function onClick() {\n      if (props.setProps) props.setProps({\n        n_clicks: n_clicks + 1\n      });\n    }\n  }, children || buttonText)));\n};\n\nStopButton.defaultProps = {\n  buttonText: 'Stop',\n  n_clicks: 0,\n  size: 92,\n  labelPosition: 'top'\n};\nStopButton.propTypes = {\n  /**\r\n   * The ID used to identify this compnent in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * The size (width) of the stop button in pixels\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Text displayed in the button\r\n   */\n  buttonText: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Number of times the button was clicked\r\n   */\n  n_clicks: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * If true, button cannot be pressesd.\r\n   */\n  disabled: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * The children of the button.\r\n   */\n  children: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.node,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the button.\r\n   * To control styling, pass an object with label and\r\n   * style properties.\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the  label is positioned.\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Class to apply to the root component element.\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root component element.\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Dash-assigned callback that gets fired when the\r\n   * button is clicked.\r\n   */\n  setProps: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(StopButton));\n\n/***/ }),\n\n/***/ \"./src/components/Tank.react.js\":\n/*!**************************************!*\\\n  !*** ./src/components/Tank.react.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _styled_Tank_styled__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../styled/Tank.styled */ \"./src/styled/Tank.styled.js\");\n/* harmony import */ var _styled_CurrentValue_styled__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styled/CurrentValue.styled */ \"./src/styled/CurrentValue.styled.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _helpers_logarithm__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helpers/logarithm */ \"./src/helpers/logarithm.js\");\n/* harmony import */ var _helpers_util__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../helpers/util */ \"./src/helpers/util.js\");\n/* harmony import */ var _helpers_scale__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../helpers/scale */ \"./src/helpers/scale.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\n\n\n\n\n\n/**\r\n * A Tank component that fills to\r\n * a value between some range.\r\n */\n\nvar Tank = function Tank(props) {\n  var min = props.min,\n      max = props.max,\n      showCurrentValue = props.showCurrentValue,\n      units = props.units,\n      className = props.className,\n      id = props.id,\n      style = props.style,\n      color = props.color,\n      logarithmic = props.logarithmic,\n      base = props.base,\n      height = props.height,\n      width = props.width,\n      theme = props.theme;\n  var warningPara = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useRef\"])(null);\n  var dirtyValue = logarithmic ? _helpers_logarithm__WEBPACK_IMPORTED_MODULE_6__[\"default\"].compute(props.value, base) : props.value;\n  var currentDisplayValue = dirtyValue;\n  var value = Object(_helpers_util__WEBPACK_IMPORTED_MODULE_7__[\"sanitizeRangeValue\"])({\n    min: min,\n    max: max,\n    value: dirtyValue\n  });\n  var colorValue = props.textColor || color;\n  var percentageFill = Object(_helpers_util__WEBPACK_IMPORTED_MODULE_7__[\"computeProgress\"])({\n    min: min,\n    max: max,\n    value: value\n  });\n  var formatter = logarithmic ? _helpers_logarithm__WEBPACK_IMPORTED_MODULE_6__[\"default\"].generateLogFormatter({\n    base: base\n  }) : null;\n  var scale = Object(_helpers_scale__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(_objectSpread({}, props, {\n    formatter: formatter\n  }));\n  var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_9__[\"getClassName\"])('tank', theme);\n  var currentValueStyle = props.currentValueStyle || (theme.dark ? {\n    'color': 'white'\n  } : {\n    'color': 'black'\n  });\n\n  var renderTicks = function renderTicks() {\n    return Object.entries(scale).map(function (_ref) {\n      var _ref2 = _slicedToArray(_ref, 2),\n          k = _ref2[0],\n          v = _ref2[1];\n\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Tank_styled__WEBPACK_IMPORTED_MODULE_3__[\"Tick\"], {\n        className: elementName + '__tick',\n        key: k,\n        color: colorValue,\n        xPosition: Object(_helpers_util__WEBPACK_IMPORTED_MODULE_7__[\"computeProgress\"])({\n          min: min,\n          max: max,\n          value: k\n        })\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        className: \"tick\"\n      }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        className: \"label\"\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        style: v && v.style ? v.style : null\n      }, v && v.label || v)));\n    });\n  };\n\n  var scaleContainer = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Tank_styled__WEBPACK_IMPORTED_MODULE_3__[\"TickContainer\"], {\n    xPositioned: scale\n  }, renderTicks());\n  var currentValue = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_CurrentValue_styled__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n    units: units,\n    valueColor: colorValue,\n    customStyle: currentValueStyle\n  }, logarithmic ? _helpers_logarithm__WEBPACK_IMPORTED_MODULE_6__[\"default\"].formatValue(currentDisplayValue, base) : currentDisplayValue);\n  var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_9__[\"getFilteredProps\"])(props);\n  Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"])(function () {\n    var currValue = logarithmic ? Math.pow(base || 10, currentDisplayValue) : currentDisplayValue;\n    var maximum = logarithmic ? Math.pow(base || 10, max) : max;\n    var minimum = logarithmic ? Math.pow(base || 10, min) : min;\n\n    if (currValue > maximum) {\n      var str = '';\n      warningPara.current.innerHTML = props.exceedMessage ? typeof props.exceedMessage == 'string' ? props.exceedMessage : props.exceedMessage(currValue, maximum) || str : str;\n    } else if (currValue < minimum) {\n      var _str = '';\n      warningPara.current.innerHTML = props.lagingMessage ? typeof props.lagingMessage == 'string' ? props.lagingMessage : props.lagingMessage(currValue, minimum) || _str : _str;\n    } else {\n      warningPara.current.innerHTML = '';\n    }\n  }, [currentDisplayValue]);\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n    className: elementName + (className ? ' ' + className : ''),\n    id: id,\n    style: style\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Tank_styled__WEBPACK_IMPORTED_MODULE_3__[\"ExceededWarning\"], {\n    ref: warningPara\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _extends({\n    className: elementName + '__label'\n  }, filteredProps), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Tank_styled__WEBPACK_IMPORTED_MODULE_3__[\"Container\"], null, scaleContainer, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Tank_styled__WEBPACK_IMPORTED_MODULE_3__[\"TankContainer\"], {\n    className: elementName + '__container',\n    height: height,\n    width: width\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Tank_styled__WEBPACK_IMPORTED_MODULE_3__[\"TankFill\"], {\n    className: elementName + '__fill',\n    color: color,\n    height: \"\".concat(percentageFill, \"%\")\n  }), showCurrentValue && currentValue))));\n};\n\nTank.defaultProps = {\n  min: 0,\n  max: 10,\n  height: 192,\n  width: 112,\n  base: 10,\n  labelPosition: 'top',\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_10__[\"light\"]\n};\nTank.propTypes = {\n  /**\r\n   * The ID used to identify this component in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * The value of tank. If logarithmic, the displayed value\r\n   * will be the logarithm of the inputted value.\r\n   */\n  value: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The height of the tank in pixels\r\n   */\n  height: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The width of the tank in pixels\r\n   */\n  width: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The color of tank fill\r\n   */\n  color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * text style of current value\r\n   */\n  currentValueStyle: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * The minimum value of the tank. If logarithmic,\r\n   * represents minimum exponent.\r\n   */\n  min: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The maximum value of the tank. If logarithmic,\r\n   * represents the maximum exponent.\r\n   */\n  max: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Base to be used in logarithmic scale.\r\n   */\n  base: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * If set to true, a logarithmic scale will be\r\n   * used.\r\n   */\n  logarithmic: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * If true, the current value of the tank\r\n   * will be displayed\r\n   */\n  showCurrentValue: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * Label for the current value\r\n   */\n  units: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Description to be displayed alongside the control. To control styling,\r\n   * pass an object with label and style properties.\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the component label is positioned.\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Configuration for the component scale.\r\n   */\n  scale: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    /**\r\n     * Value to start the scale from. Defaults\r\n     * to min.\r\n     */\n    start: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n    /**\r\n     * Interval by which the scale goes up. Attempts\r\n     * to dynamically divide min-max range by\r\n     * default.\r\n     */\n    interval: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n    /**\r\n     * Interval by which labels are added to\r\n     * scale marks. Defaults to 2 (every other\r\n     * mark has a label).\r\n     */\n    labelInterval: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n    /**\r\n     * Custom scale marks. The key determines the position\r\n     * and the value determines what will show. If you want\r\n     * to set the style of a specific mark point, the value\r\n     * should be an object which contains style and label\r\n     * properties\r\n     */\n    custom: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n    /**\r\n     * Label for the mark\r\n     */\n    prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n    /**\r\n     * Style object with label\r\n     */\n    prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n      style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n      label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n    })])\n  }),\n\n  /**\r\n   * Class to apply to the root component element.\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root component element.\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Warning message when value exceed max\r\n   */\n  exceedMessage: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string]),\n\n  /**\r\n   * Warning message when value is laging from min\r\n   */\n  lagingMessage: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string]),\n\n  /**\r\n   * text color\r\n   */\n  textColor: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(Tank));\n\n/***/ }),\n\n/***/ \"./src/components/Thermometer.react.js\":\n/*!*********************************************!*\\\n  !*** ./src/components/Thermometer.react.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _styled_Thermometer_styled__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../styled/Thermometer.styled */ \"./src/styled/Thermometer.styled.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _styled_Tank_styled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styled/Tank.styled */ \"./src/styled/Tank.styled.js\");\n/* harmony import */ var _styled_CurrentValue_styled__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styled/CurrentValue.styled */ \"./src/styled/CurrentValue.styled.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _helpers_logarithm__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../helpers/logarithm */ \"./src/helpers/logarithm.js\");\n/* harmony import */ var _helpers_util__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../helpers/util */ \"./src/helpers/util.js\");\n/* harmony import */ var _helpers_scale__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../helpers/scale */ \"./src/helpers/scale.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\r\n * A thermometer component that\r\n * fills to a value between some\r\n * range\r\n */\n\nvar Thermometer = function Thermometer(props) {\n  var min = props.min,\n      max = props.max,\n      id = props.id,\n      className = props.className,\n      style = props.style,\n      logarithmic = props.logarithmic,\n      base = props.base,\n      showCurrentValue = props.showCurrentValue,\n      units = props.units,\n      theme = props.theme,\n      color = props.color,\n      height = props.height,\n      width = props.width;\n  var dirtyValue = logarithmic ? _helpers_logarithm__WEBPACK_IMPORTED_MODULE_8__[\"default\"].compute(props.value, base) : props.value;\n  var value = Object(_helpers_util__WEBPACK_IMPORTED_MODULE_9__[\"sanitizeRangeValue\"])({\n    min: min,\n    max: max,\n    value: dirtyValue\n  });\n  var formatter = logarithmic ? _helpers_logarithm__WEBPACK_IMPORTED_MODULE_8__[\"default\"].generateLogFormatter({\n    base: base\n  }) : null;\n  var scale = Object(_helpers_scale__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(_objectSpread({}, props, {\n    formatter: formatter\n  }));\n  var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_11__[\"getClassName\"])('thermometer', theme);\n\n  var renderTicks = function renderTicks() {\n    return Object.entries(scale).map(function (_ref) {\n      var _ref2 = _slicedToArray(_ref, 2),\n          k = _ref2[0],\n          v = _ref2[1];\n\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Tank_styled__WEBPACK_IMPORTED_MODULE_5__[\"Tick\"], {\n        className: elementName + '__tick',\n        key: k,\n        xPosition: Object(_helpers_util__WEBPACK_IMPORTED_MODULE_9__[\"computeProgress\"])({\n          min: min,\n          max: max,\n          value: k\n        })\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        className: \"tick\"\n      }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        className: \"label\",\n        style: v && v.style ? v.style : null\n      }, v && v.label || v));\n    });\n  };\n\n  var scaleContainer = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Tank_styled__WEBPACK_IMPORTED_MODULE_5__[\"TickContainer\"], {\n    xPositioned: scale\n  }, renderTicks());\n  var currentValue = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Thermometer_styled__WEBPACK_IMPORTED_MODULE_3__[\"CurrentValueContainer\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_CurrentValue_styled__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n    className: elementName + '__currentvalue',\n    valueColor: color,\n    units: units,\n    css: 'top: 0;'\n  }, logarithmic ? _helpers_logarithm__WEBPACK_IMPORTED_MODULE_8__[\"default\"].formatValue(value, base) : value.toFixed(1)));\n  var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_11__[\"getFilteredProps\"])(props);\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n    id: id,\n    className: elementName + (className ? ' ' + className : ''),\n    style: style\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _extends({\n    className: elementName + '__label'\n  }, filteredProps, {\n    labelCSS: props.labelPosition === 'top' ? null : 'transform: translateY(-30px);'\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Thermometer_styled__WEBPACK_IMPORTED_MODULE_3__[\"ThermometerContainer\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Tank_styled__WEBPACK_IMPORTED_MODULE_5__[\"Container\"], {\n    thermometer: true,\n    xPositioned: scale\n  }, scaleContainer, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Tank_styled__WEBPACK_IMPORTED_MODULE_5__[\"TankContainer\"], {\n    thermometer: true,\n    className: elementName + '__container',\n    height: height,\n    width: width\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Tank_styled__WEBPACK_IMPORTED_MODULE_5__[\"TankFill\"], {\n    thermometer: true,\n    className: elementName + '__fill',\n    color: color,\n    height: \"\".concat(Object(_helpers_util__WEBPACK_IMPORTED_MODULE_9__[\"computeProgress\"])({\n      min: min,\n      max: max,\n      value: value\n    }), \"%\")\n  }), theme.dark ? null : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Thermometer_styled__WEBPACK_IMPORTED_MODULE_3__[\"Bulb\"], {\n    on: value !== min,\n    color: color\n  }))), showCurrentValue && currentValue)));\n};\n\nThermometer.defaultProps = {\n  min: 0,\n  max: 10,\n  height: 192,\n  width: 20,\n  base: 10,\n  labelPosition: 'top',\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_7__[\"light\"]\n};\nThermometer.propTypes = {\n  /**\r\n   * The ID used to identify this compnent in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * The value of thermometer. If logarthmic, the value\r\n   * displayed will be the logarithm of the inputted value.\r\n   */\n  value: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The height of the thermometer in pixels\r\n   */\n  height: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The width of the thermometer in pixels\r\n   */\n  width: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The color of the thermometer fill/current value text\r\n   */\n  color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * The minimum value of the thermometer. If logarithmic,\r\n   * represents the minimum exponent.\r\n   */\n  min: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * The maximum value of the thermometer. If logarithmic,\r\n   * represents the maximum exponent.\r\n   */\n  max: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Base to be used in logarithmic scale.\r\n   */\n  base: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * If set to true, a logarithmic scale will be\r\n   * used.\r\n   */\n  logarithmic: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * If true, the current value of the\r\n   * thermometer will be displayed\r\n   */\n  showCurrentValue: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * Label for the current value\r\n   */\n  units: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the control. To control styling, pass an object with label and style properties.\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]),\n\n  /**\r\n   * Where the component label is positioned.\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Configuration for the component scale.\r\n   */\n  scale: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    /**\r\n     * Value to start the scale from. Defaults\r\n     * to min.\r\n     */\n    start: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n    /**\r\n     * Interval by which the scale goes up. Attempts\r\n     * to dynamically divide min-max range by\r\n     * default.\r\n     */\n    interval: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n    /**\r\n     * Interval by which labels are added to\r\n     * scale marks. Defaults to 2 (every other\r\n     * mark has a label).\r\n     */\n    labelInterval: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n    /**\r\n     * Custom scale marks. The key determines the position\r\n     * and the value determines what will show. If you want\r\n     * to set the style of a specific mark point, the value\r\n     * should be an object which contains style and label\r\n     * properties\r\n     */\n    custom: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n    /**\r\n     * Label for the mark\r\n     */\n    prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n    /**\r\n     * Style object with label\r\n     */\n    prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n      style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n      label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n    })])\n  }),\n\n  /**\r\n   * Class to apply to the root component element.\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root component element.\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(Thermometer));\n\n/***/ }),\n\n/***/ \"./src/components/ToggleSwitch.react.js\":\n/*!**********************************************!*\\\n  !*** ./src/components/ToggleSwitch.react.js ***!\n  \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _styled_shared_Indicator_styled__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../styled/shared/Indicator.styled */ \"./src/styled/shared/Indicator.styled.js\");\n/* harmony import */ var _styled_ToggleSwitch_styled__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styled/ToggleSwitch.styled */ \"./src/styled/ToggleSwitch.styled.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n\n\n\n\n\n\n\nfunction getLabelProps(label) {\n  if (_typeof(label) === 'object') {\n    return {\n      children: label.label,\n      style: label.style\n    };\n  }\n\n  return {\n    children: label,\n    style: {}\n  };\n}\n/**\r\n * A switch component that toggles between\r\n * two values.\r\n */\n\n\nvar ToggleSwitch =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(ToggleSwitch, _Component);\n\n  function ToggleSwitch(props) {\n    var _this;\n\n    _classCallCheck(this, ToggleSwitch);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(ToggleSwitch).call(this, props));\n    _this.state = {\n      value: props.value\n    };\n    _this.click = _this.click.bind(_assertThisInitialized(_this));\n    return _this;\n  }\n\n  _createClass(ToggleSwitch, [{\n    key: \"UNSAFE_componentWillReceiveProps\",\n    value: function UNSAFE_componentWillReceiveProps(newProps) {\n      if (newProps.value !== this.state.value) this.setState({\n        value: newProps.value\n      });\n    }\n  }, {\n    key: \"click\",\n    value: function click() {\n      if (!this.props.disabled) {\n        var newValue = !this.state.value;\n        this.setState({\n          value: newValue\n        });\n        if (this.props.setProps) this.props.setProps({\n          value: newValue\n        });\n      }\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props = this.props,\n          id = _this$props.id,\n          className = _this$props.className,\n          style = _this$props.style,\n          label = _this$props.label,\n          labelPosition = _this$props.labelPosition,\n          booleanSwitch = _this$props.booleanSwitch,\n          theme = _this$props.theme,\n          color = _this$props.color,\n          vertical = _this$props.vertical,\n          disabled = _this$props.disabled;\n      var size = this.props.size || 45;\n      var SwitchContainer = _styled_ToggleSwitch_styled__WEBPACK_IMPORTED_MODULE_4__[\"ButtonContainer\"];\n      var Switch = _styled_ToggleSwitch_styled__WEBPACK_IMPORTED_MODULE_4__[\"Button\"];\n\n      if (theme.dark && !booleanSwitch) {\n        SwitchContainer = _styled_ToggleSwitch_styled__WEBPACK_IMPORTED_MODULE_4__[\"DarkSwitchContainer\"];\n        Switch = _styled_ToggleSwitch_styled__WEBPACK_IMPORTED_MODULE_4__[\"DarkSwitch\"];\n      }\n\n      var indicatorSize = size / 10 * 1.25;\n      var doubleLabel = Array.isArray(label);\n      var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_7__[\"getClassName\"])(booleanSwitch ? 'booleanswitch' : 'toggleswitch', theme.dark);\n      var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_7__[\"getFilteredProps\"])(this.props);\n      var switchCore = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_ToggleSwitch_styled__WEBPACK_IMPORTED_MODULE_4__[\"Wrapper\"], {\n        className: elementName,\n        rotate: vertical ? -90 : 0,\n        size: size\n      }, !booleanSwitch && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_Indicator_styled__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n        className: elementName + '__indicator' + (this.state.value ? '--off' : '--on'),\n        on: this.state.value,\n        size: indicatorSize,\n        primary: color\n      }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(SwitchContainer, {\n        className: elementName + '__background',\n        onClick: this.click,\n        size: size,\n        color: color,\n        on: this.state.value,\n        booleanSwitch: booleanSwitch\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Switch, {\n        className: elementName + '__button',\n        disabled: disabled,\n        on: this.state.value,\n        size: size,\n        booleanSwitch: booleanSwitch\n      })), !booleanSwitch && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_Indicator_styled__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n        className: elementName + '__indicator' + (this.state.value ? '--on' : '--off'),\n        main: true,\n        on: this.state.value,\n        size: indicatorSize,\n        primary: color\n      }));\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        id: id,\n        className: className,\n        style: style\n      }, doubleLabel ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_ToggleSwitch_styled__WEBPACK_IMPORTED_MODULE_4__[\"RowContainer\"], filteredProps, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_ToggleSwitch_styled__WEBPACK_IMPORTED_MODULE_4__[\"RowLabel\"], _extends({\n        className: elementName + '__label',\n        position: vertical ? 'bottom' : 'left'\n      }, getLabelProps(label[0]))), switchCore, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_ToggleSwitch_styled__WEBPACK_IMPORTED_MODULE_4__[\"RowLabel\"], _extends({\n        className: elementName + '__label',\n        position: vertical ? 'top' : 'right'\n      }, getLabelProps(label[1])))) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n        className: elementName + '__label',\n        label: label,\n        labelPosition: labelPosition\n      }, switchCore));\n    }\n  }]);\n\n  return ToggleSwitch;\n}(react__WEBPACK_IMPORTED_MODULE_0__[\"Component\"]);\n\nToggleSwitch.defaultProps = {\n  value: false,\n  vertical: false,\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_6__[\"light\"],\n  labelPosition: 'top',\n  persisted_props: ['value'],\n  persistence_type: 'local'\n};\nToggleSwitch.propTypes = {\n  /**\r\n   * The ID used to identify this compnent in Dash callbacks\r\n   */\n  id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * The state of the switch\r\n   */\n  value: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * The size of the switch\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n\n  /**\r\n   * Color to highlight button/indicator\r\n   */\n  color: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * If true, switch will be vertical instead\r\n   * of horizontal\r\n   */\n  vertical: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * If true, switch cannot be clicked\r\n   */\n  disabled: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n\n  /**\r\n   * Theme configuration to be set by a ThemeProvider\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Description to be displayed alongside the control. To control styling, pass an object with label and style properties.\r\n   */\n  label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  }),\n  /**\r\n   * Multiple labels for both toggle states. The label at index 0 will be left\r\n   * (or bottom if the switch is vertical), and the label at index 0 will be\r\n   * on the right (or top if vertical)\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([\n  /**\r\n   * Label to be displayed\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n  /**\r\n   * The style and label\r\n   */\n  prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n    style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n    label: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n  })]))]),\n\n  /**\r\n   * Where the component label is positioned.\r\n   */\n  labelPosition: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top', 'bottom']),\n\n  /**\r\n   * Class to apply to the root component element.\r\n   */\n  className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n\n  /**\r\n   * Style to apply to the root object.\r\n   */\n  style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n\n  /**\r\n   * Dash-assigned callback that gets fired when\r\n   * switch is toggled.\r\n   */\n  setProps: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n\n  /**\r\n   * Used to allow user interactions in this component to be persisted when\r\n   * the component - or the page - is refreshed. If `persisted` is truthy and\r\n   * hasn't changed from its previous value, a `value` that the user has\r\n   * changed while using the app will keep that change, as long as\r\n   * the new `value` also matches what was given originally.\r\n   * Used in conjunction with `persistence_type`.\r\n   */\n  persistence: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number]),\n\n  /**\r\n   * Properties whose user interactions will persist after refreshing the\r\n   * component or the page. Since only `value` is allowed this prop can\r\n   * normally be ignored.\r\n   */\n  persisted_props: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['value'])),\n\n  /**\r\n   * Where persisted user changes will be stored:\r\n   * memory: only kept in memory, reset on page refresh.\r\n   * local: window.localStorage, data is kept after the browser quit.\r\n   * session: window.sessionStorage, data is cleared once the browser quit.\r\n   */\n  persistence_type: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['local', 'session', 'memory'])\n};\nvar ThemedToggleSwitch = Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(ToggleSwitch);\nThemedToggleSwitch.defaultProps = ToggleSwitch.defaultProps;\n/* harmony default export */ __webpack_exports__[\"default\"] = (ThemedToggleSwitch);\n\n/***/ }),\n\n/***/ \"./src/fragments/Slider.react.js\":\n/*!***************************************!*\\\n  !*** ./src/fragments/Slider.react.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var rc_slider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rc-slider */ \"./node_modules/rc-slider/es/index.js\");\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ramda */ \"./node_modules/ramda/es/index.js\");\n/* harmony import */ var deep_equal__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! deep-equal */ \"./node_modules/deep-equal/index.js\");\n/* harmony import */ var deep_equal__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(deep_equal__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _helpers_colorRanges__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../helpers/colorRanges */ \"./src/helpers/colorRanges.js\");\n/* harmony import */ var _styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styled/shared/LabelContainer.styled */ \"./src/styled/shared/LabelContainer.styled.js\");\n/* harmony import */ var rc_slider_assets_index_css__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! rc-slider/assets/index.css */ \"./node_modules/rc-slider/assets/index.css\");\n/* harmony import */ var rc_slider_assets_index_css__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(rc_slider_assets_index_css__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _styled_Slider_styled__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styled/Slider.styled */ \"./src/styled/Slider.styled.js\");\n/* harmony import */ var _components_Slider_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../components/Slider.react */ \"./src/components/Slider.react.js\");\n/* harmony import */ var _helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../helpers/classNameGenerator */ \"./src/helpers/classNameGenerator.js\");\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar renderHandle = function renderHandle(props) {\n  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n      isTarget = _ref.isTarget,\n      showLabel = _ref.showLabel;\n\n  var label = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Slider_styled__WEBPACK_IMPORTED_MODULE_8__[\"Label\"], _extends({\n    isTarget: isTarget\n  }, props), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n    className: \"label\"\n  }, props.label), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n    className: \"value\"\n  }, props.value));\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Slider_styled__WEBPACK_IMPORTED_MODULE_8__[\"HandleContainer\"], _extends({\n    isTarget: isTarget\n  }, props), showLabel && label, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Slider_styled__WEBPACK_IMPORTED_MODULE_8__[\"Handle\"], _extends({\n    isTarget: isTarget,\n    showLabel: showLabel\n  }, props)));\n};\n\nvar getTrackStyle = function getTrackStyle(props) {\n  if (!props.color.ranges || !Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_5__[\"isContiguous\"])(props)) {\n    var colorValue = Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_5__[\"getColorValue\"])(props.color);\n    return {\n      trackStyle: {\n        backgroundColor: colorValue\n      },\n      activeDotStyle: props.theme.dark ? {\n        background: colorValue,\n        boxShadow: \"0 0 6px 1px \".concat(colorValue)\n      } : {\n        borderColor: colorValue\n      }\n    };\n  }\n\n  return {\n    railStyle: {\n      backgroundImage: \"\".concat(Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_5__[\"getLinearGradientCSS\"])(props), \", linear-gradient(0deg, #000, #000)\"),\n      backgroundBlendMode: props.theme.dark ? 'none' : 'overlay'\n    },\n    trackStyle: {\n      mixBlendMode: 'overlay',\n      background: props.theme.dark ? '#fff' : '#000'\n    },\n    dotStyle: {\n      display: 'none'\n    }\n  };\n};\n/**\r\n * A slider component with support for\r\n * a target value.\r\n */\n\n\nvar Slider =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(Slider, _Component);\n\n  function Slider(props) {\n    var _this;\n\n    _classCallCheck(this, Slider);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(Slider).call(this, props));\n    _this.state = {\n      value: props.value != null ? props.value : props.min,\n      trackStyle: getTrackStyle(props)\n    };\n    _this.onChange = _this.onChange.bind(_assertThisInitialized(_this));\n    _this.onAfterChange = _this.onAfterChange.bind(_assertThisInitialized(_this));\n    _this.renderSliderHandle = _this.renderSliderHandle.bind(_assertThisInitialized(_this));\n    _this.renderTargets = _this.renderTargets.bind(_assertThisInitialized(_this));\n    _this.calcLabelOffset = _this.calcLabelOffset.bind(_assertThisInitialized(_this));\n    return _this;\n  }\n\n  _createClass(Slider, [{\n    key: \"UNSAFE_componentWillReceiveProps\",\n    value: function UNSAFE_componentWillReceiveProps(newProps) {\n      var updates = {};\n      var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_10__[\"getFilteredProps\"])(this.props);\n\n      if (typeof newProps.value !== 'undefined' && newProps.value !== this.state.value) {\n        updates.value = newProps.value;\n      }\n\n      if (!deep_equal__WEBPACK_IMPORTED_MODULE_4___default()(newProps.color, this.props.color)) {\n        updates.trackStyle = getTrackStyle(_objectSpread({}, filteredProps, {}, newProps));\n      }\n\n      this.setState(updates);\n    }\n  }, {\n    key: \"onChange\",\n    value: function onChange(value) {\n      var _this$props = this.props,\n          updatemode = _this$props.updatemode,\n          setProps = _this$props.setProps;\n\n      if (!this.props.value || updatemode !== 'drag') {\n        this.setState({\n          value: value\n        });\n      }\n\n      if (updatemode === 'drag') {\n        if (setProps) setProps({\n          value: value\n        });\n      }\n    }\n  }, {\n    key: \"onAfterChange\",\n    value: function onAfterChange(value) {\n      var _this$props2 = this.props,\n          updatemode = _this$props2.updatemode,\n          setProps = _this$props2.setProps;\n\n      if (updatemode === 'mouseup') {\n        if (setProps) setProps({\n          value: value\n        });\n      }\n    }\n  }, {\n    key: \"renderSliderHandle\",\n    value: function renderSliderHandle(props) {\n      var handleLabel = this.props.handleLabel;\n      var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_10__[\"getFilteredProps\"])(this.props);\n\n      var handleProps = _objectSpread({}, filteredProps, {}, props);\n\n      if (!handleLabel) {\n        return renderHandle(handleProps);\n      }\n\n      var value = handleLabel.showCurrentValue && this.state.value;\n      handleProps = _objectSpread({}, handleProps, {\n        value: value,\n        label: handleLabel.label || (handleLabel instanceof Object ? '  ' : handleLabel),\n        color: handleLabel.color || Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_5__[\"getColorValue\"])(this.props.color),\n        style: handleLabel.style\n      });\n      return renderHandle(handleProps, {\n        showLabel: true\n      });\n    }\n  }, {\n    key: \"renderTargets\",\n    value: function renderTargets() {\n      var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_10__[\"getFilteredProps\"])(this.props);\n      return Object.entries(this.props.targets).reduce(function (acc, _ref2) {\n        var _ref3 = _slicedToArray(_ref2, 2),\n            k = _ref3[0],\n            v = _ref3[1];\n\n        var props = _objectSpread({}, filteredProps, {\n          label: v.label || v,\n          value: v.showCurrentValue && k,\n          color: v.color,\n          style: v.style\n        });\n\n        var Handle = renderHandle(props, {\n          isTarget: true,\n          showLabel: !!v\n        }); // use rc-slider's props.marks format\n\n        acc[k] = {\n          style: _styled_Slider_styled__WEBPACK_IMPORTED_MODULE_8__[\"targetStyles\"],\n          label: Handle\n        };\n        return acc;\n      }, {});\n    }\n  }, {\n    key: \"calcLabelOffset\",\n    value: function calcLabelOffset(_ref4) {\n      var vertical = _ref4.vertical,\n          labelPosition = _ref4.labelPosition,\n          marks = _ref4.marks,\n          targets = _ref4.targets,\n          handleLabel = _ref4.handleLabel;\n      if (vertical) return null;\n\n      if (labelPosition === 'bottom') {\n        return \"transform: translateY(\".concat(marks ? 20 : 0, \"px);\");\n      }\n\n      var showingCurrentValue = false;\n      Object.values(targets).map(function (target) {\n        if (target.showCurrentValue) showingCurrentValue = true;\n      });\n\n      if (handleLabel && handleLabel.showCurrentValue) {\n        showingCurrentValue = true;\n      }\n\n      return \"transform: translateY(\".concat(showingCurrentValue ? -38 : -16, \"px);\");\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var value = this.state.value;\n      var _this$props3 = this.props,\n          className = _this$props3.className,\n          id = _this$props3.id,\n          theme = _this$props3.theme,\n          label = _this$props3.label,\n          size = _this$props3.size,\n          vertical = _this$props3.vertical,\n          style = _this$props3.style,\n          marks = _this$props3.marks;\n      var elementName = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_10__[\"getClassName\"])('slider', theme.dark);\n      var filteredProps = Object(_helpers_classNameGenerator__WEBPACK_IMPORTED_MODULE_10__[\"getFilteredProps\"])(this.props);\n      var cssStyle = this.props.vertical ? _objectSpread({}, style, {\n        marginLeft: '45px'\n      }) : _objectSpread({}, style, {\n        marginTop: '45px'\n      });\n      cssStyle = this.props.fullSize ? this.props.vertical ? _objectSpread({}, cssStyle, {\n        height: '100%'\n      }) : _objectSpread({}, cssStyle, {\n        width: '100%'\n      }) : cssStyle;\n      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n        id: id,\n        style: cssStyle,\n        className: elementName + (className ? ' ' + className : '')\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_shared_LabelContainer_styled__WEBPACK_IMPORTED_MODULE_6__[\"default\"], _extends({\n        className: elementName + '__label',\n        labelCSS: label ? this.calcLabelOffset(this.props) : null\n      }, filteredProps), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_Slider_styled__WEBPACK_IMPORTED_MODULE_8__[\"SliderContainer\"], {\n        fullSize: this.props.fullSize,\n        size: size,\n        vertical: vertical\n      }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(rc_slider__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _extends({\n        className: elementName + '__slider',\n        onChange: this.onChange,\n        onAfterChange: this.onAfterChange,\n        value: value,\n        handle: this.renderSliderHandle,\n        marks: _objectSpread({}, marks, {}, this.renderTargets())\n      }, this.state.trackStyle, Object(ramda__WEBPACK_IMPORTED_MODULE_3__[\"omit\"])(['setProps', 'updatemode', 'value', 'marks'], filteredProps))))));\n    }\n  }]);\n\n  return Slider;\n}(react__WEBPACK_IMPORTED_MODULE_0__[\"Component\"]);\n\nSlider.defaultProps = _components_Slider_react__WEBPACK_IMPORTED_MODULE_9__[\"defaultProps\"];\nSlider.propTypes = _components_Slider_react__WEBPACK_IMPORTED_MODULE_9__[\"propTypes\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(Slider));\n\n/***/ }),\n\n/***/ \"./src/helpers/GaugeSvg.react.js\":\n/*!***************************************!*\\\n  !*** ./src/helpers/GaugeSvg.react.js ***!\n  \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _styled_shared_DarkGradient__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../styled/shared/DarkGradient */ \"./src/styled/shared/DarkGradient.js\");\n/* harmony import */ var _helpers_util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/util */ \"./src/helpers/util.js\");\n/* harmony import */ var _shared_TrackSvg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./shared/TrackSvg */ \"./src/helpers/shared/TrackSvg.js\");\n\n\n\n\n\n\nvar lightNeedleKnob = function lightNeedleKnob(_ref) {\n  var CX = _ref.CX,\n      CY = _ref.CY;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    className: \"needle-knob\",\n    cx: CX,\n    cy: CY,\n    r: \"14\",\n    fill: \"#fff\"\n  });\n};\n\nvar darkNeedleKnob = function darkNeedleKnob(_ref2) {\n  var CX = _ref2.CX,\n      CY = _ref2.CY;\n  var id = Object(_helpers_util__WEBPACK_IMPORTED_MODULE_3__[\"getRandomInt\"])();\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"defs\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    id: \"needle-knob-edge-\".concat(id),\n    strokeWidth: \"2px\",\n    fill: \"none\",\n    cx: CX,\n    cy: CY,\n    r: \"14\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    id: \"needle-knob-\".concat(id),\n    className: \"needle-knob\",\n    cx: CX,\n    cy: CY,\n    r: \"14\"\n  })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    fill: \"#141414\",\n    xlinkHref: \"#needle-knob-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    fill: \"url(#l)\",\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    xlinkHref: \"#needle-knob-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    fill: \"url(#m)\",\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    xlinkHref: \"#needle-knob-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    fill: \"#141414\",\n    filter: \"url(#n)\",\n    xlinkHref: \"#needle-knob-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"#000000\",\n    xlinkHref: \"#needle-knob-edge-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"url(#p)\",\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    xlinkHref: \"#needle-knob-edge-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"url(#q)\",\n    strokeOpacity: \".4\",\n    xlinkHref: \"#needle-knob-edge-\".concat(id)\n  }));\n};\n\nvar darkTrack = function darkTrack(props, dimensions) {\n  var progress = props.progress;\n  var CX = dimensions.CX,\n      CY = dimensions.CY,\n      GAUGE_RAD = dimensions.GAUGE_RAD,\n      CIRCLE_CIR = dimensions.CIRCLE_CIR,\n      GAP_ARC_LENGTH = dimensions.GAP_ARC_LENGTH,\n      TRACK_ARC_LENGTH = dimensions.TRACK_ARC_LENGTH;\n  var id = Object(_helpers_util__WEBPACK_IMPORTED_MODULE_3__[\"getRandomInt\"])();\n  var colorValue = props.color && (typeof props.color === 'string' ? props.color : props.color[\"default\"]);\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"defs\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    id: \"gauge-track-\".concat(id),\n    className: \"track\",\n    cx: CX,\n    cy: CY,\n    r: GAUGE_RAD,\n    fill: \"none\",\n    strokeDasharray: CIRCLE_CIR,\n    strokeDashoffset: GAP_ARC_LENGTH,\n    strokeWidth: \"6\",\n    transform: \"rotate(-225 \".concat(CX, \" \").concat(CY, \")\")\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    id: \"gauge-track-progress-\".concat(id),\n    className: \"track progress\",\n    cx: CX,\n    cy: CY,\n    r: GAUGE_RAD,\n    fill: \"none\",\n    strokeDasharray: CIRCLE_CIR,\n    strokeDashoffset: GAP_ARC_LENGTH + (1 - progress) * TRACK_ARC_LENGTH,\n    strokeWidth: \"6\",\n    transform: \"rotate(-225 \".concat(CX, \" \").concat(CY, \")\")\n  })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"black\",\n    filter: \"url(#a)\",\n    xlinkHref: \"#gauge-track-\".concat(id)\n  }), props.color && props.color.ranges && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"#15181A\",\n    xlinkHref: \"#gauge-track-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"url(#c)\",\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    xlinkHref: \"#gauge-track-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"black\",\n    filter: \"url(#d)\",\n    xlinkHref: \"#gauge-track-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"black\",\n    filter: \"url(#e)\",\n    xlinkHref: \"#gauge-track-progress-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: colorValue || '#ABE2FB',\n    xlinkHref: \"#gauge-track-progress-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"url(#g)\",\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    xlinkHref: \"#gauge-track-progress-\".concat(id)\n  }), props.color && props.color.ranges && Object(_shared_TrackSvg__WEBPACK_IMPORTED_MODULE_4__[\"colorRangesTrack\"])(props, dimensions));\n};\n\nvar needle = function needle(needleRotation, _ref3) {\n  var CX = _ref3.CX,\n      CY = _ref3.CY,\n      SCALE_RAD = _ref3.SCALE_RAD;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"line\", {\n    className: \"needle\",\n    x1: CX,\n    y1: CY,\n    x2: CX + SCALE_RAD,\n    y2: CY,\n    transform: \"rotate(\".concat(needleRotation || 0, \" \").concat(CX, \" \").concat(CY, \")\"),\n    strokeLinecap: \"round\"\n  });\n};\n\nvar defs = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"defs\", null, _styled_shared_DarkGradient__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\nvar GaugeSvg = function GaugeSvg(props) {\n  var progress = props.progress,\n      min = props.min,\n      max = props.max,\n      step = props.step,\n      scale = props.scale;\n  var dimensions = calcDimensions(props);\n  var scaleItems = Object(_shared_TrackSvg__WEBPACK_IMPORTED_MODULE_4__[\"drawScale\"])({\n    min: min,\n    max: max,\n    step: step,\n    scale: scale\n  }, dimensions);\n  var knob = props.theme.dark ? darkNeedleKnob(dimensions) : lightNeedleKnob(dimensions);\n  var track = props.theme.dark ? darkTrack(props, dimensions) : Object(_shared_TrackSvg__WEBPACK_IMPORTED_MODULE_4__[\"lightTrack\"])(props, dimensions);\n  var needleRotation = 270 * progress - 225;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n    width: dimensions.SVG_WIDTH,\n    height: dimensions.SVG_WIDTH,\n    viewBox: \"0 0 \".concat(dimensions.SVG_WIDTH, \" \").concat(dimensions.SVG_WIDTH)\n  }, props.theme.dark && defs, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    className: \"scale\"\n  }, scaleItems), needle(needleRotation, dimensions), knob, track);\n};\n\nGaugeSvg.defaultProps = {\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"],\n  size: 208\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (GaugeSvg); // private helpers\n\nfunction calcDimensions(_ref4) {\n  var size = _ref4.size;\n  var OFFSET = 8;\n  var d = {};\n  d.SVG_WIDTH = size + 32;\n  d.CY = ~~(d.SVG_WIDTH / 2);\n  d.CX = ~~(d.SVG_WIDTH / 2);\n  d.GAUGE_RAD = size / 2;\n  d.SCALE_RAD = d.GAUGE_RAD - OFFSET;\n  d.CIRCLE_CIR = 2 * Math.PI * d.GAUGE_RAD;\n  d.GAP_ARC_LENGTH = 90 / 360 * (2 * Math.PI * d.GAUGE_RAD);\n  d.TRACK_ARC_LENGTH = d.CIRCLE_CIR - d.GAP_ARC_LENGTH;\n  d.SCALE_TICK_OUTER_RAD = d.SCALE_RAD;\n  d.SCALE_TICK_INNER_RAD = d.SCALE_TICK_OUTER_RAD - 6;\n  d.SCALE_TEXT_RAD = d.SCALE_TICK_INNER_RAD - 8;\n  d.IS_GAUGE = true;\n  return d;\n}\n\n/***/ }),\n\n/***/ \"./src/helpers/KnobSvg.react.js\":\n/*!**************************************!*\\\n  !*** ./src/helpers/KnobSvg.react.js ***!\n  \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _styled_shared_DarkGradient__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../styled/shared/DarkGradient */ \"./src/styled/shared/DarkGradient.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./util */ \"./src/helpers/util.js\");\n/* harmony import */ var _shared_TrackSvg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./shared/TrackSvg */ \"./src/helpers/shared/TrackSvg.js\");\n/* harmony import */ var _colorRanges__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./colorRanges */ \"./src/helpers/colorRanges.js\");\n\n\n\n\n\n\nvar START_ANGLE_OFFSET = -225;\n\nvar lightKnob = function lightKnob(newAngle, _ref) {\n  var CX = _ref.CX,\n      CY = _ref.CY,\n      KNOB_RAD = _ref.KNOB_RAD;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    transform: \"translate(\".concat(CX, \" \").concat(CY, \") rotate(\").concat(newAngle, \")\")\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    className: \"base\",\n    cx: \"0\",\n    cy: \"0\",\n    r: KNOB_RAD,\n    fill: \"#fff\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    className: \"indent\",\n    cx: KNOB_RAD * (2 / 3),\n    cy: \"0\",\n    r: KNOB_RAD / 6,\n    fill: \"#fff\"\n  }));\n};\n\nvar darkKnob = function darkKnob(color, newAngle, _ref2) {\n  var CX = _ref2.CX,\n      CY = _ref2.CY,\n      KNOB_RAD = _ref2.KNOB_RAD;\n  var id = Object(_util__WEBPACK_IMPORTED_MODULE_3__[\"getRandomInt\"])();\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    transform: \"translate(\".concat(CX, \" \").concat(CY, \")\")\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"defs\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n    id: \"base-edge-\".concat(id),\n    strokeWidth: \"2px\",\n    fill: \"none\",\n    d: \"M-\".concat(KNOB_RAD, \",0a\").concat(KNOB_RAD, \",\").concat(KNOB_RAD, \" 0 1,0 \").concat(KNOB_RAD * 2, \",0a\").concat(KNOB_RAD, \",\").concat(KNOB_RAD, \" 0 1,0 -\").concat(KNOB_RAD * 2, \",0\")\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    id: \"base-\".concat(id),\n    className: \"base\",\n    cx: \"0\",\n    cy: \"0\",\n    r: KNOB_RAD\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n    id: \"indent-\".concat(id),\n    width: \"8\",\n    height: \"2\",\n    x: KNOB_RAD - 16,\n    y: \"0\",\n    rx: \"1\"\n  })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    fill: \"#141414\",\n    xlinkHref: \"#base-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    fill: \"url(#l)\",\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    xlinkHref: \"#base-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    fill: \"url(#m)\",\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    xlinkHref: \"#base-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    fill: \"#141414\",\n    filter: \"url(#n)\",\n    xlinkHref: \"#base-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"#000000\",\n    xlinkHref: \"#base-edge-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"url(#p)\",\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    xlinkHref: \"#base-edge-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"url(#q)\",\n    strokeOpacity: \".4\",\n    xlinkHref: \"#base-edge-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    transform: \"rotate(\".concat(newAngle, \")\")\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    fill: \"black\",\n    filter: \"url(#r)\",\n    xlinkHref: \"#indent-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    fill: Object(_colorRanges__WEBPACK_IMPORTED_MODULE_5__[\"getColorValue\"])(color) || '#ABE2FB',\n    xlinkHref: \"#indent-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    fill: \"black\",\n    filter: \"url(#t)\",\n    xlinkHref: \"#indent-\".concat(id)\n  })));\n};\n\nvar darkTrack = function darkTrack(props, dimensions) {\n  var progress = props.progress;\n  var CX = dimensions.CX,\n      CY = dimensions.CY,\n      GAUGE_RAD = dimensions.GAUGE_RAD,\n      CIRCLE_CIR = dimensions.CIRCLE_CIR,\n      GAP_ARC_LENGTH = dimensions.GAP_ARC_LENGTH,\n      TRACK_ARC_LENGTH = dimensions.TRACK_ARC_LENGTH;\n  var id = Object(_util__WEBPACK_IMPORTED_MODULE_3__[\"getRandomInt\"])();\n  var hasColorRanges = props.color && props.color.ranges;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"defs\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    id: \"knob-track-\".concat(id),\n    className: \"track\",\n    cx: CX,\n    cy: CY,\n    r: GAUGE_RAD,\n    fill: \"none\",\n    strokeDasharray: CIRCLE_CIR,\n    strokeDashoffset: GAP_ARC_LENGTH,\n    strokeWidth: \"6\",\n    transform: \"rotate(-225 \".concat(CX, \" \").concat(CY, \")\")\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    id: \"knob-track-progress-\".concat(id),\n    className: \"track progress\",\n    cx: CX,\n    cy: CY,\n    r: GAUGE_RAD,\n    fill: \"none\",\n    strokeDasharray: CIRCLE_CIR,\n    strokeDashoffset: GAP_ARC_LENGTH + (1 - progress) * TRACK_ARC_LENGTH,\n    strokeWidth: \"6\",\n    transform: \"rotate(-225 \".concat(CX, \" \").concat(CY, \")\")\n  })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"#15181A\",\n    filter: \"url(#a)\",\n    xlinkHref: \"#knob-track-\".concat(id)\n  }), hasColorRanges && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"#15181A\",\n    xlinkHref: \"#knob-track-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"url(#c)\",\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    xlinkHref: \"#knob-track-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"#15181A\",\n    filter: \"url(#d)\",\n    xlinkHref: \"#knob-track-\".concat(id)\n  }), !hasColorRanges && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"black\",\n    filter: \"url(#e)\",\n    xlinkHref: \"#knob-track-progress-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: \"url(#g)\",\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    xlinkHref: \"#knob-track-progress-\".concat(id)\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n    stroke: Object(_colorRanges__WEBPACK_IMPORTED_MODULE_5__[\"getColorValue\"])(props.color) || '#ABE2FB',\n    xlinkHref: \"#knob-track-progress-\".concat(id)\n  }), props.color && props.color.ranges && Object(_shared_TrackSvg__WEBPACK_IMPORTED_MODULE_4__[\"colorRangesTrack\"])(props, dimensions));\n};\n\nvar KnobSvg = function KnobSvg(props) {\n  var theme = props.theme,\n      currentDeg = props.currentDeg,\n      disabled = props.disabled,\n      color = props.color;\n  var newAngle = currentDeg + START_ANGLE_OFFSET;\n  var dimensions = calcDimensions(props);\n  var knob = theme.dark ? darkKnob(color, newAngle, dimensions) : lightKnob(newAngle, dimensions);\n  var track = theme.dark ? darkTrack(props, dimensions) : Object(_shared_TrackSvg__WEBPACK_IMPORTED_MODULE_4__[\"lightTrack\"])(props, dimensions);\n  var scaleElements = Object(_shared_TrackSvg__WEBPACK_IMPORTED_MODULE_4__[\"drawScale\"])(props, dimensions);\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n    width: dimensions.SVG_WIDTH,\n    height: dimensions.SVG_WIDTH,\n    viewBox: \"0 0 \".concat(dimensions.SVG_WIDTH, \" \").concat(dimensions.SVG_WIDTH)\n  }, theme.dark && _styled_shared_DarkGradient__WEBPACK_IMPORTED_MODULE_2__[\"default\"], react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    className: \"scale\"\n  }, scaleElements), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    ref: props.refFunc,\n    onMouseDown: props.onMouseDown,\n    onMouseUp: props.onMouseUp,\n    onMouseMove: props.onMouseMove,\n    onTouchStart: props.onMouseDown,\n    onTouchEnd: props.onMouseUp,\n    onTouchMove: props.onMouseMove,\n    className: \"knob \".concat(disabled ? 'disabled' : '')\n  }, knob), track);\n};\n\nKnobSvg.defaultProps = {\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"],\n  size: 144\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (KnobSvg); // private helpers\n\nfunction calcDimensions(_ref3) {\n  var size = _ref3.size;\n  var OFFSET = 36;\n  var d = {};\n  d.SVG_WIDTH = size + 80;\n  d.CY = ~~(d.SVG_WIDTH / 2);\n  d.CX = ~~(d.SVG_WIDTH / 2);\n  d.GAUGE_RAD = size / 2;\n  d.SCALE_RAD = d.GAUGE_RAD + OFFSET;\n  d.KNOB_RAD = d.GAUGE_RAD - 12;\n  d.CIRCLE_CIR = 2 * Math.PI * d.GAUGE_RAD;\n  d.GAP_ARC_LENGTH = 90 / 360 * (2 * Math.PI * d.GAUGE_RAD);\n  d.TRACK_ARC_LENGTH = d.CIRCLE_CIR - d.GAP_ARC_LENGTH;\n  d.SCALE_TICK_OUTER_RAD = d.SCALE_RAD - 27;\n  d.SCALE_TICK_INNER_RAD = d.SCALE_TICK_OUTER_RAD - 0.5;\n  d.SCALE_TEXT_RAD = d.SCALE_RAD - 20;\n  return d;\n}\n\n/***/ }),\n\n/***/ \"./src/helpers/LEDDisplaySvg.react.js\":\n/*!********************************************!*\\\n  !*** ./src/helpers/LEDDisplaySvg.react.js ***!\n  \\********************************************/\n/*! exports provided: Digit, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Digit\", function() { return Digit; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var color__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! color */ \"./node_modules/color/index.js\");\n/* harmony import */ var color__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(color__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _styled_LEDDisplay_styled__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../styled/LEDDisplay.styled */ \"./src/styled/LEDDisplay.styled.js\");\n/* harmony import */ var _styled_shared_DarkGradient__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../styled/shared/DarkGradient */ \"./src/styled/shared/DarkGradient.js\");\n\n\n\n\nvar DIGITS = {\n  0: ['A', 'B', 'C', 'D', 'E', 'F'],\n  1: ['B', 'C'],\n  2: ['A', 'B', 'G', 'E', 'D'],\n  3: ['A', 'B', 'G', 'C', 'D'],\n  4: ['F', 'G', 'B', 'C'],\n  5: ['A', 'F', 'G', 'C', 'D'],\n  6: ['A', 'F', 'G', 'C', 'D', 'E'],\n  7: ['A', 'B', 'C'],\n  8: ['A', 'B', 'C', 'D', 'E', 'F', 'G'],\n  9: ['A', 'B', 'C', 'D', 'F', 'G'],\n  '-': ['G']\n}; // See the following link for segment mappings:\n// https://en.wikipedia.org/wiki/Seven-segment_display#/media/File:7_segment_display_labeled.svg\n\nvar LIGHT_SEGMENTS = {\n  A: {\n    base: 'M3.778 3.778L6.555 1h16.667L26 3.778l-2.778 2.778H6.555L3.778 3.778z',\n    stroke: 'M3.778 3.778L6.555 1h16.667L26 3.778l-2.778 2.778H6.555L3.778 3.778z'\n  },\n  B: {\n    base: 'M26 3.778l2.778 2.777v16.667L26 26l-2.778-2.778V6.555L26 3.778z',\n    stroke: 'M26 3.778l2.778 2.777v16.667L26 26l-2.778-2.778V6.555L26 3.778z'\n  },\n  C: {\n    base: 'M26 26l2.778 2.778v16.666L26 48.222l-2.778-2.778V28.778L26 26z',\n    stroke: 'M26 26l2.778 2.778v16.666L26 48.222l-2.778-2.778V28.778L26 26z'\n  },\n  D: {\n    base: 'M26 48.222L23.222 51H6.555l-2.777-2.778 2.777-2.778h16.667L26 48.222z',\n    stroke: 'M26 48.222L23.222 51H6.555l-2.777-2.778 2.777-2.778h16.667L26 48.222z'\n  },\n  E: {\n    base: 'M3.778 48.222L1 45.444V28.778L3.778 26l2.778 2.778v16.666l-2.778 2.778z',\n    stroke: 'M3.778 48.222L1 45.444V28.778L3.778 26l2.778 2.778v16.666l-2.778 2.778z'\n  },\n  F: {\n    base: 'M3.778 26L1 23.222V6.555l2.778-2.777 2.778 2.777v16.667L3.778 26z',\n    stroke: 'M3.778 26L1 23.222V6.555l2.778-2.777 2.778 2.777v16.667L3.778 26z'\n  },\n  G: {\n    base: 'M3.778 26l2.777-2.778h16.667L26 26l-2.778 2.778H6.555L3.778 26z',\n    stroke: 'M3.778 26l2.777-2.778h16.667L26 26l-2.778 2.778H6.555L3.778 26z'\n  }\n};\n\nvar LightSegment = function LightSegment(_ref) {\n  var _ref$paths = _ref.paths,\n      base = _ref$paths.base,\n      stroke = _ref$paths.stroke,\n      fillColor = _ref.fillColor,\n      strokeColor = _ref.strokeColor;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n    fill: fillColor,\n    fillRule: \"evenodd\",\n    d: base,\n    clipRule: \"evenodd\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n    stroke: strokeColor,\n    strokeWidth: \".75\",\n    d: stroke\n  }));\n};\n\nvar LightDecimal = function LightDecimal(_ref2) {\n  var fillColor = _ref2.fillColor,\n      strokeColor = _ref2.strokeColor;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    transform: \"translate(29 46)\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    cx: \"3\",\n    cy: \"3\",\n    r: \"3\",\n    fill: fillColor\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    cx: \"3\",\n    cy: \"3\",\n    r: \"3\",\n    stroke: strokeColor,\n    strokeWidth: \".75\"\n  }));\n};\n\nvar LightColon = function LightColon(_ref3) {\n  var fillColor = _ref3.fillColor,\n      strokeColor = _ref3.strokeColor;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    transform: \"translate(32 36)\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    cx: \"3\",\n    cy: \"3\",\n    r: \"3\",\n    fill: fillColor\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    cx: \"3\",\n    cy: \"3\",\n    r: \"3\",\n    stroke: strokeColor,\n    strokeWidth: \".75\"\n  })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    transform: \"translate(32 9)\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    cx: \"3\",\n    cy: \"3\",\n    r: \"3\",\n    fill: fillColor\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    cx: \"3\",\n    cy: \"3\",\n    r: \"3\",\n    stroke: strokeColor,\n    strokeWidth: \".75\"\n  })));\n};\n\nvar LightDigit = function LightDigit(_ref4) {\n  var value = _ref4.value,\n      hasColon = _ref4.hasColon,\n      hasDecimal = _ref4.hasDecimal,\n      color = _ref4.color,\n      backgroundColor = _ref4.backgroundColor,\n      size = _ref4.size,\n      className = _ref4.className;\n  var inactiveSegmentFill = color__WEBPACK_IMPORTED_MODULE_1___default()(backgroundColor).darken(0.2).fade(0.85);\n  var activeSegments = DIGITS[value].map(function (letter) {\n    return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(LightSegment, {\n      key: letter,\n      fillColor: color,\n      strokeColor: backgroundColor,\n      paths: LIGHT_SEGMENTS[letter]\n    });\n  });\n  var inactiveSegments = ['A', 'B', 'C', 'D', 'E', 'F', 'G'].map(function (letter) {\n    return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(LightSegment, {\n      key: letter,\n      fillColor: inactiveSegmentFill,\n      strokeColor: backgroundColor,\n      paths: LIGHT_SEGMENTS[letter]\n    });\n  });\n  var width = hasColon ? size : size * (6 / 7);\n  var height = size * (9 / 7);\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n    className: className\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n    xmlns: \"http://www.w3.org/2000/svg\",\n    width: width,\n    height: height\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    fill: \"none\",\n    style: {\n      transform: \"scale(\".concat(Number(size) / 42, \")\")\n    }\n  }, inactiveSegments, activeSegments, hasColon && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(LightColon, {\n    fillColor: color,\n    strokeColor: backgroundColor\n  }), hasDecimal && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(LightDecimal, {\n    fillColor: color,\n    strokeColor: backgroundColor\n  }))));\n};\n\nvar DarkDigit = function DarkDigit(_ref5) {\n  var value = _ref5.value,\n      hasColon = _ref5.hasColon,\n      hasDecimal = _ref5.hasDecimal,\n      color = _ref5.color,\n      size = _ref5.size,\n      className = _ref5.className;\n  var segments = DIGITS[value].map(function (letter) {\n    return _styled_shared_DarkGradient__WEBPACK_IMPORTED_MODULE_3__[\"DARK_SEGMENTS\"][letter];\n  });\n  var width = hasColon ? size : size * (6 / 7);\n  var height = size * (9 / 7);\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_styled_LEDDisplay_styled__WEBPACK_IMPORTED_MODULE_2__[\"DarkDigitContainer\"], {\n    className: className,\n    color: color\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n    xmlns: \"http://www.w3.org/2000/svg\",\n    xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n    width: width,\n    height: height\n  }, _styled_shared_DarkGradient__WEBPACK_IMPORTED_MODULE_3__[\"darkLEDDefs\"], react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    fill: \"none\",\n    fillRule: \"evenodd\",\n    filter: \"url(#darkLED-a)\",\n    style: {\n      transform: \"scale(\".concat(Number(size) / 42, \")\")\n    }\n  }, segments, hasColon && _styled_shared_DarkGradient__WEBPACK_IMPORTED_MODULE_3__[\"darkColon\"], hasDecimal && _styled_shared_DarkGradient__WEBPACK_IMPORTED_MODULE_3__[\"darkDecimal\"])));\n};\n\nvar Digit = function Digit(props) {\n  return props.theme.dark ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(DarkDigit, props) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(LightDigit, props);\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Digit);\n\n/***/ }),\n\n/***/ \"./src/helpers/NumericInput.js\":\n/*!*************************************!*\\\n  !*** ./src/helpers/NumericInput.js ***!\n  \\*************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_numeric_input__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-numeric-input */ \"./node_modules/react-numeric-input/index.js\");\n/* harmony import */ var react_numeric_input__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_numeric_input__WEBPACK_IMPORTED_MODULE_0__);\n\nreact_numeric_input__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.UNSAFE_componentWillMount = react_numeric_input__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.componentWillMount;\nreact_numeric_input__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.UNSAFE_componentWillReceiveProps = react_numeric_input__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.componentWillReceiveProps;\nreact_numeric_input__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.UNSAFE_componentWillUpdate = react_numeric_input__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.componentWillUpdate;\ndelete react_numeric_input__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.componentWillMount;\ndelete react_numeric_input__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.componentWillReceiveProps;\ndelete react_numeric_input__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.componentWillUpdate;\n/* harmony default export */ __webpack_exports__[\"default\"] = (react_numeric_input__WEBPACK_IMPORTED_MODULE_0___default.a);\n\n/***/ }),\n\n/***/ \"./src/helpers/PowerButtonSvg.react.js\":\n/*!*********************************************!*\\\n  !*** ./src/helpers/PowerButtonSvg.react.js ***!\n  \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\n\n\n\nvar PowerButtonSvg = function PowerButtonSvg(_ref) {\n  var color = _ref.color,\n      theme = _ref.theme,\n      on = _ref.on,\n      size = _ref.size;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n    xmlns: \"http://www.w3.org/2000/svg\",\n    width: size,\n    height: size,\n    viewBox: \"0 0 14 14\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n    fill: on ? color || theme.primary : theme.secondary,\n    fillRule: \"evenodd\",\n    d: \"M24.5173333,14.68 C25.2764482,15.3271143 25.8799978,16.1111065 26.328,17.032 C26.7760022,17.9777825 27,18.9671059 27,20 C27,21.2693397 26.6826698,22.4453279 26.048,23.528 C25.4257747,24.5857831 24.5857831,25.4257747 23.528,26.048 C22.4453279,26.6826698 21.2693397,27 20,27 C18.7306603,27 17.5546721,26.6826698 16.472,26.048 C15.4142169,25.4257747 14.5742253,24.5857831 13.952,23.528 C13.3173302,22.4453279 13,21.2693397 13,20 C13,18.9671059 13.2302199,17.9777825 13.6906667,17.032 C14.1262244,16.1111065 14.7235518,15.3271143 15.4826667,14.68 L16.5653333,15.7626667 C15.9555525,16.2728914 15.4764462,16.8888853 15.128,17.6106667 C14.7546648,18.3697816 14.568,19.1662181 14.568,20 C14.568,20.9955605 14.8106642,21.9102181 15.296,22.744 C15.7813358,23.5653374 16.4346626,24.2186642 17.256,24.704 C18.0897819,25.1893358 19.0044395,25.432 20,25.432 C20.9955605,25.432 21.9102181,25.1893358 22.744,24.704 C23.5653374,24.2186642 24.2186642,23.5653374 24.704,22.744 C25.1893358,21.9102181 25.432,20.9955605 25.432,20 C25.432,19.1537735 25.2546684,18.3666703 24.9,17.6386667 C24.5453316,16.910663 24.056892,16.2977803 23.4346667,15.8 L24.5173333,14.68 Z M20.7653333,13 L20.7653333,20.7653333 L19.2346667,20.7653333 L19.2346667,13 L20.7653333,13 Z\",\n    transform: \"translate(-13 -13)\"\n  }));\n};\n\nPowerButtonSvg.defaultProps = {\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (PowerButtonSvg);\n\n/***/ }),\n\n/***/ \"./src/helpers/classNameGenerator.js\":\n/*!*******************************************!*\\\n  !*** ./src/helpers/classNameGenerator.js ***!\n  \\*******************************************/\n/*! exports provided: getClassName, getFilteredProps */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getClassName\", function() { return getClassName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getFilteredProps\", function() { return getFilteredProps; });\n/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ \"./node_modules/ramda/es/index.js\");\n\nvar getClassName = function getClassName(componentName, theme) {\n  return 'daq-' + componentName + (theme && theme.dark ? '--dark' : '--light');\n};\nvar getFilteredProps = function getFilteredProps(props) {\n  return Object(ramda__WEBPACK_IMPORTED_MODULE_0__[\"omit\"])(['className', 'id', 'setProps', 'style'], props);\n};\n\n/***/ }),\n\n/***/ \"./src/helpers/colorRanges.js\":\n/*!************************************!*\\\n  !*** ./src/helpers/colorRanges.js ***!\n  \\************************************/\n/*! exports provided: isContiguous, toOneDArray, convertInRange, getSortedEntries, getGradientObject, getLinearGradientCSS, getColorValue, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isContiguous\", function() { return isContiguous; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toOneDArray\", function() { return toOneDArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"convertInRange\", function() { return convertInRange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getSortedEntries\", function() { return getSortedEntries; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getGradientObject\", function() { return getGradientObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getLinearGradientCSS\", function() { return getLinearGradientCSS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getColorValue\", function() { return getColorValue; });\n/* harmony import */ var tinygradient__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tinygradient */ \"./node_modules/tinygradient/tinygradient.js\");\n/* harmony import */ var tinygradient__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(tinygradient__WEBPACK_IMPORTED_MODULE_0__);\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\nvar isContiguous = function isContiguous(_ref) {\n  var color = _ref.color,\n      min = _ref.min,\n      max = _ref.max;\n  var ranges = toOneDArray(Object.values(color.ranges));\n  ranges.sort(function (r1, r2) {\n    return r1[0] - r2[0];\n  }); // color ranges start at min and end at max\n\n  if (ranges[0][0] !== min || ranges[ranges.length - 1][1] !== max) return false; // color ranges are contiguous\n\n  for (var i = 0; i < ranges.length - 1; i++) {\n    if (ranges[i][1] !== ranges[i + 1][0]) return false;\n  }\n\n  return true;\n};\nvar toOneDArray = function toOneDArray(ranges) {\n  var arr = [];\n\n  for (var i = 0; i < ranges.length; i++) {\n    if (ranges[i][0] instanceof Array) {\n      for (var j = 0; j < ranges[i].length; j++) {\n        arr.push(ranges[i][j]);\n      }\n    } else {\n      arr.push(ranges[i]);\n    }\n  }\n\n  return arr;\n};\nvar convertInRange = function convertInRange(color, max, min) {\n  /*\r\n   * The function will check color and range attribute.\r\n   * if range attribute is provided, it will check for unequal range values.\r\n   * args: color, max and min props from the gauge component\r\n   * example 1:\r\n   * input: color -> {\"red\":[1, 10], \"green\":[10, 50]}, max -> 40, min -> 0\r\n   * output: {\"red\":[0, 10], \"green\":[10, 40]}\r\n   * if color is underfined\r\n   */\n  if (!color) {\n    return color;\n  } // if ranges is not passed with color\n\n\n  if (color.ranges == null) {\n    return color;\n  } else {\n    var ranges = _objectSpread({}, color.ranges); // get a flat array of ranges\n\n\n    var rangeArr = getRangeArray(ranges);\n    rangeArr.sort(function (a1, a2) {\n      return a1 - a2;\n    });\n    var maxArr = [];\n    var minArr = [];\n    manageRange({\n      ranges: ranges,\n      max: max,\n      min: min,\n      rangeArr: rangeArr,\n      minArr: minArr,\n      maxArr: maxArr\n    });\n\n    for (var i = 0; i < minArr.length; i++) {\n      if (minArr[i]['subKey']) {\n        ranges[minArr[i]['subKey']][minArr[i]['key']][minArr[i]['index']] = min;\n      } else {\n        ranges[minArr[i]['key']][minArr[i]['index']] = min;\n      }\n    }\n\n    for (var _i = 0; _i < maxArr.length; _i++) {\n      if (maxArr[_i]['subKey']) {\n        ranges[maxArr[_i]['subKey']][maxArr[_i]['key']][maxArr[_i]['index']] = max;\n      } else {\n        ranges[maxArr[_i]['key']][maxArr[_i]['index']] = max;\n      }\n    }\n\n    color.ranges = ranges;\n    return _objectSpread({}, color);\n  }\n};\n\nvar manageRange = function manageRange(_ref2) {\n  var ranges = _ref2.ranges,\n      _ref2$subKey = _ref2.subKey,\n      subKey = _ref2$subKey === void 0 ? undefined : _ref2$subKey,\n      max = _ref2.max,\n      min = _ref2.min,\n      rangeArr = _ref2.rangeArr,\n      _ref2$minArr = _ref2.minArr,\n      minArr = _ref2$minArr === void 0 ? [] : _ref2$minArr,\n      _ref2$maxArr = _ref2.maxArr,\n      maxArr = _ref2$maxArr === void 0 ? [] : _ref2$maxArr;\n\n  for (var i in ranges) {\n    if (ranges[i][0] instanceof Array) {\n      manageRange({\n        ranges: ranges[i],\n        subKey: i,\n        max: max,\n        min: min,\n        rangeArr: rangeArr,\n        minArr: minArr,\n        maxArr: maxArr\n      });\n      continue;\n    }\n\n    if (ranges[i][0] > max) {\n      maxArr.push({\n        key: i,\n        subKey: subKey,\n        index: 0\n      });\n    }\n\n    if (ranges[i][1] > max) {\n      maxArr.push({\n        key: i,\n        subKey: subKey,\n        index: 1\n      });\n    }\n\n    if (ranges[i][0] < min) {\n      minArr.push({\n        key: i,\n        subKey: subKey,\n        index: 0\n      });\n    }\n\n    if (ranges[i][1] < min) {\n      minArr.push({\n        key: i,\n        subKey: subKey,\n        index: 1\n      });\n    }\n\n    if (rangeArr[0] == ranges[i][0] && ranges[i][0] > min) {\n      ranges[i][0] = min;\n    }\n\n    if (rangeArr[0] == ranges[i][1] && ranges[i][1] > min) {\n      ranges[i][1] = min;\n    }\n\n    if (rangeArr[rangeArr.length - 1] == ranges[i][0] && ranges[i][0] < max) {\n      ranges[i][0] = max;\n    }\n\n    if (rangeArr[rangeArr.length - 1] == ranges[i][1] && ranges[i][1] < max) {\n      ranges[i][1] = max;\n    }\n  }\n};\n\nvar getRangeArray = function getRangeArray(ranges) {\n  /*\r\n   * convert range passed in colors to flat array\r\n   * example -> ranges = {\"red\":[0, 1], \"green\":[1, 10]}\r\n   * output ->  arr = [0, 1, 1, 10]\r\n   */\n  var arr = [];\n\n  for (var i in ranges) {\n    if (ranges[i][0] instanceof Array) {\n      for (var j in ranges[i]) {\n        arr = [].concat(_toConsumableArray(arr), _toConsumableArray(ranges[i][j]));\n      }\n    } else {\n      arr = [].concat(_toConsumableArray(arr), _toConsumableArray(ranges[i]));\n    }\n  }\n\n  return arr;\n};\n\nvar getSortedEntries = function getSortedEntries(scale) {\n  var arr = Object.entries(scale);\n  var arr1 = [];\n\n  for (var i = 0; i < arr.length; i++) {\n    var key = arr[i][0];\n\n    if (arr[i][1][0] instanceof Array) {\n      for (var j = 0; j < arr[i][1].length; j++) {\n        arr1.push([key, arr[i][1][j]]);\n      }\n    } else {\n      arr1.push([key, arr[i][1]]);\n    }\n  }\n\n  var entries = arr1;\n  entries.sort(function (_ref3, _ref4) {\n    var _ref5 = _slicedToArray(_ref3, 2),\n        r1 = _ref5[1];\n\n    var _ref6 = _slicedToArray(_ref4, 2),\n        r2 = _ref6[1];\n\n    return r1[0] - r2[0];\n  });\n  return entries;\n};\nvar getGradientObject = function getGradientObject(_ref7) {\n  var color = _ref7.color,\n      min = _ref7.min,\n      max = _ref7.max;\n  var currentPos = 0;\n  var stops = getSortedEntries(color.ranges).map(function (_ref8) {\n    var _ref9 = _slicedToArray(_ref8, 2),\n        colorValue = _ref9[0],\n        range = _ref9[1];\n\n    var rangeLength = (range[1] - range[0]) * 1.0 / (max - min);\n    var start = currentPos;\n    var end = currentPos + rangeLength;\n    currentPos = end;\n    return {\n      color: colorValue,\n      pos: start\n    };\n  });\n  return tinygradient__WEBPACK_IMPORTED_MODULE_0___default()(stops);\n};\nvar getLinearGradientCSS = function getLinearGradientCSS(_ref10) {\n  var color = _ref10.color,\n      min = _ref10.min,\n      max = _ref10.max,\n      _ref10$vertical = _ref10.vertical,\n      vertical = _ref10$vertical === void 0 ? false : _ref10$vertical;\n  var currentPercentage = 0;\n  var stops = getSortedEntries(color.ranges).map(function (_ref11, i) {\n    var _ref12 = _slicedToArray(_ref11, 2),\n        colorValue = _ref12[0],\n        range = _ref12[1];\n\n    var rangeLength = (range[1] - range[0]) * 1.0 / (max - min) * 100;\n    var start = currentPercentage;\n    var end = currentPercentage + rangeLength;\n    currentPercentage = end;\n\n    if (color.gradient) {\n      return i === 0 ? colorValue : \"\".concat(colorValue, \" \").concat(start, \"%\");\n    }\n\n    return i === 0 ? \"\".concat(colorValue, \", \").concat(colorValue, \" \").concat(end, \"%\") : \"\".concat(colorValue, \" \").concat(start, \"%, \").concat(colorValue, \" \").concat(end, \"%\");\n  });\n  stops.unshift(vertical ? 'to top' : 'to right');\n  return \"linear-gradient(\".concat(stops.join(', '), \")\");\n};\nvar getColorValue = function getColorValue(color) {\n  return color && (typeof color === 'string' ? color : color[\"default\"]);\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  isContiguous: isContiguous,\n  getSortedEntries: getSortedEntries,\n  getLinearGradientCSS: getLinearGradientCSS,\n  getColorValue: getColorValue\n});\n\n/***/ }),\n\n/***/ \"./src/helpers/logarithm.js\":\n/*!**********************************!*\\\n  !*** ./src/helpers/logarithm.js ***!\n  \\**********************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./util */ \"./src/helpers/util.js\");\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  font-size: 0.9em;\\n  margin-left: -10px;\\n\\n  & sup {\\n    font-size: 0.6em;\\n  }\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\n\n\nfunction compute(value) {\n  var base = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10;\n  if (base === 'e') base = Math.exp(1);\n  return Math.log(value) / Math.log(base);\n}\n\nfunction generateLogFormatter(_ref) {\n  var _ref$base = _ref.base,\n      base = _ref$base === void 0 ? 10 : _ref$base,\n      _ref$isSVG = _ref.isSVG,\n      isSVG = _ref$isSVG === void 0 ? false : _ref$isSVG;\n  return function (value) {\n    return isSVG ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"tspan\", null, base, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"tspan\", {\n      dy: \"-6px\"\n    }, value)) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", null, base, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"sup\", null, value));\n  };\n}\n\nfunction genLogMarks(_ref2, isSVG) {\n  var min = _ref2.min,\n      max = _ref2.max,\n      _ref2$step = _ref2.step,\n      step = _ref2$step === void 0 ? 1 : _ref2$step,\n      _ref2$base = _ref2.base,\n      base = _ref2$base === void 0 ? 10 : _ref2$base,\n      marks = _ref2.marks;\n\n  // if no marks given, compute default marks\n  if (!marks) {\n    var curr = min;\n    marks = {};\n\n    while (curr <= max) {\n      marks[curr] = true;\n      curr += step;\n    }\n  }\n\n  Object.keys(marks).forEach(function (key) {\n    if (typeof marks[key] !== 'boolean') {\n      // custom mark label, do not format\n      return;\n    }\n\n    marks[key] = isSVG ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"tspan\", null, base, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"tspan\", {\n      dy: \"-6px\"\n    }, key)) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", null, base, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"sup\", null, key));\n  });\n  return marks;\n}\n\nfunction formatValue(value, base) {\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Value, null, \"~\", base, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"sup\", null, Object(_util__WEBPACK_IMPORTED_MODULE_2__[\"roundToDecimal\"])(value, 2)));\n}\n\nvar Value = styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].div(_templateObject());\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  compute: compute,\n  generateLogFormatter: generateLogFormatter,\n  formatValue: formatValue,\n  genLogMarks: genLogMarks\n});\n\n/***/ }),\n\n/***/ \"./src/helpers/scale.js\":\n/*!******************************!*\\\n  !*** ./src/helpers/scale.js ***!\n  \\******************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return generateScale; });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./src/helpers/util.js\");\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n // magic numbers\n\nvar DEFAULT_NUM_INTERVALS = 10;\nvar DEFAULT_LABEL_INTERVAL = 2;\nfunction generateScale(input) {\n  var config = processInput(input);\n\n  var scale = _objectSpread({}, config.custom);\n\n  if (config.onlyRenderCustom) {\n    return scale;\n  }\n\n  scale[config.min] = config.formatter(config.min);\n  scale[config.max] = config.formatter(config.max);\n  var curr = config.start;\n  var markCount = 0;\n\n  while (curr <= config.max) {\n    var needsLabel = markCount % config.labelInterval === 0;\n    var currValue = Number(Object(_util__WEBPACK_IMPORTED_MODULE_0__[\"decimalify\"])(curr, config.interval));\n    var alreadyMarked = typeof scale[currValue] !== 'undefined';\n    curr += config.interval;\n    markCount++;\n    if (alreadyMarked) continue;\n    var label = needsLabel ? config.formatter(currValue) : null;\n    scale[currValue] = label;\n  }\n\n  return scale;\n} // private\n\nfunction processInput(_ref) {\n  var min = _ref.min,\n      max = _ref.max,\n      _ref$scale = _ref.scale,\n      scale = _ref$scale === void 0 ? {} : _ref$scale,\n      formatter = _ref.formatter;\n  var config = {};\n  var START_FLAG = scale.start != null;\n  var INTERVAL_FLAG = scale.interval != null;\n  var LABEL_INTERVAL_FLAG = scale.labelInterval != null;\n  config.min = min;\n  config.max = max;\n  config.start = START_FLAG ? scale.start : min;\n  config.interval = INTERVAL_FLAG ? scale.interval : computeInterval(config.start, max);\n  config.labelInterval = LABEL_INTERVAL_FLAG ? scale.labelInterval : DEFAULT_LABEL_INTERVAL;\n  config.custom = scale.custom || {};\n  config.formatter = formatter || identityFunc;\n  var noConfigPassed = !START_FLAG && !INTERVAL_FLAG && !LABEL_INTERVAL_FLAG;\n  var customTicks = Object.keys(config.custom).length;\n  config.onlyRenderCustom = customTicks && noConfigPassed;\n  config.start = config.start != min ? min : config.start;\n  return config;\n}\n\nfunction identityFunc(x) {\n  return x;\n}\n\nfunction computeInterval(min, max) {\n  var ROUND_TO_WHOLE = Math.ceil;\n\n  var ROUND_TO_FRACTION = function ROUND_TO_FRACTION(x) {\n    return Number(x.toFixed(2));\n  };\n\n  var range = Math.abs(max - min) * 1.0;\n  var intervalEstimate = range / DEFAULT_NUM_INTERVALS;\n  var interval = intervalEstimate > 1 ? ROUND_TO_WHOLE(intervalEstimate) : ROUND_TO_FRACTION(intervalEstimate);\n  return interval;\n}\n\n/***/ }),\n\n/***/ \"./src/helpers/shared/TrackSvg.js\":\n/*!****************************************!*\\\n  !*** ./src/helpers/shared/TrackSvg.js ***!\n  \\****************************************/\n/*! exports provided: colorRangesTrack, lightTrack, drawScale */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"colorRangesTrack\", function() { return colorRangesTrack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lightTrack\", function() { return lightTrack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawScale\", function() { return drawScale; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _helpers_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../helpers/util */ \"./src/helpers/util.js\");\n/* harmony import */ var _helpers_colorRanges__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../helpers/colorRanges */ \"./src/helpers/colorRanges.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../styled/constants */ \"./src/styled/constants.js\");\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\nvar colorRangesTrack = function colorRangesTrack(props, dimensions) {\n  // const { max } = props;\n  var CX = dimensions.CX,\n      CY = dimensions.CY,\n      GAUGE_RAD = dimensions.GAUGE_RAD,\n      CIRCLE_CIR = dimensions.CIRCLE_CIR,\n      GAP_ARC_LENGTH = dimensions.GAP_ARC_LENGTH;\n  var TRACK_ARC_DEG = 270;\n  var GAP_ARC_DEG = 90;\n  var GRADIENT_BLEND = 25;\n  if (!Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_2__[\"isContiguous\"])(props)) return null; // set colors start from 0 if negative value is present\n\n  var deepColorCopy = JSON.parse(JSON.stringify(props.color));\n\n  var _setColorRangeStartFr = setColorRangeStartFromZero(_objectSpread({}, deepColorCopy), props.max),\n      color = _setColorRangeStartFr.color,\n      max = _setColorRangeStartFr.max; // calculate stops\n\n\n  var stops = Object(_helpers_colorRanges__WEBPACK_IMPORTED_MODULE_2__[\"getSortedEntries\"])(color.ranges).map(function (_ref, i) {\n    var _ref2 = _slicedToArray(_ref, 2),\n        colorValue = _ref2[0],\n        range = _ref2[1];\n\n    var startDeg = range[0] * 1.0 / max * TRACK_ARC_DEG + GAP_ARC_DEG;\n    var endDeg = range[1] * 1.0 / max * TRACK_ARC_DEG + GAP_ARC_DEG;\n\n    if (color.gradient) {\n      // no transition between black band and first color\n      if (i === 0) {\n        return \"\".concat(colorValue, \" 0\");\n      }\n\n      return \"\".concat(colorValue, \" \").concat(startDeg + GRADIENT_BLEND, \"deg, \").concat(colorValue, \" \").concat(endDeg - GRADIENT_BLEND, \"deg\");\n    }\n\n    return \"\".concat(colorValue, \" \").concat(startDeg, \"deg, \").concat(colorValue, \" \").concat(endDeg, \"deg\");\n  });\n  stops.unshift([\"black \".concat(GAP_ARC_DEG, \"deg\")]); // add black band for bottom gap\n\n  if (typeof window === 'undefined') {\n    return null;\n  }\n\n  if (!window.ConicGradient) {\n    // eslint-disable-next-line\n    __webpack_require__(/*! conic-gradient */ \"./node_modules/conic-gradient/conic-gradient.js\"); // globally sets ConicGradient\n\n  }\n\n  var ConicGradient = window.ConicGradient;\n  var gradient = new ConicGradient({\n    stops: stops.join(', '),\n    size: 400\n  }); // unique id for each track\n\n  var id = \"colorRangesImage-\".concat(Object(_helpers_util__WEBPACK_IMPORTED_MODULE_1__[\"getRandomInt\"])());\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"defs\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"pattern\", {\n    id: id,\n    patternUnits: \"userSpaceOnUse\",\n    width: \"100%\",\n    height: \"100%\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"image\", {\n    xlinkHref: gradient.dataURL,\n    width: \"100%\",\n    height: \"100%\"\n  }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    className: \"color-ranges\",\n    cx: CX,\n    cy: CY,\n    r: GAUGE_RAD,\n    fill: \"none\",\n    stroke: \"url(#\".concat(id, \")\"),\n    strokeWidth: \"6px\",\n    strokeDasharray: CIRCLE_CIR,\n    strokeDashoffset: GAP_ARC_LENGTH,\n    transform: \"rotate(-225 \".concat(CX, \" \").concat(CY, \")\")\n  }));\n};\nvar lightTrack = function lightTrack(props, dimensions) {\n  var color = props.color,\n      progress = props.progress;\n  var CX = dimensions.CX,\n      CY = dimensions.CY,\n      GAUGE_RAD = dimensions.GAUGE_RAD,\n      CIRCLE_CIR = dimensions.CIRCLE_CIR,\n      GAP_ARC_LENGTH = dimensions.GAP_ARC_LENGTH,\n      TRACK_ARC_LENGTH = dimensions.TRACK_ARC_LENGTH;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    className: \"track\",\n    cx: CX,\n    cy: CY,\n    r: GAUGE_RAD,\n    fill: \"none\",\n    strokeDasharray: CIRCLE_CIR,\n    strokeDashoffset: GAP_ARC_LENGTH,\n    strokeWidth: \"6\",\n    transform: \"rotate(-225 \".concat(CX, \" \").concat(CY, \")\")\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n    className: \"track progress\",\n    cx: CX,\n    cy: CY,\n    r: GAUGE_RAD,\n    fill: \"none\",\n    strokeDasharray: CIRCLE_CIR,\n    strokeDashoffset: GAP_ARC_LENGTH + (1 - progress) * TRACK_ARC_LENGTH,\n    strokeWidth: \"6\",\n    transform: \"rotate(-225 \".concat(CX, \" \").concat(CY, \")\")\n  }), color && color.ranges && colorRangesTrack(props, dimensions));\n};\n\nvar getScaleString = function getScaleString(v) {\n  if (!v) return ''; // is jsx element?\n\n  if (v.props) return v.props.children[0] + ' ';\n  return v && v.label || v;\n};\n\nvar drawScale = function drawScale(_ref3, _ref4) {\n  var min = _ref3.min,\n      max = _ref3.max,\n      step = _ref3.step,\n      scale = _ref3.scale;\n  var CX = _ref4.CX,\n      CY = _ref4.CY,\n      SCALE_TICK_OUTER_RAD = _ref4.SCALE_TICK_OUTER_RAD,\n      SCALE_TICK_INNER_RAD = _ref4.SCALE_TICK_INNER_RAD,\n      SCALE_TEXT_RAD = _ref4.SCALE_TEXT_RAD,\n      IS_GAUGE = _ref4.IS_GAUGE;\n  var START_ANGLE_OFFSET = -225;\n  var DEFAULT_LONGEST_STRING = 3;\n  var scaleItems = [];\n  var count = 0;\n  var offset = (Math.max(Object(_helpers_util__WEBPACK_IMPORTED_MODULE_1__[\"longestString\"])(Object.values(scale).map(getScaleString)).length, DEFAULT_LONGEST_STRING) || DEFAULT_LONGEST_STRING) * 2;\n  var sr1 = SCALE_TICK_OUTER_RAD;\n  var sr2 = SCALE_TICK_INNER_RAD;\n  var srT = IS_GAUGE ? SCALE_TEXT_RAD - offset : SCALE_TEXT_RAD + offset;\n  Object.keys(scale).forEach(function (key) {\n    var markValue = scale[key];\n    var degreesProgressed = Object(_helpers_util__WEBPACK_IMPORTED_MODULE_1__[\"computeProgress\"])({\n      min: min,\n      max: max,\n      value: key,\n      progressionTarget: _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"TRACK_TOTAL_DEG\"]\n    });\n    var markAngle = START_ANGLE_OFFSET + degreesProgressed;\n\n    if (markValue !== null) {\n      // draw full mark\n      var sx1 = CX + sr1 * Math.cos(markAngle * _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"RADIAN\"]);\n      var sy1 = CY + sr1 * Math.sin(markAngle * _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"RADIAN\"]);\n      var sx2 = CX + sr2 * Math.cos(markAngle * _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"RADIAN\"]);\n      var sy2 = CY + sr2 * Math.sin(markAngle * _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"RADIAN\"]);\n      var sxT = CX + srT * Math.cos(markAngle * _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"RADIAN\"]);\n      var syT = CY + srT * Math.sin(markAngle * _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"RADIAN\"]) + 4;\n      scaleItems.push(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"line\", {\n        key: \"line\".concat(count),\n        className: \"tick\",\n        x1: sx1,\n        y1: sy1,\n        x2: sx2,\n        y2: sy2,\n        strokeLinecap: \"round\"\n      }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"text\", {\n        key: \"text\".concat(count),\n        x: sxT,\n        y: syT,\n        textAnchor: \"middle\",\n        style: markValue && markValue.style ? markValue.style : null\n      }, markValue && markValue.label || markValue));\n    } else {\n      // draw mini mark\n      var _sx = CX + sr1 * Math.cos(markAngle * _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"RADIAN\"]);\n\n      var _sy = CY + sr1 * Math.sin(markAngle * _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"RADIAN\"]);\n\n      var _sx2 = CX + (sr2 + 3) * Math.cos(markAngle * _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"RADIAN\"]);\n\n      var _sy2 = CY + (sr2 + 3) * Math.sin(markAngle * _styled_constants__WEBPACK_IMPORTED_MODULE_3__[\"RADIAN\"]);\n\n      scaleItems.push(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"line\", {\n        key: \"line\".concat(count),\n        className: \"tick\",\n        x1: _sx,\n        y1: _sy,\n        x2: _sx2,\n        y2: _sy2,\n        strokeLinecap: \"round\"\n      }));\n    }\n\n    count++;\n  });\n  return scaleItems;\n};\n\nvar setColorRangeStartFromZero = function setColorRangeStartFromZero(color, max) {\n  var ranges = _objectSpread({}, color.ranges);\n\n  var minimum = Infinity;\n\n  for (var i in ranges) {\n    if (ranges[i][0] instanceof Array) {\n      for (var j = 0; j < ranges[i].length; j++) {\n        if (ranges[i][j][0] < minimum) {\n          minimum = ranges[i][j][0];\n        }\n\n        if (ranges[i][j][1] < minimum) {\n          minimum = ranges[i][j][1];\n        }\n      }\n\n      continue;\n    }\n\n    if (ranges[i][0] < minimum) {\n      minimum = ranges[i][0];\n    }\n\n    if (ranges[i][1] < minimum) {\n      minimum = ranges[i][1];\n    }\n  }\n\n  if (minimum < 0) {\n    for (var _i2 in ranges) {\n      if (ranges[_i2][0] instanceof Array) {\n        for (var _j = 0; _j < ranges[_i2].length; _j++) {\n          ranges[_i2][_j][0] = ranges[_i2][_j][0] - minimum;\n          ranges[_i2][_j][1] = ranges[_i2][_j][1] - minimum;\n        }\n\n        continue;\n      }\n\n      ranges[_i2][0] = ranges[_i2][0] - minimum;\n      ranges[_i2][1] = ranges[_i2][1] - minimum;\n    }\n\n    max = max - minimum;\n  }\n\n  color = _objectSpread({}, color, {\n    ranges: ranges\n  });\n  return {\n    color: color,\n    max: max\n  };\n};\n\n/***/ }),\n\n/***/ \"./src/helpers/util.js\":\n/*!*****************************!*\\\n  !*** ./src/helpers/util.js ***!\n  \\*****************************/\n/*! exports provided: longestString, decimalify, sanitizeRangeValue, computeProgress, roundToDecimal, getRandomInt, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"longestString\", function() { return longestString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"decimalify\", function() { return decimalify; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sanitizeRangeValue\", function() { return sanitizeRangeValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"computeProgress\", function() { return computeProgress; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"roundToDecimal\", function() { return roundToDecimal; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getRandomInt\", function() { return getRandomInt; });\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar longestString = function longestString(arr) {\n  return arr.sort(function (a, b) {\n    return b.length - a.length;\n  })[0];\n};\nvar decimalify = function decimalify() {\n  var num = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n  var step = arguments.length > 1 ? arguments[1] : undefined;\n\n  if (isNaN(num)) {\n    return num;\n  } // eslint-disable-next-line\n\n\n  var _step$toString$split = step.toString().split('.'),\n      _step$toString$split2 = _slicedToArray(_step$toString$split, 2),\n      characteristic = _step$toString$split2[0],\n      mantissa = _step$toString$split2[1];\n\n  var numDecimalPoints = mantissa ? mantissa.length : 0;\n  return num.toFixed(numDecimalPoints);\n};\nvar sanitizeRangeValue = function sanitizeRangeValue(_ref) {\n  var min = _ref.min,\n      max = _ref.max,\n      value = _ref.value;\n  if (value == null) return min;\n\n  if (value < min) {\n    return min;\n  } else if (value > max) {\n    return max;\n  } else {\n    return value;\n  }\n};\nvar computeProgress = function computeProgress(_ref2) {\n  var min = _ref2.min,\n      max = _ref2.max,\n      value = _ref2.value,\n      _ref2$progressionTarg = _ref2.progressionTarget,\n      progressionTarget = _ref2$progressionTarg === void 0 ? 100 : _ref2$progressionTarg;\n  value = Number(value);\n  var adjustedValue = Math.abs(value - min) * 1.0;\n  var range = Math.abs(max - min);\n  return adjustedValue / range * progressionTarget;\n};\nvar roundToDecimal = function roundToDecimal(value, decimals) {\n  return Number(Math.round(value + 'e' + decimals) + 'e-' + decimals);\n};\nvar getRandomInt = function getRandomInt() {\n  var min = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n  var max = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 9999;\n  return Math.floor(Math.random() * (max - min + 1)) + min;\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  decimalify: decimalify,\n  sanitizeRangeValue: sanitizeRangeValue,\n  computeProgress: computeProgress,\n  longestString: longestString,\n  roundToDecimal: roundToDecimal,\n  getRandomInt: getRandomInt\n});\n\n/***/ }),\n\n/***/ \"./src/index.js\":\n/*!**********************!*\\\n  !*** ./src/index.js ***!\n  \\**********************/\n/*! exports provided: BooleanSwitch, ColorPicker, Gauge, GraduatedBar, Indicator, Knob, LEDDisplay, NumericInput, PowerButton, PrecisionInput, StopButton, Slider, Tank, Thermometer, ToggleSwitch, DarkThemeProvider, Joystick */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _components_BooleanSwitch_react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/BooleanSwitch.react */ \"./src/components/BooleanSwitch.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BooleanSwitch\", function() { return _components_BooleanSwitch_react__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _components_ColorPicker_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/ColorPicker.react */ \"./src/components/ColorPicker.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ColorPicker\", function() { return _components_ColorPicker_react__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _components_Gauge_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/Gauge.react */ \"./src/components/Gauge.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Gauge\", function() { return _components_Gauge_react__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _components_GraduatedBar_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/GraduatedBar.react */ \"./src/components/GraduatedBar.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"GraduatedBar\", function() { return _components_GraduatedBar_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _components_Indicator_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/Indicator.react */ \"./src/components/Indicator.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Indicator\", function() { return _components_Indicator_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _components_Knob_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/Knob.react */ \"./src/components/Knob.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Knob\", function() { return _components_Knob_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _components_LEDDisplay_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/LEDDisplay.react */ \"./src/components/LEDDisplay.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LEDDisplay\", function() { return _components_LEDDisplay_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _components_NumericInput_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/NumericInput.react */ \"./src/components/NumericInput.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NumericInput\", function() { return _components_NumericInput_react__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _components_PowerButton_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/PowerButton.react */ \"./src/components/PowerButton.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PowerButton\", function() { return _components_PowerButton_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _components_PrecisionInput_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/PrecisionInput.react */ \"./src/components/PrecisionInput.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PrecisionInput\", function() { return _components_PrecisionInput_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _components_StopButton_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./components/StopButton.react */ \"./src/components/StopButton.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StopButton\", function() { return _components_StopButton_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _components_Slider_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./components/Slider.react */ \"./src/components/Slider.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Slider\", function() { return _components_Slider_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _components_Tank_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./components/Tank.react */ \"./src/components/Tank.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Tank\", function() { return _components_Tank_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _components_Thermometer_react__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./components/Thermometer.react */ \"./src/components/Thermometer.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Thermometer\", function() { return _components_Thermometer_react__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _components_ToggleSwitch_react__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./components/ToggleSwitch.react */ \"./src/components/ToggleSwitch.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ToggleSwitch\", function() { return _components_ToggleSwitch_react__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _components_DarkThemeProvider_react__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./components/DarkThemeProvider.react */ \"./src/components/DarkThemeProvider.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DarkThemeProvider\", function() { return _components_DarkThemeProvider_react__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _components_Joystick_react__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./components/Joystick.react */ \"./src/components/Joystick.react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Joystick\", function() { return _components_Joystick_react__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* eslint-disable import/prefer-default-export */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n\n/***/ \"./src/styled/CurrentValue.styled.js\":\n/*!*******************************************!*\\\n  !*** ./src/styled/CurrentValue.styled.js ***!\n  \\*******************************************/\n/*! exports provided: Value, ValueLabel, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Value\", function() { return Value; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ValueLabel\", function() { return ValueLabel; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ \"./src/styled/constants.js\");\nfunction _templateObject6() {\n  var data = _taggedTemplateLiteral([\"\\n  margin-top: -4px;\\n  text-transform: uppercase;\\n  font-size: 8px;\\n  color: #535d63;\\n\"]);\n\n  _templateObject6 = function _templateObject6() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject5() {\n  var data = _taggedTemplateLiteral([\"\\n          font-size: \", \"px;\\n        \"]);\n\n  _templateObject5 = function _templateObject5() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject4() {\n  var data = _taggedTemplateLiteral([\"\\n          text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.4);\\n        \"]);\n\n  _templateObject4 = function _templateObject4() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n  font-size: 1em;\\n  color: \", \";\\n  \", \";\\n  \", \"\\n\"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n          \", \";\\n        \"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  position: relative;\\n  display: flex;\\n  flex-direction: column;\\n  justify-content: space-around;\\n  align-items: center;\\n\\n  top: 50%;\\n  transform: translateY(-50%);\\n  text-align: center;\\n  font-size: 32px;\\n  \", \";\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\n\nvar ValueContainer = styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].div(_templateObject(), function (props) {\n  return props.css ? Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject2(), props.css) : '';\n});\nvar Value = styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].div(_templateObject3(), function (_ref) {\n  var theme = _ref.theme,\n      color = _ref.color;\n  return color || (theme.dark ? '#000' : color || theme.primary);\n}, function (_ref2) {\n  var theme = _ref2.theme;\n  return theme.dark ? Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject4()) : '';\n}, function (_ref3) {\n  var fontSize = _ref3.fontSize;\n  return fontSize ? Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject5(), fontSize) : '';\n});\nValue.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_2__[\"light\"]\n};\nvar ValueLabel = styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].label(_templateObject6());\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (props) {\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(ValueContainer, {\n    css: props.css\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Value, {\n    fontSize: props.valueSize,\n    color: props.valueColor,\n    style: props.customStyle\n  }, props.children), props.units ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(ValueLabel, null, props.units) : null);\n});\n\n/***/ }),\n\n/***/ \"./src/styled/Gauge.styled.js\":\n/*!************************************!*\\\n  !*** ./src/styled/Gauge.styled.js ***!\n  \\************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n  & .needle-knob {\\n    stroke: \", \";\\n    stroke-width: 2;\\n  }\\n\\n  & .track {\\n    stroke: \", \";\\n  }\\n\\n  & .track.progress {\\n    stroke: \", \";\\n  }\\n\"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  & svg {\\n    text-align: center;\\n  }\\n\\n  & circle {\\n    user-select: none;\\n  }\\n\\n  & .scale {\\n    font-size: 12px;\\n\\n    fill: \", \";\\n    user-select: none;\\n  }\\n\\n  & .tick {\\n    stroke: \", \";\\n    stroke-width: 2;\\n  }\\n\\n  & .tick.small {\\n    stroke: #2b2f32;\\n  }\\n\\n  & .needle {\\n    stroke: \", \";\\n    stroke-width: 3;\\n  }\\n\\n  \", \";\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\nvar Container = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject(), function (_ref) {\n  var theme = _ref.theme,\n      color = _ref.color;\n  return color || (theme.dark ? '#000' : '#5b6268');\n}, function (props) {\n  return props.theme.detail;\n}, function (_ref2) {\n  var theme = _ref2.theme;\n  return theme.dark ? '#000' : '#5b6268';\n}, function (_ref3) {\n  var theme = _ref3.theme;\n  return !theme.dark && lightTheme;\n});\nvar lightTheme = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject2(), function (_ref4) {\n  var theme = _ref4.theme;\n  return theme.secondary;\n}, function (props) {\n  return props.theme.secondary;\n}, function (_ref5) {\n  var color = _ref5.color,\n      theme = _ref5.theme;\n  return color || theme.primary;\n});\nContainer.defaultProps = {\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Container);\n\n/***/ }),\n\n/***/ \"./src/styled/GraduatedBar.styled.js\":\n/*!*******************************************!*\\\n  !*** ./src/styled/GraduatedBar.styled.js ***!\n  \\*******************************************/\n/*! exports provided: Container, Block, Value */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Container\", function() { return Container; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Block\", function() { return Block; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Value\", function() { return Value; });\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./src/styled/constants.js\");\nfunction _templateObject13() {\n  var data = _taggedTemplateLiteral([\"\\n          font-size: 11px;\\n          right: auto;\\n        \"]);\n\n  _templateObject13 = function _templateObject13() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject12() {\n  var data = _taggedTemplateLiteral([\"\\n  position: absolute;\\n  right: 4%;\\n  top: 50%;\\n  transform: translateY(-50%);\\n\\n  \", \";\\n\"]);\n\n  _templateObject12 = function _templateObject12() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject11() {\n  var data = _taggedTemplateLiteral([\"\\n      background-color: \", \";\\n      background-image: linear-gradient(\\n        145deg,\\n        rgba(255, 255, 255, 0.5) 0%,\\n        rgba(0, 0, 0, 0.4) 100%\\n      );\\n      background-blend-mode: overlay;\\n    \"]);\n\n  _templateObject11 = function _templateObject11() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject10() {\n  var data = _taggedTemplateLiteral([\"\\n  \", \" box-shadow: \", \";\\n\"]);\n\n  _templateObject10 = function _templateObject10() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject9() {\n  var data = _taggedTemplateLiteral([\"\\n      height: \", \";\\n      width: \", \";\\n      margin: \", \";\\n    \"]);\n\n  _templateObject9 = function _templateObject9() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject8() {\n  var data = _taggedTemplateLiteral([\"\\n      background-color: \", \";\\n    \"]);\n\n  _templateObject8 = function _templateObject8() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject7() {\n  var data = _taggedTemplateLiteral([\"\\n        background-image: linear-gradient(\", \", \", \", \", \");\\n      \"]);\n\n  _templateObject7 = function _templateObject7() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject6() {\n  var data = _taggedTemplateLiteral([\"\\n  display: block;\\n  box-sizing: border-box;\\n\\n  \", \"\\n\\n  \", \"\\n\\n  \", \";\\n\"]);\n\n  _templateObject6 = function _templateObject6() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject5() {\n  var data = _taggedTemplateLiteral([\"\\n  background-color: \", \";\\n\"]);\n\n  _templateObject5 = function _templateObject5() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject4() {\n  var data = _taggedTemplateLiteral([\"\\n  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8);\\n  padding: 3px;\\n  color: #fff;\\n  border: none;\\n  border-radius: 0px;\\n  background-color: #22272a;\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.5) 100%);\\n  box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n\"]);\n\n  _templateObject4 = function _templateObject4() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n  flex-direction: row;\\n  width: \", \";\\n  height: 30px;\\n\"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n  flex-direction: column-reverse;\\n  width: 30px;\\n  height: \", \";\\n\"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  position: relative;\\n  display: flex;\\n  align-items: center;\\n  justify-content: flex-start;\\n\\n  \", \";\\n  \", \";\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\nvar Container = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject(), function (_ref) {\n  var vertical = _ref.vertical;\n  return vertical ? verticalContainer : horizontalContainer;\n}, function (_ref2) {\n  var theme = _ref2.theme;\n  return theme.dark ? darkContainer : lightContainer;\n});\nContainer.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\nvar verticalContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject2(), function (_ref3) {\n  var size = _ref3.size;\n  return \"\".concat(size, \"px\");\n});\nvar horizontalContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject3(), function (_ref4) {\n  var size = _ref4.size;\n  return \"\".concat(size, \"px\");\n});\nvar darkContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject4());\nvar lightContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject5(), function (props) {\n  return props.theme.secondary;\n});\nvar Block = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject6(), function (_ref5) {\n  var gradient = _ref5.gradient,\n      progress = _ref5.progress,\n      color = _ref5.color,\n      theme = _ref5.theme,\n      max = _ref5.max,\n      min = _ref5.min,\n      step = _ref5.step,\n      size = _ref5.size,\n      vertical = _ref5.vertical;\n\n  if (gradient) {\n    var TOTAL_STEPS = (max - min) / step;\n    var STEP_SIZE = size / TOTAL_STEPS;\n    var STEP_SIZE_PERCENT = STEP_SIZE / size;\n    var start = gradient.rgbAt(progress).toString();\n    var end = gradient.rgbAt(progress + STEP_SIZE_PERCENT).toString();\n    return Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject7(), vertical ? 'to top' : 'to right', start, end);\n  }\n\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject8(), color || theme.primary);\n}, function (props) {\n  var TOTAL_STEPS = (props.max - props.min) / props.step;\n  var STEP_SIZE = props.size / TOTAL_STEPS;\n  var MARGIN = STEP_SIZE >= 10 ? STEP_SIZE * 0.05 : 0.5;\n  var BOX_SIZE = STEP_SIZE - 2 * MARGIN;\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject9(), props.vertical ? \"\".concat(BOX_SIZE, \"px\") : '100%', props.vertical ? '100%' : \"\".concat(BOX_SIZE, \"px\"), props.vertical ? \"\".concat(MARGIN, \"px 0\") : \"0 \".concat(MARGIN, \"px\"));\n}, function (_ref6) {\n  var theme = _ref6.theme;\n  return theme.dark && darkBlock;\n});\nBlock.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\nvar darkBlock = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject10(), function (_ref7) {\n  var color = _ref7.color,\n      theme = _ref7.theme,\n      gradient = _ref7.gradient;\n  if (gradient) return;\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject11(), color || theme.primary);\n}, function (_ref8) {\n  var color = _ref8.color,\n      theme = _ref8.theme;\n  return \"2px 2px 6px 1px rgba(0, 0, 0, 0.45), inset 1px 1px 2px 0 rgba(255, 255, 255, 0.3),\\n      1px 1px 1px 0px rgba(0, 0, 0, 0.6), 0 0 3px 0px \".concat(color || theme.primary);\n});\nvar Value = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject12(), function (_ref9) {\n  var vertical = _ref9.vertical;\n  return vertical ? Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject13()) : '';\n});\n\n/***/ }),\n\n/***/ \"./src/styled/Knob.styled.js\":\n/*!***********************************!*\\\n  !*** ./src/styled/Knob.styled.js ***!\n  \\***********************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./src/styled/constants.js\");\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n  & .scale {\\n    fill: #fff;\\n  }\\n\"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n  & .scale {\\n    fill: #5b6268;\\n  }\\n\\n  & .track {\\n    stroke: #e6e6e6;\\n  }\\n\\n  & .knob .base,\\n  .knob .indent {\\n    stroke: #e6e6e6;\\n    stroke-width: 2;\\n  }\\n\"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  display: flex;\\n  align-items: center;\\n  flex-direction: column;\\n  & svg {\\n    text-align: center;\\n  }\\n\\n  & circle {\\n    user-select: none;\\n  }\\n\\n  & .scale {\\n    font-size: 12px;\\n    user-select: none;\\n    fill: \", \" !important;\\n  }\\n\\n  & .tick {\\n    stroke: \", \";\\n    stroke-width: 2;\\n  }\\n\\n  & .knob {\\n    cursor: pointer;\\n  }\\n\\n  & .disabled {\\n    opacity: \", \";\\n    cursor: not-allowed;\\n  }\\n\\n  & .track.progress {\\n    stroke: \", \";\\n  }\\n\\n  \", \";\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\nvar Container = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject(), function (_ref) {\n  var colorValue = _ref.colorValue;\n  return colorValue || 'black';\n}, function (props) {\n  return props.theme.detail;\n}, function (_ref2) {\n  var theme = _ref2.theme;\n  return theme.dark ? 1 : 0.65;\n}, function (_ref3) {\n  var color = _ref3.color,\n      theme = _ref3.theme;\n  return color || theme.primary;\n}, function (_ref4) {\n  var theme = _ref4.theme;\n  return theme.dark ? darkTheme : lightTheme;\n});\nvar lightTheme = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject2());\nvar darkTheme = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject3());\nContainer.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Container);\n\n/***/ }),\n\n/***/ \"./src/styled/LEDDisplay.styled.js\":\n/*!*****************************************!*\\\n  !*** ./src/styled/LEDDisplay.styled.js ***!\n  \\*****************************************/\n/*! exports provided: LEDContainer, DarkDigitContainer, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LEDContainer\", function() { return LEDContainer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DarkDigitContainer\", function() { return DarkDigitContainer; });\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./src/styled/constants.js\");\nfunction _templateObject5() {\n  var data = _taggedTemplateLiteral([\"\\n  & .darkLED-fill {\\n    fill: \", \";\\n  }\\n\"]);\n\n  _templateObject5 = function _templateObject5() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject4() {\n  var data = _taggedTemplateLiteral([\"\\n  border-radius: 3px;\\n  padding: 12px 8px 12px 14px;\\n  border: 1px solid \", \";\\n  background: \", \";\\n\"]);\n\n  _templateObject4 = function _templateObject4() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n  padding: 12px 8px 4px 16px;\\n  background-color: #22272a;\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.5) 100%);\\n  box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n\"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n      background-color: \", \";\\n    \"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  display: inline-flex;\\n  flex-direction: row;\\n  \", \";\\n  \", \"\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\nvar LEDContainer = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject(), function (_ref) {\n  var theme = _ref.theme;\n  return theme.dark ? darkLEDContainer : lightLEDContainer;\n}, function (_ref2) {\n  var backgroundColor = _ref2.backgroundColor;\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject2(), backgroundColor);\n});\nvar darkLEDContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject3());\nvar lightLEDContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject4(), function (_ref3) {\n  var theme = _ref3.theme;\n  return theme.detail;\n}, function (_ref4) {\n  var backgroundColor = _ref4.backgroundColor;\n  return backgroundColor;\n});\nLEDContainer.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\nvar DarkDigitContainer = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject5(), function (_ref5) {\n  var color = _ref5.color;\n  return color;\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (LEDContainer);\n\n/***/ }),\n\n/***/ \"./src/styled/PowerButton.styled.js\":\n/*!******************************************!*\\\n  !*** ./src/styled/PowerButton.styled.js ***!\n  \\******************************************/\n/*! exports provided: Container, Button */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Container\", function() { return Container; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Button\", function() { return Button; });\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../styled/constants */ \"./src/styled/constants.js\");\nfunction _templateObject7() {\n  var data = _taggedTemplateLiteral([\"\\n            box-shadow: 0 0 8px 2px \", \";\\n          \"]);\n\n  _templateObject7 = function _templateObject7() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject6() {\n  var data = _taggedTemplateLiteral([\"\\n      width: \", \"px;\\n      height: \", \"px;\\n    \"]);\n\n  _templateObject6 = function _templateObject6() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject5() {\n  var data = _taggedTemplateLiteral([\"\\n  \", \" border-radius: 100%;\\n  padding: 0;\\n  margin-bottom: 8px;\\n\\n  &::before,\\n  &::after {\\n    left: 4%;\\n    border-radius: 100%;\\n    transition: all 0.1s ease-in;\\n  }\\n\\n  &::before {\\n    top: 8%;\\n    width: 86%;\\n    height: 86%;\\n  }\\n\\n  &::after {\\n    top: 4%;\\n    width: 92%;\\n    height: 92%;\\n\\n    \", \";\\n  }\\n\\n  &:hover::before {\\n    background-color: rgba(0, 0, 0, 0.8);\\n  }\\n\\n  &:hover::after {\\n    box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.66);\\n  }\\n\\n  &:focus::after,\\n  &:active::after {\\n    box-shadow: \", \";\\n  }\\n\"]);\n\n  _templateObject5 = function _templateObject5() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject4() {\n  var data = _taggedTemplateLiteral([\"\\n      width: \", \"px;\\n      height: \", \"px;\\n    \"]);\n\n  _templateObject4 = function _templateObject4() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n  border-radius: 50%;\\n  box-sizing: border-box;\\n  background: #fff;\\n  border: 1px solid \", \";\\n  \", \" margin-bottom: \", \";\\n  padding: 0;\\n\\n  &:focus,\\n  &:hover {\\n    border-color: \", \";\\n  }\\n\"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n  cursor: pointer;\\n  outline: none;\\n  display: flex;\\n  justify-content: center;\\n  align-items: center;\\n\\n  &:disabled {\\n    opacity: \", \";\\n    cursor: not-allowed;\\n  }\\n\\n  \", \";\\n\"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  display: flex;\\n  flex-direction: column;\\n  justify-content: space-between;\\n  align-items: center;\\n\\n  & svg {\\n    margin: 0 auto;\\n  }\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\nvar Container = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('div')(_templateObject());\nvar Button = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].button(_templateObject2(), function (_ref) {\n  var theme = _ref.theme;\n  return theme.dark ? 1 : 0.65;\n}, function (_ref2) {\n  var theme = _ref2.theme;\n  return theme.dark ? darkTheme : lightTheme;\n});\nvar lightTheme = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject3(), function (props) {\n  return props.theme.secondary;\n}, function (_ref3) {\n  var size = _ref3.size;\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject4(), size, size);\n}, function (_ref4) {\n  var size = _ref4.size;\n  return \"\".concat(size * 0.0625, \"px\");\n}, function (props) {\n  return props.theme.secondary;\n});\nvar darkTheme = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject5(), function (_ref5) {\n  var size = _ref5.size;\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject6(), size, size);\n}, function (_ref6) {\n  var on = _ref6.on,\n      color = _ref6.color,\n      theme = _ref6.theme;\n  return on ? Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject7(), color || theme.primary) : '';\n}, function (_ref7) {\n  var on = _ref7.on,\n      color = _ref7.color,\n      theme = _ref7.theme;\n  return on ? \"0 0 8px 2px \".concat(color || theme.primary) : '0 0 3px 0 rgba(0,0,0,0.66)';\n});\nButton.defaultProps = {\n  theme: _styled_constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\n\n/***/ }),\n\n/***/ \"./src/styled/PrecisionInput.styled.js\":\n/*!*********************************************!*\\\n  !*** ./src/styled/PrecisionInput.styled.js ***!\n  \\*********************************************/\n/*! exports provided: Container, Digit, ExponentialDigit */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Container\", function() { return Container; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Digit\", function() { return Digit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ExponentialDigit\", function() { return ExponentialDigit; });\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\nfunction _templateObject9() {\n  var data = _taggedTemplateLiteral([\"\\n          background: #f2f2f2;\\n        \"]);\n\n  _templateObject9 = function _templateObject9() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject8() {\n  var data = _taggedTemplateLiteral([\"\\n          color: \", \";\\n          text-shadow: 0 0 2px rgba(0, 0, 0, 0.9),\\n            0 0 9px \", \";\\n        \"]);\n\n  _templateObject8 = function _templateObject8() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject7() {\n  var data = _taggedTemplateLiteral([\"\\n  border: none;\\n  \", \";\\n\"]);\n\n  _templateObject7 = function _templateObject7() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject6() {\n  var data = _taggedTemplateLiteral([\"\\n  color: #15181a;\\n  border-right: 1px solid #f2f2f2;\\n\"]);\n\n  _templateObject6 = function _templateObject6() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject5() {\n  var data = _taggedTemplateLiteral([\"\\n  border-right: 1px solid rgba(0, 0, 0, 0.4);\\n  color: #fff;\\n\"]);\n\n  _templateObject5 = function _templateObject5() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject4() {\n  var data = _taggedTemplateLiteral([\"\\n  padding: 8px 6px;\\n  box-sizing: border-box;\\n  display: inline-block;\\n  font-size: 14px;\\n  line-height: 16px;\\n  text-align: center;\\n\\n  \", \";\\n\"]);\n\n  _templateObject4 = function _templateObject4() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n  background: #ffffff;\\n  border-radius: 2px;\\n  border: 1px solid #d3d3d3;\\n\"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n  background-color: #22272a;\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.5) 100%);\\n  box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n\"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  margin: 0 auto;\\n  display: flex;\\n  justify-content: flex-end;\\n  width: \", \";\\n  cursor: text;\\n\\n  \", \";\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\nvar Container = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject(), function (_ref) {\n  var size = _ref.size;\n  return \"\".concat(size, \"px\") || false;\n}, function (_ref2) {\n  var theme = _ref2.theme;\n  return theme.dark ? darkContainer : lightContainer;\n});\nvar darkContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject2());\nvar lightContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject3());\nvar Digit = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject4(), function (_ref3) {\n  var theme = _ref3.theme;\n  return theme.dark ? darkDigit : lightDigit;\n});\nvar darkDigit = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject5());\nvar lightDigit = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject6());\nvar ExponentialDigit = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Digit)(_templateObject7(), function (_ref4) {\n  var theme = _ref4.theme;\n  return theme.dark ? Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject8(), function (_ref5) {\n    var color = _ref5.color,\n        theme = _ref5.theme;\n    return color || theme.primary;\n  }, function (_ref6) {\n    var color = _ref6.color,\n        theme = _ref6.theme;\n    return color || theme.primary;\n  }) : Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject9());\n});\n\n/***/ }),\n\n/***/ \"./src/styled/Slider.styled.js\":\n/*!*************************************!*\\\n  !*** ./src/styled/Slider.styled.js ***!\n  \\*************************************/\n/*! exports provided: SliderContainer, HandleContainer, Handle, targetStyles, Label, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SliderContainer\", function() { return SliderContainer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HandleContainer\", function() { return HandleContainer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Handle\", function() { return Handle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"targetStyles\", function() { return targetStyles; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Label\", function() { return Label; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _shared_DarkGradient__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shared/DarkGradient */ \"./src/styled/shared/DarkGradient.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./constants */ \"./src/styled/constants.js\");\nfunction _templateObject32() {\n  var data = _taggedTemplateLiteral([\"\\n          transform: translate(-50%, \", \"px);\\n        \"]);\n\n  _templateObject32 = function _templateObject32() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject31() {\n  var data = _taggedTemplateLiteral([\"\\n          transform: translate(\", \"px, -50%);\\n        \"]);\n\n  _templateObject31 = function _templateObject31() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject30() {\n  var data = _taggedTemplateLiteral([\"\\n          top: 0;\\n        \"]);\n\n  _templateObject30 = function _templateObject30() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject29() {\n  var data = _taggedTemplateLiteral([\"\\n          right: 0;\\n        \"]);\n\n  _templateObject29 = function _templateObject29() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject28() {\n  var data = _taggedTemplateLiteral([\"\\n  color: \", \";\\n\\n  \", \" \", \";\\n\"]);\n\n  _templateObject28 = function _templateObject28() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject27() {\n  var data = _taggedTemplateLiteral([\"\\n          transform: translate(-50%, \", \"px);\\n        \"]);\n\n  _templateObject27 = function _templateObject27() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject26() {\n  var data = _taggedTemplateLiteral([\"\\n          transform: translate(\", \"px, -50%);\\n        \"]);\n\n  _templateObject26 = function _templateObject26() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject25() {\n  var data = _taggedTemplateLiteral([\"\\n  color: \", \";\\n\\n  \", \";\\n\"]);\n\n  _templateObject25 = function _templateObject25() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject24() {\n  var data = _taggedTemplateLiteral([\"\\n  border: 1px solid \", \";\\n\\n  &:hover {\\n    border: 1px solid \", \";\\n  }\\n\"]);\n\n  _templateObject24 = function _templateObject24() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject23() {\n  var data = _taggedTemplateLiteral([\"\\n  /* remove dark-gradient.css styles */\\n  box-shadow: none !important;\\n\\n  background: #101010;\\n  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.3) -50%, rgba(0, 0, 0, 0.7) 100%);\\n\"]);\n\n  _templateObject23 = function _templateObject23() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject22() {\n  var data = _taggedTemplateLiteral([\"\\n  /* remove rc-slider-handle styles */\\n  margin: 0 !important;\\n  width: auto;\\n  height: auto;\\n\\n  user-select: none;\\n\\n  display: flex;\\n  flex-direction: column;\\n  align-items: center;\\n  justify-content: center;\\n\\n  background: #fff;\\n  font-size: 12px;\\n  padding: 2px 4px;\\n  border-radius: 3px;\\n\\n  & .label {\\n    font-size: 8px;\\n    font-weight: 600;\\n  }\\n\\n  & .value {\\n    font-size: 20px;\\n    line-height: 1.1;\\n  }\\n\\n  \", \" \", \";\\n\"]);\n\n  _templateObject22 = function _templateObject22() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject21() {\n  var data = _taggedTemplateLiteral([\"\\n      transform: translate(\", \"%, \", \"%) rotate(\", \"deg);\\n    \"]);\n\n  _templateObject21 = function _templateObject21() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject20() {\n  var data = _taggedTemplateLiteral([\"\\n          & path {\\n            stroke: \", \";\\n          }\\n        \"]);\n\n  _templateObject20 = function _templateObject20() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject19() {\n  var data = _taggedTemplateLiteral([\"\\n          & .dark-handle-custom-fill {\\n            fill: \", \";\\n          }\\n        \"]);\n\n  _templateObject19 = function _templateObject19() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject18() {\n  var data = _taggedTemplateLiteral([\"\\n  \", \" \", \";\\n\"]);\n\n  _templateObject18 = function _templateObject18() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject17() {\n  var data = _taggedTemplateLiteral([\"\\n      transform: translate(\", \"%, \", \"%) rotate(\", \"deg);\\n    \"]);\n\n  _templateObject17 = function _templateObject17() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject16() {\n  var data = _taggedTemplateLiteral([\"\\n          bottom: 0;\\n          left: 0;\\n        \"]);\n\n  _templateObject16 = function _templateObject16() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject15() {\n  var data = _taggedTemplateLiteral([\"\\n          top: 0;\\n          right: 0;\\n        \"]);\n\n  _templateObject15 = function _templateObject15() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject14() {\n  var data = _taggedTemplateLiteral([\"\\n          & path {\\n            stroke: \", \";\\n          }\\n        \"]);\n\n  _templateObject14 = function _templateObject14() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject13() {\n  var data = _taggedTemplateLiteral([\"\\n          & .dark-handle-custom-fill {\\n            fill: \", \";\\n          }\\n        \"]);\n\n  _templateObject13 = function _templateObject13() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject12() {\n  var data = _taggedTemplateLiteral([\"\\n  position: absolute;\\n\\n  \", \"\\n\\n  \", \"\\n\\n  \", \";\\n\"]);\n\n  _templateObject12 = function _templateObject12() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject11() {\n  var data = _taggedTemplateLiteral([\"\\n  /* remove rc-slider-handle styles */\\n  width: auto;\\n  height: auto;\\n  border-radius: unset;\\n  border: none;\\n  background: none !important;\\n  margin: 0 !important;\\n\\n  /* remove rc-slider-handle styles */\\n  box-shadow: none !important;\\n\\n  \", \";\\n\"]);\n\n  _templateObject11 = function _templateObject11() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject10() {\n  var data = _taggedTemplateLiteral([\"\\n  /* remove rc-slider-handle styles */\\n  width: auto;\\n  height: auto;\\n  border-radius: unset;\\n  border: none;\\n  background: none;\\n  margin: 0 !important;\\n\\n  \", \";\\n\"]);\n\n  _templateObject10 = function _templateObject10() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject9() {\n  var data = _taggedTemplateLiteral([\"\\n          left: \", \"%;\\n        \"]);\n\n  _templateObject9 = function _templateObject9() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject8() {\n  var data = _taggedTemplateLiteral([\"\\n          left: 3px;\\n          bottom: \", \"%;\\n        \"]);\n\n  _templateObject8 = function _templateObject8() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject7() {\n  var data = _taggedTemplateLiteral([\"\\n  z-index: 1;\\n\\n  \", \";\\n\"]);\n\n  _templateObject7 = function _templateObject7() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject6() {\n  var data = _taggedTemplateLiteral([\"\\n          bottom: 12px;\\n        \"]);\n\n  _templateObject6 = function _templateObject6() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject5() {\n  var data = _taggedTemplateLiteral([\"\\n          right: 9px;\\n        \"]);\n\n  _templateObject5 = function _templateObject5() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject4() {\n  var data = _taggedTemplateLiteral([\"\\n  \", \";\\n\"]);\n\n  _templateObject4 = function _templateObject4() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n  position: absolute;\\n\\n  /* remove rc-slider-handle styles */\\n  width: auto;\\n  height: auto;\\n  border-radius: unset;\\n  border: none;\\n  background: none;\\n  margin: 0 !important;\\n\\n  \", \";\\n\"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n        box-shadow: none !important;\\n      \"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  \", \";\\n\\n  & .rc-slider-disabled,\\n  .rc-slider-disabled .rc-slider-handle {\\n    background-color: unset !important;\\n  }\\n\\n  & .rc-slider-track {\\n    \", \";\\n  }\\n\\n  /* remove rc-slider-dot styles, which overlap with the marker */\\n  & .rc-slider-dot {\\n    background: none !important;\\n    border: none;\\n    height: unset !important;\\n    width: unset !important;\\n  }\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\n\n\nvar SliderContainer = styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].div(_templateObject(), function (_ref) {\n  var vertical = _ref.vertical,\n      size = _ref.size,\n      fullSize = _ref.fullSize;\n  if (fullSize) return vertical ? 'height: 100%;' : 'width: 100%;';\n  if (size) return vertical ? \"height: \".concat(size, \"px;\") : \"width: \".concat(size, \"px\");\n}, function (_ref2) {\n  var theme = _ref2.theme;\n  return theme.dark && Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject2());\n});\nvar HandleContainer = styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].div(_templateObject3(), function (_ref3) {\n  var isTarget = _ref3.isTarget;\n  return isTarget ? targetHandleContainer : sliderHandleContainer;\n});\nvar targetHandleContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject4(), function (_ref4) {\n  var vertical = _ref4.vertical;\n  return vertical ? Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject5()) : Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject6());\n});\nvar sliderHandleContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject7(), function (_ref5) {\n  var vertical = _ref5.vertical,\n      offset = _ref5.offset;\n  return vertical ? Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject8(), offset) : Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject9(), offset);\n});\n\nvar UnstyledLightHandle = function UnstyledLightHandle(_ref6) {\n  var className = _ref6.className;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n    className: className,\n    width: \"6\",\n    height: \"18\",\n    viewBox: \"0 0 6 18\",\n    version: \"1.1\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    xmlnsXlink: \"http://www.w3.org/1999/xlink\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n    fillRule: \"evenodd\",\n    clipRule: \"evenodd\",\n    d: \"M 4.61171 15.9753L 5.33436 2.96765C 5.40881 1.62753 4.34219 0.5 3 0.5C 1.65781 0.5 0.591189 1.62753 0.66564 2.96765L 1.38829 15.9753C 1.43581 16.8307 2.14329 17.5 3 17.5C 3.85671 17.5 4.56419 16.8307 4.61171 15.9753Z\",\n    strokeMiterlimit: \"8\",\n    fill: \"#fff\"\n  }));\n};\n\nvar Handle = function Handle(props) {\n  return props.theme.dark ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(DarkHandle, props) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(LightHandle, props);\n};\nvar LightHandle = Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(UnstyledLightHandle)(_templateObject10(), function (_ref7) {\n  var isTarget = _ref7.isTarget;\n  return isTarget ? targetHandle : sliderHandle;\n});\nvar DarkHandle = Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_shared_DarkGradient__WEBPACK_IMPORTED_MODULE_2__[\"UnstyledDarkHandle\"])(_templateObject11(), function (_ref8) {\n  var isTarget = _ref8.isTarget;\n  return isTarget ? targetHandle : sliderHandle;\n});\nvar targetHandle = Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject12(), function (_ref9) {\n  var theme = _ref9.theme,\n      color = _ref9.color;\n  return theme.dark ? Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject13(), color || theme.detail) : Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject14(), color || theme.detail);\n}, function (_ref10) {\n  var vertical = _ref10.vertical;\n  return vertical ? Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject15()) : Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject16());\n}, function (_ref11) {\n  var vertical = _ref11.vertical,\n      theme = _ref11.theme;\n  var deltaX = -50;\n  var deltaY = 55;\n  var rotation = 0;\n\n  if (vertical) {\n    deltaX = theme.dark ? 40 : 0;\n    deltaY = -50;\n    rotation = 270;\n  }\n\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject17(), deltaX, deltaY, rotation);\n});\nvar sliderHandle = Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject18(), function (_ref12) {\n  var theme = _ref12.theme,\n      color = _ref12.color;\n  return theme.dark ? Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject19(), color || theme.primary) : Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject20(), color || theme.primary);\n}, function (_ref13) {\n  var vertical = _ref13.vertical;\n  var deltaX = -50;\n  var deltaY = -40;\n  var rotation = 0;\n\n  if (vertical) {\n    deltaX = -2;\n    deltaY = -50;\n    rotation = 270;\n  }\n\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject21(), deltaX, deltaY, rotation);\n});\nvar targetStyles = {\n  width: 'auto',\n  marginLeft: 0,\n  marginBottom: 0,\n  textAlign: 'center',\n  border: 'none',\n  boxShadow: 'none'\n};\nvar Label = styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].div(_templateObject22(), function (_ref14) {\n  var theme = _ref14.theme;\n  return theme.dark ? darkLabel : lightLabel;\n}, function (_ref15) {\n  var isTarget = _ref15.isTarget;\n  return isTarget ? targetLabel : sliderLabel;\n});\nvar darkLabel = Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject23());\nvar lightLabel = Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject24(), _constants__WEBPACK_IMPORTED_MODULE_3__[\"colors\"].GREY, _constants__WEBPACK_IMPORTED_MODULE_3__[\"colors\"].GREY);\nvar targetLabel = Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject25(), function (_ref16) {\n  var color = _ref16.color,\n      theme = _ref16.theme;\n  return color || theme.detail;\n}, function (_ref17) {\n  var vertical = _ref17.vertical;\n  var offset = vertical ? -9 : -5;\n  return vertical ? Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject26(), offset) : Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject27(), offset);\n});\nvar sliderLabel = Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject28(), function (_ref18) {\n  var color = _ref18.color,\n      theme = _ref18.theme;\n  return color || theme.primary;\n}, function (_ref19) {\n  var vertical = _ref19.vertical;\n  return vertical ? Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject29()) : Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject30());\n}, function (_ref20) {\n  var vertical = _ref20.vertical,\n      label = _ref20.label,\n      value = _ref20.value;\n  var offset = label && (value || value === 0) ? -44 : -22;\n\n  if (vertical) {\n    offset = -3;\n  }\n\n  return vertical ? Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject31(), offset) : Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject32(), offset);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  SliderContainer: SliderContainer,\n  Handle: Handle,\n  targetStyles: targetStyles,\n  Label: Label\n});\n\n/***/ }),\n\n/***/ \"./src/styled/StopButton.styled.js\":\n/*!*****************************************!*\\\n  !*** ./src/styled/StopButton.styled.js ***!\n  \\*****************************************/\n/*! exports provided: Button, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Button\", function() { return Button; });\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./src/styled/constants.js\");\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n  color: #ff6e6e;\\n  background-color: #22272a;\\n\\n  text-shadow: 0 0 2px rgba(0, 0, 0, 0.9), 0 0 9px #ff6e6e;\\n\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.5) 100%);\\n  box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n\\n  display: block;\\n  box-sizing: border-box;\\n  border: none;\\n  border-radius: 2px;\\n  font-weight: bold;\\n  font-size: 12px;\\n  text-transform: uppercase;\\n  padding: 0;\\n  width: \", \";\\n  height: \", \";\\n  text-align: center;\\n  cursor: pointer;\\n  letter-spacing: 0.1;\\n  line-height: 1;\\n\\n  background-color: #22272a;\\n  color: #ff1a1a;\\n\\n  &::before,\\n  &::after {\\n    transition: all 0.1s ease-in;\\n    background-color: #e03a3a;\\n  }\\n\\n  &:hover::before,\\n  &:hover::after {\\n    background-color: #e64545;\\n  }\\n\\n  &:active::before,\\n  &:active::after {\\n    background-color: #c72121;\\n  }\\n\\n  &:hover::after,\\n  &:active::after,\\n  &:focus::after {\\n    box-shadow: none;\\n  }\\n\"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n  color: white;\\n  background-color: #ff5e5e;\\n\\n  display: block;\\n  box-sizing: border-box;\\n  border: none;\\n  border-radius: 2px;\\n  font-weight: bold;\\n  font-size: 12px;\\n  text-transform: uppercase;\\n  padding: 0;\\n  width: \", \";\\n  min-height: \", \";\\n  text-align: center;\\n  cursor: pointer;\\n  letter-spacing: 0.1;\\n  line-height: 1;\\n\\n  &:hover,\\n  &:focus,\\n  &:active {\\n    color: #fff;\\n  }\\n\\n  &:hover {\\n    background-color: #ff8585;\\n  }\\n\\n  &:active {\\n    background-color: #e64545;\\n  }\\n\"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  outline: none;\\n  transition: all 0.1s ease-in;\\n  \", \";\\n\\n  &:disabled {\\n    opacity: \", \";\\n    cursor: not-allowed;\\n  }\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\nvar Button = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].button(_templateObject(), function (_ref) {\n  var theme = _ref.theme;\n  return theme.dark ? darkButton : lightButton;\n}, function (_ref2) {\n  var theme = _ref2.theme;\n  return theme.dark ? 1 : 0.65;\n});\nButton.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\nvar lightButton = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject2(), function (_ref3) {\n  var size = _ref3.size;\n  return \"\".concat(size, \"px\");\n}, function (_ref4) {\n  var size = _ref4.size;\n  return \"\".concat(size * 0.42, \"px\");\n});\nvar darkButton = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject3(), function (_ref5) {\n  var size = _ref5.size;\n  return \"\".concat(size, \"px\");\n}, function (_ref6) {\n  var size = _ref6.size;\n  return \"\".concat(size * 0.42, \"px\");\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (Button);\n\n/***/ }),\n\n/***/ \"./src/styled/Tank.styled.js\":\n/*!***********************************!*\\\n  !*** ./src/styled/Tank.styled.js ***!\n  \\***********************************/\n/*! exports provided: TankContainer, TankFill, TickContainer, Tick, Container, ExceededWarning */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TankContainer\", function() { return TankContainer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TankFill\", function() { return TankFill; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TickContainer\", function() { return TickContainer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Tick\", function() { return Tick; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Container\", function() { return Container; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ExceededWarning\", function() { return ExceededWarning; });\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var color__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! color */ \"./node_modules/color/index.js\");\n/* harmony import */ var color__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(color__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ \"./src/styled/constants.js\");\nfunction _templateObject13() {\n  var data = _taggedTemplateLiteral([\"\\n  color: #dc3545;\\n  font-size: 0.8rem;\\n  text-align: center;\\n  display: block;\\n\"]);\n\n  _templateObject13 = function _templateObject13() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject12() {\n  var data = _taggedTemplateLiteral([\"\\n          margin-top: 8px;\\n          margin-left: \", \";\\n        \"]);\n\n  _templateObject12 = function _templateObject12() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject11() {\n  var data = _taggedTemplateLiteral([\"\\n  display: flex;\\n  flex-direction: row;\\n  justify-content: center;\\n\\n  \", \";\\n\"]);\n\n  _templateObject11 = function _templateObject11() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject10() {\n  var data = _taggedTemplateLiteral([\"\\n          position: absolute;\\n          bottom: \", \";\\n        \"]);\n\n  _templateObject10 = function _templateObject10() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject9() {\n  var data = _taggedTemplateLiteral([\"\\n  \", \" display: flex;\\n  align-items: center;\\n  justify-content: flex-end;\\n  height: 18px;\\n  color: \", \";\\n  & .label {\\n    font-size: 12px;\\n    text-align: right;\\n    margin-right: 4px;\\n    white-space: nowrap;\\n  }\\n\\n  & .tick {\\n    height: 1px;\\n    width: \", \"px;\\n    background: \", \";\\n  }\\n\"]);\n\n  _templateObject9 = function _templateObject9() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject8() {\n  var data = _taggedTemplateLiteral([\"\\n      direction: rtl;\\n    \"]);\n\n  _templateObject8 = function _templateObject8() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject7() {\n  var data = _taggedTemplateLiteral([\"\\n  position: relative;\\n  \", \" display: flex;\\n  flex-direction: column;\\n  justify-content: space-between;\\n  margin-right: 4px;\\n  margin-top: -6px;\\n  margin-bottom: -6px;\\n\"]);\n\n  _templateObject7 = function _templateObject7() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject6() {\n  var data = _taggedTemplateLiteral([\"\\n  background: \", \";\\n\"]);\n\n  _templateObject6 = function _templateObject6() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject5() {\n  var data = _taggedTemplateLiteral([\"\\n  background: \", \";\\n  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 30%, rgba(255, 255, 255, 0.7) 100%);\\n  background-blend-mode: overlay;\\n  box-shadow: 0 0 6px 1px\\n    \", \";\\n\"]);\n\n  _templateObject5 = function _templateObject5() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject4() {\n  var data = _taggedTemplateLiteral([\"\\n  position: absolute;\\n  bottom: 0;\\n  width: 100%;\\n  height: \", \";\\n\\n  border-radius: \", \";\\n  border-radius: 0px;\\n\\n  \", \";\\n\"]);\n\n  _templateObject4 = function _templateObject4() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n  background: \", \";\\n\"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n  background-color: #22272a;\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.5) 100%);\\n  box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n\"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  position: relative;\\n  width: \", \";\\n  height: \", \";\\n  z-index: 2;\\n  border-radius: \", \";\\n\\n  \", \";\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\n\nvar TankContainer = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject(), function (_ref) {\n  var width = _ref.width;\n  return \"\".concat(width, \"px\");\n}, function (_ref2) {\n  var height = _ref2.height;\n  return \"\".concat(height, \"px\");\n}, function (_ref3) {\n  var thermometer = _ref3.thermometer;\n  return thermometer ? '40px' : '0';\n}, function (_ref4) {\n  var theme = _ref4.theme;\n  return theme.dark ? darkTankContainer : lightTankContainer;\n});\nTankContainer.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_2__[\"light\"]\n};\nvar darkTankContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject2());\nvar lightTankContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject3(), function (props) {\n  return props.theme.secondary;\n});\nvar TankFill = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject4(), function (_ref5) {\n  var height = _ref5.height;\n  return height || 0;\n}, function (_ref6) {\n  var thermometer = _ref6.thermometer;\n  return thermometer ? '40px' : '0';\n}, function (_ref7) {\n  var theme = _ref7.theme;\n  return theme.dark ? darkTankFill : lightTankFill;\n});\nTankFill.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_2__[\"light\"]\n};\nvar darkTankFill = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject5(), function (_ref8) {\n  var color = _ref8.color,\n      theme = _ref8.theme;\n  return color || theme.primary;\n}, function (_ref9) {\n  var color = _ref9.color,\n      theme = _ref9.theme;\n  return color__WEBPACK_IMPORTED_MODULE_1___default()(color || theme.primary).alpha(0.7).string();\n});\nvar lightTankFill = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject6(), function (_ref10) {\n  var color = _ref10.color,\n      theme = _ref10.theme;\n  return color || theme.primary;\n});\nvar TickContainer = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject7(), function (_ref11) {\n  var xPositioned = _ref11.xPositioned;\n  return xPositioned && Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject8());\n});\nvar Tick = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject9(), function (_ref12) {\n  var xPosition = _ref12.xPosition;\n  return xPosition || xPosition === 0 ? Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject10(), \"calc(\".concat(xPosition, \"% - \").concat(xPosition / 100.0 * 18, \"px)\")) : '';\n}, function (props) {\n  return props.color || (props.theme.dark ? '#ddd' : '#000');\n}, function (props) {\n  return props.width || 4;\n}, function (props) {\n  return props.theme.detail;\n});\nTick.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_2__[\"light\"]\n};\nvar Container = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject11(), function (_ref13) {\n  var thermometer = _ref13.thermometer;\n  return thermometer ? Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject12(), function (_ref14) {\n    var xPositioned = _ref14.xPositioned;\n    return xPositioned ? '-4px' : '-24px';\n  }) : '';\n});\nvar ExceededWarning = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].span(_templateObject13());\n\n/***/ }),\n\n/***/ \"./src/styled/Thermometer.styled.js\":\n/*!******************************************!*\\\n  !*** ./src/styled/Thermometer.styled.js ***!\n  \\******************************************/\n/*! exports provided: ThermometerContainer, Bulb, CurrentValueContainer */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ThermometerContainer\", function() { return ThermometerContainer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Bulb\", function() { return Bulb; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CurrentValueContainer\", function() { return CurrentValueContainer; });\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./src/styled/constants.js\");\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n  display: flex;\\n  width: 100%;\\n  flex-direction: column;\\n  align-items: center;\\n  text-align: center;\\n\\n  & > div {\\n    margin-top: 56px;\\n    line-height: 28px;\\n  }\\n\"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n  width: \", \"px;\\n  height: \", \"px;\\n  border-radius: 50%;\\n  background-color: \", \";\\n  position: absolute;\\n  left: 50%;\\n  transform: translateX(-50%);\\n  bottom: -\", \"px;\\n  z-index: -1;\\n\"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  display: flex;\\n  flex-direction: column;\\n  align-items: center;\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\nvar WIDTH = 20;\nvar ThermometerContainer = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject());\nvar Bulb = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject2(), 1.5 * WIDTH, 1.5 * WIDTH, function (props) {\n  return props.on ? props.color || props.theme.primary : props.theme.secondary;\n}, WIDTH);\nBulb.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\nvar CurrentValueContainer = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject3());\nCurrentValueContainer.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\n\n/***/ }),\n\n/***/ \"./src/styled/ToggleSwitch.styled.js\":\n/*!*******************************************!*\\\n  !*** ./src/styled/ToggleSwitch.styled.js ***!\n  \\*******************************************/\n/*! exports provided: Wrapper, ButtonContainer, Button, DarkSwitchContainer, DarkSwitch, RowContainer, RowLabel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Wrapper\", function() { return Wrapper; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ButtonContainer\", function() { return ButtonContainer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Button\", function() { return Button; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DarkSwitchContainer\", function() { return DarkSwitchContainer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DarkSwitch\", function() { return DarkSwitch; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RowContainer\", function() { return RowContainer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RowLabel\", function() { return RowLabel; });\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./src/styled/constants.js\");\n/* harmony import */ var _shared_Label_styled__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shared/Label.styled */ \"./src/styled/shared/Label.styled.js\");\nfunction _templateObject20() {\n  var data = _taggedTemplateLiteral([\"\\n  margin: 0;\\n  \", \"\\n  \", \"\\n  \", \"\\n  \", \"\\n\"]);\n\n  _templateObject20 = function _templateObject20() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject19() {\n  var data = _taggedTemplateLiteral([\"\\n  display: flex;\\n  align-items: center;\\n  justify-content: space-around;\\n  flex-direction: \", \";\\n\"]);\n\n  _templateObject19 = function _templateObject19() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject18() {\n  var data = _taggedTemplateLiteral([\"linear-gradient(135deg, rgba(0,0,0,0) 0%, rgba(255,255,255,1) 100%),\\n          linear-gradient(90deg, rgba(0,0,0,0.6) 40%, rgba(255,255,255,0) 100%)\"]);\n\n  _templateObject18 = function _templateObject18() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject17() {\n  var data = _taggedTemplateLiteral([\"linear-gradient(135deg, rgba(255,255,255,0.7) 20%, rgba(0,0,0,0) 100%),\\n          linear-gradient(90deg, rgba(255,255,255,0) 40%, rgba(0,0,0,0.8) 100%)\"]);\n\n  _templateObject17 = function _templateObject17() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject16() {\n  var data = _taggedTemplateLiteral([\"\\n            margin-right: \", \"px;\\n          \"]);\n\n  _templateObject16 = function _templateObject16() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject15() {\n  var data = _taggedTemplateLiteral([\"\\n            margin-left: \", \"px;\\n          \"]);\n\n  _templateObject15 = function _templateObject15() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject14() {\n  var data = _taggedTemplateLiteral([\"radial-gradient(farthest-corner at 0px 0px, rgba(256,255,255,1) 5%, rgba(0,0,0,0.6) 90%)\"]);\n\n  _templateObject14 = function _templateObject14() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject13() {\n  var data = _taggedTemplateLiteral([\"radial-gradient(farthest-corner at 0px 0px, rgba(256,255,255,1) 5%, rgba(0,0,0,0.6) 90%)\"]);\n\n  _templateObject13 = function _templateObject13() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject12() {\n  var data = _taggedTemplateLiteral([\"\\n  display: block;\\n  position: relative;\\n  margin: 0;\\n  transition: all 100ms ease-in-out;\\n  outline: none;\\n  background: #161616;\\n  height: \", \";\\n  width: \", \";\\n  background-blend-mode: overlay;\\n  background-color: #111;\\n  background-image: ;\\n  background-image: \", \";\\n  box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.9);\\n  border-radius: 2px;\\n\\n  &:disabled {\\n    cursor: not-allowed;\\n  }\\n\\n  &:hover::after,\\n  &:active::after,\\n  &:focus::after {\\n    box-shadow: none;\\n  }\\n\\n  &::before {\\n    content: none;\\n  }\\n\\n  &::after {\\n    transition: all 100ms ease-in-out;\\n    content: '';\\n    position: absolute;\\n    left: 0;\\n    right: 0;\\n    top: 4%;\\n    height: 92%;\\n    width: 92%;\\n    margin: 0 auto;\\n    \", \" background-color: #161616;\\n    background-blend-mode: overlay;\\n    background-image: \", \";\\n    border-radius: 2px;\\n  }\\n\\n  &:hover::after {\\n    background-color: #181818;\\n  }\\n\"]);\n\n  _templateObject12 = function _templateObject12() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject11() {\n  var data = _taggedTemplateLiteral([\"\\n  display: flex;\\n  padding: 2px 4px;\\n  cursor: pointer;\\n  border-radius: 1px;\\n  margin: 0 8px;\\n\\n  background: #22272a;\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.4) 0%, rgba(0, 0, 0, 0.1) 100%);\\n  box-shadow: inset 0 0 8px -1px #000000, inset 0 0 8px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.9), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n\"]);\n\n  _templateObject11 = function _templateObject11() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject10() {\n  var data = _taggedTemplateLiteral([\"\\n  background-color: #141414;\\n  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.5) -20%, rgba(0, 0, 0, 0.7) 100%);\\n  box-shadow: inset 0 0 1px 0 rgba(52, 52, 52, 0.4), inset 0 0 0 1px rgba(0, 0, 0, 0.2),\\n    1px 1px 2px 0px rgba(0, 0, 0, 0.7);\\n\\n  &:hover {\\n    background-color: rgba(0, 0, 0, 0.7);\\n  }\\n\\n  &::before,\\n  &::after {\\n    content: none;\\n  }\\n\"]);\n\n  _templateObject10 = function _templateObject10() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject9() {\n  var data = _taggedTemplateLiteral([\"\\n    border: none;\\n    border: 1px solid \", \";\\n    width: \", \"px;\\n    height: \", \"px;\\n    transform: translateX(\", \"px);\\n  \"]);\n\n  _templateObject9 = function _templateObject9() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject8() {\n  var data = _taggedTemplateLiteral([\"\\n  background: white;\\n  border-radius: 50%;\\n  display: block;\\n  padding: 0;\\n  margin: 0;\\n  transition: all 100ms ease-in-out;\\n  outline: none;\\n  \", \" &:focus, &:active, &:hover {\\n    border: none;\\n    border: \", \";\\n  }\\n\\n  &:disabled {\\n    opacity: \", \";\\n    cursor: not-allowed;\\n  }\\n\\n  \", \";\\n\"]);\n\n  _templateObject8 = function _templateObject8() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject7() {\n  var data = _taggedTemplateLiteral([\"\\n  background: \", \";\\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.4) 0%, rgba(0, 0, 0, 0.3) 100%);\\n  box-shadow: inset 0 0 8px -1px #000000, inset 0 0 8px 0 rgba(0, 0, 0, 0.8),\\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.9), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n\"]);\n\n  _templateObject7 = function _templateObject7() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject6() {\n  var data = _taggedTemplateLiteral([\"\\n  background: \", \";\\n\"]);\n\n  _templateObject6 = function _templateObject6() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject5() {\n  var data = _taggedTemplateLiteral([\"\\n    width: \", \"px;\\n    cursor: pointer;\\n    padding: \", \"px;\\n    border-radius: \", \"px;\\n    margin-left: \", \"px;\\n    margin-right: \", \"px;\\n  \"]);\n\n  _templateObject5 = function _templateObject5() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject4() {\n  var data = _taggedTemplateLiteral([\"\\n  height: auto;\\n  display: flex;\\n  transition: all 0.1s ease-in;\\n\\n  \", \" \", \";\\n\"]);\n\n  _templateObject4 = function _templateObject4() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n          height: \", \"px;\\n        \"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n    transform: rotate(\", \"deg);\\n  \"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  display: flex;\\n  justify-content: space-around;\\n  align-items: center;\\n  \", \";\\n  \", \"\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\n\nvar Wrapper = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('div')(_templateObject(), function (_ref) {\n  var rotate = _ref.rotate;\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject2(), parseInt(rotate, 10));\n}, function (_ref2) {\n  var rotate = _ref2.rotate,\n      size = _ref2.size;\n  return rotate == -90 ? Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject3(), size) : '';\n});\nvar ButtonContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('div')(_templateObject4(), function (_ref3) {\n  var size = _ref3.size;\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject5(), size, 0.05 * size, size, 0.05 * size, 0.05 * size);\n}, function (_ref4) {\n  var theme = _ref4.theme;\n  return theme.dark ? darkContainer : lightContainer;\n});\nButtonContainer.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\nvar lightContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject6(), function (_ref5) {\n  var on = _ref5.on,\n      theme = _ref5.theme,\n      color = _ref5.color;\n  return on ? color || theme.secondary : theme.secondary;\n});\nvar darkContainer = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject7(), function (_ref6) {\n  var on = _ref6.on,\n      theme = _ref6.theme,\n      color = _ref6.color;\n  return on ? color || theme.secondary : '#22272a';\n});\nvar Button = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].button(_templateObject8(), function (_ref7) {\n  var size = _ref7.size,\n      on = _ref7.on,\n      theme = _ref7.theme;\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject9(), theme.dark ? 'none' : theme.detail, size / 2, size / 2, on ? size - size / 2 : 0);\n}, function (_ref8) {\n  var theme = _ref8.theme;\n  return theme.dark ? 'none' : \"1px solid \".concat(theme.detail);\n}, function (_ref9) {\n  var theme = _ref9.theme;\n  return theme.dark ? 1 : 0.65;\n}, function (_ref10) {\n  var theme = _ref10.theme;\n  return theme.dark ? darkButton : null;\n});\nButton.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\nvar darkButton = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject10());\nvar DarkSwitchContainer = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject11());\nvar DarkSwitch = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].button(_templateObject12(), function (_ref11) {\n  var size = _ref11.size;\n  return \"\".concat(size * 0.72, \"px\");\n}, function (_ref12) {\n  var size = _ref12.size;\n  return \"\".concat(size * 1.44, \"px\");\n}, function (_ref13) {\n  var on = _ref13.on;\n  return on ? Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject13()) : Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject14());\n}, function (_ref14) {\n  var size = _ref14.size,\n      on = _ref14.on;\n  var margin = size * 0.08;\n  return on ? Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject15(), margin) : Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject16(), margin);\n}, function (_ref15) {\n  var on = _ref15.on;\n  return on ? Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject17()) : Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject18());\n});\nvar RowContainer = styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].div(_templateObject19(), function (props) {\n  return props.vertical ? 'column-reverse' : 'row';\n});\nvar RowLabel = Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_shared_Label_styled__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_templateObject20(), function (_ref16) {\n  var position = _ref16.position,\n      theme = _ref16.theme;\n  return position === 'right' ? \"margin-left: \".concat(theme.dark ? 12 : 8, \"px;\") : '';\n}, function (_ref17) {\n  var position = _ref17.position,\n      theme = _ref17.theme;\n  return position === 'left' ? \"margin-right: \".concat(theme.dark ? 12 : 8, \"px;\") : '';\n}, function (_ref18) {\n  var position = _ref18.position,\n      theme = _ref18.theme;\n  return position === 'top' ? \"margin-bottom: \".concat(theme.dark ? 34 : 20, \"px;\") : '';\n}, function (_ref19) {\n  var position = _ref19.position,\n      theme = _ref19.theme;\n  return position === 'bottom' ? \"margin-top: \".concat(theme.dark ? 34 : 20, \"px;\") : '';\n});\nRowLabel.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_1__[\"light\"]\n};\n\n/***/ }),\n\n/***/ \"./src/styled/constants.js\":\n/*!*********************************!*\\\n  !*** ./src/styled/constants.js ***!\n  \\*********************************/\n/*! exports provided: colors, TRACK_TOTAL_DEG, RADIAN, light, dark, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"colors\", function() { return colors; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TRACK_TOTAL_DEG\", function() { return TRACK_TOTAL_DEG; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RADIAN\", function() { return RADIAN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"light\", function() { return light; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dark\", function() { return dark; });\nvar colors = {\n  PRIMARY: '#ABE2FB',\n  SECONDARY: '#E6E6E6',\n  DARKER_PRIMARY: '#87ceeb',\n  OFF_WHITE: '#15181A',\n  GREY: '#D3D3D3',\n  RED: '#FF5E5E',\n  DARK_GREY: '#535D63'\n};\nvar TRACK_TOTAL_DEG = 270.0;\nvar RADIAN = Math.PI / 180.0;\nvar light = {\n  primary: colors.PRIMARY,\n  secondary: colors.SECONDARY,\n  detail: colors.GREY,\n  dark: false\n};\nvar dark = {\n  primary: colors.PRIMARY,\n  secondary: colors.DARK_GREY,\n  detail: colors.DARK_GREY,\n  dark: true\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  dark: dark,\n  light: light,\n  colors: colors\n});\n\n/***/ }),\n\n/***/ \"./src/styled/shared/DarkGradient.js\":\n/*!*******************************************!*\\\n  !*** ./src/styled/shared/DarkGradient.js ***!\n  \\*******************************************/\n/*! exports provided: UnstyledDarkHandle, darkLEDDefs, DARK_SEGMENTS, darkDecimal, darkColon, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UnstyledDarkHandle\", function() { return UnstyledDarkHandle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"darkLEDDefs\", function() { return darkLEDDefs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DARK_SEGMENTS\", function() { return DARK_SEGMENTS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"darkDecimal\", function() { return darkDecimal; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"darkColon\", function() { return darkColon; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\nvar UnstyledDarkHandle = function UnstyledDarkHandle(_ref) {\n  var className = _ref.className;\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n    className: className,\n    xmlns: \"http://www.w3.org/2000/svg\",\n    width: \"10\",\n    height: \"22\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    fill: \"none\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    filter: \"url(#filter0_di)\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n    className: \"dark-handle-custom-fill\",\n    fill: \"#101010\",\n    d: \"M4.886 1H3.114a2 2 0 0 0-1.997 2.11l.778 14A2 2 0 0 0 3.892 19h.216a2 2 0 0 0 1.997-1.89l.778-14A2 2 0 0 0 4.886 1z\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    fill: \"url(#paint0_linear)\",\n    d: \"M3.886 0H2.114A2 2 0 0 0 .117 2.11l.778 14A2 2 0 0 0 2.892 18h.216a2 2 0 0 0 1.997-1.89l.778-14A2 2 0 0 0 3.886 0z\",\n    transform: \"translate(1 1)\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    fill: \"url(#paint1_radial)\",\n    d: \"M3.886 0H2.114A2 2 0 0 0 .117 2.11l.778 14A2 2 0 0 0 2.892 18h.216a2 2 0 0 0 1.997-1.89l.778-14A2 2 0 0 0 3.886 0z\",\n    transform: \"translate(1 1)\"\n  })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n    fillRule: \"evenodd\",\n    clipRule: \"evenodd\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n    className: \"dark-handle-custom-fill\",\n    fill: \"#101010\",\n    d: \"M3.114 1h1.772a2 2 0 0 1 1.997 2.11l-.778 14A2 2 0 0 1 4.108 19h-.216a2 2 0 0 1-1.997-1.89l-.778-14A2 2 0 0 1 3.114 1zm.333 1h1.105A2 2 0 0 1 6.55 4.11l-.673 12.115a1.88 1.88 0 0 1-3.752 0L1.45 4.11A2 2 0 0 1 3.447 2z\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n    style: {\n      mixBlendMode: 'overlay'\n    },\n    fill: \"url(#paint2_linear)\",\n    d: \"M2 0h1.772a2 2 0 0 1 1.997 2.11l-.778 14A2 2 0 0 1 2.994 18h-.216A2 2 0 0 1 .78 16.11l-.778-14A2 2 0 0 1 2 0zm.333 1h1.105a2 2 0 0 1 1.997 2.11l-.673 12.115a1.88 1.88 0 0 1-3.753 0L.337 3.11A2 2 0 0 1 2.333 1z\",\n    transform: \"translate(1.114 1)\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n    fill: \"url(#paint3_radial)\",\n    fillOpacity: \".4\",\n    d: \"M2 0h1.772a2 2 0 0 1 1.997 2.11l-.778 14A2 2 0 0 1 2.994 18h-.216A2 2 0 0 1 .78 16.11l-.778-14A2 2 0 0 1 2 0zm.333 1h1.105a2 2 0 0 1 1.997 2.11l-.673 12.115a1.88 1.88 0 0 1-3.753 0L.337 3.11A2 2 0 0 1 2.333 1z\",\n    transform: \"translate(1.114 1)\"\n  }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"defs\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n    id: \"filter0_di\",\n    width: \"9.772\",\n    height: \"22\",\n    x: \".114\",\n    y: \"0\",\n    colorInterpolationFilters: \"sRGB\",\n    filterUnits: \"userSpaceOnUse\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feFlood\", {\n    floodOpacity: \"0\",\n    result: \"BackgroundImageFix\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n    \"in\": \"SourceAlpha\",\n    values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n    dx: \"1\",\n    dy: \"1\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feGaussianBlur\", {\n    stdDeviation: \"1\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n    values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feBlend\", {\n    in2: \"BackgroundImageFix\",\n    result: \"effect1_dropShadow\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feBlend\", {\n    \"in\": \"SourceGraphic\",\n    in2: \"effect1_dropShadow\",\n    result: \"shape\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n    \"in\": \"SourceAlpha\",\n    result: \"hardAlpha\",\n    values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n    dx: \".25\",\n    dy: \".25\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feGaussianBlur\", {\n    stdDeviation: \".5\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n    in2: \"hardAlpha\",\n    k2: \"-1\",\n    k3: \"1\",\n    operator: \"arithmetic\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n    values: \"0 0 0 0 0.204294 0 0 0 0 0.204294 0 0 0 0 0.204294 0 0 0 0.395267 0\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feBlend\", {\n    in2: \"shape\",\n    result: \"effect2_innerShadow\"\n  })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"linearGradient\", {\n    id: \"paint0_linear\",\n    x2: \"1\",\n    gradientTransform: \"matrix(4.19709 12.8041 -4.26804 12.5913 .947 2.739)\",\n    gradientUnits: \"userSpaceOnUse\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n    stopColor: \"#fff\",\n    stopOpacity: \".55\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n    offset: \"1\",\n    stopOpacity: \".01\"\n  })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"radialGradient\", {\n    id: \"paint1_radial\",\n    cx: \".5\",\n    cy: \".5\",\n    r: \".5\",\n    gradientTransform: \"matrix(8.55956 25.5096 -8.50319 25.6787 .868 -23.103)\",\n    gradientUnits: \"userSpaceOnUse\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n    stopColor: \"#fff\",\n    stopOpacity: \".5\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n    offset: \"1\",\n    stopOpacity: \".5\"\n  })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"linearGradient\", {\n    id: \"paint2_linear\",\n    x2: \"1\",\n    gradientTransform: \"matrix(0 18 -5.77167 0 2.886 0)\",\n    gradientUnits: \"userSpaceOnUse\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n    stopColor: \"#fff\",\n    stopOpacity: \".5\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n    offset: \"1\",\n    stopOpacity: \".01\"\n  })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"radialGradient\", {\n    id: \"paint3_radial\",\n    cx: \".5\",\n    cy: \".5\",\n    r: \".5\",\n    gradientTransform: \"matrix(0 36 -11.5433 0 8.658 -18)\",\n    gradientUnits: \"userSpaceOnUse\"\n  }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n    stopColor: \"#fff\",\n    stopOpacity: \".5\"\n  }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n    offset: \"1\",\n    stopOpacity: \".5\"\n  }))));\n};\nvar darkGradientDefs = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"defs\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"linearGradient\", {\n  id: \"l\",\n  x1: \"15.78%\",\n  x2: \"85.732%\",\n  y1: \"15.214%\",\n  y2: \"86.348%\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"0%\",\n  stopColor: \"#FFFFFF\",\n  stopOpacity: \".55\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"100%\",\n  stopColor: \"#000000\",\n  stopOpacity: \"0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"radialGradient\", {\n  id: \"m\",\n  cx: \"14.944%\",\n  cy: \"13.839%\",\n  r: \"100.544%\",\n  fx: \"14.944%\",\n  fy: \"13.839%\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"0%\",\n  stopColor: \"#FFFFFF\",\n  stopOpacity: \".5\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"100%\",\n  stopColor: \"#000000\",\n  stopOpacity: \".5\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"n\",\n  width: \"101.7%\",\n  height: \"101.7%\",\n  x: \"-.8%\",\n  y: \"-.8%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feGaussianBlur\", {\n  \"in\": \"SourceAlpha\",\n  result: \"shadowBlurInner1\",\n  stdDeviation: \".5\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dx: \".25\",\n  dy: \".25\",\n  \"in\": \"shadowBlurInner1\",\n  result: \"shadowOffsetInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner1\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner1\",\n  values: \"0 0 0 0 0.204294218 0 0 0 0 0.204294218 0 0 0 0 0.204294218 0 0 0 0.39526721 0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"r\",\n  width: \"550%\",\n  height: \"218.8%\",\n  x: \"-225%\",\n  y: \"-56.2%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dy: \".5\",\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetOuter1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowOffsetOuter1\",\n  result: \"shadowMatrixOuter1\",\n  values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.46 0\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetOuter2\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feGaussianBlur\", {\n  \"in\": \"shadowOffsetOuter2\",\n  result: \"shadowBlurOuter2\",\n  stdDeviation: \"1.5\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowBlurOuter2\",\n  result: \"shadowMatrixOuter2\",\n  values: \"0 0 0 0 0.529411765 0 0 0 0 0.807843137 0 0 0 0 0.921568627 0 0 0 0.4512851 0\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feMerge\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feMergeNode\", {\n  \"in\": \"shadowMatrixOuter1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feMergeNode\", {\n  \"in\": \"shadowMatrixOuter2\"\n}))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"t\",\n  width: \"425%\",\n  height: \"187.5%\",\n  x: \"-162.5%\",\n  y: \"-40.6%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dy: \".5\",\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner1\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner1\",\n  values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.4 0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"linearGradient\", {\n  id: \"p\",\n  x1: \"0%\",\n  x2: \"0%\",\n  y1: \"100%\",\n  y2: \"100%\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"0%\",\n  stopColor: \"#FFFFFF\",\n  stopOpacity: \".5\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"100%\",\n  stopColor: \"#000000\",\n  stopOpacity: \"0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"radialGradient\", {\n  id: \"q\",\n  cy: \"0%\",\n  r: \"100%\",\n  fx: \"0%\",\n  fy: \"0%\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"0%\",\n  stopColor: \"#FFFFFF\",\n  stopOpacity: \".5\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"100%\",\n  stopColor: \"#000000\",\n  stopOpacity: \".5\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"a\",\n  width: \"100.4%\",\n  height: \"100.5%\",\n  x: \"-.1%\",\n  y: \"-.1%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feMorphology\", {\n  \"in\": \"SourceAlpha\",\n  operator: \"dilate\",\n  radius: \".05\",\n  result: \"shadowSpreadOuter1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dx: \".1\",\n  dy: \".1\",\n  \"in\": \"shadowSpreadOuter1\",\n  result: \"shadowOffsetOuter1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowOffsetOuter1\",\n  values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.11291327 0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"d\",\n  width: \"102.5%\",\n  height: \"102.8%\",\n  x: \"-1.1%\",\n  y: \"-1.3%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feGaussianBlur\", {\n  \"in\": \"SourceAlpha\",\n  result: \"shadowBlurInner1\",\n  stdDeviation: \".25\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  \"in\": \"shadowBlurInner1\",\n  result: \"shadowOffsetInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner1\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner1\",\n  result: \"shadowMatrixInner1\",\n  values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feGaussianBlur\", {\n  \"in\": \"SourceAlpha\",\n  result: \"shadowBlurInner2\",\n  stdDeviation: \"1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  \"in\": \"shadowBlurInner2\",\n  result: \"shadowOffsetInner2\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner2\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner2\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner2\",\n  result: \"shadowMatrixInner2\",\n  values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feMerge\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feMergeNode\", {\n  \"in\": \"shadowMatrixInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feMergeNode\", {\n  \"in\": \"shadowMatrixInner2\"\n}))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"linearGradient\", {\n  id: \"c\",\n  x1: \"50%\",\n  x2: \"50%\",\n  y1: \"0%\",\n  y2: \"100%\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"0%\",\n  stopColor: \"#FFFFFF\",\n  stopOpacity: \".5\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"100%\",\n  stopColor: \"#323a3e\",\n  stopOpacity: \".2\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"e\",\n  width: \"171%\",\n  height: \"117.7%\",\n  x: \"-35.5%\",\n  y: \"-8.8%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetOuter1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feGaussianBlur\", {\n  \"in\": \"shadowOffsetOuter1\",\n  result: \"shadowBlurOuter1\",\n  stdDeviation: \"2\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowBlurOuter1\",\n  values: \"0 0 0 0 0.529411765 0 0 0 0 0.807843137 0 0 0 0 0.921568627 0 0 0 0.5 0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"radialGradient\", {\n  id: \"g\",\n  cx: \"90.826%\",\n  cy: \"1.233%\",\n  r: \"154.848%\",\n  fx: \"90.826%\",\n  fy: \"1.233%\",\n  gradientTransform: \"scale(1 .24903) rotate(72.947 .883 .03)\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"0%\",\n  stopColor: \"#FFFFFF\",\n  stopOpacity: \".7\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"100%\",\n  stopColor: \"#000000\"\n})));\nvar darkLEDDefs = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"defs\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"darkLED-a\",\n  width: \"111.8%\",\n  height: \"107.8%\",\n  x: \"-2.9%\",\n  y: \"-2%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dx: \"1\",\n  dy: \"1\",\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetOuter1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feGaussianBlur\", {\n  \"in\": \"shadowOffsetOuter1\",\n  result: \"shadowBlurOuter1\",\n  stdDeviation: \".5\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowBlurOuter1\",\n  result: \"shadowMatrixOuter1\",\n  values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feMerge\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feMergeNode\", {\n  \"in\": \"shadowMatrixOuter1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feMergeNode\", {\n  \"in\": \"SourceGraphic\"\n}))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"radialGradient\", {\n  id: \"darkLED-c\",\n  cx: \"0%\",\n  cy: \"0%\",\n  r: \"141.421%\",\n  fx: \"0%\",\n  fy: \"0%\",\n  gradientTransform: \"matrix(.22147 .22147 -.0503 .97517 0 0)\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"0%\",\n  stopColor: \"#FFF\",\n  stopOpacity: \".5\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"100%\",\n  stopOpacity: \".6\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"linearGradient\", {\n  id: \"darkLED-d\",\n  x1: \"0%\",\n  y1: \"0%\",\n  y2: \"100%\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"0%\",\n  stopColor: \"#FFF\",\n  stopOpacity: \".5\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"100%\",\n  stopOpacity: \"0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n  id: \"darkLED-b\",\n  d: \"M5.71 5.181L3.308 2.778 5.71.375h16.357l2.403 2.403-2.403 2.403z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"darkLED-e\",\n  width: \"101.2%\",\n  height: \"105.2%\",\n  x: \"-.6%\",\n  y: \"-2.6%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dx: \".25\",\n  dy: \".25\",\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner1\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner1\",\n  values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"radialGradient\", {\n  id: \"darkLED-g\",\n  cx: \"0%\",\n  cy: \"0%\",\n  r: \"141.421%\",\n  fx: \"0%\",\n  fy: \"0%\",\n  gradientTransform: \"matrix(.22147 .22147 -.97517 .0503 0 0)\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"0%\",\n  stopColor: \"#FFF\",\n  stopOpacity: \".5\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"100%\",\n  stopOpacity: \".6\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n  id: \"darkLED-f\",\n  d: \"M22.597 5.71L25 3.308l2.403 2.402v16.357L25 24.47l-2.403-2.403z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"darkLED-h\",\n  width: \"105.2%\",\n  height: \"101.2%\",\n  x: \"-2.6%\",\n  y: \"-.6%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dx: \".25\",\n  dy: \".25\",\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner1\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner1\",\n  values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"radialGradient\", {\n  id: \"darkLED-j\",\n  cx: \"0%\",\n  cy: \"0%\",\n  r: \"141.421%\",\n  fx: \"0%\",\n  fy: \"0%\",\n  gradientTransform: \"scale(1 .22711) rotate(77.204)\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"0%\",\n  stopColor: \"#FFF\",\n  stopOpacity: \".5\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"100%\",\n  stopOpacity: \".6\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n  id: \"darkLED-i\",\n  d: \"M22.597 27.933L25 25.53l2.403 2.403v16.356L25 46.692l-2.403-2.403z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"darkLED-k\",\n  width: \"105.2%\",\n  height: \"101.2%\",\n  x: \"-2.6%\",\n  y: \"-.6%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dx: \".25\",\n  dy: \".25\",\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner1\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner1\",\n  values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n  id: \"darkLED-l\",\n  d: \"M22.067 44.819l2.403 2.403-2.403 2.403H5.71l-2.402-2.403 2.402-2.403z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"darkLED-m\",\n  width: \"101.2%\",\n  height: \"105.2%\",\n  x: \"-.6%\",\n  y: \"-2.6%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dx: \".25\",\n  dy: \".25\",\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner1\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner1\",\n  values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n  id: \"darkLED-n\",\n  d: \"M5.181 44.289l-2.403 2.403-2.403-2.403V27.933l2.403-2.403 2.403 2.403z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"darkLED-o\",\n  width: \"105.2%\",\n  height: \"101.2%\",\n  x: \"-2.6%\",\n  y: \"-.6%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dx: \".25\",\n  dy: \".25\",\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner1\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner1\",\n  values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n  id: \"darkLED-p\",\n  d: \"M5.181 22.067L2.778 24.47.375 22.067V5.71l2.403-2.402L5.181 5.71z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"darkLED-q\",\n  width: \"105.2%\",\n  height: \"101.2%\",\n  x: \"-2.6%\",\n  y: \"-.6%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dx: \".25\",\n  dy: \".25\",\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner1\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner1\",\n  values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n  id: \"darkLED-r\",\n  d: \"M5.71 27.403L3.308 25l2.402-2.403h16.357L24.47 25l-2.403 2.403z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"darkLED-s\",\n  width: \"101.2%\",\n  height: \"105.2%\",\n  x: \"-.6%\",\n  y: \"-2.6%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dx: \".25\",\n  dy: \".25\",\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner1\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner1\",\n  values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"radialGradient\", {\n  id: \"darkLED-u\",\n  cx: \"0%\",\n  cy: \"0%\",\n  r: \"141.421%\",\n  fx: \"0%\",\n  fy: \"0%\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"0%\",\n  stopColor: \"#FFF\",\n  stopOpacity: \".5\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"stop\", {\n  offset: \"100%\",\n  stopOpacity: \".6\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n  id: \"darkLED-t\",\n  d: \"M31 50.625a2.625 2.625 0 1 1 0-5.25 2.625 2.625 0 0 1 0 5.25z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n  id: \"darkLED-y\",\n  d: \"M35,40.625 C33.5502525,40.625 32.375,39.4497475 32.375,38 C32.375,36.5502525 33.5502525,35.375 35,35.375 C36.4497475,35.375 37.625,36.5502525 37.625,38 C37.625,39.4497475 36.4497475,40.625 35,40.625 Z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"darkLED-v\",\n  width: \"104.8%\",\n  height: \"104.8%\",\n  x: \"-2.4%\",\n  y: \"-2.4%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dx: \".25\",\n  dy: \".25\",\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner1\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner1\",\n  values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n  id: \"darkLED-w\",\n  d: \"M35,13.625 C33.5502525,13.625 32.375,12.4497475 32.375,11 C32.375,9.55025253 33.5502525,8.375 35,8.375 C36.4497475,8.375 37.625,9.55025253 37.625,11 C37.625,12.4497475 36.4497475,13.625 35,13.625 Z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"filter\", {\n  id: \"darkLED-x\",\n  width: \"104.8%\",\n  height: \"104.8%\",\n  x: \"-2.4%\",\n  y: \"-2.4%\",\n  filterUnits: \"objectBoundingBox\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feOffset\", {\n  dx: \".25\",\n  dy: \".25\",\n  \"in\": \"SourceAlpha\",\n  result: \"shadowOffsetInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feComposite\", {\n  \"in\": \"shadowOffsetInner1\",\n  in2: \"SourceAlpha\",\n  k2: \"-1\",\n  k3: \"1\",\n  operator: \"arithmetic\",\n  result: \"shadowInnerInner1\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"feColorMatrix\", {\n  \"in\": \"shadowInnerInner1\",\n  values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n})));\nvar A = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  className: \"darkLED-fill\",\n  xlinkHref: \"#darkLED-b\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-c)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-b\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-d)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-b\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"#000\",\n  filter: \"url(#darkLED-e)\",\n  xlinkHref: \"#darkLED-b\"\n}));\nvar B = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  className: \"darkLED-fill\",\n  xlinkHref: \"#darkLED-f\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-g)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-f\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-d)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-f\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"#000\",\n  filter: \"url(#darkLED-h)\",\n  xlinkHref: \"#darkLED-f\"\n}));\nvar C = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  className: \"darkLED-fill\",\n  xlinkHref: \"#darkLED-i\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-j)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-i\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-d)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-i\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"#000\",\n  filter: \"url(#darkLED-k)\",\n  xlinkHref: \"#darkLED-i\"\n}));\nvar D = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  className: \"darkLED-fill\",\n  xlinkHref: \"#darkLED-l\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-c)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-l\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-d)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-l\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"#000\",\n  filter: \"url(#darkLED-m)\",\n  xlinkHref: \"#darkLED-l\"\n}));\nvar E = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  className: \"darkLED-fill\",\n  xlinkHref: \"#darkLED-n\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-j)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-n\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-d)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-n\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"#000\",\n  filter: \"url(#darkLED-o)\",\n  xlinkHref: \"#darkLED-n\"\n}));\nvar F = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  className: \"darkLED-fill\",\n  xlinkHref: \"#darkLED-p\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-g)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-p\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-d)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-p\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"#000\",\n  filter: \"url(#darkLED-q)\",\n  xlinkHref: \"#darkLED-p\"\n}));\nvar G = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  className: \"darkLED-fill\",\n  xlinkHref: \"#darkLED-r\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-c)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-r\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-d)\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-r\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"#000\",\n  filter: \"url(#darkLED-s)\",\n  xlinkHref: \"#darkLED-r\"\n})); // See the following link for segment mappings:\n// https://en.wikipedia.org/wiki/Seven-segment_display#/media/File:7_segment_display_labeled.svg\n\nvar DARK_SEGMENTS = {\n  A: A,\n  B: B,\n  C: C,\n  D: D,\n  E: E,\n  F: F,\n  G: G\n};\nvar darkDecimal = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n  fill: \"none\",\n  fillRule: \"evenodd\",\n  filter: \"url(#darkLED-a)\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n  fillRule: \"nonzero\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  className: \"darkLED-fill\",\n  fillRule: \"evenodd\",\n  xlinkHref: \"#darkLED-t\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-u)\",\n  fillRule: \"evenodd\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-t\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-d)\",\n  fillRule: \"evenodd\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-t\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"#000\",\n  filter: \"url(#darkLED-v)\",\n  xlinkHref: \"#darkLED-t\"\n})));\nvar darkColon = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n  fillRule: \"nonzero\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  className: \"darkLED-fill\",\n  fillRule: \"evenodd\",\n  xlinkHref: \"#darkLED-y\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-u)\",\n  fillRule: \"evenodd\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-y\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-d)\",\n  fillRule: \"evenodd\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-y\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"black\",\n  filter: \"url(#darkLED-v)\",\n  xlinkHref: \"#darkLED-y\"\n})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n  fillRule: \"nonzero\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  className: \"darkLED-fill\",\n  fillRule: \"evenodd\",\n  xlinkHref: \"#darkLED-w\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-u)\",\n  fillRule: \"evenodd\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-w\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"url(#darkLED-d)\",\n  fillRule: \"evenodd\",\n  style: {\n    mixBlendMode: 'overlay'\n  },\n  xlinkHref: \"#darkLED-w\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"use\", {\n  fill: \"black\",\n  filter: \"url(#darkLED-x)\",\n  xlinkHref: \"#darkLED-w\"\n})));\n/* harmony default export */ __webpack_exports__[\"default\"] = (darkGradientDefs);\n\n/***/ }),\n\n/***/ \"./src/styled/shared/Indicator.styled.js\":\n/*!***********************************************!*\\\n  !*** ./src/styled/shared/Indicator.styled.js ***!\n  \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants */ \"./src/styled/constants.js\");\nfunction _templateObject4() {\n  var data = _taggedTemplateLiteral([\"\\n              background-image: linear-gradient(\\n                145deg,\\n                rgba(255, 255, 255, 0.1) 0%,\\n                rgba(0, 0, 0, 0.5) 100%\\n              );\\n              background-blend-mode: overlay;\\n              box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.5), inset 0 0 4px 0 rgba(0, 0, 0, 0.6),\\n                -1px -1px 0px 0px rgba(0, 0, 0, 0.9), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\\n            \"]);\n\n  _templateObject4 = function _templateObject4() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n              box-shadow: 0 0 8px 2px \", \", 1px 1px 0px 0px rgba(0, 0, 0, 0.9),\\n                -1px -1px 0px 0px rgba(255, 255, 255, 0.1);\\n            \"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n      width: \", \"px;\\n      height: \", \"px;\\n      background-color: \", \";\\n      \", \"\\n      \", \"\\n    \"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  border-radius: \", \";\\n  transition: all 100ms ease-in-out;\\n  \", \"\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\n\nvar Indicator = Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('div')(_templateObject(), function (_ref) {\n  var rectangular = _ref.rectangular;\n  return rectangular ? '0' : '50%';\n}, function (props) {\n  var color = props.main ? props.on ? props.primary || props.theme.primary : props.secondary || props.theme.secondary : props.on ? props.theme.secondary : props.primary || props.theme.primary;\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject2(), props.width || props.height || props.size, props.height || props.width || props.size, color, props.border ? \"border: 1px solid \".concat(props.on ? color : '#F8F4F4', \";\") : '', props.theme.dark ? props.on && props.main || !props.on && !props.main ? Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject3(), color) : Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(_templateObject4()) : '');\n});\nIndicator.defaultProps = {\n  theme: _constants__WEBPACK_IMPORTED_MODULE_2__[\"light\"]\n};\nIndicator.propTypes = {\n  /**\r\n   * Size of the indicator\r\n   */\n  size: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number,\n\n  /**\r\n   * Theme for styling the component\r\n   */\n  theme: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.object,\n\n  /**\r\n   * Add border for off\r\n   */\n  border: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool,\n\n  /**\r\n   * Color to display when on\r\n   */\n  primary: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,\n\n  /**\r\n   * Color to display when off\r\n   */\n  secondary: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Indicator);\n\n/***/ }),\n\n/***/ \"./src/styled/shared/Label.styled.js\":\n/*!*******************************************!*\\\n  !*** ./src/styled/shared/Label.styled.js ***!\n  \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\nfunction _templateObject4() {\n  var data = _taggedTemplateLiteral([\"\\n      \", \"\\n    \"]);\n\n  _templateObject4 = function _templateObject4() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject3() {\n  var data = _taggedTemplateLiteral([\"\\n          margin-top: 8px;\\n        \"]);\n\n  _templateObject3 = function _templateObject3() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject2() {\n  var data = _taggedTemplateLiteral([\"\\n          margin-bottom: 8px;\\n        \"]);\n\n  _templateObject2 = function _templateObject2() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  display: block;\\n  font-size: 14px;\\n  \", \"\\n  \", \"\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (styled_components__WEBPACK_IMPORTED_MODULE_0__[\"default\"].label(_templateObject(), function (_ref) {\n  var position = _ref.position;\n  return position === 'top' ? Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject2()) : Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject3());\n}, function (props) {\n  return Object(styled_components__WEBPACK_IMPORTED_MODULE_0__[\"css\"])(_templateObject4(), props.css);\n}));\n\n/***/ }),\n\n/***/ \"./src/styled/shared/LabelContainer.styled.js\":\n/*!****************************************************!*\\\n  !*** ./src/styled/shared/LabelContainer.styled.js ***!\n  \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _Label_styled__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Label.styled */ \"./src/styled/shared/Label.styled.js\");\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  display: flex;\\n  align-items: center;\\n  justify-content: space-around;\\n  flex-direction: column;\\n  \", \"\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n\n\n\nvar Container = styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].div(_templateObject(), function (_ref) {\n  var fullSize = _ref.fullSize;\n  if (fullSize) return 'width: 100%;';\n  return '';\n});\n\nfunction LabelContainer(props) {\n  var labelText = props.label;\n  var customLabelStyle = {};\n\n  if (_typeof(props.label) === 'object') {\n    labelText = props.label.label;\n    customLabelStyle = props.label.style;\n  }\n\n  var labelElement = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Label_styled__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n    style: customLabelStyle,\n    css: props.labelCSS,\n    position: props.labelPosition\n  }, labelText && labelText.length ? labelText : ''); // if (labelText && labelText.length) {\n\n  return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Container, {\n    className: props.className,\n    id: props.id,\n    labelPosition: props.labelPosition,\n    fullSize: props.fullSize\n  }, props.labelPosition == 'top' && labelElement, props.children, props.labelPosition != 'top' && labelElement); // }\n  // return <div>{props.children}</div>;\n}\n\nLabelContainer.defaultProps = {\n  labelPosition: 'bottom'\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (LabelContainer);\n\n/***/ }),\n\n/***/ \"prop-types\":\n/*!****************************!*\\\n  !*** external \"PropTypes\" ***!\n  \\****************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n(function() { module.exports = window[\"PropTypes\"]; }());\n\n/***/ }),\n\n/***/ \"react\":\n/*!************************!*\\\n  !*** external \"React\" ***!\n  \\************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n(function() { module.exports = window[\"React\"]; }());\n\n/***/ }),\n\n/***/ \"react-dom\":\n/*!***************************!*\\\n  !*** external \"ReactDOM\" ***!\n  \\***************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n(function() { module.exports = window[\"ReactDOM\"]; }());\n\n/***/ })\n\n/******/ });\n//# sourceMappingURL=dash_daq.dev.js.map"
  },
  {
    "path": "man/daqBooleanSwitch.Rd",
    "content": "% Auto-generated: do not edit by hand\n\\name{daqBooleanSwitch}\n\n\\alias{daqBooleanSwitch}\n\n\\title{BooleanSwitch component}\n\n\\description{\nA switch component that toggles between on and off.\n}\n\n\\usage{\ndaqBooleanSwitch(id=NULL, className=NULL, color=NULL, disabled=NULL,\nlabel=NULL, labelPosition=NULL, on=NULL,\npersisted_props=NULL, persistence=NULL,\npersistence_type=NULL, size=NULL, style=NULL, theme=NULL,\nvertical=NULL)\n}\n\n\\arguments{\n\\item{id}{Character. The ID used to identify this compnent in Dash callbacks}\n\n\\item{className}{Character. Class to apply to the root component element.}\n\n\\item{color}{Character. Color to highlight active switch background}\n\n\\item{disabled}{Logical. If true, switch cannot be clicked}\n\n\\item{label}{Character | lists containing elements 'style', 'label'.\nthose elements have the following types:\n  - style (named list; optional)\n  - label (character; optional). Description to be displayed alongside the control. To control styling,\npass an object with label and style properties.}\n\n\\item{labelPosition}{A value equal to: 'top', 'bottom'. Where the component label is positioned.}\n\n\\item{on}{Logical. Whether or not the switch is on}\n\n\\item{persisted_props}{List of a value equal to: 'on's. Properties whose user interactions will persist after refreshing the\ncomponent or the page. Since only `on` is allowed this prop can\nnormally be ignored.}\n\n\\item{persistence}{Logical | character | numeric. Used to allow user interactions in this component to be persisted when\nthe component - or the page - is refreshed. If `persisted` is truthy and\nhasn't changed from its previous value, a `value` that the user has\nchanged while using the app will keep that change, as long as\nthe new `value` also matches what was given originally.\nUsed in conjunction with `persistence_type`.}\n\n\\item{persistence_type}{A value equal to: 'local', 'session', 'memory'. Where persisted user changes will be stored:\nmemory: only kept in memory, reset on page refresh.\nlocal: window.localStorage, data is kept after the browser quit.\nsession: window.sessionStorage, data is cleared once the browser quit.}\n\n\\item{size}{Numeric. size of the switch}\n\n\\item{style}{Named list. Style to apply to the root object.}\n\n\\item{theme}{Named list. Theme configuration to be set by a ThemeProvider}\n\n\\item{vertical}{Logical. If true, switch will be vertical instead\nof horizontal}\n}\n\n\\value{named list of JSON elements corresponding to React.js properties and their values}\n\n"
  },
  {
    "path": "man/daqColorPicker.Rd",
    "content": "% Auto-generated: do not edit by hand\n\\name{daqColorPicker}\n\n\\alias{daqColorPicker}\n\n\\title{ColorPicker component}\n\n\\description{\nA color picker.\n}\n\n\\usage{\ndaqColorPicker(id=NULL, className=NULL, disabled=NULL, label=NULL,\nlabelPosition=NULL, persisted_props=NULL, persistence=NULL,\npersistence_type=NULL, size=NULL, style=NULL, theme=NULL,\nvalue=NULL)\n}\n\n\\arguments{\n\\item{id}{Character. The ID used to identify the color picker in Dash callbacks}\n\n\\item{className}{Character. Class to apply to the root component element}\n\n\\item{disabled}{Logical. If true, color cannot be picked.}\n\n\\item{label}{Character | lists containing elements 'style', 'label'.\nthose elements have the following types:\n  - style (named list; optional)\n  - label (character; optional). Description to be displayed alongside the control. To control styling,\npass an object with label and style properties}\n\n\\item{labelPosition}{A value equal to: 'top', 'bottom'. Where the indicator label is positioned}\n\n\\item{persisted_props}{List of a value equal to: 'value's. Properties whose user interactions will persist after refreshing the\ncomponent or the page. Since only `value` is allowed this prop can\nnormally be ignored.}\n\n\\item{persistence}{Logical | character | numeric. Used to allow user interactions in this component to be persisted when\nthe component - or the page - is refreshed. If `persisted` is truthy and\nhasn't changed from its previous value, a `value` that the user has\nchanged while using the app will keep that change, as long as\nthe new `value` also matches what was given originally.\nUsed in conjunction with `persistence_type`.}\n\n\\item{persistence_type}{A value equal to: 'local', 'session', 'memory'. Where persisted user changes will be stored:\nmemory: only kept in memory, reset on page refresh.\nlocal: window.localStorage, data is kept after the browser quit.\nsession: window.sessionStorage, data is cleared once the browser quit.}\n\n\\item{size}{Numeric. Size (width) of the component in pixels}\n\n\\item{style}{Named list. Style to apply to the root component element}\n\n\\item{theme}{Named list. Theme configuration to be set by a ThemeProvider}\n\n\\item{value}{Lists containing elements 'hex', 'rbg'.\nthose elements have the following types:\n  - hex (character; optional): hex string\n  - rbg (optional): rgb/rgba object. rbg has the following type: lists containing elements 'r', 'g', 'b', 'a'.\nthose elements have the following types:\n  - r (numeric; optional)\n  - g (numeric; optional)\n  - b (numeric; optional)\n  - a (numeric; optional). Color value of the picker}\n}\n\n\\value{named list of JSON elements corresponding to React.js properties and their values}\n\n"
  },
  {
    "path": "man/daqDarkThemeProvider.Rd",
    "content": "% Auto-generated: do not edit by hand\n\\name{daqDarkThemeProvider}\n\n\\alias{daqDarkThemeProvider}\n\n\\title{DarkThemeProvider component}\n\n\\description{\nDarkThemeProvider is a component that is placed at the root of the component tree to make all components match the dark theme\n}\n\n\\usage{\ndaqDarkThemeProvider(children=NULL, theme=NULL)\n}\n\n\\arguments{\n\\item{children}{List of a list of or a singular dash component, string or numbers | a list of or a singular dash component, string or number. The children of this component}\n\n\\item{theme}{Lists containing elements 'primary', 'secondary', 'detail', 'dark'.\nthose elements have the following types:\n  - primary (character; optional): highlight color\n  - secondary (character; optional): supporting color\n  - detail (character; optional): color used for ui details, like borders\n  - dark (logical; optional): true for dark mode, false for light. Theme object to override with a custom theme}\n}\n\n\\value{named list of JSON elements corresponding to React.js properties and their values}\n\n"
  },
  {
    "path": "man/daqGauge.Rd",
    "content": "% Auto-generated: do not edit by hand\n\\name{daqGauge}\n\n\\alias{daqGauge}\n\n\\title{Gauge component}\n\n\\description{\nA Gauge component that points to a value between some range.\n}\n\n\\usage{\ndaqGauge(id=NULL, base=NULL, className=NULL, color=NULL, digits=NULL,\nexceedMessage=NULL, label=NULL, labelPosition=NULL,\nlagingMessage=NULL, logarithmic=NULL, max=NULL, min=NULL,\nscale=NULL, showCurrentValue=NULL, size=NULL, style=NULL,\ntextColor=NULL, theme=NULL, units=NULL, value=NULL)\n}\n\n\\arguments{\n\\item{id}{Character. The ID used to identify this compnent in Dash callbacks}\n\n\\item{base}{Numeric. Base to be used in logarithmic scale.}\n\n\\item{className}{Character. Class to apply to the root component element.}\n\n\\item{color}{Character | lists containing elements 'default', 'gradient', 'ranges'.\nthose elements have the following types:\n  - default (character; optional): color used for current value text and other minor accents\n  - gradient (logical; optional): display ranges as a gradient between given colors.\n  - ranges (optional): define multiple color ranges on the gauge's track.\nthe key determines the color of the range and\nthe value is the start,end of the range itself.\nranges must be contiguous along the entirety\nof the gauge's range of values.. ranges has the following type: lists containing elements 'color'.\nthose elements have the following types:\n  - color (list of numeric | list of numericss; optional). Color configuration for the gauge's track.}\n\n\\item{digits}{Numeric. Number of digits for current value}\n\n\\item{exceedMessage}{Character. Warning message when value exceed max}\n\n\\item{label}{Character | lists containing elements 'style', 'label'.\nthose elements have the following types:\n  - style (named list; optional)\n  - label (character; optional). Description to be displayed alongside the control. To control styling, pass an object with label and style properties.}\n\n\\item{labelPosition}{A value equal to: 'top', 'bottom'. Where the component label is positioned.}\n\n\\item{lagingMessage}{Character. Warning message when value is laging from min}\n\n\\item{logarithmic}{Logical. If set to true, a logarithmic scale will be\nused.}\n\n\\item{max}{Numeric. The maximum value of the gauge. If logarithmic,\nrepresents the maximum exponent.}\n\n\\item{min}{Numeric. The minimum value of the gauge. If logarithmic,\nrepresents the minimum exponent.}\n\n\\item{scale}{Lists containing elements 'start', 'interval', 'labelinterval', 'custom'.\nthose elements have the following types:\n  - start (numeric; optional): value to start the scale from. defaults\nto min.\n  - interval (numeric; optional): interval by which the scale goes up. attempts\nto dynamically divide min-max range by\ndefault.\n  - labelinterval (numeric; optional): interval by which labels are added to\nscale marks. defaults to 2 (every other\nmark has a label).\n  - custom (optional): custom scale marks. the key determines the position\nand the value determines what will show. if you want\nto set the style of a specific mark point, the value\nshould be an object which contains style and label\nproperties. custom has the following type: numeric | lists containing elements 'style', 'label'.\nthose elements have the following types:\n  - style (character; optional)\n  - label (character; optional). Configuration for the component scale.}\n\n\\item{showCurrentValue}{Logical. If true, the current value of the gauge\nwill be displayed}\n\n\\item{size}{Numeric. The size (diameter) of the gauge in pixels}\n\n\\item{style}{Named list. Style to apply to the root component element.}\n\n\\item{textColor}{Character. text color for theme}\n\n\\item{theme}{Named list. Theme configuration to be set by a ThemeProvider}\n\n\\item{units}{Character. Label for the current value}\n\n\\item{value}{Numeric. The value of gauge. If logarithmic, the displayed\nvalue will be the logarithm of the inputted value.}\n}\n\n\\value{named list of JSON elements corresponding to React.js properties and their values}\n\n"
  },
  {
    "path": "man/daqGraduatedBar.Rd",
    "content": "% Auto-generated: do not edit by hand\n\\name{daqGraduatedBar}\n\n\\alias{daqGraduatedBar}\n\n\\title{GraduatedBar component}\n\n\\description{\nA graduated bar component that displays a value within some range as a percentage.\n}\n\n\\usage{\ndaqGraduatedBar(id=NULL, className=NULL, color=NULL, label=NULL,\nlabelPosition=NULL, max=NULL, min=NULL,\nshowCurrentValue=NULL, size=NULL, step=NULL, style=NULL,\ntheme=NULL, value=NULL, vertical=NULL)\n}\n\n\\arguments{\n\\item{id}{Character. The ID used to identify this compnent in Dash callbacks}\n\n\\item{className}{Character. Class to apply to the root component element.}\n\n\\item{color}{Character | lists containing elements 'default', 'gradient', 'ranges'.\nthose elements have the following types:\n  - default (character; optional): fallback color to use when color.ranges\nhas gaps.\n  - gradient (logical; optional): display ranges as a gradient between given colors.\nrequires color.ranges to be contiguous along\nthe entirety of the graduated bar's range of values.\n  - ranges (optional): define multiple color ranges on the graduated bar's track.\nthe key determines the color of the range and\nthe value is the start,end of the range itself.. ranges has the following type: lists containing elements 'color'.\nthose elements have the following types:\n  - color (list of numerics; optional). Color configuration for the graduated bar's\nprogress blocks.}\n\n\\item{label}{Character | lists containing elements 'style', 'label'.\nthose elements have the following types:\n  - style (named list; optional)\n  - label (character; optional). Description to be displayed alongside the control. To control styling, pass an object with label and style properties.}\n\n\\item{labelPosition}{A value equal to: 'top', 'bottom'. Where the component label is positioned.}\n\n\\item{max}{Numeric. The maximum value of the graduated bar}\n\n\\item{min}{Numeric. The minimum value of the graduated bar}\n\n\\item{showCurrentValue}{Logical. If true, the current percentage\n of the bar will be displayed}\n\n\\item{size}{Numeric. The size (length) of the graduated bar in pixels}\n\n\\item{step}{Numeric. Value by which progress blocks appear}\n\n\\item{style}{Named list. Style to apply to the root component element.}\n\n\\item{theme}{Named list. Theme configuration to be set by a ThemeProvider}\n\n\\item{value}{Numeric. The value of the graduated bar}\n\n\\item{vertical}{Logical. If true, will display bar vertically instead of horizontally}\n}\n\n\\value{named list of JSON elements corresponding to React.js properties and their values}\n\n"
  },
  {
    "path": "man/daqIndicator.Rd",
    "content": "% Auto-generated: do not edit by hand\n\\name{daqIndicator}\n\n\\alias{daqIndicator}\n\n\\title{Indicator component}\n\n\\description{\nA boolean indicator LED.\n}\n\n\\usage{\ndaqIndicator(id=NULL, className=NULL, color=NULL, height=NULL,\nlabel=NULL, labelPosition=NULL, size=NULL, style=NULL,\ntheme=NULL, value=NULL, width=NULL)\n}\n\n\\arguments{\n\\item{id}{Character. The ID used to identify the indicator in Dash callbacks}\n\n\\item{className}{Character. Class to apply to the root component element}\n\n\\item{color}{Character. Color of the indicator}\n\n\\item{height}{Numeric. Height of the component. Set both width and height for a rectangular indicator}\n\n\\item{label}{Character | lists containing elements 'style', 'label'.\nthose elements have the following types:\n  - style (named list; optional)\n  - label (character; optional). Description to be displayed alongside the control. To control styling,\npass an object with label and style properties}\n\n\\item{labelPosition}{A value equal to: 'top', 'bottom', 'right', 'left'. Where the indicator label is positioned}\n\n\\item{size}{Numeric. Size of the component. Either use this or width and height}\n\n\\item{style}{Named list. Style to apply to the root component element}\n\n\\item{theme}{Named list. Theme configuration to be set by a ThemeProvider}\n\n\\item{value}{Logical. If true, indicator is illuminated}\n\n\\item{width}{Numeric. Width of the component. Set both width and height for a rectangular indicator}\n}\n\n\\value{named list of JSON elements corresponding to React.js properties and their values}\n\n"
  },
  {
    "path": "man/daqJoystick.Rd",
    "content": "% Auto-generated: do not edit by hand\n\\name{daqJoystick}\n\n\\alias{daqJoystick}\n\n\\title{Joystick component}\n\n\\description{\nA joystick.\n}\n\n\\usage{\ndaqJoystick(id=NULL, angle=NULL, className=NULL, force=NULL, label=NULL,\nlabelPosition=NULL, size=NULL, style=NULL, theme=NULL)\n}\n\n\\arguments{\n\\item{id}{Character. The ID used to identify the Joystick in Dash callbacks}\n\n\\item{angle}{Numeric. Joystick angle in degrees, 0 = right, 90 = up, 180 = left, 270 = down}\n\n\\item{className}{Character. Class to apply to the root component element}\n\n\\item{force}{Numeric. Joystick force: distance between cursor and center in big-circle radii}\n\n\\item{label}{Character | lists containing elements 'style', 'label'.\nthose elements have the following types:\n  - style (named list; optional)\n  - label (character; optional). Description to be displayed alongside the control. To control styling,\npass an object with label and style properties}\n\n\\item{labelPosition}{A value equal to: 'top', 'bottom'. Where the indicator label is positioned}\n\n\\item{size}{Numeric. Size (width) of the component in pixels}\n\n\\item{style}{Named list. Style to apply to the root component element}\n\n\\item{theme}{Named list. Theme configuration to be set by a ThemeProvider}\n}\n\n\\value{named list of JSON elements corresponding to React.js properties and their values}\n\n"
  },
  {
    "path": "man/daqKnob.Rd",
    "content": "% Auto-generated: do not edit by hand\n\\name{daqKnob}\n\n\\alias{daqKnob}\n\n\\title{Knob component}\n\n\\description{\nA knob component that can be turned to a value between some range.\n}\n\n\\usage{\ndaqKnob(id=NULL, className=NULL, color=NULL, digits=NULL,\ndisabled=NULL, label=NULL, labelPosition=NULL, max=NULL,\nmin=NULL, persisted_props=NULL, persistence=NULL,\npersistence_type=NULL, scale=NULL, showCurrentValue=NULL,\nsize=NULL, style=NULL, textColor=NULL, theme=NULL,\nvalue=NULL)\n}\n\n\\arguments{\n\\item{id}{Character. The ID used to identify this compnent in Dash callbacks}\n\n\\item{className}{Character. Class to apply to the root component element.}\n\n\\item{color}{Character | lists containing elements 'default', 'gradient', 'ranges'.\nthose elements have the following types:\n  - default (character; optional): color used for current value text and other minor accents\n  - gradient (logical; optional): display ranges as a gradient between given colors.\n  - ranges (optional): define multiple color ranges on the knob's track.\nthe key determines the color of the range and\nthe value is the start,end of the range itself.\nranges must be contiguous along the entirety\nof the knob's range of values.. ranges has the following type: lists containing elements 'color'.\nthose elements have the following types:\n  - color (list of numerics; optional). Color configuration for the knob's track.}\n\n\\item{digits}{Numeric. number of digits to show after decimal places}\n\n\\item{disabled}{Logical. If true, knob cannot be moved.}\n\n\\item{label}{Character | lists containing elements 'style', 'label'.\nthose elements have the following types:\n  - style (named list; optional)\n  - label (character; optional). Description to be displayed alongside the control. To control styling, pass an object with label and style properties.}\n\n\\item{labelPosition}{A value equal to: 'top', 'bottom'. Where the knob label is positioned.}\n\n\\item{max}{Numeric. The maximum value of the knob}\n\n\\item{min}{Numeric. The minimum value of the knob}\n\n\\item{persisted_props}{List of a value equal to: 'value's. Properties whose user interactions will persist after refreshing the\ncomponent or the page. Since only `value` is allowed this prop can\nnormally be ignored.}\n\n\\item{persistence}{Logical | character | numeric. Used to allow user interactions in this component to be persisted when\nthe component - or the page - is refreshed. If `persisted` is truthy and\nhasn't changed from its previous value, a `value` that the user has\nchanged while using the app will keep that change, as long as\nthe new `value` also matches what was given originally.\nUsed in conjunction with `persistence_type`.}\n\n\\item{persistence_type}{A value equal to: 'local', 'session', 'memory'. Where persisted user changes will be stored:\nmemory: only kept in memory, reset on page refresh.\nlocal: window.localStorage, data is kept after the browser quit.\nsession: window.sessionStorage, data is cleared once the browser quit.}\n\n\\item{scale}{Lists containing elements 'start', 'interval', 'labelinterval', 'custom'.\nthose elements have the following types:\n  - start (numeric; optional): value to start the scale from. defaults\nto min.\n  - interval (numeric; optional): interval by which the scale goes up. attempts\nto dynamically divide min-max range by\ndefault.\n  - labelinterval (numeric; optional): interval by which labels are added to\nscale marks. defaults to 2 (every other\nmark has a label).\n  - custom (optional): custom scale marks. the key determines the position\nand the value determines what will show. if you want\nto set the style of a specific mark point, the value\nshould be an object which contains style and label\nproperties. custom has the following type: numeric | lists containing elements 'style', 'label'.\nthose elements have the following types:\n  - style (character; optional)\n  - label (character; optional). Configuration for the component scale.}\n\n\\item{showCurrentValue}{Logical. show current value of knob}\n\n\\item{size}{Numeric. The size (diameter) of the knob in pixels}\n\n\\item{style}{Named list. Style to apply to the root component element.}\n\n\\item{textColor}{Character. text color of scale}\n\n\\item{theme}{Named list. Theme configuration to be set by a ThemeProvider}\n\n\\item{value}{Numeric. The value of knob}\n}\n\n\\value{named list of JSON elements corresponding to React.js properties and their values}\n\n"
  },
  {
    "path": "man/daqLEDDisplay.Rd",
    "content": "% Auto-generated: do not edit by hand\n\\name{daqLEDDisplay}\n\n\\alias{daqLEDDisplay}\n\n\\title{LEDDisplay component}\n\n\\description{\nA 7-bar LED display component.\n}\n\n\\usage{\ndaqLEDDisplay(id=NULL, backgroundColor=NULL, className=NULL, color=NULL,\nlabel=NULL, labelPosition=NULL, size=NULL, style=NULL,\ntheme=NULL, value=NULL)\n}\n\n\\arguments{\n\\item{id}{Character. The ID used to identify the display in Dash callbacks}\n\n\\item{backgroundColor}{Character. Color of the display's background}\n\n\\item{className}{Character. Class to apply to the root component element}\n\n\\item{color}{Character. Color of the display}\n\n\\item{label}{Character | lists containing elements 'style', 'label'.\nthose elements have the following types:\n  - style (named list; optional)\n  - label (character; optional). Description to be displayed alongside the control. To control styling,\npass an object with label and style properties}\n\n\\item{labelPosition}{A value equal to: 'top', 'bottom'. Where the display label is positioned}\n\n\\item{size}{Numeric. Size of the display}\n\n\\item{style}{Named list. Style to apply to the root component element}\n\n\\item{theme}{Named list. Theme configuration to be set by a ThemeProvider}\n\n\\item{value}{Numeric | character. Value to be displayed. A number or a string\ncontaining only digits (0-9), periods, and colons,\nand possibly starting with a minus sign.}\n}\n\n\\value{named list of JSON elements corresponding to React.js properties and their values}\n\n"
  },
  {
    "path": "man/daqNumericInput.Rd",
    "content": "% Auto-generated: do not edit by hand\n\\name{daqNumericInput}\n\n\\alias{daqNumericInput}\n\n\\title{NumericInput component}\n\n\\description{\nA numeric input component that can be set to a value between some range.\n}\n\n\\usage{\ndaqNumericInput(id=NULL, className=NULL, disabled=NULL, label=NULL,\nlabelPosition=NULL, max=NULL, min=NULL,\npersisted_props=NULL, persistence=NULL,\npersistence_type=NULL, size=NULL, style=NULL, theme=NULL,\nvalue=NULL)\n}\n\n\\arguments{\n\\item{id}{Character. The ID used to identify this compnent in Dash callbacks}\n\n\\item{className}{Character. Class to apply to the root component element.}\n\n\\item{disabled}{Logical. If true, numeric input cannot changed.}\n\n\\item{label}{Character | lists containing elements 'style', 'label'.\nthose elements have the following types:\n  - style (named list; optional)\n  - label (character; optional). Description to be displayed alongside the control. To control styling,\npass an object with label and style properties.}\n\n\\item{labelPosition}{A value equal to: 'top', 'bottom'. Where the numeric input label is positioned.}\n\n\\item{max}{Numeric. The maximum value of the numeric input}\n\n\\item{min}{Numeric. The minimum value of the numeric input}\n\n\\item{persisted_props}{List of a value equal to: 'value's. Properties whose user interactions will persist after refreshing the\ncomponent or the page. Since only `value` is allowed this prop can\nnormally be ignored.}\n\n\\item{persistence}{Logical | character | numeric. Used to allow user interactions in this component to be persisted when\nthe component - or the page - is refreshed. If `persisted` is truthy and\nhasn't changed from its previous value, a `value` that the user has\nchanged while using the app will keep that change, as long as\nthe new `value` also matches what was given originally.\nUsed in conjunction with `persistence_type`.}\n\n\\item{persistence_type}{A value equal to: 'local', 'session', 'memory'. Where persisted user changes will be stored:\nmemory: only kept in memory, reset on page refresh.\nlocal: window.localStorage, data is kept after the browser quit.\nsession: window.sessionStorage, data is cleared once the browser quit.}\n\n\\item{size}{Numeric. The size (length) of the numeric input in pixels}\n\n\\item{style}{Named list. Style to apply to the root component element.}\n\n\\item{theme}{Named list. Theme configuration to be set by a ThemeProvider}\n\n\\item{value}{Numeric. The value of numeric input}\n}\n\n\\value{named list of JSON elements corresponding to React.js properties and their values}\n\n"
  },
  {
    "path": "man/daqPowerButton.Rd",
    "content": "% Auto-generated: do not edit by hand\n\\name{daqPowerButton}\n\n\\alias{daqPowerButton}\n\n\\title{PowerButton component}\n\n\\description{\nA power button component can be turned on and off.\n}\n\n\\usage{\ndaqPowerButton(id=NULL, className=NULL, color=NULL, disabled=NULL,\nlabel=NULL, labelPosition=NULL, offButtonStyle=NULL,\non=NULL, onButtonStyle=NULL, persisted_props=NULL,\npersistence=NULL, persistence_type=NULL, size=NULL,\nstyle=NULL, theme=NULL)\n}\n\n\\arguments{\n\\item{id}{Character. The ID used to identify this compnent in Dash callbacks}\n\n\\item{className}{Character. Class to apply to the root component element.}\n\n\\item{color}{Character. The indicator color to display when power button is on}\n\n\\item{disabled}{Logical. If true, power button cannot be clicked}\n\n\\item{label}{Character | lists containing elements 'style', 'label'.\nthose elements have the following types:\n  - style (named list; optional)\n  - label (character; optional). Description to be displayed alongside the button. To control styling, pass an object with label and style properties.}\n\n\\item{labelPosition}{A value equal to: 'top', 'bottom'. Where the button label is positioned.}\n\n\\item{offButtonStyle}{Named list. style to apply on switch off button}\n\n\\item{on}{Logical. Whether or not the power button is on}\n\n\\item{onButtonStyle}{Named list. style to apply on switch on button}\n\n\\item{persisted_props}{List of a value equal to: 'on's. Properties whose user interactions will persist after refreshing the\ncomponent or the page. Since only `on` is allowed this prop can\nnormally be ignored.}\n\n\\item{persistence}{Logical | character | numeric. Used to allow user interactions in this component to be persisted when\nthe component - or the page - is refreshed. If `persisted` is truthy and\nhasn't changed from its previous value, a `value` that the user has\nchanged while using the app will keep that change, as long as\nthe new `value` also matches what was given originally.\nUsed in conjunction with `persistence_type`.}\n\n\\item{persistence_type}{A value equal to: 'local', 'session', 'memory'. Where persisted user changes will be stored:\nmemory: only kept in memory, reset on page refresh.\nlocal: window.localStorage, data is kept after the browser quit.\nsession: window.sessionStorage, data is cleared once the browser quit.}\n\n\\item{size}{Numeric. The size (diameter) of the power button in pixels}\n\n\\item{style}{Named list. Style to apply to the root component element.}\n\n\\item{theme}{Named list. Theme configuration to be set by a ThemeProvider}\n}\n\n\\value{named list of JSON elements corresponding to React.js properties and their values}\n\n"
  },
  {
    "path": "man/daqPrecisionInput.Rd",
    "content": "% Auto-generated: do not edit by hand\n\\name{daqPrecisionInput}\n\n\\alias{daqPrecisionInput}\n\n\\title{PrecisionInput component}\n\n\\description{\nA numeric input component that converts an input value to the desired precision.\n}\n\n\\usage{\ndaqPrecisionInput(id=NULL, className=NULL, disabled=NULL, label=NULL,\nlabelPosition=NULL, max=NULL, min=NULL,\npersisted_props=NULL, persistence=NULL,\npersistence_type=NULL, precision=NULL, size=NULL,\nstyle=NULL, theme=NULL, value=NULL)\n}\n\n\\arguments{\n\\item{id}{Character. The ID used to identify this compnent in Dash callbacks}\n\n\\item{className}{Character. Class to apply to the root component element.}\n\n\\item{disabled}{Logical. If true, numeric input cannot be changed.}\n\n\\item{label}{Character | lists containing elements 'style', 'label'.\nthose elements have the following types:\n  - style (named list; optional)\n  - label (character; optional). Description to be displayed alongside the scientific notation. To control styling,\npass an object with label and style properties.}\n\n\\item{labelPosition}{A value equal to: 'top', 'bottom'. Where the numeric input label is positioned.}\n\n\\item{max}{Numeric. The maximum value of the numeric input}\n\n\\item{min}{Numeric. The minimum value of the numeric input}\n\n\\item{persisted_props}{List of a value equal to: 'value's. Properties whose user interactions will persist after refreshing the\ncomponent or the page. Since only `value` is allowed this prop can\nnormally be ignored.}\n\n\\item{persistence}{Logical | character | numeric. Used to allow user interactions in this component to be persisted when\nthe component - or the page - is refreshed. If `persisted` is truthy and\nhasn't changed from its previous value, a `value` that the user has\nchanged while using the app will keep that change, as long as\nthe new `value` also matches what was given originally.\nUsed in conjunction with `persistence_type`.}\n\n\\item{persistence_type}{A value equal to: 'local', 'session', 'memory'. Where persisted user changes will be stored:\nmemory: only kept in memory, reset on page refresh.\nlocal: window.localStorage, data is kept after the browser quit.\nsession: window.sessionStorage, data is cleared once the browser quit.}\n\n\\item{precision}{Numeric. Number of significant figures}\n\n\\item{size}{Numeric. The size (length) of the numeric input in pixels}\n\n\\item{style}{Named list. Style to apply to the root component element.}\n\n\\item{theme}{Named list. Theme configuration to be set by a ThemeProvider}\n\n\\item{value}{Numeric. The value of numeric input}\n}\n\n\\value{named list of JSON elements corresponding to React.js properties and their values}\n\n"
  },
  {
    "path": "man/daqSlider.Rd",
    "content": "% Auto-generated: do not edit by hand\n\\name{daqSlider}\n\n\\alias{daqSlider}\n\n\\title{Slider component}\n\n\\description{\nA slider component with support for a target value.\n}\n\n\\usage{\ndaqSlider(id=NULL, className=NULL, color=NULL, disabled=NULL,\ndots=NULL, fullSize=NULL, handleLabel=NULL, included=NULL,\nlabelPosition=NULL, marks=NULL, max=NULL, min=NULL,\npersisted_props=NULL, persistence=NULL,\npersistence_type=NULL, size=NULL, step=NULL, style=NULL,\ntargets=NULL, theme=NULL, updatemode=NULL, value=NULL,\nvertical=NULL)\n}\n\n\\arguments{\n\\item{id}{Character. The ID used to identify this component in Dash callbacks}\n\n\\item{className}{Character. Additional CSS class for the root DOM node.}\n\n\\item{color}{Character | lists containing elements 'default', 'gradient', 'ranges'.\nthose elements have the following types:\n  - default (character; optional): fallback color to use when color.ranges\nhas gaps.\n  - gradient (logical; optional): display ranges as a gradient between given colors.\nrequires color.ranges to be contiguous along\nthe entirety of the gauge's range of values.\n  - ranges (optional): define multiple color ranges on the slider's track.\nthe key determines the color of the range and\nthe value is the start,end of the range itself.. ranges has the following type: lists containing elements 'color'.\nthose elements have the following types:\n  - color (list of numerics; optional). Color configuration for the slider's track.}\n\n\\item{disabled}{Logical. If true, the handles can't be moved.}\n\n\\item{dots}{Logical. When the step value is greater than 1,\nyou can set the dots to true if you want to\nrender the slider with dots.\n\nNote: dots are disabled automatically when\nusing color.ranges}\n\n\\item{fullSize}{Logical. make slider same size of its parent}\n\n\\item{handleLabel}{Character | lists containing elements 'showcurrentvalue', 'label', 'color', 'style'.\nthose elements have the following types:\n  - showcurrentvalue (logical; optional)\n  - label (character; optional)\n  - color (character; optional)\n  - style (named list; optional). Configuration of the slider handle's label.\nPassing falsy value will disable the label.}\n\n\\item{included}{Logical. If the value is true, it means a continuous\nvalue is included. Otherwise, it is an independent value.}\n\n\\item{labelPosition}{A value equal to: 'top', 'bottom'. Where the component label is positioned.}\n\n\\item{marks}{Lists containing elements 'number'.\nthose elements have the following types:\n  - number (optional): . number has the following type: character | lists containing elements 'style', 'label'.\nthose elements have the following types:\n  - style (named list; optional)\n  - label (character; optional). Marks on the slider.\nThe key determines the position,\nand the value determines what will show.\nIf you want to set the style of a specific mark point,\nthe value should be an object which\ncontains style and label properties.}\n\n\\item{max}{Numeric. Maximum allowed value of the slider.}\n\n\\item{min}{Numeric. Minimum allowed value of the slider.}\n\n\\item{persisted_props}{List of a value equal to: 'value's. Properties whose user interactions will persist after refreshing the\ncomponent or the page. Since only `value` is allowed this prop can\nnormally be ignored.}\n\n\\item{persistence}{Logical | character | numeric. Used to allow user interactions in this component to be persisted when\nthe component - or the page - is refreshed. If `persisted` is truthy and\nhasn't changed from its previous value, a `value` that the user has\nchanged while using the app will keep that change, as long as\nthe new `value` also matches what was given originally.\nUsed in conjunction with `persistence_type`.}\n\n\\item{persistence_type}{A value equal to: 'local', 'session', 'memory'. Where persisted user changes will be stored:\nmemory: only kept in memory, reset on page refresh.\nlocal: window.localStorage, data is kept after the browser quit.\nsession: window.sessionStorage, data is cleared once the browser quit.}\n\n\\item{size}{Numeric. Size of the slider in pixels.}\n\n\\item{step}{Numeric. Value by which increments or decrements are made.}\n\n\\item{style}{Named list. Style to apply to the root component element.}\n\n\\item{targets}{Lists containing elements 'number'.\nthose elements have the following types:\n  - number (optional): . number has the following type: character | lists containing elements 'showcurrentvalue', 'label', 'color', 'style'.\nthose elements have the following types:\n  - showcurrentvalue (logical; optional)\n  - label (character; optional)\n  - color (character; optional)\n  - style (named list; optional). Targets on the slider.\nThe key determines the position,\nand the value determines what will show.\nIf you want to set the style of a specific target point,\nthe value should be an object which\ncontains style and label properties.}\n\n\\item{theme}{Named list. Theme configuration to be set by a ThemeProvider}\n\n\\item{updatemode}{A value equal to: 'mouseup', 'drag'. Determines when the component should update\nits value. If `mouseup`, then the slider\nwill only trigger its value when the user has\nfinished dragging the slider. If `drag`, then\nthe slider will update its value continuously\nas it is being dragged.\nOnly use `drag` if your updates are fast.}\n\n\\item{value}{Numeric. The value of the input.}\n\n\\item{vertical}{Logical. If true, the slider will be vertical.}\n}\n\n\\value{named list of JSON elements corresponding to React.js properties and their values}\n\n"
  },
  {
    "path": "man/daqStopButton.Rd",
    "content": "% Auto-generated: do not edit by hand\n\\name{daqStopButton}\n\n\\alias{daqStopButton}\n\n\\title{StopButton component}\n\n\\description{\nA Stop button component\n}\n\n\\usage{\ndaqStopButton(children=NULL, id=NULL, buttonText=NULL, className=NULL,\ndisabled=NULL, label=NULL, labelPosition=NULL,\nn_clicks=NULL, size=NULL, style=NULL, theme=NULL)\n}\n\n\\arguments{\n\\item{children}{A list of or a singular dash component, string or number. The children of the button.}\n\n\\item{id}{Character. The ID used to identify this compnent in Dash callbacks}\n\n\\item{buttonText}{Character. Text displayed in the button}\n\n\\item{className}{Character. Class to apply to the root component element.}\n\n\\item{disabled}{Logical. If true, button cannot be pressesd.}\n\n\\item{label}{Character | lists containing elements 'style', 'label'.\nthose elements have the following types:\n  - style (named list; optional)\n  - label (character; optional). Description to be displayed alongside the button.\nTo control styling, pass an object with label and\nstyle properties.}\n\n\\item{labelPosition}{A value equal to: 'top', 'bottom'. Where the  label is positioned.}\n\n\\item{n_clicks}{Numeric. Number of times the button was clicked}\n\n\\item{size}{Numeric. The size (width) of the stop button in pixels}\n\n\\item{style}{Named list. Style to apply to the root component element.}\n\n\\item{theme}{Named list. Theme configuration to be set by a ThemeProvider}\n}\n\n\\value{named list of JSON elements corresponding to React.js properties and their values}\n\n"
  },
  {
    "path": "man/daqTank.Rd",
    "content": "% Auto-generated: do not edit by hand\n\\name{daqTank}\n\n\\alias{daqTank}\n\n\\title{Tank component}\n\n\\description{\nA Tank component that fills to a value between some range.\n}\n\n\\usage{\ndaqTank(id=NULL, base=NULL, className=NULL, color=NULL,\ncurrentValueStyle=NULL, exceedMessage=NULL, height=NULL,\nlabel=NULL, labelPosition=NULL, lagingMessage=NULL,\nlogarithmic=NULL, max=NULL, min=NULL, scale=NULL,\nshowCurrentValue=NULL, style=NULL, textColor=NULL,\ntheme=NULL, units=NULL, value=NULL, width=NULL)\n}\n\n\\arguments{\n\\item{id}{Character. The ID used to identify this component in Dash callbacks}\n\n\\item{base}{Numeric. Base to be used in logarithmic scale.}\n\n\\item{className}{Character. Class to apply to the root component element.}\n\n\\item{color}{Character. The color of tank fill}\n\n\\item{currentValueStyle}{Named list. text style of current value}\n\n\\item{exceedMessage}{Character. Warning message when value exceed max}\n\n\\item{height}{Numeric. The height of the tank in pixels}\n\n\\item{label}{Character | lists containing elements 'style', 'label'.\nthose elements have the following types:\n  - style (named list; optional)\n  - label (character; optional). Description to be displayed alongside the control. To control styling,\npass an object with label and style properties.}\n\n\\item{labelPosition}{A value equal to: 'top', 'bottom'. Where the component label is positioned.}\n\n\\item{lagingMessage}{Character. Warning message when value is laging from min}\n\n\\item{logarithmic}{Logical. If set to true, a logarithmic scale will be\nused.}\n\n\\item{max}{Numeric. The maximum value of the tank. If logarithmic,\nrepresents the maximum exponent.}\n\n\\item{min}{Numeric. The minimum value of the tank. If logarithmic,\nrepresents minimum exponent.}\n\n\\item{scale}{Lists containing elements 'start', 'interval', 'labelinterval', 'custom'.\nthose elements have the following types:\n  - start (numeric; optional): value to start the scale from. defaults\nto min.\n  - interval (numeric; optional): interval by which the scale goes up. attempts\nto dynamically divide min-max range by\ndefault.\n  - labelinterval (numeric; optional): interval by which labels are added to\nscale marks. defaults to 2 (every other\nmark has a label).\n  - custom (optional): custom scale marks. the key determines the position\nand the value determines what will show. if you want\nto set the style of a specific mark point, the value\nshould be an object which contains style and label\nproperties. custom has the following type: numeric | lists containing elements 'style', 'label'.\nthose elements have the following types:\n  - style (character; optional)\n  - label (character; optional). Configuration for the component scale.}\n\n\\item{showCurrentValue}{Logical. If true, the current value of the tank\nwill be displayed}\n\n\\item{style}{Named list. Style to apply to the root component element.}\n\n\\item{textColor}{Character. text color}\n\n\\item{theme}{Named list. Theme configuration to be set by a ThemeProvider}\n\n\\item{units}{Character. Label for the current value}\n\n\\item{value}{Numeric. The value of tank. If logarithmic, the displayed value\nwill be the logarithm of the inputted value.}\n\n\\item{width}{Numeric. The width of the tank in pixels}\n}\n\n\\value{named list of JSON elements corresponding to React.js properties and their values}\n\n"
  },
  {
    "path": "man/daqThermometer.Rd",
    "content": "% Auto-generated: do not edit by hand\n\\name{daqThermometer}\n\n\\alias{daqThermometer}\n\n\\title{Thermometer component}\n\n\\description{\nA thermometer component that fills to a value between some range\n}\n\n\\usage{\ndaqThermometer(id=NULL, base=NULL, className=NULL, color=NULL, height=NULL,\nlabel=NULL, labelPosition=NULL, logarithmic=NULL, max=NULL,\nmin=NULL, scale=NULL, showCurrentValue=NULL, style=NULL,\ntheme=NULL, units=NULL, value=NULL, width=NULL)\n}\n\n\\arguments{\n\\item{id}{Character. The ID used to identify this compnent in Dash callbacks}\n\n\\item{base}{Numeric. Base to be used in logarithmic scale.}\n\n\\item{className}{Character. Class to apply to the root component element.}\n\n\\item{color}{Character. The color of the thermometer fill/current value text}\n\n\\item{height}{Numeric. The height of the thermometer in pixels}\n\n\\item{label}{Character | lists containing elements 'style', 'label'.\nthose elements have the following types:\n  - style (named list; optional)\n  - label (character; optional). Description to be displayed alongside the control. To control styling, pass an object with label and style properties.}\n\n\\item{labelPosition}{A value equal to: 'top', 'bottom'. Where the component label is positioned.}\n\n\\item{logarithmic}{Logical. If set to true, a logarithmic scale will be\nused.}\n\n\\item{max}{Numeric. The maximum value of the thermometer. If logarithmic,\nrepresents the maximum exponent.}\n\n\\item{min}{Numeric. The minimum value of the thermometer. If logarithmic,\nrepresents the minimum exponent.}\n\n\\item{scale}{Lists containing elements 'start', 'interval', 'labelinterval', 'custom'.\nthose elements have the following types:\n  - start (numeric; optional): value to start the scale from. defaults\nto min.\n  - interval (numeric; optional): interval by which the scale goes up. attempts\nto dynamically divide min-max range by\ndefault.\n  - labelinterval (numeric; optional): interval by which labels are added to\nscale marks. defaults to 2 (every other\nmark has a label).\n  - custom (optional): custom scale marks. the key determines the position\nand the value determines what will show. if you want\nto set the style of a specific mark point, the value\nshould be an object which contains style and label\nproperties. custom has the following type: numeric | lists containing elements 'style', 'label'.\nthose elements have the following types:\n  - style (character; optional)\n  - label (character; optional). Configuration for the component scale.}\n\n\\item{showCurrentValue}{Logical. If true, the current value of the\nthermometer will be displayed}\n\n\\item{style}{Named list. Style to apply to the root component element.}\n\n\\item{theme}{Named list. Theme configuration to be set by a ThemeProvider}\n\n\\item{units}{Character. Label for the current value}\n\n\\item{value}{Numeric. The value of thermometer. If logarthmic, the value\ndisplayed will be the logarithm of the inputted value.}\n\n\\item{width}{Numeric. The width of the thermometer in pixels}\n}\n\n\\value{named list of JSON elements corresponding to React.js properties and their values}\n\n"
  },
  {
    "path": "man/daqToggleSwitch.Rd",
    "content": "% Auto-generated: do not edit by hand\n\\name{daqToggleSwitch}\n\n\\alias{daqToggleSwitch}\n\n\\title{ToggleSwitch component}\n\n\\description{\nA switch component that toggles between two values.\n}\n\n\\usage{\ndaqToggleSwitch(id=NULL, className=NULL, color=NULL, disabled=NULL,\nlabel=NULL, labelPosition=NULL, persisted_props=NULL,\npersistence=NULL, persistence_type=NULL, size=NULL,\nstyle=NULL, theme=NULL, value=NULL, vertical=NULL)\n}\n\n\\arguments{\n\\item{id}{Character. The ID used to identify this compnent in Dash callbacks}\n\n\\item{className}{Character. Class to apply to the root component element.}\n\n\\item{color}{Character. Color to highlight button/indicator}\n\n\\item{disabled}{Logical. If true, switch cannot be clicked}\n\n\\item{label}{Character | lists containing elements 'style', 'label'.\nthose elements have the following types:\n  - style (named list; optional)\n  - label (character; optional) | list of character | lists containing elements 'style', 'label'.\nthose elements have the following types:\n  - style (named list; optional)\n  - label (character; optional)s. Description to be displayed alongside the control. To control styling, pass an object with label and style properties.}\n\n\\item{labelPosition}{A value equal to: 'top', 'bottom'. Where the component label is positioned.}\n\n\\item{persisted_props}{List of a value equal to: 'value's. Properties whose user interactions will persist after refreshing the\ncomponent or the page. Since only `value` is allowed this prop can\nnormally be ignored.}\n\n\\item{persistence}{Logical | character | numeric. Used to allow user interactions in this component to be persisted when\nthe component - or the page - is refreshed. If `persisted` is truthy and\nhasn't changed from its previous value, a `value` that the user has\nchanged while using the app will keep that change, as long as\nthe new `value` also matches what was given originally.\nUsed in conjunction with `persistence_type`.}\n\n\\item{persistence_type}{A value equal to: 'local', 'session', 'memory'. Where persisted user changes will be stored:\nmemory: only kept in memory, reset on page refresh.\nlocal: window.localStorage, data is kept after the browser quit.\nsession: window.sessionStorage, data is cleared once the browser quit.}\n\n\\item{size}{Numeric. The size of the switch}\n\n\\item{style}{Named list. Style to apply to the root object.}\n\n\\item{theme}{Named list. Theme configuration to be set by a ThemeProvider}\n\n\\item{value}{Logical. The state of the switch}\n\n\\item{vertical}{Logical. If true, switch will be vertical instead\nof horizontal}\n}\n\n\\value{named list of JSON elements corresponding to React.js properties and their values}\n\n"
  },
  {
    "path": "man/dashDaq-package.Rd",
    "content": "% Auto-generated: do not edit by hand\n\\docType{package}\n\\name{dashDaq-package}\n\\alias{dashDaq}\n\\title{Interactive Data Acquisition and Control Components for Dash }\n\\description{\nA robust set of controls that make it simpler to integrate data acquisition and controls into your Dash applications.\n}\n\\author{\n\\strong{Maintainer}: Ryan Patrick Kyle <ryan@plotly.com>\n}\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"dash-daq\",\n  \"version\": \"0.6.0\",\n  \"engines\": {\n    \"node\": \">=8\"\n  },\n  \"description\": \"DAQ components for Dash\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git://github.com/plotly/dash-daq.git\"\n  },\n  \"bugs\": {\n    \"url\": \"https://github.com/plotly/dash-daq/issues\"\n  },\n  \"homepage\": \"https://github.com/plotly/dash-daq\",\n  \"main\": \"dash_daq/dash_daq.min.js\",\n  \"author\": \"The Plotly Team <dashdaq@plotly.com>\",\n  \"maintainer\": \"The Plotly Team <dashdaq@plotly.com>\",\n  \"license\": \"MIT\",\n  \"scripts\": {\n    \"copy-lib\": \"copyfiles -u 1 lib/* dash_daq\",\n    \"dash-demo\": \"python demo.py\",\n    \"install-local\": \"pip install -e .\",\n    \"lint\": \"eslint --fix --ignore-path .eslintignore src/\",\n    \"start\": \"npm run build:dev\",\n    \"build:js\": \"webpack --mode production\",\n    \"build:js-dev\": \"webpack --mode development\",\n    \"build:py\": \"python get_version_info.py && yarn copy-lib && dash-generate-components ./src/components dash_daq -p package-info.json\",\n    \"build:r\": \"dash-generate-components ./src/components dash_daq -p package-info.json --r-prefix='daq'\",\n    \"build\": \"npm run test && npm run lint && npm run build:js && npm run build:py && npm run build:r\",\n    \"postbuild\": \"es-check es5 dash_daq/*.js\",\n    \"build:dev\": \"npm run build:js-dev && npm run build:py\",\n    \"build-tarball\": \"npm run build && python setup.py sdist\",\n    \"test\": \"jest src/components/__tests__\",\n    \"test-gauge\": \"jest src/components/__tests__/Gauge.test.js\",\n    \"test:frontend-cov\": \"jest --coverage --silent\",\n    \"test:watch\": \"jest --watch\",\n    \"uninstall-local\": \"pip uninstall dash_daq -y\",\n    \"prettier\": \"yarn prettier-src && yarn prettier-tests\",\n    \"prettier-src\": \"prettier --single-quote --print-width=100 --write src/**/*.js\",\n    \"prettier-tests\": \"prettier --single-quote --print-width=100 --write src/components/__tests__/**/*.js\",\n    \"prettier-restage\": \"git update-index --again\"\n  },\n  \"dependencies\": {\n    \"color\": \"^3.0.0\",\n    \"conic-gradient\": \"^1.0.0\",\n    \"copyfiles\": \"^1.2.0\",\n    \"dash-components-archetype\": \"^0.2.11\",\n    \"deep-equal\": \"^1.0.1\",\n    \"nipplejs\": \"^0.7.1\",\n    \"prop-types\": \"^15.5.9\",\n    \"ramda\": \"^0.25.0\",\n    \"rc-slider\": \"^9.1.0\",\n    \"react\": \"16.13.0\",\n    \"react-color\": \"^2.18.0\",\n    \"react-dom\": \"16.13.0\",\n    \"react-numeric-input\": \"^2.2.3\",\n    \"styled-components\": \"^4.4.0\",\n    \"tinygradient\": \"^0.4.0\",\n    \"webpack\": \"^4.41.0\",\n    \"yarn\": \"^1.22.11\"\n  },\n  \"devDependencies\": {\n    \"@babel/core\": \"^7.6.0\",\n    \"@babel/plugin-syntax-dynamic-import\": \"^7.2.0\",\n    \"@babel/preset-env\": \"^7.6.0\",\n    \"@babel/preset-react\": \"^7.0.0\",\n    \"@plotly/webpack-dash-dynamic-import\": \"^1.1.4\",\n    \"babel-eslint\": \"^10.0.3\",\n    \"babel-loader\": \"^8.0.6\",\n    \"chalk\": \"^2.3.1\",\n    \"css-loader\": \"^3.4.2\",\n    \"dash-components-archetype-dev\": \"^0.2.11\",\n    \"enzyme\": \"^3.10.0\",\n    \"enzyme-adapter-react-16\": \"^1.14.0\",\n    \"es-check\": \"^5.0.0\",\n    \"fs-extra\": \"^5.0.0\",\n    \"identity-obj-proxy\": \"^3.0.0\",\n    \"jest\": \"^24.9.0\",\n    \"jest-canvas-mock\": \"^2.1.1\",\n    \"pre-commit\": \"^1.2.2\",\n    \"prettier\": \"^1.10.2\",\n    \"react-docgen\": \"^3.0.0\",\n    \"react-docgen-markdown-renderer\": \"^1.0.2\",\n    \"react-test-renderer\": \"^16.8.6\",\n    \"sinon\": \"^4.3.0\",\n    \"style-loader\": \"^1.1.3\",\n    \"webpack-cli\": \"^3.3.9\"\n  },\n  \"jest\": {\n    \"coveragePathIgnorePatterns\": [\n      \"<rootDir>/src/styled\",\n      \"<rootDir>/src/helpers\"\n    ],\n    \"testURL\": \"http://localhost\",\n    \"setupFiles\": [\n      \"jest-canvas-mock\"\n    ],\n    \"moduleNameMapper\": {\n      \"\\\\.css\": \"identity-obj-proxy\"\n    }\n  },\n  \"files\": [\n    \"dash_daq/*{.js,.map}\"\n  ],\n  \"pre-commit\": [\n    \"test\",\n    \"prettier\",\n    \"prettier-restage\"\n  ],\n  \"keywords\": [\n    \"dash\",\n    \"daq\",\n    \"components\"\n  ]\n}\n"
  },
  {
    "path": "requirements.txt",
    "content": "--index-url https://pypi.python.org/simple/\n\n-e .\ndash>=1.6.0\n"
  },
  {
    "path": "setup.py",
    "content": "import json\nimport os\nfrom setuptools import setup\nfrom io import open\n\nfilepath = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'README.md')\nwith open(filepath, encoding='utf-8') as f:\n    long_description = f.read()\n\nwith open(os.path.join('dash_daq', 'package-info.json'), encoding='utf-8') as f:\n    package = json.load(f)\n\npackage_name = package[\"name\"].replace(\" \", \"_\").replace(\"-\", \"_\")\n\nsetup(\n    name=package_name,\n    version=package[\"version\"],\n    url='http://github.com/plotly/{}'.format(package_name.replace('_', '-')),\n    author=package['author'],\n    author_email='dashdaq@plotly.com',\n    packages=[package_name],\n    include_package_data=True,\n    description=package['description'] if 'description' in package else package_name,\n    long_description=long_description,\n    long_description_content_type='text/markdown',\n    install_requires=[\n        'dash>=1.6.1'\n    ],\n    classifiers=[\n        \"Programming Language :: Python :: 3\",\n        \"License :: OSI Approved :: MIT License\",\n        \"Operating System :: OS Independent\",\n    ],\n)\n"
  },
  {
    "path": "src/components/BooleanSwitch.react.js",
    "content": "import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { withTheme } from 'styled-components';\n\nimport { omit } from 'ramda';\nimport { light } from '../styled/constants';\nimport ToggleSwitch from './ToggleSwitch.react';\n\n/**\n * A switch component that toggles\n * between on and off.\n */\nclass BooleanSwitch extends Component {\n  constructor(props) {\n    super(props);\n\n    this.state = {\n      on:\n        props.persisted_props == 'on'\n          ? localStorage.getItem(props.id) == null\n            ? props.on\n            : localStorage.getItem(props.id) == 'true'\n          : props.on\n    };\n\n    this.setPropsOverride = this.setPropsOverride.bind(this);\n  }\n\n  UNSAFE_componentWillReceiveProps(newProps) {\n    if (newProps.on !== this.state.on) this.setState({ on: newProps.on });\n  }\n\n  setPropsOverride({ value }) {\n    this.setState({ on: value });\n    if (this.props.setProps) this.props.setProps({ on: value });\n  }\n\n  render() {\n    const { color, theme } = this.props;\n    const filteredProps = omit(['persisted_props'], this.props);\n    if (this.props.persisted_props == 'on' && this.props.id != null) {\n      localStorage.setItem(this.props.id, this.state.on);\n    }\n    return (\n      <ToggleSwitch\n        {...filteredProps}\n        value={this.state.on}\n        setProps={this.setPropsOverride}\n        booleanSwitch={true}\n        color={color || theme.primary}\n      />\n    );\n  }\n}\n\nBooleanSwitch.defaultProps = {\n  on: false,\n  vertical: false,\n  theme: light,\n  labelPosition: 'top',\n  persisted_props: ['on'],\n  persistence_type: 'local'\n};\n\nBooleanSwitch.propTypes = {\n  /**\n   * The ID used to identify this component in Dash callbacks\n   */\n  id: PropTypes.string,\n\n  /**\n   * Whether or not the switch is on\n   */\n  on: PropTypes.bool,\n\n  /**\n   * Color to highlight active switch background\n   */\n  color: PropTypes.string,\n\n  /**\n   * If true, switch will be vertical instead\n   * of horizontal\n   */\n  vertical: PropTypes.bool,\n\n  /**\n   * If true, switch cannot be clicked\n   */\n  disabled: PropTypes.bool,\n\n  /**\n   * Theme configuration to be set by a ThemeProvider\n   */\n  theme: PropTypes.object,\n\n  /**\n   * Description to be displayed alongside the control. To control styling,\n   * pass an object with label and style properties.\n   */\n  label: PropTypes.oneOfType([\n    /**\n     * Label to be displayed\n     */\n    PropTypes.string,\n\n    /**\n     * The style and label\n     */\n    PropTypes.shape({\n      style: PropTypes.object,\n      label: PropTypes.string\n    })\n  ]),\n\n  /**\n   * Where the component label is positioned.\n   */\n  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\n  /**\n   * Class to apply to the root component element.\n   */\n  className: PropTypes.string,\n\n  /**\n   * Style to apply to the root object.\n   */\n  style: PropTypes.object,\n\n  /**\n   * Dash-assigned callback that gets fired when\n   * switch is toggled.\n   */\n  setProps: PropTypes.func,\n\n  /**\n   * Used to allow user interactions in this component to be persisted when\n   * the component - or the page - is refreshed. If `persisted` is truthy and\n   * hasn't changed from its previous value, a `value` that the user has\n   * changed while using the app will keep that change, as long as\n   * the new `value` also matches what was given originally.\n   * Used in conjunction with `persistence_type`.\n   */\n  persistence: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, PropTypes.number]),\n\n  /**\n   * Properties whose user interactions will persist after refreshing the\n   * component or the page. Since only `on` is allowed this prop can\n   * normally be ignored.\n   */\n  persisted_props: PropTypes.arrayOf(PropTypes.oneOf(['on'])),\n\n  /**\n   * Where persisted user changes will be stored:\n   * memory: only kept in memory, reset on page refresh.\n   * local: window.localStorage, data is kept after the browser quit.\n   * session: window.sessionStorage, data is cleared once the browser quit.\n   */\n  persistence_type: PropTypes.oneOf(['local', 'session', 'memory']),\n\n  /**\n   * size of the switch\n   */\n  size: PropTypes.number\n};\n\nconst ThemedBooleanSwitch = withTheme(BooleanSwitch);\nThemedBooleanSwitch.defaultProps = BooleanSwitch.defaultProps;\nexport default ThemedBooleanSwitch;\n"
  },
  {
    "path": "src/components/ColorPicker.react.js",
    "content": "import PropTypes from 'prop-types';\nimport React, { Component, lazy, Suspense } from 'react';\n\nimport { light } from '../styled/constants';\n\nconst RealColorPicker = lazy(() =>\n  import(/* webpackChunkName: \"colorpicker\" */ '../fragments/ColorPicker.react')\n);\n/**\n * A color picker.\n */\nexport default class ColorPicker extends Component {\n  render() {\n    return (\n      <Suspense fallback={null}>\n        <RealColorPicker {...this.props} />\n      </Suspense>\n    );\n  }\n}\n\nColorPicker.defaultProps = {\n  size: 225,\n  theme: light,\n  labelPosition: 'top',\n  persisted_props: ['value'],\n  persistence_type: 'local'\n};\n\nColorPicker.propTypes = {\n  /**\n   * The ID used to identify the color picker in Dash callbacks\n   */\n  id: PropTypes.string,\n\n  /**\n   * Color value of the picker\n   */\n  value: PropTypes.shape({\n    /**\n     * Hex string\n     */\n    hex: PropTypes.string,\n\n    /**\n     * RGB/RGBA object\n     */\n    rbg: PropTypes.shape({\n      r: PropTypes.number,\n      g: PropTypes.number,\n      b: PropTypes.number,\n      a: PropTypes.number\n    })\n  }),\n\n  /**\n   * If true, color cannot be picked.\n   */\n  disabled: PropTypes.bool,\n\n  /**\n   * Size (width) of the component in pixels\n   */\n  size: PropTypes.number,\n\n  /**\n   * Theme configuration to be set by a ThemeProvider\n   */\n  theme: PropTypes.object,\n\n  /**\n   * Description to be displayed alongside the control. To control styling,\n   * pass an object with label and style properties\n   */\n  label: PropTypes.oneOfType([\n    /**\n     * Label to be displayed\n     */\n    PropTypes.string,\n\n    /**\n     * The style and label\n     */\n    PropTypes.shape({\n      style: PropTypes.object,\n      label: PropTypes.string\n    })\n  ]),\n\n  /**\n   * Where the indicator label is positioned\n   */\n  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\n  /**\n   * Class to apply to the root component element\n   */\n  className: PropTypes.string,\n\n  /**\n   * Dash-assigned callback that gets fired when\n   * the color picker's value changes\n   */\n  setProps: PropTypes.func,\n\n  /**\n   * Style to apply to the root component element\n   */\n  style: PropTypes.object,\n\n  /**\n   * Used to allow user interactions in this component to be persisted when\n   * the component - or the page - is refreshed. If `persisted` is truthy and\n   * hasn't changed from its previous value, a `value` that the user has\n   * changed while using the app will keep that change, as long as\n   * the new `value` also matches what was given originally.\n   * Used in conjunction with `persistence_type`.\n   */\n  persistence: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, PropTypes.number]),\n\n  /**\n   * Properties whose user interactions will persist after refreshing the\n   * component or the page. Since only `value` is allowed this prop can\n   * normally be ignored.\n   */\n  persisted_props: PropTypes.arrayOf(PropTypes.oneOf(['value'])),\n\n  /**\n   * Where persisted user changes will be stored:\n   * memory: only kept in memory, reset on page refresh.\n   * local: window.localStorage, data is kept after the browser quit.\n   * session: window.sessionStorage, data is cleared once the browser quit.\n   */\n  persistence_type: PropTypes.oneOf(['local', 'session', 'memory'])\n};\n\nexport const defaultProps = ColorPicker.defaultProps;\nexport const propTypes = ColorPicker.propTypes;\n"
  },
  {
    "path": "src/components/DarkThemeProvider.react.js",
    "content": "import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { ThemeProvider } from 'styled-components';\nimport { dark } from '../styled/constants';\n\n/**\n * DarkThemeProvider is a component that is placed at the root of\n * the component tree to make all components match the dark theme\n */\nfunction DarkThemeProvider(props) {\n  return (\n    <ThemeProvider theme={props.theme || dark}>\n      <div>{props.children}</div>\n    </ThemeProvider>\n  );\n}\n\nDarkThemeProvider.propTypes = {\n  /**\n   * The children of this component\n   */\n  children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n\n  /**\n   * Theme object to override with a custom theme\n   */\n  theme: PropTypes.shape({\n    /**\n     * Highlight color\n     */\n    primary: PropTypes.string,\n    /**\n     * Supporting color\n     */\n    secondary: PropTypes.string,\n    /**\n     * Color used for UI details, like borders\n     */\n    detail: PropTypes.string,\n    /**\n     * True for Dark mode, false for Light\n     */\n    dark: PropTypes.bool\n  })\n};\n\nexport default DarkThemeProvider;\n"
  },
  {
    "path": "src/components/Gauge.react.js",
    "content": "import React, { useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { withTheme } from 'styled-components';\n\nimport GaugeSVG from '../helpers/GaugeSvg.react';\nimport Container from '../styled/Gauge.styled';\nimport LabelContainer from '../styled/shared/LabelContainer.styled';\nimport CurrentValue from '../styled/CurrentValue.styled';\nimport { light } from '../styled/constants';\nimport { ExceededWarning } from '../styled/Tank.styled';\n\nimport { sanitizeRangeValue, computeProgress } from '../helpers/util';\nimport log from '../helpers/logarithm';\nimport generateScale from '../helpers/scale';\nimport { convertInRange, getColorValue } from '../helpers/colorRanges';\n\nimport { getClassName, getFilteredProps } from '../helpers/classNameGenerator';\nimport 'conic-gradient';\n\n/**\n * A Gauge component that points to\n * a value between some range.\n */\nconst Gauge = props => {\n  const {\n    max,\n    min,\n    showCurrentValue,\n    units,\n    logarithmic,\n    base,\n    id,\n    className,\n    style,\n    theme,\n    digits\n  } = props;\n\n  const warningPara = useRef(null);\n\n  const color = convertInRange(props.color, max, min ? min : 0);\n\n  const colorValue = props.textColor || getColorValue(color);\n  const rawValue = props.value != null ? props.value : min;\n  const dirtyValue = logarithmic ? log.compute(rawValue) : rawValue;\n  const currentDisplayValue = dirtyValue;\n  const value = sanitizeRangeValue({ min, max, value: dirtyValue });\n\n  const formatter = logarithmic ? log.generateLogFormatter({ base, isSVG: true }) : null;\n  const scale = generateScale({ ...props, formatter });\n\n  const progress = computeProgress({ min, max, value, progressionTarget: 1 });\n\n  const elementName = getClassName('gauge', theme);\n\n  const currentValue = (\n    <CurrentValue\n      className={elementName + '__current-value'}\n      valueColor={colorValue}\n      units={units}\n      valueSize={((props.size + 32) * 13.3333) / 100}\n      css={'transform: translateY(-150%); top: 0;'}\n    >\n      {logarithmic\n        ? log.formatValue(currentDisplayValue, base)\n        : currentDisplayValue.toFixed(digits)}\n    </CurrentValue>\n  );\n  const filteredProps = getFilteredProps(props);\n\n  useEffect(() => {\n    let currValue = logarithmic ? Math.pow(base || 10, currentDisplayValue) : currentDisplayValue;\n    let maximum = logarithmic ? Math.pow(base || 10, max) : max;\n    let minimum = logarithmic ? Math.pow(base || 10, min) : min;\n    if (currValue > maximum) {\n      let str = '';\n      warningPara.current.innerHTML = props.exceedMessage\n        ? typeof props.exceedMessage == 'string'\n          ? props.exceedMessage\n          : props.exceedMessage(currValue, maximum) || str\n        : str;\n    } else if (currValue < minimum) {\n      let str = '';\n      warningPara.current.innerHTML = props.lagingMessage\n        ? typeof props.lagingMessage == 'string'\n          ? props.lagingMessage\n          : props.lagingMessage(currValue, minimum) || str\n        : str;\n    } else {\n      warningPara.current.innerHTML = '';\n    }\n  }, [currentDisplayValue]);\n\n  return (\n    <div id={id} className={elementName + (className ? ' ' + className : '')} style={style}>\n      <ExceededWarning ref={warningPara} />\n      <LabelContainer\n        className={elementName + '__label'}\n        {...filteredProps}\n        labelCSS={props.labelPosition === 'top' ? null : 'transform: translateY(-80px);'}\n      >\n        <Container color={colorValue}>\n          <GaugeSVG\n            className={elementName + '__gauge'}\n            {...{ ...filteredProps, scale, progress, color }}\n          />\n          {showCurrentValue && currentValue}\n        </Container>\n      </LabelContainer>\n    </div>\n  );\n};\n\nGauge.defaultProps = {\n  min: 0,\n  max: 10,\n  base: 10,\n  theme: light,\n  labelPosition: 'top',\n  digits: 1,\n  size: 208\n};\n\nGauge.propTypes = {\n  /**\n   * The ID used to identify this compnent in Dash callbacks\n   */\n  id: PropTypes.string,\n\n  /**\n   * The value of gauge. If logarithmic, the displayed\n   * value will be the logarithm of the inputted value.\n   */\n  value: PropTypes.number,\n\n  /**\n   * The size (diameter) of the gauge in pixels\n   */\n  size: PropTypes.number,\n\n  /**\n   * The minimum value of the gauge. If logarithmic,\n   * represents the minimum exponent.\n   */\n  min: PropTypes.number,\n\n  /**\n   * The maximum value of the gauge. If logarithmic,\n   * represents the maximum exponent.\n   */\n  max: PropTypes.number,\n\n  /**\n   * Base to be used in logarithmic scale.\n   */\n  base: PropTypes.number,\n\n  /**\n   * If set to true, a logarithmic scale will be\n   * used.\n   */\n  logarithmic: PropTypes.bool,\n\n  /**\n   * If true, the current value of the gauge\n   * will be displayed\n   */\n  showCurrentValue: PropTypes.bool,\n\n  /**\n   * Number of digits for current value\n   */\n  digits: PropTypes.number,\n\n  /**\n   * Label for the current value\n   */\n  units: PropTypes.string,\n\n  /**\n   * Theme configuration to be set by a ThemeProvider\n   */\n  theme: PropTypes.object,\n\n  /**\n   * Description to be displayed alongside the control. To control styling, pass an object with label and style properties.\n   */\n  label: PropTypes.oneOfType([\n    /**\n     * Label to be displayed\n     */\n    PropTypes.string,\n\n    /**\n     * The style and label\n     */\n    PropTypes.shape({\n      style: PropTypes.object,\n      label: PropTypes.string\n    })\n  ]),\n\n  /**\n   * Where the component label is positioned.\n   */\n  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\n  /**\n   * Configuration for the component scale.\n   */\n  scale: PropTypes.shape({\n    /**\n     * Value to start the scale from. Defaults\n     * to min.\n     */\n    start: PropTypes.number,\n\n    /**\n     * Interval by which the scale goes up. Attempts\n     * to dynamically divide min-max range by\n     * default.\n     */\n    interval: PropTypes.number,\n\n    /**\n     * Interval by which labels are added to\n     * scale marks. Defaults to 2 (every other\n     * mark has a label).\n     */\n    labelInterval: PropTypes.number,\n\n    /**\n     * Custom scale marks. The key determines the position\n     * and the value determines what will show. If you want\n     * to set the style of a specific mark point, the value\n     * should be an object which contains style and label\n     * properties\n     */\n    custom: PropTypes.oneOfType([\n      /**\n       * Label for the mark\n       */\n      PropTypes.number,\n\n      /**\n       * Style object with label\n       */\n      PropTypes.shape({\n        style: PropTypes.string,\n        label: PropTypes.string\n      })\n    ])\n  }),\n\n  /**\n   * Color configuration for the gauge's track.\n   */\n  color: PropTypes.oneOfType([\n    /**\n     * Color used for gauge's track/indicator\n     */\n    PropTypes.string,\n    /**\n     * Color ranges configuration.\n     */\n    PropTypes.shape({\n      /**\n       * Color used for current value text and other minor accents\n       */\n      default: PropTypes.string,\n      /**\n       * Display ranges as a gradient between given colors.\n       */\n      gradient: PropTypes.bool,\n      /**\n       * Define multiple color ranges on the gauge's track.\n       * The key determines the color of the range and\n       * the value is the start,end of the range itself.\n       * Ranges must be contiguous along the entirety\n       * of the gauge's range of values.\n       */\n      ranges: PropTypes.shape({\n        color: PropTypes.arrayOf(\n          PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)])\n        )\n      })\n    })\n  ]),\n\n  /**\n   * Class to apply to the root component element.\n   */\n  className: PropTypes.string,\n\n  /**\n   * Style to apply to the root component element.\n   */\n  style: PropTypes.object,\n\n  /**\n   * Warning message when value exceed max\n   */\n  exceedMessage: PropTypes.oneOfType([PropTypes.string]),\n\n  /**\n   * Warning message when value is laging from min\n   */\n  lagingMessage: PropTypes.oneOfType([PropTypes.string]),\n\n  /**\n   * text color for theme\n   */\n  textColor: PropTypes.string\n};\n\nexport default withTheme(Gauge);\n"
  },
  {
    "path": "src/components/GraduatedBar.react.js",
    "content": "import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withTheme } from 'styled-components';\nimport { light } from '../styled/constants';\nimport { getColorValue, isContiguous, getGradientObject } from '../helpers/colorRanges';\nimport { Container, Block, Value } from '../styled/GraduatedBar.styled';\nimport LabelContainer from '../styled/shared/LabelContainer.styled';\n\nimport { getClassName, getFilteredProps } from '../helpers/classNameGenerator';\n\nconst valueColor = (value, color) => {\n  const entry = Object.entries(color.ranges).filter(\n    ([, range]) => value >= range[0] && value <= range[1]\n  )[0];\n\n  return entry && entry[0];\n};\n\n/**\n * A graduated bar component that displays\n * a value within some range as a\n * percentage.\n */\nconst GraduatedBar = props => {\n  const {\n    step,\n    min,\n    max,\n    label,\n    labelPosition,\n    id,\n    className,\n    color,\n    size,\n    style,\n    showCurrentValue,\n    vertical,\n    theme\n  } = props;\n  const value = props.value || min;\n\n  let gradient = null;\n  const progressBlocks = [];\n  const normalizedValue = Math.max(Math.min(max, value), min);\n\n  if (color.gradient && isContiguous({ color, min, max })) {\n    gradient = getGradientObject({ color, min, max });\n  }\n\n  const elementName = getClassName('graduatedbar', theme);\n  const filteredProps = getFilteredProps(props);\n\n  for (let i = min; i < normalizedValue; i += step) {\n    let blockProps = { ...filteredProps, color: getColorValue(color) };\n\n    if (color.ranges && valueColor(i, color)) {\n      blockProps = { ...filteredProps, color: valueColor(i, color) };\n    }\n\n    progressBlocks.push(\n      <Block\n        className={elementName + '__progressBlock'}\n        key={i}\n        progress={i / (max - min)}\n        gradient={gradient}\n        {...blockProps}\n      />\n    );\n  }\n\n  let percent = (normalizedValue / (max - min)) * 100;\n  if (!isFinite(percent)) percent = 0;\n\n  return (\n    <div id={id} className={elementName + (className ? ' ' + className : '')} style={style}>\n      <LabelContainer\n        className={elementName + '__label'}\n        label={label}\n        labelPosition={labelPosition}\n      >\n        <Container vertical={vertical} size={size}>\n          {progressBlocks}\n          {showCurrentValue && (\n            <Value className={elementName + '__currentvalue'} vertical={vertical}>\n              {percent.toFixed(0)}%\n            </Value>\n          )}\n        </Container>\n      </LabelContainer>\n    </div>\n  );\n};\n\nGraduatedBar.defaultProps = {\n  min: 0,\n  max: 10,\n  size: 250,\n  step: 0.5,\n  theme: light,\n  labelPosition: 'top',\n  color: light.primary\n};\n\nGraduatedBar.propTypes = {\n  /**\n   * The ID used to identify this compnent in Dash callbacks\n   */\n  id: PropTypes.string,\n\n  /**\n   * The value of the graduated bar\n   */\n  value: PropTypes.number,\n\n  /**\n   * Color configuration for the graduated bar's\n   * progress blocks.\n   */\n  color: PropTypes.oneOfType([\n    /**\n     * Color used for graduated bar's track/indicator\n     */\n    PropTypes.string,\n    /**\n     * Color ranges configuration.\n     */\n    PropTypes.shape({\n      /**\n       * Fallback color to use when color.ranges\n       * has gaps.\n       */\n      default: PropTypes.string,\n      /**\n       * Display ranges as a gradient between given colors.\n       * Requires color.ranges to be contiguous along\n       * the entirety of the graduated bar's range of values.\n       */\n      gradient: PropTypes.bool,\n      /**\n       * Define multiple color ranges on the graduated bar's track.\n       * The key determines the color of the range and\n       * the value is the start,end of the range itself.\n       */\n      ranges: PropTypes.shape({\n        color: PropTypes.arrayOf(PropTypes.number)\n      })\n    })\n  ]),\n\n  /**\n   * The size (length) of the graduated bar in pixels\n   */\n  size: PropTypes.number,\n\n  /**\n   * If true, will display bar vertically instead of horizontally\n   */\n  vertical: PropTypes.bool,\n\n  /**\n   * The minimum value of the graduated bar\n   */\n  min: PropTypes.number,\n\n  /**\n   * The maximum value of the graduated bar\n   */\n  max: PropTypes.number,\n\n  /**\n   * Value by which progress blocks appear\n   */\n  step: PropTypes.number,\n\n  /**\n   * If true, the current percentage\n   *  of the bar will be displayed\n   */\n  showCurrentValue: PropTypes.bool,\n\n  /**\n   * Theme configuration to be set by a ThemeProvider\n   */\n  theme: PropTypes.object,\n\n  /**\n   * Description to be displayed alongside the control. To control styling, pass an object with label and style properties.\n   */\n  label: PropTypes.oneOfType([\n    /**\n     * Label to be displayed\n     */\n    PropTypes.string,\n\n    /**\n     * The style and label\n     */\n    PropTypes.shape({\n      style: PropTypes.object,\n      label: PropTypes.string\n    })\n  ]),\n\n  /**\n   * Where the component label is positioned.\n   */\n  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\n  /**\n   * Class to apply to the root component element.\n   */\n  className: PropTypes.string,\n\n  /**\n   * Style to apply to the root component element.\n   */\n  style: PropTypes.object\n};\n\nexport default withTheme(GraduatedBar);\n"
  },
  {
    "path": "src/components/Indicator.react.js",
    "content": "import React from 'react';\nimport PropTypes from 'prop-types';\nimport convertColor from 'color';\nimport { withTheme } from 'styled-components';\n\nimport IndicatorLight from '../styled/shared/Indicator.styled';\n\nimport LabelContainer from '../styled/shared/LabelContainer.styled';\n\nimport { colors, light } from '../styled/constants';\n\nimport { getClassName, getFilteredProps } from '../helpers/classNameGenerator';\n\n/**\n * A boolean indicator LED.\n */\nconst Indicator = props => {\n  const { id, className, color, size, width, height, value, style, theme } = props;\n\n  const bg = convertColor(color)\n    .desaturate(0.2)\n    .lighten(0.2)\n    .rgb()\n    .toString();\n\n  const elementName = getClassName('indicator', theme);\n  const filteredProps = getFilteredProps(props);\n\n  return (\n    <div id={id} className={elementName + (className ? ' ' + className : '')} style={style}>\n      <LabelContainer {...filteredProps}>\n        <IndicatorLight\n          className={elementName + '__indicator' + (props.value ? '--on' : '--off')}\n          size={size}\n          width={width}\n          height={height}\n          rectangular={width && height}\n          main={true}\n          on={value}\n          primary={color}\n          secondary={!theme.dark ? bg : null}\n        />\n      </LabelContainer>\n    </div>\n  );\n};\n\nIndicator.defaultProps = {\n  color: colors.DARKER_PRIMARY,\n  size: 15,\n  theme: light,\n  labelPosition: 'top'\n};\n\nIndicator.propTypes = {\n  /**\n   * The ID used to identify the indicator in Dash callbacks\n   */\n  id: PropTypes.string,\n\n  /**\n   * If true, indicator is illuminated\n   */\n  value: PropTypes.bool,\n\n  /**\n   * Color of the indicator\n   */\n  color: PropTypes.string,\n\n  /**\n   * Size of the component. Either use this or width and height\n   */\n  size: PropTypes.number,\n\n  /**\n   * Width of the component. Set both width and height for a rectangular indicator\n   */\n  width: PropTypes.number,\n\n  /**\n   * Height of the component. Set both width and height for a rectangular indicator\n   */\n  height: PropTypes.number,\n\n  /**\n   * Theme configuration to be set by a ThemeProvider\n   */\n  theme: PropTypes.object,\n\n  /**\n   * Description to be displayed alongside the control. To control styling,\n   * pass an object with label and style properties\n   */\n  label: PropTypes.oneOfType([\n    /**\n     * Label to be displayed\n     */\n    PropTypes.string,\n\n    /**\n     * The style and label\n     */\n    PropTypes.shape({\n      style: PropTypes.object,\n      label: PropTypes.string\n    })\n  ]),\n\n  /**\n   * Where the indicator label is positioned\n   */\n  labelPosition: PropTypes.oneOf(['top', 'bottom', 'right', 'left']),\n\n  /**\n   * Class to apply to the root component element\n   */\n  className: PropTypes.string,\n\n  /**\n   * Style to apply to the root component element\n   */\n  style: PropTypes.object\n};\n\nexport default withTheme(Indicator);\n"
  },
  {
    "path": "src/components/Joystick.react.js",
    "content": "import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { withTheme } from 'styled-components';\nimport joystick from 'nipplejs';\n\nimport { light } from '../styled/constants';\nimport LabelContainer from '../styled/shared/LabelContainer.styled';\n\nimport { getClassName, getFilteredProps } from '../helpers/classNameGenerator';\n\n/**\n * A joystick.\n */\nclass Joystick extends Component {\n  constructor(props) {\n    super(props);\n    this.lastAngle = 0;\n  }\n\n  componentDidMount() {\n    const { size, setProps } = this.props;\n    this.manager = joystick.create({\n      mode: 'static',\n      color: 'grey',\n      size: size,\n      position: { left: '50%', top: '50%' },\n      zone: this.zoneRef\n    });\n    this.manager.on('move', (e, data) => {\n      const {\n        angle: { degree },\n        force\n      } = data;\n      this.lastAngle = degree;\n      if (setProps) {\n        setProps({\n          angle: degree,\n          force\n        });\n      }\n    });\n    this.manager.on('end', () => {\n      if (setProps) {\n        setProps({\n          angle: this.lastAngle,\n          force: 0\n        });\n      }\n    });\n  }\n\n  componentWillUnmount() {\n    this.manager.destroy();\n  }\n\n  render() {\n    const { id, className, style, size, theme } = this.props;\n\n    const elementName = getClassName('joystick', theme);\n    const filteredProps = getFilteredProps(this.props);\n\n    return (\n      <div id={id} className={elementName + (className ? ' ' + className : '')} style={style}>\n        <LabelContainer className={elementName + '__label'} {...filteredProps}>\n          <div\n            className={elementName + '__joystick'}\n            ref={ref => (this.zoneRef = ref)}\n            style={{\n              position: 'relative',\n              width: size + 'px',\n              height: size + 'px'\n            }}\n          />\n        </LabelContainer>\n      </div>\n    );\n  }\n}\n\nJoystick.defaultProps = {\n  size: 100,\n  theme: light,\n  labelPosition: 'top'\n};\n\nJoystick.propTypes = {\n  /**\n   * The ID used to identify the Joystick in Dash callbacks\n   */\n  id: PropTypes.string,\n\n  /**\n   * Joystick angle in degrees, 0 = right, 90 = up, 180 = left, 270 = down\n   */\n  angle: PropTypes.number,\n\n  /**\n   * Joystick force: distance between cursor and center in big-circle radii\n   */\n  force: PropTypes.number,\n\n  /**\n   * Size (width) of the component in pixels\n   */\n  size: PropTypes.number,\n\n  /**\n   * Theme configuration to be set by a ThemeProvider\n   */\n  theme: PropTypes.object,\n\n  /**\n   * Description to be displayed alongside the control. To control styling,\n   * pass an object with label and style properties\n   */\n  label: PropTypes.oneOfType([\n    /**\n     * Label to be displayed\n     */\n    PropTypes.string,\n\n    /**\n     * The style and label\n     */\n    PropTypes.shape({\n      style: PropTypes.object,\n      label: PropTypes.string\n    })\n  ]),\n\n  /**\n   * Where the indicator label is positioned\n   */\n  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\n  /**\n   * Class to apply to the root component element\n   */\n  className: PropTypes.string,\n\n  /**\n   * Dash-assigned callback that gets fired when\n   * the color picker's value changes\n   */\n  setProps: PropTypes.func,\n\n  /**\n   * Style to apply to the root component element\n   */\n  style: PropTypes.object\n};\n\nexport default withTheme(Joystick);\n"
  },
  {
    "path": "src/components/Knob.react.js",
    "content": "import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { withTheme } from 'styled-components';\n\nimport KnobSvg from '../helpers/KnobSvg.react';\nimport Container from '../styled/Knob.styled';\nimport LabelContainer from '../styled/shared/LabelContainer.styled';\nimport CurrentValue from '../styled/CurrentValue.styled';\nimport { light, TRACK_TOTAL_DEG } from '../styled/constants';\nimport { computeProgress, roundToDecimal } from '../helpers/util';\nimport { getColorValue } from '../helpers/colorRanges';\nimport generateScale from '../helpers/scale';\n\nimport { getClassName, getFilteredProps } from '../helpers/classNameGenerator';\n\nconst RESET_START_ANGLE = -1;\n\nconst valueToDeg = ({ min, max, value }) =>\n  computeProgress({ min, max, value, progressionTarget: TRACK_TOTAL_DEG });\nconst degToValue = ({ min, max, deg }) =>\n  computeProgress({ min: 0, max: TRACK_TOTAL_DEG, value: deg, progressionTarget: max - min }) + min;\n\n/**\n * A knob component that can be turned\n * to a value between some range.\n */\nclass Knob extends Component {\n  constructor(props) {\n    super(props);\n\n    const currentDeg = valueToDeg({\n      min: props.min,\n      max: props.max,\n      value: props.value != null ? props.value : props.min\n    });\n\n    this.state = {\n      min: props.min,\n      max: props.max,\n      value: props.value || props.min,\n      scale: generateScale(props),\n      isDragging: false,\n      startAngle: RESET_START_ANGLE,\n      rotation: currentDeg,\n      currentDeg\n    };\n\n    this.onMouseDown = this.onMouseDown.bind(this);\n    this.onMouseUp = this.onMouseUp.bind(this);\n    this.onMouseMove = this.onMouseMove.bind(this);\n    this.setValue = this.setValue.bind(this);\n    this.getValue = this.getValue.bind(this);\n  }\n\n  noop() {}\n\n  getValue(value) {\n    return value > this.props.min && value < this.props.max\n      ? value\n      : this.props.min > value\n      ? this.props.min\n      : this.props.max;\n  }\n\n  UNSAFE_componentWillReceiveProps(newProps) {\n    if (typeof newProps.value !== 'undefined') this.setState({ value: newProps.value });\n    if (this.state.max != newProps.max) {\n      this.setState({ max: newProps.max instanceof Number ? newProps.max : this.state.max });\n    }\n    if (this.state.min != newProps.min) {\n      this.setState({ min: newProps.min instanceof Number ? newProps.min : this.state.min });\n    }\n  }\n\n  componentDidMount() {\n    window.addEventListener('mouseup', this.onMouseUp, false);\n    // eslint-disable-next-line\n    require('conic-gradient');\n  }\n\n  componentWillUnmount() {\n    window.removeEventListener('mouseup', this.onMouseUp, false);\n  }\n\n  onMouseDown() {\n    this.setState({ isDragging: true });\n  }\n\n  onMouseUp() {\n    if (this.state.isDragging) {\n      this.setState(state => ({\n        rotation: state.currentDeg,\n        isDragging: false,\n        startAngle: RESET_START_ANGLE\n      }));\n    }\n  }\n\n  onMouseMove(e) {\n    if (!this.state.isDragging) {\n      return;\n    }\n\n    const { min, max } = this.props;\n    const { rotation } = this.state;\n    let { startAngle } = this.state;\n\n    if (e.touches) {\n      e = e.touches[0];\n    }\n\n    const rect = this.knobElement.getBoundingClientRect();\n    const centerX = rect.width / 2 + rect.left;\n    const centerY = rect.height / 2 + rect.top;\n    const radians = Math.atan2(e.clientX - centerX, e.clientY - centerY);\n    let angle = radians * (180 / Math.PI);\n\n    if (e.clientX - centerX >= 0) {\n      angle = Math.abs(360 - angle) + 180;\n    } else {\n      angle = angle - 180;\n    }\n\n    angle = Math.abs(angle);\n\n    if (startAngle === RESET_START_ANGLE) {\n      startAngle = angle;\n      this.setState({ startAngle });\n    }\n\n    let tmp = Math.floor(angle - startAngle + rotation);\n    tmp = Math.min(tmp, TRACK_TOTAL_DEG);\n    tmp = Math.max(tmp, 0);\n\n    this.setState({ currentDeg: tmp });\n    this.setValue(roundToDecimal(degToValue({ min, max, deg: tmp }), 2));\n  }\n\n  setValue(value) {\n    this.setState({ value });\n    if (this.props.setProps) this.props.setProps({ value });\n  }\n\n  render() {\n    const { min, max, value = this.props.min } = this.props;\n    const { id, className, labelPosition, color, style, disabled, theme, textColor } = this.props;\n    const progress = computeProgress({\n      min,\n      max,\n      value: this.getValue(value),\n      progressionTarget: 1\n    });\n\n    const colorValue = textColor || getColorValue(color);\n\n    const elementName = getClassName('knob', theme);\n    const filteredProps = getFilteredProps(this.props);\n\n    const currentValue = (\n      <>\n        <CurrentValue\n          className={elementName + '__current-value'}\n          valueColor={colorValue}\n          valueSize={Math.min(((this.props.size + 32) * 13.3333) / 100, 32)}\n          units={false}\n          css={'transform: translateY(0%); top: 0;'}\n        >\n          {value.toFixed(this.props.digits)}\n        </CurrentValue>\n      </>\n    );\n\n    return (\n      <div id={id} className={elementName + (className ? ' ' + className : '')} style={style}>\n        <LabelContainer\n          className={elementName + '__label'}\n          {...filteredProps}\n          labelCSS={labelPosition === 'top' ? null : 'transform: translateY(-40px);'}\n        >\n          <Container\n            className={elementName + '__container'}\n            colorValue={colorValue}\n            color={getColorValue(color)}\n          >\n            {this.props.showCurrentValue && currentValue}\n            <KnobSvg\n              progress={progress}\n              {...filteredProps}\n              {...this.state}\n              min={this.props.min != this.state.min ? this.props.min : this.state.min}\n              max={this.props.max != this.state.max ? this.props.max : this.state.max}\n              value={this.getValue(value)}\n              scale={generateScale(this.props)}\n              currentDeg={valueToDeg({\n                min: this.props.min,\n                max: this.props.max,\n                value: this.getValue(value)\n              })}\n              refFunc={ele => (this.knobElement = ele)}\n              onMouseDown={disabled ? this.noop : this.onMouseDown}\n              onMouseUp={disabled ? this.noop : this.onMouseUp}\n              onMouseMove={disabled ? this.noop : this.onMouseMove}\n            />\n          </Container>\n        </LabelContainer>\n      </div>\n    );\n  }\n}\n\nKnob.defaultProps = {\n  min: 0,\n  max: 10,\n  theme: light,\n  labelPosition: 'top',\n  persisted_props: ['value'],\n  persistence_type: 'local',\n  size: 114\n};\n\nKnob.propTypes = {\n  /**\n   * The ID used to identify this compnent in Dash callbacks\n   */\n  id: PropTypes.string,\n\n  /**\n   * The value of knob\n   */\n  value: PropTypes.number,\n\n  /**\n   * Color configuration for the knob's track.\n   */\n  color: PropTypes.oneOfType([\n    /**\n     * Color used for knob's track/indicator\n     */\n    PropTypes.string,\n    /**\n     * Color ranges configuration.\n     */\n    PropTypes.shape({\n      /**\n       * Color used for current value text and other minor accents\n       */\n      default: PropTypes.string,\n      /**\n       * Display ranges as a gradient between given colors.\n       */\n      gradient: PropTypes.bool,\n      /**\n       * Define multiple color ranges on the knob's track.\n       * The key determines the color of the range and\n       * the value is the start,end of the range itself.\n       * Ranges must be contiguous along the entirety\n       * of the knob's range of values.\n       */\n      ranges: PropTypes.shape({\n        color: PropTypes.arrayOf(PropTypes.number)\n      })\n    })\n  ]),\n\n  /**\n   * The size (diameter) of the knob in pixels\n   */\n  size: PropTypes.number,\n\n  /**\n   * The minimum value of the knob\n   */\n  min: PropTypes.number,\n\n  /**\n   * The maximum value of the knob\n   */\n  max: PropTypes.number,\n\n  /**\n   * If true, knob cannot be moved.\n   */\n  disabled: PropTypes.bool,\n\n  /**\n   * Theme configuration to be set by a ThemeProvider\n   */\n  theme: PropTypes.object,\n\n  /**\n   * Description to be displayed alongside the control. To control styling, pass an object with label and style properties.\n   */\n  label: PropTypes.oneOfType([\n    /**\n     * Label to be displayed\n     */\n    PropTypes.string,\n\n    /**\n     * The style and label\n     */\n    PropTypes.shape({\n      style: PropTypes.object,\n      label: PropTypes.string\n    })\n  ]),\n\n  /**\n   * Where the knob label is positioned.\n   */\n  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\n  /**\n   * Configuration for the component scale.\n   */\n  scale: PropTypes.shape({\n    /**\n     * Value to start the scale from. Defaults\n     * to min.\n     */\n    start: PropTypes.number,\n\n    /**\n     * Interval by which the scale goes up. Attempts\n     * to dynamically divide min-max range by\n     * default.\n     */\n    interval: PropTypes.number,\n\n    /**\n     * Interval by which labels are added to\n     * scale marks. Defaults to 2 (every other\n     * mark has a label).\n     */\n    labelInterval: PropTypes.number,\n\n    /**\n     * Custom scale marks. The key determines the position\n     * and the value determines what will show. If you want\n     * to set the style of a specific mark point, the value\n     * should be an object which contains style and label\n     * properties\n     */\n    custom: PropTypes.oneOfType([\n      /**\n       * Label for the mark\n       */\n      PropTypes.number,\n\n      /**\n       * Style object with label\n       */\n      PropTypes.shape({\n        style: PropTypes.string,\n        label: PropTypes.string\n      })\n    ])\n  }),\n\n  /**\n   * Class to apply to the root component element.\n   */\n  className: PropTypes.string,\n\n  /**\n   * Style to apply to the root component element.\n   */\n  style: PropTypes.object,\n\n  /**\n   * Dash-assigned callback that gets fired when selected\n   * value changes.\n   */\n  setProps: PropTypes.func,\n\n  /**\n   * Used to allow user interactions in this component to be persisted when\n   * the component - or the page - is refreshed. If `persisted` is truthy and\n   * hasn't changed from its previous value, a `value` that the user has\n   * changed while using the app will keep that change, as long as\n   * the new `value` also matches what was given originally.\n   * Used in conjunction with `persistence_type`.\n   */\n  persistence: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, PropTypes.number]),\n\n  /**\n   * Properties whose user interactions will persist after refreshing the\n   * component or the page. Since only `value` is allowed this prop can\n   * normally be ignored.\n   */\n  persisted_props: PropTypes.arrayOf(PropTypes.oneOf(['value'])),\n\n  /**\n   * Where persisted user changes will be stored:\n   * memory: only kept in memory, reset on page refresh.\n   * local: window.localStorage, data is kept after the browser quit.\n   * session: window.sessionStorage, data is cleared once the browser quit.\n   */\n  persistence_type: PropTypes.oneOf(['local', 'session', 'memory']),\n\n  /**\n\n   * show current value of knob\n   */\n  showCurrentValue: PropTypes.bool,\n\n  /**\n   * text color of scale\n   */\n  textColor: PropTypes.string,\n\n  /**\n   * number of digits to show after decimal places\n   */\n  digits: PropTypes.number\n};\n\nconst ThemedKnob = withTheme(Knob);\nThemedKnob.defaultProps = Knob.defaultProps;\nexport default ThemedKnob;\n"
  },
  {
    "path": "src/components/LEDDisplay.react.js",
    "content": "import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withTheme } from 'styled-components';\n\nimport { Digit } from '../helpers/LEDDisplaySvg.react';\nimport { LEDContainer } from '../styled/LEDDisplay.styled';\nimport LabelContainer from '../styled/shared/LabelContainer.styled';\nimport { colors, light } from '../styled/constants';\n\nimport { getClassName, getFilteredProps } from '../helpers/classNameGenerator';\n\nconst VALID_INPUT = /^(\\-)?((\\.|:)?[0-9])*$/;\nconst isValidInput = VALID_INPUT.test.bind(VALID_INPUT);\n\n/**\n * A 7-bar LED display component.\n */\nconst LEDDisplay = props => {\n  const elementName = getClassName('leddisplay', props.theme);\n  const digits = isValidInput(props.value) ? extractDigits(props, elementName) : null;\n  const led = <LEDContainer backgroundColor={props.backgroundColor}>{digits}</LEDContainer>;\n\n  const filteredProps = getFilteredProps(props);\n\n  return (\n    <div\n      id={props.id}\n      className={elementName + (props.className ? ' ' + props.className : '')}\n      style={props.style}\n    >\n      <LabelContainer {...filteredProps}>{digits ? led : 'Invalid Input'}</LabelContainer>\n    </div>\n  );\n};\n\nfunction extractDigits({ value, color, backgroundColor, theme, size }, elementName) {\n  const digitStack = value\n    .toString()\n    .split('')\n    .reverse();\n\n  const formattedDigits = [];\n\n  addLeadingZeroIfNeeded(digitStack);\n\n  let currKey = 0;\n  while (digitStack.length) {\n    const currDigit = digitStack.pop();\n    const nextDigit = digitStack.pop();\n\n    formattedDigits.push(\n      <Digit\n        className={elementName + '__digit'}\n        theme={theme}\n        key={currKey++}\n        value={currDigit}\n        hasColon={nextDigit === ':'}\n        hasDecimal={nextDigit === '.'}\n        color={color}\n        backgroundColor={backgroundColor}\n        size={size}\n      />\n    );\n\n    if (nextDigit && nextDigit !== '.' && nextDigit !== ':') digitStack.push(nextDigit);\n  }\n\n  return formattedDigits;\n}\n\nfunction addLeadingZeroIfNeeded(digits) {\n  let isNegative = false;\n\n  if (digits[digits.length - 1] === '-') {\n    isNegative = true;\n    digits.pop();\n  }\n  const leadingDigit = digits[digits.length - 1];\n\n  if (['.', ':'].includes(leadingDigit)) digits.push('0');\n  if (isNegative) digits.push('-');\n}\n\nLEDDisplay.defaultProps = {\n  color: colors.PRIMARY,\n  backgroundColor: '#fff',\n  size: 42,\n  theme: light,\n  labelPosition: 'top'\n};\n\nLEDDisplay.propTypes = {\n  /**\n   * The ID used to identify the display in Dash callbacks\n   */\n  id: PropTypes.string,\n\n  /**\n   * Value to be displayed. A number or a string\n   * containing only digits (0-9), periods, and colons,\n   * and possibly starting with a minus sign.\n   */\n  value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n  /**\n   * Color of the display\n   */\n  color: PropTypes.string,\n\n  /**\n   * Color of the display's background\n   */\n  backgroundColor: PropTypes.string,\n\n  /**\n   * Size of the display\n   */\n  size: PropTypes.number,\n\n  /**\n   * Theme configuration to be set by a ThemeProvider\n   */\n  theme: PropTypes.object,\n\n  /**\n   * Description to be displayed alongside the control. To control styling,\n   * pass an object with label and style properties\n   */\n  label: PropTypes.oneOfType([\n    /**\n     * Label to be displayed\n     */\n    PropTypes.string,\n\n    /**\n     * The style and label\n     */\n    PropTypes.shape({\n      style: PropTypes.object,\n      label: PropTypes.string\n    })\n  ]),\n\n  /**\n   * Where the display label is positioned\n   */\n  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\n  /**\n   * Class to apply to the root component element\n   */\n  className: PropTypes.string,\n\n  /**\n   * Style to apply to the root component element\n   */\n  style: PropTypes.object\n};\n\nexport default withTheme(LEDDisplay);\n"
  },
  {
    "path": "src/components/NumericInput.react.js",
    "content": "import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { withTheme } from 'styled-components';\n\nimport LabelContainer from '../styled/shared/LabelContainer.styled';\n\nimport { light, colors } from '../styled/constants';\nimport { getClassName, getFilteredProps } from '../helpers/classNameGenerator';\nimport Input from './../helpers/NumericInput';\n\n/**\n * A numeric input component that can be\n * set to a value between some range.\n */\nclass NumericInput extends Component {\n  constructor(props) {\n    super(props);\n\n    this.state = {\n      value: props.value || props.min\n    };\n\n    this.setValue = this.setValue.bind(this);\n  }\n\n  UNSAFE_componentWillReceiveProps(newProps) {\n    if (newProps.value !== this.state.value) this.setState({ value: newProps.value });\n  }\n\n  setValue(value) {\n    if (value != null && value >= this.props.min && value <= this.props.max) {\n      this.setState({ value });\n      if (this.props.setProps) this.props.setProps({ value });\n    }\n  }\n\n  render() {\n    const { size, theme, style, className, id, disabled, min, max } = this.props;\n\n    const buttonStyle = {\n      background: 'none',\n      boxShadow: 'none',\n      border: 'none',\n      color: theme.secondary,\n      cursor: 'pointer'\n    };\n\n    const padding = Math.max(\n      this.state.value ? 16 - 2 * this.state.value.toString().length : 16,\n      10\n    );\n\n    const inputStyle = {\n      borderRadius: 3,\n      border: theme.dark ? 'none' : `1px solid ${colors.GREY}`,\n      outline: 'none',\n      paddingRight: padding,\n      paddingLeft: padding,\n      paddingTop: 8,\n      paddingBottom: 8,\n      width: size || 56,\n      color: theme.dark ? '#fff' : colors.OFF_WHITE,\n      backgroundColor: theme.dark ? '#22272a' : '#fff',\n      fontSize: 14,\n      boxSizing: 'border-box'\n    };\n\n    const elementName = getClassName('numericinput', theme);\n    const filteredProps = getFilteredProps(this.props);\n\n    return (\n      <div id={id} className={elementName + (className ? ' ' + className : '')} style={style}>\n        <LabelContainer className={elementName + '__label'} {...filteredProps}>\n          <Input\n            className={elementName + '__input'}\n            disabled={disabled}\n            style={{\n              input: inputStyle,\n              'input:not(.form-control)': inputStyle,\n              btn: buttonStyle,\n              'btn:hover': buttonStyle,\n              'btn:active': buttonStyle,\n              'input:disabled': {\n                opacity: 0.65,\n                cursor: 'not-allowed'\n              }\n            }}\n            min={min}\n            max={max}\n            value={this.state.value}\n            onChange={this.setValue}\n            mobile={false}\n          />\n        </LabelContainer>\n      </div>\n    );\n  }\n}\n\nNumericInput.defaultProps = {\n  min: 0,\n  max: 10,\n  theme: light,\n  labelPosition: 'top',\n  persisted_props: ['value'],\n  persistence_type: 'local',\n  style: { display: 'flex', justifyContent: 'center' }\n};\n\nNumericInput.propTypes = {\n  /**\n   * The ID used to identify this compnent in Dash callbacks\n   */\n  id: PropTypes.string,\n\n  /**\n   * The value of numeric input\n   */\n  value: PropTypes.number,\n\n  /**\n   * The size (length) of the numeric input in pixels\n   */\n  size: PropTypes.number,\n\n  /**\n   * The minimum value of the numeric input\n   */\n  min: PropTypes.number,\n\n  /**\n   * The maximum value of the numeric input\n   */\n  max: PropTypes.number,\n\n  /**\n   * If true, numeric input cannot changed.\n   */\n  disabled: PropTypes.bool,\n\n  /**\n   * Theme configuration to be set by a ThemeProvider\n   */\n  theme: PropTypes.object,\n\n  /**\n   * Description to be displayed alongside the control. To control styling,\n   * pass an object with label and style properties.\n   */\n  label: PropTypes.oneOfType([\n    /**\n     * Label to be displayed\n     */\n    PropTypes.string,\n\n    /**\n     * The style and label\n     */\n    PropTypes.shape({\n      style: PropTypes.object,\n      label: PropTypes.string\n    })\n  ]),\n\n  /**\n   * Where the numeric input label is positioned.\n   */\n  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\n  /**\n   * Class to apply to the root component element.\n   */\n  className: PropTypes.string,\n\n  /**\n   * Style to apply to the root component element.\n   */\n  style: PropTypes.object,\n\n  /**\n   * Dash-assigned callback that gets fired when selected\n   * value changes.\n   */\n  setProps: PropTypes.func,\n\n  /**\n   * Used to allow user interactions in this component to be persisted when\n   * the component - or the page - is refreshed. If `persisted` is truthy and\n   * hasn't changed from its previous value, a `value` that the user has\n   * changed while using the app will keep that change, as long as\n   * the new `value` also matches what was given originally.\n   * Used in conjunction with `persistence_type`.\n   */\n  persistence: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, PropTypes.number]),\n\n  /**\n   * Properties whose user interactions will persist after refreshing the\n   * component or the page. Since only `value` is allowed this prop can\n   * normally be ignored.\n   */\n  persisted_props: PropTypes.arrayOf(PropTypes.oneOf(['value'])),\n\n  /**\n   * Where persisted user changes will be stored:\n   * memory: only kept in memory, reset on page refresh.\n   * local: window.localStorage, data is kept after the browser quit.\n   * session: window.sessionStorage, data is cleared once the browser quit.\n   */\n  persistence_type: PropTypes.oneOf(['local', 'session', 'memory'])\n};\n\nconst ThemedNumericInput = withTheme(NumericInput);\nThemedNumericInput.defaultProps = NumericInput.defaultProps;\nexport default ThemedNumericInput;\n"
  },
  {
    "path": "src/components/PowerButton.react.js",
    "content": "import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { withTheme } from 'styled-components';\n\nimport { Container, Button } from '../styled/PowerButton.styled';\nimport PowerButtonSvg from '../helpers/PowerButtonSvg.react';\nimport Indicator from '../styled/shared/Indicator.styled';\nimport LabelContainer from '../styled/shared/LabelContainer.styled';\nimport { light } from '../styled/constants';\n\nimport { getClassName, getFilteredProps } from '../helpers/classNameGenerator';\n\n/**\n * A power button component can be\n * turned on and off.\n */\nclass PowerButton extends Component {\n  constructor(props) {\n    super(props);\n\n    this.state = {\n      on: this.props.on\n    };\n\n    this.onClick = this.onClick.bind(this);\n  }\n\n  UNSAFE_componentWillReceiveProps(newProps) {\n    if (newProps.on !== this.state.on) this.setState({ on: newProps.on });\n  }\n\n  onClick() {\n    const newOnValue = !this.state.on;\n\n    this.setState({ on: newOnValue });\n    if (this.props.setProps) this.props.setProps({ on: newOnValue });\n  }\n\n  render() {\n    const { id, size, className, color, disabled, style, theme } = this.props;\n\n    const INDICATOR_SIZE = (size / 10) * 1.25;\n\n    const elementName = getClassName('powerbutton', theme);\n    const filteredProps = getFilteredProps(this.props);\n    return (\n      <div id={id} className={elementName + (className ? ' ' + className : '')} style={style}>\n        <LabelContainer className={elementName + '__label'} {...filteredProps}>\n          <Container className={elementName + '__container'}>\n            <Button\n              className={elementName + '__button'}\n              on={this.state.on}\n              color={color}\n              size={size}\n              disabled={disabled}\n              onClick={this.onClick}\n              style={this.state.on ? this.props.onButtonStyle : this.props.offButtonStyle}\n            >\n              <PowerButtonSvg on={this.state.on} color={color} size={size * 0.3} />\n            </Button>\n            <Indicator\n              className={elementName + '__indicator'}\n              on={this.state.on}\n              primary={color}\n              main={true}\n              size={INDICATOR_SIZE}\n            />\n          </Container>\n        </LabelContainer>\n      </div>\n    );\n  }\n}\n\nPowerButton.defaultProps = {\n  on: false,\n  theme: light,\n  size: 48,\n  labelPosition: 'top',\n  persisted_props: ['on'],\n  persistence_type: 'local'\n};\n\nPowerButton.propTypes = {\n  /**\n   * The ID used to identify this compnent in Dash callbacks\n   */\n  id: PropTypes.string,\n\n  /**\n   * Whether or not the power button is on\n   */\n  on: PropTypes.bool,\n\n  /**\n   * The indicator color to display when power button is on\n   */\n  color: PropTypes.string,\n\n  /**\n   * The size (diameter) of the power button in pixels\n   */\n  size: PropTypes.number,\n\n  /**\n   * If true, power button cannot be clicked\n   */\n  disabled: PropTypes.bool,\n\n  /**\n   * Theme configuration to be set by a ThemeProvider\n   */\n  theme: PropTypes.object,\n\n  /**\n   * Description to be displayed alongside the button. To control styling, pass an object with label and style properties.\n   */\n  label: PropTypes.oneOfType([\n    /**\n     * Label to be displayed\n     */\n    PropTypes.string,\n\n    /**\n     * The style and label\n     */\n    PropTypes.shape({\n      style: PropTypes.object,\n      label: PropTypes.string\n    })\n  ]),\n\n  /**\n   * Where the button label is positioned.\n   */\n  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\n  /**\n   * Class to apply to the root component element.\n   */\n  className: PropTypes.string,\n\n  /**\n   * Style to apply to the root component element.\n   */\n  style: PropTypes.object,\n\n  /**\n   * style to apply on switch on button\n   */\n  onButtonStyle: PropTypes.object,\n\n  /**\n   * style to apply on switch off button\n   */\n  offButtonStyle: PropTypes.object,\n\n  /**\n   * Dash-assigned callback that gets fired when\n   * button is clicked.\n   */\n  setProps: PropTypes.func,\n\n  /**\n   * Used to allow user interactions in this component to be persisted when\n   * the component - or the page - is refreshed. If `persisted` is truthy and\n   * hasn't changed from its previous value, a `value` that the user has\n   * changed while using the app will keep that change, as long as\n   * the new `value` also matches what was given originally.\n   * Used in conjunction with `persistence_type`.\n   */\n  persistence: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, PropTypes.number]),\n\n  /**\n   * Properties whose user interactions will persist after refreshing the\n   * component or the page. Since only `on` is allowed this prop can\n   * normally be ignored.\n   */\n  persisted_props: PropTypes.arrayOf(PropTypes.oneOf(['on'])),\n\n  /**\n   * Where persisted user changes will be stored:\n   * memory: only kept in memory, reset on page refresh.\n   * local: window.localStorage, data is kept after the browser quit.\n   * session: window.sessionStorage, data is cleared once the browser quit.\n   */\n  persistence_type: PropTypes.oneOf(['local', 'session', 'memory'])\n};\n\nconst ThemedPowerButton = withTheme(PowerButton);\nThemedPowerButton.defaultProps = PowerButton.defaultProps;\nexport default ThemedPowerButton;\n"
  },
  {
    "path": "src/components/PrecisionInput.react.js",
    "content": "import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { withTheme } from 'styled-components';\n\nimport { Container, Digit, ExponentialDigit } from '../styled/PrecisionInput.styled';\nimport LabelContainer from '../styled/shared/LabelContainer.styled';\n\nimport { light, colors } from '../styled/constants';\nimport { getClassName, getFilteredProps } from '../helpers/classNameGenerator';\nimport Input from './../helpers/NumericInput';\n\nconst defaultRootStyles = {\n  display: 'flex',\n  flexDirection: 'column',\n  justifyContent: 'space-between',\n  alignItems: 'center'\n};\n\n/**\n * A numeric input component that converts\n * an input value to the desired precision.\n */\nclass PrecisionInput extends Component {\n  constructor(props) {\n    super(props);\n\n    this.formatPrecision = this.formatPrecision.bind(this);\n    this.setTempValue = this.setTempValue.bind(this);\n    this.blur = this.blur.bind(this);\n    this.setValue = this.setValue.bind(this);\n    this.toggleInput = this.toggleInput.bind(this);\n\n    this.state = {\n      value:\n        props.value != null ? this.formatPrecision(props.value) : this.formatPrecision(props.min),\n      isInput: false,\n      tempValue: null\n    };\n  }\n\n  UNSAFE_componentWillReceiveProps(newProps) {\n    if (newProps.value != null && newProps.value !== this.state.value)\n      this.setState({ value: this.formatPrecision(newProps.value) });\n  }\n\n  formatPrecision(value) {\n    return Number(Number(value.toPrecision(this.props.precision)));\n  }\n\n  setValue(value) {\n    if (value != null && value >= this.props.min && value <= this.props.max) {\n      const newValue = this.formatPrecision(value);\n      this.setState({ value: newValue });\n      if (this.props.setProps) {\n        this.props.setProps({ value: newValue });\n      }\n    }\n  }\n\n  toggleInput() {\n    if (this.props.disabled) return;\n\n    const isInput = !this.state.isInput;\n    this.setState({ isInput });\n\n    if (isInput) {\n      this.setState({ tempValue: this.state.value });\n    }\n  }\n\n  setTempValue(tempValue) {\n    this.setState({ tempValue });\n  }\n\n  blur() {\n    if (this.state.tempValue != null) {\n      this.setValue(this.state.tempValue);\n    }\n    this.setState({ tempValue: null });\n\n    this.toggleInput();\n  }\n\n  render() {\n    const { id, className, style, size, theme, disabled, precision, min, max } = this.props;\n\n    const buttonStyle = {\n      background: 'none',\n      boxShadow: 'none',\n      border: 'none',\n      color: theme.secondary,\n      cursor: 'pointer'\n    };\n\n    const MINIMUM_PADDING = 10;\n    const dynamicPadding = this.state.value ? 16 - 2 * this.state.value.toString().length : 16;\n    const padding = Math.max(dynamicPadding, MINIMUM_PADDING);\n\n    const inputStyle = {\n      borderRadius: 3,\n      border: theme.dark ? 'none' : `1px solid ${colors.GREY}`,\n      outline: 'none',\n      paddingRight: padding,\n      paddingLeft: padding,\n      paddingTop: 4,\n      paddingBottom: 4,\n      width: size || 56 + precision * 20,\n      height: 36,\n      backgroundColor: theme.dark ? '#22272a' : '#fff',\n      color: theme.dark ? '#fff' : '#000',\n      fontSize: 14,\n      lineHeight: 14,\n      boxSizing: 'border-box'\n    };\n\n    const elementName = getClassName('precisioninput', theme.dark);\n\n    const filteredProps = getFilteredProps(this.props);\n\n    let precisionElement;\n\n    if (this.state.isInput) {\n      precisionElement = (\n        <Input\n          autoFocus\n          className={elementName + '__input'}\n          disabled={disabled}\n          style={{\n            input: inputStyle,\n            'input:not(.form-control)': inputStyle,\n            btn: buttonStyle,\n            'btn:hover': buttonStyle,\n            'btn:active': buttonStyle,\n            'input:disabled': {\n              opacity: 0.65,\n              cursor: 'not-allowed'\n            }\n          }}\n          min={min}\n          max={max}\n          value={this.state.tempValue}\n          onChange={this.setTempValue}\n          onBlur={this.blur}\n        />\n      );\n    } else {\n      precisionElement = (\n        <PrecisionOutput\n          elementName={elementName + '__output'}\n          value={this.state.value}\n          size={size}\n          onClick={this.toggleInput}\n          color={theme.dark ? '#fff' : colors.OFF_WHITE}\n        />\n      );\n    }\n\n    return (\n      <div\n        id={id}\n        className={elementName + (className ? ' ' + className : '')}\n        style={Object.assign({}, defaultRootStyles, style)}\n      >\n        <LabelContainer className={elementName + '__label'} {...filteredProps}>\n          {precisionElement}\n        </LabelContainer>\n      </div>\n    );\n  }\n}\n\nconst toScientificNotation = value => {\n  const scientificNum = Number(value).toExponential();\n  return scientificNum.replace('+', '');\n};\n\nconst mergeLeadingNegative = digits => {\n  if (digits[0] === '-') {\n    digits.shift();\n    const leading = digits.shift();\n    digits.unshift(`-${leading}`);\n  }\n\n  return digits;\n};\n\nconst PrecisionOutput = ({ value, onClick, size, elementName }) => {\n  const [characteristic, mantissa] = toScientificNotation(value).split('e');\n  const characteristicDigits = mergeLeadingNegative(characteristic.split(''));\n  const mantissaDigits = mergeLeadingNegative(mantissa.split(''));\n\n  return (\n    <Container size={size} onClick={onClick} className={elementName}>\n      {characteristicDigits.map((digit, i) => (\n        <Digit className={elementName + '__digit'} key={`d${i}`}>\n          {digit}\n        </Digit>\n      ))}\n      <ExponentialDigit className={elementName + '__exp'}>E</ExponentialDigit>\n      {mantissaDigits.map((digit, i) => (\n        <ExponentialDigit className={elementName + '__expdigit'} key={`e${i}`}>\n          {digit}\n        </ExponentialDigit>\n      ))}\n    </Container>\n  );\n};\n\nPrecisionInput.defaultProps = {\n  min: 0,\n  max: Number.MAX_SAFE_INTEGER,\n  theme: light,\n  labelPosition: 'top',\n  precision: 2,\n  persisted_props: ['value'],\n  persistence_type: 'local'\n};\n\nPrecisionInput.propTypes = {\n  /**\n   * The ID used to identify this compnent in Dash callbacks\n   */\n  id: PropTypes.string,\n\n  /**\n   * The value of numeric input\n   */\n  value: PropTypes.number,\n\n  /**\n   * The size (length) of the numeric input in pixels\n   */\n  size: PropTypes.number,\n\n  /**\n   * The minimum value of the numeric input\n   */\n  min: PropTypes.number,\n\n  /**\n   * The maximum value of the numeric input\n   */\n  max: PropTypes.number,\n\n  /**\n   * Number of significant figures\n   */\n  precision: PropTypes.number.isRequired,\n\n  /**\n   * If true, numeric input cannot be changed.\n   */\n  disabled: PropTypes.bool,\n\n  /**\n   * Theme configuration to be set by a ThemeProvider\n   */\n  theme: PropTypes.object,\n\n  /**\n   * Description to be displayed alongside the scientific notation. To control styling,\n   * pass an object with label and style properties.\n   */\n  label: PropTypes.oneOfType([\n    /**\n     * Label to be displayed\n     */\n    PropTypes.string,\n\n    /**\n     * The style and label\n     */\n    PropTypes.shape({\n      style: PropTypes.object,\n      label: PropTypes.string\n    })\n  ]),\n\n  /**\n   * Where the numeric input label is positioned.\n   */\n  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\n  /**\n   * Class to apply to the root component element.\n   */\n  className: PropTypes.string,\n\n  /**\n   * Style to apply to the root component element.\n   */\n  style: PropTypes.object,\n\n  /**\n   * Dash-assigned callback that gets fired when selected\n   * value changes.\n   */\n  setProps: PropTypes.func,\n\n  /**\n   * Used to allow user interactions in this component to be persisted when\n   * the component - or the page - is refreshed. If `persisted` is truthy and\n   * hasn't changed from its previous value, a `value` that the user has\n   * changed while using the app will keep that change, as long as\n   * the new `value` also matches what was given originally.\n   * Used in conjunction with `persistence_type`.\n   */\n  persistence: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, PropTypes.number]),\n\n  /**\n   * Properties whose user interactions will persist after refreshing the\n   * component or the page. Since only `value` is allowed this prop can\n   * normally be ignored.\n   */\n  persisted_props: PropTypes.arrayOf(PropTypes.oneOf(['value'])),\n\n  /**\n   * Where persisted user changes will be stored:\n   * memory: only kept in memory, reset on page refresh.\n   * local: window.localStorage, data is kept after the browser quit.\n   * session: window.sessionStorage, data is cleared once the browser quit.\n   */\n  persistence_type: PropTypes.oneOf(['local', 'session', 'memory'])\n};\n\nconst ThemedPrecisionInput = withTheme(PrecisionInput);\nThemedPrecisionInput.defaultProps = PrecisionInput.defaultProps;\nexport default ThemedPrecisionInput;\n"
  },
  {
    "path": "src/components/Slider.react.js",
    "content": "import PropTypes from 'prop-types';\nimport React, { Component, Suspense } from 'react';\n\nimport { colors, light } from '../styled/constants';\n\nimport RealSlider from '../fragments/Slider.react';\n// const RealSlider = lazy(() => import(/* webpackChunkName: \"slider\" */ '../fragments/Slider.react'));\n\n/**\n * A slider component with support for\n * a target value.\n */\nexport default class Slider extends Component {\n  render() {\n    return (\n      <Suspense fallback={null}>\n        <RealSlider {...this.props} />\n      </Suspense>\n    );\n  }\n}\n\nSlider.defaultProps = {\n  theme: light,\n  targets: {},\n  updatemode: 'mouseup',\n  color: colors.DARKER_PRIMARY,\n  min: 0,\n  size: 265,\n  labelPosition: 'bottom',\n  persisted_props: ['value'],\n  persistence_type: 'local',\n  style: { display: 'flex', justifyContent: 'center' }\n};\n\nSlider.propTypes = {\n  /**\n   * The ID used to identify this component in Dash callbacks\n   */\n  id: PropTypes.string,\n\n  /**\n   * Style to apply to the root component element.\n   */\n  style: PropTypes.object,\n\n  /**\n   * Marks on the slider.\n   * The key determines the position,\n   * and the value determines what will show.\n   * If you want to set the style of a specific mark point,\n   * the value should be an object which\n   * contains style and label properties.\n   */\n  marks: PropTypes.shape({\n    number: PropTypes.oneOfType([\n      /**\n       * The label of the mark\n       */\n      PropTypes.string,\n\n      /**\n       * The style and label of the mark\n       */\n      PropTypes.shape({\n        style: PropTypes.object,\n        label: PropTypes.string\n      })\n    ])\n  }),\n\n  /**\n   * Color configuration for the slider's track.\n   */\n  color: PropTypes.oneOfType([\n    /**\n     * Color used for slider's track/indicator\n     */\n    PropTypes.string,\n    /**\n     * Color ranges configuration.\n     */\n    PropTypes.shape({\n      /**\n       * Fallback color to use when color.ranges\n       * has gaps.\n       */\n      default: PropTypes.string,\n      /**\n       * Display ranges as a gradient between given colors.\n       * Requires color.ranges to be contiguous along\n       * the entirety of the gauge's range of values.\n       */\n      gradient: PropTypes.bool,\n      /**\n       * Define multiple color ranges on the slider's track.\n       * The key determines the color of the range and\n       * the value is the start,end of the range itself.\n       */\n      ranges: PropTypes.shape({\n        color: PropTypes.arrayOf(PropTypes.number)\n      })\n    })\n  ]),\n\n  /**\n   * The value of the input.\n   */\n  value: PropTypes.number,\n\n  /**\n   * Additional CSS class for the root DOM node.\n   */\n  className: PropTypes.string,\n\n  /**\n   * Where the component label is positioned.\n   */\n  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\n  /**\n   * If true, the handles can't be moved.\n   */\n  disabled: PropTypes.bool,\n\n  /**\n   * When the step value is greater than 1,\n   * you can set the dots to true if you want to\n   * render the slider with dots.\n   *\n   * Note: dots are disabled automatically when\n   * using color.ranges\n   */\n  dots: PropTypes.bool,\n\n  /**\n   * If the value is true, it means a continuous\n   * value is included. Otherwise, it is an independent value.\n   */\n  included: PropTypes.bool,\n\n  /**\n   * Minimum allowed value of the slider.\n   */\n  min: PropTypes.number,\n\n  /**\n   * Maximum allowed value of the slider.\n   */\n  max: PropTypes.number,\n\n  /**\n   * Value by which increments or decrements are made.\n   */\n  step: PropTypes.number,\n\n  /**\n   * If true, the slider will be vertical.\n   */\n  vertical: PropTypes.bool,\n\n  /**\n   * Size of the slider in pixels.\n   */\n  size: PropTypes.number,\n\n  /**\n   * Targets on the slider.\n   * The key determines the position,\n   * and the value determines what will show.\n   * If you want to set the style of a specific target point,\n   * the value should be an object which\n   * contains style and label properties.\n   */\n  targets: PropTypes.shape({\n    number: PropTypes.oneOfType([\n      /**\n       * The label of the mark\n       */\n      PropTypes.string,\n\n      /**\n       * The style and label of the mark\n       */\n      PropTypes.shape({\n        showCurrentValue: PropTypes.bool,\n        label: PropTypes.string,\n        color: PropTypes.string,\n        style: PropTypes.object\n      })\n    ])\n  }),\n\n  /**\n   * Theme configuration to be set by a ThemeProvider\n   */\n  theme: PropTypes.object,\n\n  /**\n   * Configuration of the slider handle's label.\n   * Passing falsy value will disable the label.\n   */\n  handleLabel: PropTypes.oneOfType([\n    /**\n     * The label of the handle\n     */\n    PropTypes.string,\n\n    /**\n     * The style and label of the handle\n     */\n    PropTypes.shape({\n      showCurrentValue: PropTypes.bool,\n      label: PropTypes.string,\n      color: PropTypes.string,\n      style: PropTypes.object\n    })\n  ]),\n\n  /**\n   * Determines when the component should update\n   * its value. If `mouseup`, then the slider\n   * will only trigger its value when the user has\n   * finished dragging the slider. If `drag`, then\n   * the slider will update its value continuously\n   * as it is being dragged.\n   * Only use `drag` if your updates are fast.\n   */\n  updatemode: PropTypes.oneOf(['mouseup', 'drag']),\n\n  /**\n   * Dash-assigned callback that gets fired when the value changes.\n   */\n  setProps: PropTypes.func,\n  /**\n   * Used to allow user interactions in this component to be persisted when\n   * the component - or the page - is refreshed. If `persisted` is truthy and\n   * hasn't changed from its previous value, a `value` that the user has\n   * changed while using the app will keep that change, as long as\n   * the new `value` also matches what was given originally.\n   * Used in conjunction with `persistence_type`.\n   */\n  persistence: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, PropTypes.number]),\n\n  /**\n   * Properties whose user interactions will persist after refreshing the\n   * component or the page. Since only `value` is allowed this prop can\n   * normally be ignored.\n   */\n  persisted_props: PropTypes.arrayOf(PropTypes.oneOf(['value'])),\n\n  /**\n   * Where persisted user changes will be stored:\n   * memory: only kept in memory, reset on page refresh.\n   * local: window.localStorage, data is kept after the browser quit.\n   * session: window.sessionStorage, data is cleared once the browser quit.\n   */\n  persistence_type: PropTypes.oneOf(['local', 'session', 'memory']),\n\n  /**\n   * make slider same size of its parent\n   */\n  fullSize: PropTypes.bool\n};\n\nexport const defaultProps = Slider.defaultProps;\nexport const propTypes = Slider.propTypes;\n"
  },
  {
    "path": "src/components/StopButton.react.js",
    "content": "import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withTheme } from 'styled-components';\n\nimport { Button } from '../styled/StopButton.styled';\nimport LabelContainer from '../styled/shared/LabelContainer.styled';\n\nimport { getClassName, getFilteredProps } from '../helpers/classNameGenerator';\n\n/**\n * A Stop button component\n */\nconst StopButton = props => {\n  const { id, className, style, size, disabled, children, n_clicks, buttonText, theme } = props;\n\n  const elementName = getClassName('stopbutton', theme);\n  const filteredProps = getFilteredProps(props);\n\n  return (\n    <div id={id} className={elementName + (className ? ' ' + className : '')} style={style}>\n      <LabelContainer {...filteredProps}>\n        <Button\n          className={elementName + '__button'}\n          size={size}\n          disabled={disabled}\n          onClick={() => {\n            if (props.setProps) props.setProps({ n_clicks: n_clicks + 1 });\n          }}\n        >\n          {children || buttonText}\n        </Button>\n      </LabelContainer>\n    </div>\n  );\n};\n\nStopButton.defaultProps = {\n  buttonText: 'Stop',\n  n_clicks: 0,\n  size: 92,\n  labelPosition: 'top'\n};\n\nStopButton.propTypes = {\n  /**\n   * The ID used to identify this compnent in Dash callbacks\n   */\n  id: PropTypes.string,\n\n  /**\n   * The size (width) of the stop button in pixels\n   */\n  size: PropTypes.number,\n\n  /**\n   * Text displayed in the button\n   */\n  buttonText: PropTypes.string,\n\n  /**\n   * Number of times the button was clicked\n   */\n  n_clicks: PropTypes.number,\n\n  /**\n   * If true, button cannot be pressesd.\n   */\n  disabled: PropTypes.bool,\n\n  /**\n   * The children of the button.\n   */\n  children: PropTypes.node,\n\n  /**\n   * Theme configuration to be set by a ThemeProvider\n   */\n  theme: PropTypes.object,\n\n  /**\n   * Description to be displayed alongside the button.\n   * To control styling, pass an object with label and\n   * style properties.\n   */\n  label: PropTypes.oneOfType([\n    /**\n     * Label to be displayed\n     */\n    PropTypes.string,\n\n    /**\n     * The style and label\n     */\n    PropTypes.shape({\n      style: PropTypes.object,\n      label: PropTypes.string\n    })\n  ]),\n\n  /**\n   * Where the  label is positioned.\n   */\n  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\n  /**\n   * Class to apply to the root component element.\n   */\n  className: PropTypes.string,\n\n  /**\n   * Style to apply to the root component element.\n   */\n  style: PropTypes.object,\n\n  /**\n   * Dash-assigned callback that gets fired when the\n   * button is clicked.\n   */\n  setProps: PropTypes.func\n};\n\nexport default withTheme(StopButton);\n"
  },
  {
    "path": "src/components/Tank.react.js",
    "content": "import React, { useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withTheme } from 'styled-components';\n\nimport {\n  TankContainer,\n  TankFill,\n  TickContainer,\n  Tick,\n  Container,\n  ExceededWarning\n} from '../styled/Tank.styled';\nimport CurrentValue from '../styled/CurrentValue.styled';\nimport LabelContainer from '../styled/shared/LabelContainer.styled';\n\nimport log from '../helpers/logarithm';\nimport { computeProgress, sanitizeRangeValue } from '../helpers/util';\nimport generateScale from '../helpers/scale';\n\nimport { getClassName, getFilteredProps } from '../helpers/classNameGenerator';\nimport { light } from '../styled/constants';\n\n/**\n * A Tank component that fills to\n * a value between some range.\n */\nconst Tank = props => {\n  const {\n    min,\n    max,\n    showCurrentValue,\n    units,\n    className,\n    id,\n    style,\n    color,\n    logarithmic,\n    base,\n    height,\n    width,\n    theme\n  } = props;\n\n  const warningPara = useRef(null);\n\n  const dirtyValue = logarithmic ? log.compute(props.value, base) : props.value;\n  const currentDisplayValue = dirtyValue;\n  const value = sanitizeRangeValue({ min, max, value: dirtyValue });\n  const colorValue = props.textColor || color;\n  const percentageFill = computeProgress({ min, max, value });\n\n  const formatter = logarithmic ? log.generateLogFormatter({ base }) : null;\n  const scale = generateScale({ ...props, formatter });\n\n  const elementName = getClassName('tank', theme);\n\n  const currentValueStyle =\n    props.currentValueStyle || (theme.dark ? { color: 'white' } : { color: 'black' });\n\n  const renderTicks = () => {\n    return Object.entries(scale).map(([k, v]) => (\n      <Tick\n        className={elementName + '__tick'}\n        key={k}\n        color={colorValue}\n        xPosition={computeProgress({ min, max, value: k })}\n      >\n        <div className=\"tick\" />\n        <div className=\"label\">\n          <div style={v && v.style ? v.style : null}>{(v && v.label) || v}</div>\n        </div>\n      </Tick>\n    ));\n  };\n\n  const scaleContainer = <TickContainer xPositioned={scale}>{renderTicks()}</TickContainer>;\n  const currentValue = (\n    <CurrentValue units={units} valueColor={colorValue} customStyle={currentValueStyle}>\n      {logarithmic ? log.formatValue(currentDisplayValue, base) : currentDisplayValue}\n    </CurrentValue>\n  );\n\n  const filteredProps = getFilteredProps(props);\n\n  useEffect(() => {\n    let currValue = logarithmic ? Math.pow(base || 10, currentDisplayValue) : currentDisplayValue;\n    let maximum = logarithmic ? Math.pow(base || 10, max) : max;\n    let minimum = logarithmic ? Math.pow(base || 10, min) : min;\n    if (currValue > maximum) {\n      let str = '';\n      warningPara.current.innerHTML = props.exceedMessage\n        ? typeof props.exceedMessage == 'string'\n          ? props.exceedMessage\n          : props.exceedMessage(currValue, maximum) || str\n        : str;\n    } else if (currValue < minimum) {\n      let str = '';\n      warningPara.current.innerHTML = props.lagingMessage\n        ? typeof props.lagingMessage == 'string'\n          ? props.lagingMessage\n          : props.lagingMessage(currValue, minimum) || str\n        : str;\n    } else {\n      warningPara.current.innerHTML = '';\n    }\n  }, [currentDisplayValue]);\n\n  return (\n    <div className={elementName + (className ? ' ' + className : '')} id={id} style={style}>\n      <ExceededWarning ref={warningPara} />\n      <LabelContainer className={elementName + '__label'} {...filteredProps}>\n        <Container>\n          {scaleContainer}\n          <TankContainer className={elementName + '__container'} height={height} width={width}>\n            <TankFill\n              className={elementName + '__fill'}\n              color={color}\n              height={`${percentageFill}%`}\n            />\n            {showCurrentValue && currentValue}\n          </TankContainer>\n        </Container>\n      </LabelContainer>\n    </div>\n  );\n};\n\nTank.defaultProps = {\n  min: 0,\n  max: 10,\n  height: 192,\n  width: 112,\n  base: 10,\n  labelPosition: 'top',\n  theme: light\n};\n\nTank.propTypes = {\n  /**\n   * The ID used to identify this component in Dash callbacks\n   */\n  id: PropTypes.string,\n\n  /**\n   * The value of tank. If logarithmic, the displayed value\n   * will be the logarithm of the inputted value.\n   */\n  value: PropTypes.number,\n\n  /**\n   * The height of the tank in pixels\n   */\n  height: PropTypes.number,\n\n  /**\n   * The width of the tank in pixels\n   */\n  width: PropTypes.number,\n\n  /**\n   * The color of tank fill\n   */\n  color: PropTypes.string,\n\n  /**\n   * Theme configuration to be set by a ThemeProvider\n   */\n  theme: PropTypes.object,\n\n  /**\n   * text style of current value\n   */\n  currentValueStyle: PropTypes.object,\n\n  /**\n   * The minimum value of the tank. If logarithmic,\n   * represents minimum exponent.\n   */\n  min: PropTypes.number,\n\n  /**\n   * The maximum value of the tank. If logarithmic,\n   * represents the maximum exponent.\n   */\n  max: PropTypes.number,\n\n  /**\n   * Base to be used in logarithmic scale.\n   */\n  base: PropTypes.number,\n\n  /**\n   * If set to true, a logarithmic scale will be\n   * used.\n   */\n  logarithmic: PropTypes.bool,\n\n  /**\n   * If true, the current value of the tank\n   * will be displayed\n   */\n  showCurrentValue: PropTypes.bool,\n\n  /**\n   * Label for the current value\n   */\n  units: PropTypes.string,\n\n  /**\n   * Description to be displayed alongside the control. To control styling,\n   * pass an object with label and style properties.\n   */\n  label: PropTypes.oneOfType([\n    /**\n     * Label to be displayed\n     */\n    PropTypes.string,\n\n    /**\n     * The style and label\n     */\n    PropTypes.shape({\n      style: PropTypes.object,\n      label: PropTypes.string\n    })\n  ]),\n\n  /**\n   * Where the component label is positioned.\n   */\n  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\n  /**\n   * Configuration for the component scale.\n   */\n  scale: PropTypes.shape({\n    /**\n     * Value to start the scale from. Defaults\n     * to min.\n     */\n    start: PropTypes.number,\n\n    /**\n     * Interval by which the scale goes up. Attempts\n     * to dynamically divide min-max range by\n     * default.\n     */\n    interval: PropTypes.number,\n\n    /**\n     * Interval by which labels are added to\n     * scale marks. Defaults to 2 (every other\n     * mark has a label).\n     */\n    labelInterval: PropTypes.number,\n\n    /**\n     * Custom scale marks. The key determines the position\n     * and the value determines what will show. If you want\n     * to set the style of a specific mark point, the value\n     * should be an object which contains style and label\n     * properties\n     */\n    custom: PropTypes.oneOfType([\n      /**\n       * Label for the mark\n       */\n      PropTypes.number,\n\n      /**\n       * Style object with label\n       */\n      PropTypes.shape({\n        style: PropTypes.string,\n        label: PropTypes.string\n      })\n    ])\n  }),\n\n  /**\n   * Class to apply to the root component element.\n   */\n  className: PropTypes.string,\n\n  /**\n   * Style to apply to the root component element.\n   */\n  style: PropTypes.object,\n\n  /**\n   * Warning message when value exceed max\n   */\n  exceedMessage: PropTypes.oneOfType([PropTypes.string]),\n\n  /**\n   * Warning message when value is laging from min\n   */\n  lagingMessage: PropTypes.oneOfType([PropTypes.string]),\n\n  /**\n   * text color\n   */\n  textColor: PropTypes.string\n};\n\nexport default withTheme(Tank);\n"
  },
  {
    "path": "src/components/Thermometer.react.js",
    "content": "import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withTheme } from 'styled-components';\n\nimport { Bulb, CurrentValueContainer, ThermometerContainer } from '../styled/Thermometer.styled';\nimport LabelContainer from '../styled/shared/LabelContainer.styled';\nimport { TankContainer, TankFill, TickContainer, Tick, Container } from '../styled/Tank.styled';\nimport CurrentValue from '../styled/CurrentValue.styled';\nimport { light } from '../styled/constants';\n\nimport log from '../helpers/logarithm';\nimport { sanitizeRangeValue, computeProgress } from '../helpers/util';\nimport generateScale from '../helpers/scale';\n\nimport { getClassName, getFilteredProps } from '../helpers/classNameGenerator';\n\n/**\n * A thermometer component that\n * fills to a value between some\n * range\n */\nconst Thermometer = props => {\n  const {\n    min,\n    max,\n    id,\n    className,\n    style,\n    logarithmic,\n    base,\n    showCurrentValue,\n    units,\n    theme,\n    color,\n    height,\n    width\n  } = props;\n\n  const dirtyValue = logarithmic ? log.compute(props.value, base) : props.value;\n  const value = sanitizeRangeValue({ min, max, value: dirtyValue });\n\n  const formatter = logarithmic ? log.generateLogFormatter({ base }) : null;\n  const scale = generateScale({ ...props, formatter });\n\n  const elementName = getClassName('thermometer', theme);\n\n  const renderTicks = () => {\n    return Object.entries(scale).map(([k, v]) => (\n      <Tick\n        className={elementName + '__tick'}\n        key={k}\n        xPosition={computeProgress({ min, max, value: k })}\n      >\n        <div className=\"tick\" />\n        <div className=\"label\" style={v && v.style ? v.style : null}>\n          {(v && v.label) || v}\n        </div>\n      </Tick>\n    ));\n  };\n\n  const scaleContainer = <TickContainer xPositioned={scale}>{renderTicks()}</TickContainer>;\n\n  const currentValue = (\n    <CurrentValueContainer>\n      <CurrentValue\n        className={elementName + '__currentvalue'}\n        valueColor={color}\n        units={units}\n        css={'top: 0;'}\n      >\n        {logarithmic ? log.formatValue(value, base) : value.toFixed(1)}\n      </CurrentValue>\n    </CurrentValueContainer>\n  );\n\n  const filteredProps = getFilteredProps(props);\n\n  return (\n    <div id={id} className={elementName + (className ? ' ' + className : '')} style={style}>\n      <LabelContainer\n        className={elementName + '__label'}\n        {...filteredProps}\n        labelCSS={props.labelPosition === 'top' ? null : 'transform: translateY(-30px);'}\n      >\n        <ThermometerContainer>\n          <Container thermometer xPositioned={scale}>\n            {scaleContainer}\n            <TankContainer\n              thermometer\n              className={elementName + '__container'}\n              height={height}\n              width={width}\n            >\n              <TankFill\n                thermometer\n                className={elementName + '__fill'}\n                color={color}\n                height={`${computeProgress({ min, max, value })}%`}\n              />\n              {theme.dark ? null : <Bulb on={value !== min} color={color} />}\n            </TankContainer>\n          </Container>\n          {showCurrentValue && currentValue}\n        </ThermometerContainer>\n      </LabelContainer>\n    </div>\n  );\n};\n\nThermometer.defaultProps = {\n  min: 0,\n  max: 10,\n  height: 192,\n  width: 20,\n  base: 10,\n  labelPosition: 'top',\n  theme: light\n};\n\nThermometer.propTypes = {\n  /**\n   * The ID used to identify this compnent in Dash callbacks\n   */\n  id: PropTypes.string,\n\n  /**\n   * The value of thermometer. If logarthmic, the value\n   * displayed will be the logarithm of the inputted value.\n   */\n  value: PropTypes.number,\n\n  /**\n   * The height of the thermometer in pixels\n   */\n  height: PropTypes.number,\n\n  /**\n   * The width of the thermometer in pixels\n   */\n  width: PropTypes.number,\n\n  /**\n   * The color of the thermometer fill/current value text\n   */\n  color: PropTypes.string,\n\n  /**\n   * The minimum value of the thermometer. If logarithmic,\n   * represents the minimum exponent.\n   */\n  min: PropTypes.number,\n\n  /**\n   * The maximum value of the thermometer. If logarithmic,\n   * represents the maximum exponent.\n   */\n  max: PropTypes.number,\n\n  /**\n   * Base to be used in logarithmic scale.\n   */\n  base: PropTypes.number,\n\n  /**\n   * If set to true, a logarithmic scale will be\n   * used.\n   */\n  logarithmic: PropTypes.bool,\n\n  /**\n   * If true, the current value of the\n   * thermometer will be displayed\n   */\n  showCurrentValue: PropTypes.bool,\n\n  /**\n   * Label for the current value\n   */\n  units: PropTypes.string,\n\n  /**\n   * Theme configuration to be set by a ThemeProvider\n   */\n  theme: PropTypes.object,\n\n  /**\n   * Description to be displayed alongside the control. To control styling, pass an object with label and style properties.\n   */\n  label: PropTypes.oneOfType([\n    /**\n     * Label to be displayed\n     */\n    PropTypes.string,\n\n    /**\n     * The style and label\n     */\n    PropTypes.shape({\n      style: PropTypes.object,\n      label: PropTypes.string\n    })\n  ]),\n\n  /**\n   * Where the component label is positioned.\n   */\n  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\n  /**\n   * Configuration for the component scale.\n   */\n  scale: PropTypes.shape({\n    /**\n     * Value to start the scale from. Defaults\n     * to min.\n     */\n    start: PropTypes.number,\n\n    /**\n     * Interval by which the scale goes up. Attempts\n     * to dynamically divide min-max range by\n     * default.\n     */\n    interval: PropTypes.number,\n\n    /**\n     * Interval by which labels are added to\n     * scale marks. Defaults to 2 (every other\n     * mark has a label).\n     */\n    labelInterval: PropTypes.number,\n\n    /**\n     * Custom scale marks. The key determines the position\n     * and the value determines what will show. If you want\n     * to set the style of a specific mark point, the value\n     * should be an object which contains style and label\n     * properties\n     */\n    custom: PropTypes.oneOfType([\n      /**\n       * Label for the mark\n       */\n      PropTypes.number,\n\n      /**\n       * Style object with label\n       */\n      PropTypes.shape({\n        style: PropTypes.string,\n        label: PropTypes.string\n      })\n    ])\n  }),\n\n  /**\n   * Class to apply to the root component element.\n   */\n  className: PropTypes.string,\n\n  /**\n   * Style to apply to the root component element.\n   */\n  style: PropTypes.object\n};\n\nexport default withTheme(Thermometer);\n"
  },
  {
    "path": "src/components/ToggleSwitch.react.js",
    "content": "import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { withTheme } from 'styled-components';\n\nimport Indicator from '../styled/shared/Indicator.styled';\nimport {\n  Wrapper,\n  ButtonContainer,\n  Button,\n  DarkSwitchContainer,\n  DarkSwitch,\n  RowContainer,\n  RowLabel\n} from '../styled/ToggleSwitch.styled';\nimport LabelContainer from '../styled/shared/LabelContainer.styled';\nimport { light } from '../styled/constants';\n\nimport { getClassName, getFilteredProps } from '../helpers/classNameGenerator';\n\nfunction getLabelProps(label) {\n  if (typeof label === 'object') {\n    return {\n      children: label.label,\n      style: label.style\n    };\n  }\n  return {\n    children: label,\n    style: {}\n  };\n}\n/**\n * A switch component that toggles between\n * two values.\n */\nclass ToggleSwitch extends Component {\n  constructor(props) {\n    super(props);\n\n    this.state = {\n      value: props.value\n    };\n\n    this.click = this.click.bind(this);\n  }\n\n  UNSAFE_componentWillReceiveProps(newProps) {\n    if (newProps.value !== this.state.value) this.setState({ value: newProps.value });\n  }\n\n  click() {\n    if (!this.props.disabled) {\n      const newValue = !this.state.value;\n\n      this.setState({ value: newValue });\n      if (this.props.setProps) this.props.setProps({ value: newValue });\n    }\n  }\n\n  render() {\n    const {\n      id,\n      className,\n      style,\n      label,\n      labelPosition,\n      booleanSwitch,\n      theme,\n      color,\n      vertical,\n      disabled\n    } = this.props;\n\n    const size = this.props.size || 45;\n\n    let SwitchContainer = ButtonContainer;\n    let Switch = Button;\n\n    if (theme.dark && !booleanSwitch) {\n      SwitchContainer = DarkSwitchContainer;\n      Switch = DarkSwitch;\n    }\n\n    const indicatorSize = (size / 10) * 1.25;\n\n    const doubleLabel = Array.isArray(label);\n\n    const elementName = getClassName(booleanSwitch ? 'booleanswitch' : 'toggleswitch', theme.dark);\n    const filteredProps = getFilteredProps(this.props);\n\n    const switchCore = (\n      <Wrapper className={elementName} rotate={vertical ? -90 : 0} size={size}>\n        {!booleanSwitch && (\n          <Indicator\n            className={elementName + '__indicator' + (this.state.value ? '--off' : '--on')}\n            on={this.state.value}\n            size={indicatorSize}\n            primary={color}\n          />\n        )}\n        <SwitchContainer\n          className={elementName + '__background'}\n          onClick={this.click}\n          size={size}\n          color={color}\n          on={this.state.value}\n          booleanSwitch={booleanSwitch}\n        >\n          <Switch\n            className={elementName + '__button'}\n            disabled={disabled}\n            on={this.state.value}\n            size={size}\n            booleanSwitch={booleanSwitch}\n          />\n        </SwitchContainer>\n        {!booleanSwitch && (\n          <Indicator\n            className={elementName + '__indicator' + (this.state.value ? '--on' : '--off')}\n            main={true}\n            on={this.state.value}\n            size={indicatorSize}\n            primary={color}\n          />\n        )}\n      </Wrapper>\n    );\n\n    return (\n      <div id={id} className={className} style={style}>\n        {doubleLabel ? (\n          <RowContainer {...filteredProps}>\n            <RowLabel\n              className={elementName + '__label'}\n              position={vertical ? 'bottom' : 'left'}\n              {...getLabelProps(label[0])}\n            />\n            {switchCore}\n            <RowLabel\n              className={elementName + '__label'}\n              position={vertical ? 'top' : 'right'}\n              {...getLabelProps(label[1])}\n            />\n          </RowContainer>\n        ) : (\n          <LabelContainer\n            className={elementName + '__label'}\n            label={label}\n            labelPosition={labelPosition}\n          >\n            {switchCore}\n          </LabelContainer>\n        )}\n      </div>\n    );\n  }\n}\n\nToggleSwitch.defaultProps = {\n  value: false,\n  vertical: false,\n  theme: light,\n  labelPosition: 'top',\n  persisted_props: ['value'],\n  persistence_type: 'local'\n};\n\nToggleSwitch.propTypes = {\n  /**\n   * The ID used to identify this compnent in Dash callbacks\n   */\n  id: PropTypes.string,\n\n  /**\n   * The state of the switch\n   */\n  value: PropTypes.bool,\n\n  /**\n   * The size of the switch\n   */\n  size: PropTypes.number,\n\n  /**\n   * Color to highlight button/indicator\n   */\n  color: PropTypes.string,\n\n  /**\n   * If true, switch will be vertical instead\n   * of horizontal\n   */\n  vertical: PropTypes.bool,\n\n  /**\n   * If true, switch cannot be clicked\n   */\n  disabled: PropTypes.bool,\n\n  /**\n   * Theme configuration to be set by a ThemeProvider\n   */\n  theme: PropTypes.object,\n\n  /**\n   * Description to be displayed alongside the control. To control styling, pass an object with label and style properties.\n   */\n  label: PropTypes.oneOfType([\n    /**\n     * Label to be displayed\n     */\n    PropTypes.string,\n\n    /**\n     * The style and label\n     */\n    PropTypes.shape({\n      style: PropTypes.object,\n      label: PropTypes.string\n    }),\n\n    /**\n     * Multiple labels for both toggle states. The label at index 0 will be left\n     * (or bottom if the switch is vertical), and the label at index 0 will be\n     * on the right (or top if vertical)\n     */\n    PropTypes.arrayOf(\n      PropTypes.oneOfType([\n        /**\n         * Label to be displayed\n         */\n        PropTypes.string,\n\n        /**\n         * The style and label\n         */\n        PropTypes.shape({\n          style: PropTypes.object,\n          label: PropTypes.string\n        })\n      ])\n    )\n  ]),\n\n  /**\n   * Where the component label is positioned.\n   */\n  labelPosition: PropTypes.oneOf(['top', 'bottom']),\n\n  /**\n   * Class to apply to the root component element.\n   */\n  className: PropTypes.string,\n\n  /**\n   * Style to apply to the root object.\n   */\n  style: PropTypes.object,\n\n  /**\n   * Dash-assigned callback that gets fired when\n   * switch is toggled.\n   */\n  setProps: PropTypes.func,\n\n  /**\n   * Used to allow user interactions in this component to be persisted when\n   * the component - or the page - is refreshed. If `persisted` is truthy and\n   * hasn't changed from its previous value, a `value` that the user has\n   * changed while using the app will keep that change, as long as\n   * the new `value` also matches what was given originally.\n   * Used in conjunction with `persistence_type`.\n   */\n  persistence: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, PropTypes.number]),\n\n  /**\n   * Properties whose user interactions will persist after refreshing the\n   * component or the page. Since only `value` is allowed this prop can\n   * normally be ignored.\n   */\n  persisted_props: PropTypes.arrayOf(PropTypes.oneOf(['value'])),\n\n  /**\n   * Where persisted user changes will be stored:\n   * memory: only kept in memory, reset on page refresh.\n   * local: window.localStorage, data is kept after the browser quit.\n   * session: window.sessionStorage, data is cleared once the browser quit.\n   */\n  persistence_type: PropTypes.oneOf(['local', 'session', 'memory'])\n};\n\nconst ThemedToggleSwitch = withTheme(ToggleSwitch);\nThemedToggleSwitch.defaultProps = ToggleSwitch.defaultProps;\nexport default ThemedToggleSwitch;\n"
  },
  {
    "path": "src/components/__tests__/.eslintrc",
    "content": "---\n    extends: ../../../node_modules/dash-components-archetype/config/eslint/eslintrc-test.json\n\n    globals:\n        expect: false\n"
  },
  {
    "path": "src/components/__tests__/BooleanSwitch.test.js",
    "content": "/* eslint-disable */\nimport React from 'react';\nimport Enzyme from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nEnzyme.configure({ adapter: new Adapter() });\n\nimport { shallow, mount } from 'enzyme';\nimport sinon from 'sinon';\n\nimport BooleanSwitch from '../BooleanSwitch.react';\nimport Indicator from '../../styled/shared/Indicator.styled';\nimport { Wrapper, ButtonContainer, Button } from '../../styled/ToggleSwitch.styled';\nimport Label from '../../styled/shared/Label.styled';\nimport { dark } from '../../styled/constants';\n\ndescribe('Boolean Switch', () => {\n  it('renders', () => {\n    const component = shallow(<BooleanSwitch label=\"Test label\" />);\n    expect(component).toBeTruthy();\n  });\n\n  it('renders dark theme', () => {\n    const component = mount(<BooleanSwitch theme={dark} />);\n    expect(component).toBeTruthy();\n  });\n\n  it('renders vertically if desired', () => {\n    const component = mount(<BooleanSwitch vertical={true} />);\n    expect(component.find(Wrapper).prop('rotate')).toBe(-90);\n  });\n\n  it('calls setProps on click', () => {\n    const setProps = sinon.spy();\n    const component = mount(<BooleanSwitch setProps={setProps} on={false} />);\n\n    component.find('button').simulate('click');\n\n    expect(setProps.calledOnce).toBeTruthy();\n    expect(setProps.getCall(0).args[0].on).toBeTruthy();\n  });\n\n  it('does not change props when disabled and clicked', () => {\n    const setProps = sinon.spy();\n    const component = mount(<BooleanSwitch setProps={setProps} on={false} disabled={true} />);\n    expect(component.prop('on')).toBeFalsy();\n\n    component.find('button').simulate('click');\n\n    expect(component.prop('on')).toBeFalsy();\n  });\n\n  it('does not fire click event when disabled and clicked', () => {\n    const eventReciever = sinon.spy();\n    const component = mount(<BooleanSwitch disabled={true} />);\n\n    component.find('button').simulate('click');\n\n    expect(eventReciever.calledOnce).toBeFalsy();\n  });\n\n  it('handles absent setProps callbacks', () => {\n    const component = mount(<BooleanSwitch />);\n\n    component.find('button').simulate('click');\n  });\n\n  it('updates on when props change', () => {\n    const component = mount(<BooleanSwitch on={false} />);\n    expect(component.prop('on')).toBeFalsy();\n\n    component.setProps({ on: true });\n    expect(component.prop('on')).toBeTruthy();\n  });\n\n  it('does not update on when props change without on set', () => {\n    const component = mount(shallow(<BooleanSwitch on={true} />).get(0));\n\n    component.setProps();\n    expect(component.state('on')).toBeTruthy();\n  });\n\n  it('has assigned className', () => {\n    const component = shallow(<BooleanSwitch className=\"testClass\" />);\n    expect(component.render().hasClass('testClass')).toBeTruthy();\n  });\n\n  it('has assigned styles', () => {\n    const style = { width: '600px' };\n    const component = shallow(<BooleanSwitch style={style} />);\n\n    expect(component.render().prop('style')['width']).toBe(style['width']);\n  });\n\n  it('has assigned id', () => {\n    const component = shallow(<BooleanSwitch id={'testId'} />);\n\n    expect(component.render().prop('id')).toBe('testId');\n  });\n\n  it('positions label correctly', () => {\n    const component = mount(<BooleanSwitch label=\"Test label\" labelPosition=\"bottom\" />);\n    expect(component.find(Label).prop('position')).toBe('bottom');\n  });\n\n  it('displays indicators if desired', () => {\n    const component = mount(<BooleanSwitch indicator={true} value={true} />);\n    component.find(Indicator).forEach((node, index) => {\n      if (index === 0) expect(node.prop('on')).toBeTruthy();\n      if (index === 1) expect(node.prop('on')).toBeTruthy(); // TODO: update when indicator API changed\n    });\n  });\n});\n"
  },
  {
    "path": "src/components/__tests__/ColorPicker.test.js",
    "content": "/* eslint-disable */\nimport React from 'react';\nimport Enzyme from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nEnzyme.configure({ adapter: new Adapter() });\n\nimport { shallow, mount } from 'enzyme';\nimport sinon from 'sinon';\n\nimport ColorPicker from '../../fragments/ColorPicker.react';\nimport Indicator from '../../styled/shared/Indicator.styled';\nimport { Wrapper, ButtonContainer, Button } from '../../styled/ToggleSwitch.styled';\nimport Label from '../../styled/shared/Label.styled';\nimport { dark } from '../../styled/constants';\n\ndescribe('Color Picker', () => {\n  it('renders', () => {\n    const component = shallow(<ColorPicker label=\"Test label\" />);\n    expect(component).toBeTruthy();\n  });\n\n  it('renders dark theme', () => {\n    const component = mount(<ColorPicker theme={dark} />);\n    expect(component).toBeTruthy();\n  });\n\n  it('handles hex value', () => {\n    const component = mount(shallow(<ColorPicker value={{ hex: '#ffffff' }} />).get(0));\n    expect(component.state('value')).toEqual({ hex: '#ffffff' });\n  });\n\n  it('handles rgba value', () => {\n    const component = mount(\n      shallow(<ColorPicker value={{ rgb: { r: 50, g: 100, b: 150, a: 0.8 } }} />).get(0)\n    );\n    expect(component.state('value')).toEqual({ rgb: { r: 50, g: 100, b: 150, a: 0.8 } });\n  });\n\n  it('calls setProps callbacks', () => {\n    const setProps = sinon.spy();\n    const component = mount(shallow(<ColorPicker setProps={setProps} />).get(0));\n\n    component.instance().setValue({ hex: '#ffffff', rgb: '_' });\n    expect(setProps.calledOnce).toBeTruthy();\n  });\n\n  it('handles absent setProps callbacks', () => {\n    const component = mount(shallow(<ColorPicker />).get(0));\n\n    component.instance().setValue({ hex: '#ffffff', rgb: '_' });\n    expect(component).toBeTruthy();\n  });\n\n  it('does not explode when value set to null', () => {\n    const component = mount(shallow(<ColorPicker />).get(0));\n\n    component.instance().setValue(null);\n    expect(component).toBeTruthy();\n  });\n\n  it('updates when props change', () => {\n    const component = mount(shallow(<ColorPicker value={{ hex: '#ffffff' }} />).get(0));\n    const oldColor = component.state('value');\n\n    component.setProps({ value: { hex: '#000000' } });\n\n    expect(component.render().prop('value')).not.toBe(oldColor);\n  });\n\n  it('does not update on when props change without on set', () => {\n    const component = mount(shallow(<ColorPicker value={{ hex: '#ffffff' }} />).get(0));\n\n    component.setProps();\n    expect(component.state('value')).toEqual({ hex: '#ffffff' });\n  });\n\n  it('has assigned className', () => {\n    const component = shallow(<ColorPicker className=\"testClass\" />);\n    expect(component.render().hasClass('testClass')).toBeTruthy();\n  });\n\n  it('has assigned styles', () => {\n    const style = { width: '600px' };\n    const component = shallow(<ColorPicker style={style} />);\n\n    expect(component.render().prop('style')['width']).toBe(style['width']);\n  });\n\n  it('has assigned id', () => {\n    const component = shallow(<ColorPicker id={'testId'} />);\n\n    expect(component.render().prop('id')).toBe('testId');\n  });\n\n  it('positions label correctly', () => {\n    const component = mount(<ColorPicker label=\"Test label\" labelPosition=\"bottom\" />);\n    expect(component.find(Label).prop('position')).toBe('bottom');\n  });\n});\n"
  },
  {
    "path": "src/components/__tests__/Gauge.test.js",
    "content": "/* eslint-disable */\nimport React from 'react';\nimport Enzyme from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nEnzyme.configure({ adapter: new Adapter() });\n\nimport { mount, shallow } from 'enzyme';\n\nimport Gauge from '../Gauge.react';\nimport GaugeSvg from '../../helpers/GaugeSvg.react';\nimport Label from '../../styled/shared/Label.styled';\nimport CurrentValue, { ValueLabel } from '../../styled/CurrentValue.styled';\nimport DarkThemeProvider from '../DarkThemeProvider.react';\n\ndescribe.only('Gauge', () => {\n  it('renders', () => {\n    const component = mount(<Gauge label=\"testLabel\" />);\n    expect(component).toBeTruthy();\n  });\n\n  it('renders dark theme', () => {\n    const component = mount(\n      <DarkThemeProvider>\n        <Gauge label=\"test\" />\n      </DarkThemeProvider>\n    );\n    expect(component).toBeTruthy();\n  });\n\n  describe('renders at multiple angles', () => {\n    it('renders at min value', () => {\n      const component = mount(shallow(<Gauge value={0} />).get(0));\n      expect(component).toBeTruthy();\n\n      expect(component.find(GaugeSvg).prop('progress')).toBe(0);\n    });\n\n    it('renders at small value', () => {\n      const component = mount(shallow(<Gauge value={2} />).get(0));\n      expect(component).toBeTruthy();\n\n      expect(component.find(GaugeSvg).prop('progress')).toBe(2.0 / 10);\n    });\n\n    it('renders at medium value', () => {\n      const component = mount(shallow(<Gauge value={5} />).get(0));\n      expect(component).toBeTruthy();\n\n      expect(component.find(GaugeSvg).prop('progress')).toBe(5.0 / 10);\n    });\n\n    it('renders at large value', () => {\n      const component = mount(shallow(<Gauge value={7} />).get(0));\n      expect(component).toBeTruthy();\n\n      expect(component.find(GaugeSvg).prop('progress')).toBe(7.0 / 10);\n    });\n\n    it('renders at max value', () => {\n      const component = mount(shallow(<Gauge value={10} />).get(0));\n      expect(component).toBeTruthy();\n\n      expect(component.find(GaugeSvg).prop('progress')).toBe(1);\n    });\n  });\n\n  it('has default marks', () => {\n    const component = mount(shallow(<Gauge label=\"Test label\" />).get(0));\n    expect(component.find('line').hostNodes()).toHaveLength(12);\n  });\n\n  it('has custom marks', () => {\n    const scale = { custom: { 0: 'Low', 5: 'Medium', 10: 'High' } };\n    const component = mount(shallow(<Gauge scale={scale} step={5} label=\"Test label\" />).get(0));\n    expect(component.find('text').hostNodes()).toHaveLength(3);\n  });\n\n  it('shows current value if set', () => {\n    const component = mount(shallow(<Gauge value={5} showCurrentValue={true} />).get(0));\n\n    const currValue = component.find(CurrentValue);\n    expect(currValue).toHaveLength(1);\n    expect(currValue.text()).toBe('5.0');\n  });\n\n  it('does not show current value if not set', () => {\n    const component = mount(shallow(<Gauge value={5} />).get(0));\n\n    expect(component.find(CurrentValue).hostNodes()).toHaveLength(0);\n  });\n\n  it('shows current units if set', () => {\n    const component = mount(\n      shallow(<Gauge value={5} showCurrentValue={true} units={'testUnits'} />).get(0)\n    );\n\n    const units = component.find(ValueLabel);\n    expect(units).toHaveLength(1);\n    expect(units.text()).toBe('testUnits');\n  });\n\n  it('does not show the current units if not set', () => {\n    const component = mount(shallow(<Gauge value={5} showCurrentValue={true} />).get(0));\n\n    expect(component.find(ValueLabel).hostNodes()).toHaveLength(0);\n  });\n\n  it('handles logarithic mode', () => {\n    const component = mount(shallow(<Gauge logarithmic showCurrentValue value={10000} />).get(0));\n\n    const currValue = component.find(CurrentValue);\n    expect(currValue).toHaveLength(1);\n    expect(currValue.text()).toBe('~104');\n  });\n\n  it('has assigned className', () => {\n    const component = mount(<Gauge className=\"testClass\" />);\n    expect(component.hasClass('testClass')).toBeTruthy();\n  });\n\n  it('has assigned styles', () => {\n    const style = { width: '600px' };\n    const component = mount(<Gauge style={style} />);\n\n    expect(component.prop('style')).toBe(style);\n  });\n\n  it('has assigned id', () => {\n    const component = mount(<Gauge id=\"testId\" />);\n    expect(component.find('#testId').hostNodes()).toHaveLength(1);\n  });\n\n  it('positions label correctly', () => {\n    const component = mount(<Gauge label=\"Test label\" labelPosition=\"bottom\" />);\n    expect(component.find(Label).prop('position')).toBe('bottom');\n  });\n\n  it('handles custom label style', () => {\n    const component = mount(<Gauge label={{ label: 'Test Label', style: { color: 'blue' } }} />);\n    const label = component.find(Label);\n\n    expect(label).toHaveLength(1);\n    expect(label.prop('style').color).toBe('blue');\n  });\n\n  it('custom test 2', () => {\n    const component = mount(\n      <Gauge\n        label={{ label: 'Test Label', style: { color: 'blue' } }}\n        logarithmic={true}\n        max={4}\n        min={1}\n        scale={{\n          start: 0,\n          interval: 1,\n          labelInterval: 1\n        }}\n        value={2}\n        color={{\n          default: 'red',\n          gradient: true,\n          ranges: {\n            red: [0, 1],\n            blue: [-1, 2],\n            green: [2, 3],\n            pink: [3, 10]\n          }\n        }}\n        showCurrentValue={true}\n      />\n    );\n  });\n  it('bug fix github issue 125', () => {\n    const component = mount(\n      shallow(\n        <Gauge\n          color={{\n            gradient: true,\n            ranges: { green: [0, 6], yellow: [6, 8], red: [8, 10] }\n          }}\n          min={0}\n          max={11}\n        />\n      ).get(0)\n    );\n    expect(component).toBeTruthy();\n    expect(component.find(GaugeSvg).prop('color').ranges.red).toStrictEqual([8, 11]);\n  });\n});\n"
  },
  {
    "path": "src/components/__tests__/GraduatedBar.test.js",
    "content": "/* eslint-disable */\nimport React from 'react';\nimport Enzyme from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nEnzyme.configure({ adapter: new Adapter() });\n\nimport { mount, shallow } from 'enzyme';\n\nimport GraduatedBar from '../GraduatedBar.react';\nimport { Container, Block, Value } from '../../styled/GraduatedBar.styled';\nimport Label from '../../styled/shared/Label.styled';\nimport DarkThemeProvider from '../DarkThemeProvider.react';\nimport { light } from '../../styled/constants';\n\ndescribe('Graduated Bar', () => {\n  it('renders', () => {\n    const component = mount(<GraduatedBar />);\n    expect(component).toBeTruthy();\n  });\n\n  it('renders dark theme', () => {\n    const component = mount(\n      <DarkThemeProvider>\n        <GraduatedBar label=\"test\" />\n      </DarkThemeProvider>\n    );\n    expect(component).toBeTruthy();\n  });\n\n  it('renders with non finite percentage', () => {\n    const component = mount(<GraduatedBar min={NaN} />);\n    expect(component).toBeTruthy();\n  });\n\n  it('renders correct amount of blocks', () => {\n    const component = mount(<GraduatedBar min={0} max={100} value={49} step={1} />);\n    expect(component.find(Block)).toHaveLength(49);\n  });\n\n  it('shows current value if set', () => {\n    const component = mount(shallow(<GraduatedBar value={5} showCurrentValue={true} />).get(0));\n\n    const currValue = component.find(Value);\n    expect(currValue).toHaveLength(1);\n    expect(currValue.text()).toBe('50%');\n  });\n\n  it('does not show current value if not set', () => {\n    const component = mount(shallow(<GraduatedBar value={5} />).get(0));\n\n    expect(component.find(Value).hostNodes()).toHaveLength(0);\n  });\n\n  it('handles color scale correctly', () => {\n    const colors = { ranges: { red: [0, 5], blue: [5, 10] } };\n    const hasCustomColor = block => block.prop('color') !== light.primary;\n\n    const component = mount(\n      shallow(<GraduatedBar value={5} min={0} max={10} color={colors} />).get(0)\n    );\n\n    const blocks = component.find(Block);\n    blocks.forEach(block => {\n      expect(hasCustomColor(block)).toBeTruthy();\n    });\n  });\n\n  it('has assigned className', () => {\n    const component = mount(<GraduatedBar className=\"testClass\" />);\n    expect(component.hasClass('testClass')).toBeTruthy();\n  });\n\n  it('has assigned styles', () => {\n    const style = { width: '600px' };\n    const component = mount(<GraduatedBar style={style} />);\n\n    expect(component.prop('style')).toBe(style);\n  });\n\n  it('has assigned id', () => {\n    const component = mount(<GraduatedBar id=\"testId\" />);\n    expect(component.find('#testId').hostNodes()).toHaveLength(1);\n  });\n\n  it('positions label correctly', () => {\n    const component = mount(<GraduatedBar label=\"Test label\" labelPosition=\"bottom\" />);\n    expect(component.find(Label).prop('position')).toBe('bottom');\n  });\n\n  it('handles custom label style', () => {\n    const component = mount(\n      <GraduatedBar label={{ label: 'Test Label', style: { color: 'blue' } }} />\n    );\n    const label = component.find(Label);\n\n    expect(label).toHaveLength(1);\n    expect(label.prop('style').color).toBe('blue');\n  });\n\n  it('handles gradient color scheme', () => {\n    const gradient = { gradient: true, ranges: { green: [0, 5], yellow: [5, 7], red: [7, 10] } };\n    const component = mount(<GraduatedBar value={63} color={gradient} />);\n\n    const block = component.find(Block).first();\n\n    // we don't actually call `.css()` but this is an easy way to visualize the props being passed\n    expect(block.prop('gradient').css()).toEqual(\n      'linear-gradient(to right, rgb(0, 128, 0) 0%, rgb(255, 255, 0) 50%, rgb(255, 0, 0) 70%, rgb(255, 0, 0) 100%)'\n    );\n  });\n});\n"
  },
  {
    "path": "src/components/__tests__/Indicator.test.js",
    "content": "/* eslint-disable */\nimport React from 'react';\nimport Enzyme from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nEnzyme.configure({ adapter: new Adapter() });\n\nimport { mount } from 'enzyme';\n\nimport Indicator from '../Indicator.react';\nimport IndicatorLight from '../../styled/shared/Indicator.styled';\nimport Label from '../../styled/shared/Label.styled';\nimport DarkThemeProvider from '../DarkThemeProvider.react';\n\ndescribe.only('Thermometer', () => {\n  it('renders', () => {\n    const component = mount(<Indicator label=\"testLabel\" />);\n    expect(component).toBeTruthy();\n  });\n\n  it('renders dark theme', () => {\n    const component = mount(\n      <DarkThemeProvider>\n        <Indicator label=\"test\" />\n      </DarkThemeProvider>\n    );\n    expect(component).toBeTruthy();\n  });\n\n  it('renders circular indicator if only height is set', () => {\n    const component = mount(<Indicator height={500} />);\n    expect(component.find(IndicatorLight).prop('rectangular')).toBeFalsy();\n  });\n\n  it('renders circular indicator if only width is set', () => {\n    const component = mount(<Indicator width={500} />);\n    expect(component.find(IndicatorLight).prop('rectangular')).toBeFalsy();\n  });\n\n  it('renders rectangular indicator if height and width are both set', () => {\n    const component = mount(<Indicator height={500} width={40} />);\n    expect(component.find(IndicatorLight).prop('rectangular')).toBeTruthy();\n  });\n\n  it('lights up when on', () => {\n    const component = mount(<Indicator value={true} />);\n    expect(component.find(IndicatorLight).prop('on')).toBeTruthy();\n  });\n\n  it('does not light up when off', () => {\n    const component = mount(<Indicator value={false} />);\n    expect(component.find(IndicatorLight).prop('on')).toBeFalsy();\n  });\n\n  it('has assigned className', () => {\n    const component = mount(<Indicator className=\"testClass\" />);\n    expect(component.hasClass('testClass')).toBeTruthy();\n  });\n\n  it('has assigned styles', () => {\n    const style = { width: '600px' };\n    const component = mount(<Indicator style={style} />);\n\n    expect(component.prop('style')).toBe(style);\n  });\n\n  it('has assigned id', () => {\n    const component = mount(<Indicator id=\"testId\" />);\n    expect(component.find('#testId').hostNodes()).toHaveLength(1);\n  });\n\n  it('positions label correctly', () => {\n    const component = mount(<Indicator label=\"Test label\" labelPosition=\"bottom\" />);\n    expect(component.find(Label).prop('position')).toBe('bottom');\n  });\n\n  it('handles custom label style', () => {\n    const component = mount(\n      <Indicator label={{ label: 'Test Label', style: { color: 'blue' } }} />\n    );\n    const label = component.find(Label);\n\n    expect(label).toHaveLength(1);\n    expect(label.prop('style').color).toBe('blue');\n  });\n});\n"
  },
  {
    "path": "src/components/__tests__/Knob.test.js",
    "content": "/* eslint-disable */\nimport React from 'react';\nimport Enzyme from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nEnzyme.configure({ adapter: new Adapter() });\n\nimport { mount, shallow } from 'enzyme';\nimport sinon from 'sinon';\n\nimport Knob from '../Knob.react';\nimport Container from '../../styled/Knob.styled';\nimport Label from '../../styled/shared/Label.styled';\nimport CurrentValue from '../../styled/CurrentValue.styled';\nimport DarkThemeProvider from '../DarkThemeProvider.react';\n\n// mock mouseMove events\nconst NEGATIVE_EVENT = {\n  clientX: -10,\n  clientY: -20\n};\n\nconst ARBITRARY_START_X = 20,\n  ARBITRARY_START_Y = 20;\n\nconst MOCK_START_EVENT = {\n  clientX: ARBITRARY_START_X,\n  clientY: ARBITRARY_START_Y\n};\n\nconst ARBITRARY_END_X = 300,\n  ARBITRARY_END_Y = 350;\n\nconst MOCK_END_EVENT = {\n  clientX: ARBITRARY_END_X,\n  clientY: ARBITRARY_END_Y\n};\n\nconst MOCK_TOUCH_START_EVENT = {\n  touches: [MOCK_START_EVENT]\n};\n\nconst MOCK_TOUCH_END_EVENT = {\n  touches: [MOCK_END_EVENT]\n};\n\ndescribe('Knob', () => {\n  it('renders', () => {\n    const component = mount(<Knob label=\"testLabel\" />);\n    expect(component).toBeTruthy();\n  });\n\n  it('renders dark theme', () => {\n    const component = mount(\n      <DarkThemeProvider>\n        <Knob label=\"test\" />\n      </DarkThemeProvider>\n    );\n    expect(component).toBeTruthy();\n  });\n\n  it('renders disabled', () => {\n    const component = mount(shallow(<Knob disabled={true} />).get(0));\n    expect(component).toBeTruthy();\n  });\n\n  it('does not allow noop to modify state', () => {\n    const component = mount(shallow(<Knob disabled={true} />).get(0));\n    const stateBefore = component.state();\n\n    component.instance().noop();\n\n    expect(component.state()).toBe(stateBefore);\n  });\n\n  it('updates value when props change', () => {\n    const component = mount(<Knob value={2} />);\n    component.setProps({ value: 3 });\n    expect(component.prop('value')).toBe(3);\n  });\n\n  it('does not update value on prop change with undefined value', () => {\n    const component = mount(shallow(<Knob value={2} />).get(0));\n\n    component.setProps({ value: undefined });\n    expect(component.state('value')).toBe(2);\n  });\n\n  it('updates value when setValue is called', () => {\n    const component = mount(shallow(<Knob value={2} />).get(0));\n\n    component.instance().setValue(3);\n    expect(component.state('value')).toBe(3);\n  });\n\n  it('setProps is called when setValue is called', () => {\n    const setProps = sinon.spy();\n    const component = mount(shallow(<Knob value={2} setProps={setProps} />).get(0));\n\n    component.instance().setValue(3);\n    expect(setProps.calledOnce).toBeTruthy();\n    expect(setProps.getCall(0).args[0].value).toBe(3);\n  });\n\n  it('setProps does not throw when not bound', () => {\n    const component = mount(shallow(<Knob value={2} />).get(0));\n\n    component.instance().setValue(3);\n  });\n\n  it('onMouseMove does not change state if not dragging', () => {\n    const component = mount(shallow(<Knob />).get(0));\n\n    component.instance().onMouseMove(MOCK_START_EVENT);\n    component.instance().onMouseMove(MOCK_END_EVENT);\n\n    expect(component.state('value')).toBe(0);\n    expect(component.state('currentDeg')).toBe(0);\n  });\n\n  it('onMouseMove changes state if dragging', () => {\n    const component = mount(shallow(<Knob />).get(0));\n\n    component.instance().onMouseDown();\n\n    component.instance().onMouseMove(MOCK_START_EVENT);\n    component.instance().onMouseMove(MOCK_END_EVENT);\n\n    component.instance().onMouseUp();\n\n    expect(component.state('value')).toBeGreaterThan(0);\n    expect(component.state('currentDeg')).toBeGreaterThan(0);\n  });\n\n  it('onMouseMove changes state if dragging (touch event)', () => {\n    const component = mount(shallow(<Knob />).get(0));\n\n    component.instance().onMouseDown();\n\n    component.instance().onMouseMove(MOCK_TOUCH_START_EVENT);\n    component.instance().onMouseMove(MOCK_TOUCH_END_EVENT);\n\n    component.instance().onMouseUp();\n\n    expect(component.state('value')).toBeGreaterThan(0);\n    expect(component.state('currentDeg')).toBeGreaterThan(0);\n  });\n\n  it('onMouseMove does not change state if does not move (with double mouseUp simulation)', () => {\n    const component = mount(shallow(<Knob />).get(0));\n\n    component.setState({ isDragging: true });\n    expect(component.state('isDragging')).toBeTruthy();\n\n    component.instance().onMouseDown();\n\n    component.instance().onMouseMove(NEGATIVE_EVENT);\n    component.instance().onMouseMove(NEGATIVE_EVENT);\n\n    component.instance().onMouseUp();\n    component.instance().onMouseUp();\n\n    expect(component.state('value')).toBe(0);\n    expect(component.state('currentDeg')).toBe(0);\n  });\n\n  it('unmount does not throw', () => {\n    const component = mount(shallow(<Knob />).get(0));\n    component.instance().componentWillUnmount();\n  });\n\n  it('has default marks', () => {\n    const component = mount(shallow(<Knob label=\"Test label\" />).get(0));\n    expect(component.find('text').hostNodes()).toHaveLength(6);\n  });\n\n  it('has custom marks', () => {\n    const scale = { custom: { 0: 'Low', 5: 'Medium', 10: 'High' } };\n    const component = mount(shallow(<Knob scale={scale} step={5} label=\"Test label\" />).get(0));\n    expect(component.find('text').hostNodes()).toHaveLength(3);\n  });\n\n  it('has assigned className', () => {\n    const component = mount(<Knob className=\"testClass\" />);\n    expect(component.hasClass('testClass')).toBeTruthy();\n  });\n\n  it('has assigned styles', () => {\n    const style = { width: '600px' };\n    const component = mount(<Knob style={style} />);\n\n    expect(component.prop('style')).toBe(style);\n  });\n\n  it('has assigned id', () => {\n    const component = mount(<Knob id=\"testId\" />);\n    expect(component.find('#testId').hostNodes()).toHaveLength(1);\n  });\n\n  it('positions label correctly', () => {\n    const component = mount(<Knob label=\"Test label\" labelPosition=\"bottom\" />);\n    expect(component.find(Label).prop('position')).toBe('bottom');\n  });\n\n  it('handles custom label style', () => {\n    const component = mount(<Knob label={{ label: 'Test Label', style: { color: 'blue' } }} />);\n    const label = component.find(Label);\n\n    expect(label).toHaveLength(1);\n    expect(label.prop('style').color).toBe('blue');\n  });\n});\n"
  },
  {
    "path": "src/components/__tests__/LEDDisplay.test.js",
    "content": "/* eslint-disable */\nimport React from 'react';\nimport Enzyme from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nEnzyme.configure({ adapter: new Adapter() });\n\nimport { shallow, mount } from 'enzyme';\n\nimport LEDDisplay from '../LEDDisplay.react';\nimport Digit from '../../helpers/LEDDisplaySvg.react';\nimport Label from '../../styled/shared/Label.styled';\nimport DarkThemeProvider from '../DarkThemeProvider.react';\n\ndescribe('LEDDisplay', () => {\n  it('renders', () => {\n    const component = shallow(<LEDDisplay label=\"Test label\" />);\n    expect(component).toBeTruthy();\n  });\n\n  it('renders dark theme', () => {\n    const component = mount(\n      <DarkThemeProvider>\n        <LEDDisplay label=\"test\" />\n      </DarkThemeProvider>\n    );\n    expect(component).toBeTruthy();\n  });\n\n  it('renders number correctly', () => {\n    const component = mount(<LEDDisplay value={123} />);\n\n    const digits = component.find(Digit);\n    expect(digits).toHaveLength(3);\n    expect(digits.get(0).props.value).toBe('1');\n    expect(digits.get(1).props.value).toBe('2');\n    expect(digits.get(2).props.value).toBe('3');\n  });\n\n  it('renders strings correctly', () => {\n    const component = mount(<LEDDisplay value={'123'} />);\n\n    const digits = component.find(Digit);\n    expect(digits).toHaveLength(3);\n    expect(digits.get(0).props.value).toBe('1');\n    expect(digits.get(1).props.value).toBe('2');\n    expect(digits.get(2).props.value).toBe('3');\n  });\n\n  it('renders decimal values correctly', () => {\n    const component = mount(<LEDDisplay value={1.23} />);\n\n    const digits = component.find(Digit);\n    expect(digits).toHaveLength(3);\n    expect(digits.get(0).props.value).toBe('1');\n    expect(digits.get(0).props.hasDecimal).toBeTruthy();\n    expect(digits.get(1).props.value).toBe('2');\n    expect(digits.get(2).props.value).toBe('3');\n  });\n\n  it('renders colon values correctly', () => {\n    const component = mount(<LEDDisplay value={'1:23'} />);\n\n    const digits = component.find(Digit);\n    expect(digits).toHaveLength(3);\n    expect(digits.get(0).props.value).toBe('1');\n    expect(digits.get(0).props.hasColon).toBeTruthy();\n    expect(digits.get(1).props.value).toBe('2');\n    expect(digits.get(2).props.value).toBe('3');\n  });\n\n  it('renders negative values correctly', () => {\n    const component = mount(<LEDDisplay value={'-1.23'} />);\n\n    const digits = component.find(Digit);\n    expect(digits).toHaveLength(4);\n    expect(digits.get(0).props.value).toBe('-');\n    expect(digits.get(1).props.value).toBe('1');\n    expect(digits.get(1).props.hasDecimal).toBeTruthy();\n    expect(digits.get(2).props.value).toBe('2');\n    expect(digits.get(3).props.value).toBe('3');\n  });\n\n  it('renders negative values without leading zeros correctly', () => {\n    const component = mount(<LEDDisplay value={'-.12'} />);\n\n    const digits = component.find(Digit);\n    expect(digits).toHaveLength(4);\n    expect(digits.get(0).props.value).toBe('-');\n    expect(digits.get(1).props.value).toBe('0');\n    expect(digits.get(1).props.hasDecimal).toBeTruthy();\n    expect(digits.get(2).props.value).toBe('1');\n    expect(digits.get(3).props.value).toBe('2');\n  });\n\n  it('raise invalid input if minus sign is not in first position', () => {\n    const component = mount(<LEDDisplay value={'1.2-3'} />);\n\n    expect(component.text()).toEqual(expect.stringContaining('Invalid Input'));\n  });\n\n  it('handles bad input', () => {\n    const component = mount(<LEDDisplay value={'invalid'} />);\n    expect(component.text()).toEqual(expect.stringContaining('Invalid Input'));\n  });\n\n  it('adds leading zero if needed', () => {\n    const component = mount(<LEDDisplay value={'.12'} />);\n\n    const digits = component.find(Digit);\n    expect(digits).toHaveLength(3);\n    expect(digits.get(0).props.value).toBe('0');\n    expect(digits.get(0).props.hasDecimal).toBeTruthy();\n    expect(digits.get(1).props.value).toBe('1');\n    expect(digits.get(2).props.value).toBe('2');\n  });\n\n  it('has assigned className', () => {\n    const component = shallow(<LEDDisplay className=\"testClass\" />);\n    expect(component.render().hasClass('testClass')).toBeTruthy();\n  });\n\n  it('has assigned styles', () => {\n    const style = { width: '600px' };\n    const component = shallow(<LEDDisplay style={style} />);\n    expect(component.render().prop('style')['width']).toBe(style['width']);\n  });\n\n  it('has assigned id', () => {\n    const component = mount(<LEDDisplay id=\"testId\" />);\n    expect(component.find('#testId').hostNodes()).toHaveLength(1);\n  });\n\n  it('positions label correctly', () => {\n    const component = mount(<LEDDisplay label=\"Test label\" labelPosition=\"bottom\" />);\n    expect(component.find(Label).prop('position')).toBe('bottom');\n  });\n\n  it('handles custom label style', () => {\n    const component = mount(\n      <LEDDisplay label={{ label: 'Test Label', style: { color: 'blue' } }} />\n    );\n    const label = component.find(Label);\n\n    expect(label).toHaveLength(1);\n    expect(label.prop('style').color).toBe('blue');\n  });\n});\n"
  },
  {
    "path": "src/components/__tests__/NumericInput.test.js",
    "content": "/* eslint-disable */\nimport React from 'react';\nimport Enzyme from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nEnzyme.configure({ adapter: new Adapter() });\n\nimport { mount, shallow } from 'enzyme';\nimport sinon from 'sinon';\n\nimport NumericInput from '../NumericInput.react';\nimport Label from '../../styled/shared/Label.styled';\nimport DarkThemeProvider from '../DarkThemeProvider.react';\n\ndescribe.only('Numeric Input', () => {\n  it('renders', () => {\n    const component = mount(<NumericInput label=\"testLabel\" />);\n    expect(component).toBeTruthy();\n  });\n\n  it('renders dark theme', () => {\n    const component = mount(\n      <DarkThemeProvider>\n        <NumericInput label=\"test\" />\n      </DarkThemeProvider>\n    );\n    expect(component).toBeTruthy();\n  });\n\n  it('updates value when props change', () => {\n    const component = mount(<NumericInput value={2} />);\n\n    component.setProps({ value: 3 });\n    expect(component.prop('value')).toBe(3);\n  });\n\n  it('does not update value on prop change without value set', () => {\n    const component = mount(shallow(<NumericInput value={2} />).get(0));\n\n    component.setProps({});\n    expect(component.state('value')).toBe(2);\n  });\n\n  it('updates value when setValue is called', () => {\n    const component = mount(shallow(<NumericInput value={2} />).get(0));\n\n    component.instance().setValue(3);\n    expect(component.state('value')).toBe(3);\n  });\n\n  it('does not update value when setValue is called with null', () => {\n    const component = mount(shallow(<NumericInput value={2} />).get(0));\n\n    component.instance().setValue(null);\n    expect(component.state('value')).toBe(2);\n  });\n\n  it('setProps is called when setValue is called', () => {\n    const setProps = sinon.spy();\n    const component = mount(shallow(<NumericInput value={2} setProps={setProps} />).get(0));\n\n    component.instance().setValue(3);\n    expect(setProps.calledOnce).toBeTruthy();\n    expect(setProps.getCall(0).args[0].value).toBe(3);\n  });\n\n  it('setProps does not throw when not bound', () => {\n    const component = mount(shallow(<NumericInput value={2} />).get(0));\n\n    component.instance().setValue(3);\n  });\n\n  it('has assigned className', () => {\n    const component = mount(<NumericInput className=\"testClass\" />);\n    expect(component.hasClass('testClass')).toBeTruthy();\n  });\n\n  it('has assigned styles', () => {\n    const style = { width: '600px' };\n    const component = mount(<NumericInput style={style} />);\n\n    expect(component.prop('style')).toBe(style);\n  });\n\n  it('has assigned id', () => {\n    const component = mount(<NumericInput id=\"testId\" />);\n    expect(component.find('#testId').hostNodes()).toHaveLength(1);\n  });\n\n  it('positions label correctly', () => {\n    const component = mount(<NumericInput label=\"Test label\" labelPosition=\"bottom\" />);\n    expect(component.find(Label).prop('position')).toBe('bottom');\n  });\n\n  it('handles custom label style', () => {\n    const component = mount(\n      <NumericInput label={{ label: 'Test Label', style: { color: 'blue' } }} />\n    );\n    const label = component.find(Label);\n\n    expect(label).toHaveLength(1);\n    expect(label.prop('style').color).toBe('blue');\n  });\n});\n"
  },
  {
    "path": "src/components/__tests__/PowerButton.test.js",
    "content": "/* eslint-disable */\nimport React from 'react';\nimport Enzyme from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nEnzyme.configure({ adapter: new Adapter() });\n\nimport { mount, shallow } from 'enzyme';\nimport sinon from 'sinon';\n\nimport PowerButton from '../PowerButton.react';\nimport Indicator from '../../styled/shared/Indicator.styled';\nimport LabelContainer from '../../styled/shared/LabelContainer.styled';\nimport Label from '../../styled/shared/Label.styled';\nimport DarkThemeProvider from '../DarkThemeProvider.react';\n\ndescribe('Power Button', () => {\n  it('renders', () => {\n    const component = mount(<PowerButton label=\"Test label\" />);\n    expect(component).toBeTruthy();\n  });\n\n  it('renders dark theme', () => {\n    const component = mount(\n      <DarkThemeProvider>\n        <PowerButton label=\"test\" />\n      </DarkThemeProvider>\n    );\n    expect(component).toBeTruthy();\n  });\n\n  it('updates on when props change', () => {\n    const component = mount(<PowerButton on={false} />);\n    expect(component.prop('on')).toBeFalsy();\n\n    component.setProps({ on: true });\n    expect(component.prop('on')).toBeTruthy();\n  });\n\n  it('does not update on value when props change without on set', () => {\n    const component = mount(shallow(<PowerButton on={true} />).get(0));\n\n    component.setProps({});\n    expect(component.state('on')).toBeTruthy();\n  });\n\n  it('calls setProps on click', () => {\n    const setProps = sinon.spy();\n    const component = mount(<PowerButton setProps={setProps} on={false} />);\n\n    component.find('button').simulate('click');\n\n    expect(setProps.calledOnce).toBeTruthy();\n    expect(setProps.getCall(0).args[0].on).toBeTruthy();\n  });\n\n  it('handles absent setProps callbacks', () => {\n    const component = mount(<PowerButton />);\n\n    component.find('button').simulate('click');\n  });\n\n  it('has assigned className', () => {\n    const component = mount(<PowerButton className=\"testClass\" />);\n    expect(component.hasClass('testClass')).toBeTruthy();\n  });\n\n  it('has assigned styles', () => {\n    const style = { width: '600px' };\n    const component = mount(<PowerButton style={style} />);\n\n    expect(component.prop('style')).toBe(style);\n  });\n\n  it('has assigned id', () => {\n    const component = mount(<PowerButton id=\"testId\" />);\n    expect(component.find('#testId').hostNodes()).toHaveLength(1);\n  });\n\n  it('positions label correctly', () => {\n    const component = mount(<PowerButton label=\"Test label\" labelPosition=\"bottom\" />);\n    expect(component.find(LabelContainer).prop('labelPosition')).toBe('bottom');\n  });\n\n  it('handles custom label style', () => {\n    const component = mount(\n      <PowerButton label={{ label: 'Test Label', style: { color: 'blue' } }} />\n    );\n    const label = component.find(Label);\n\n    expect(label).toHaveLength(1);\n    expect(label.prop('style').color).toBe('blue');\n  });\n});\n"
  },
  {
    "path": "src/components/__tests__/PrecisionInput.test.js",
    "content": "/* eslint-disable */\nimport React from 'react';\nimport Enzyme from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nEnzyme.configure({ adapter: new Adapter() });\nimport { mount, shallow } from 'enzyme';\nimport sinon from 'sinon';\n\nimport PrecisionInput from '../PrecisionInput.react';\nimport { Container, Digit, ExponentialDigit } from '../../styled/PrecisionInput.styled';\nimport Label from '../../styled/shared/Label.styled';\nimport DarkThemeProvider from '../DarkThemeProvider.react';\n\ndescribe.only('Precision Input', () => {\n  it('renders', () => {\n    const component = mount(<PrecisionInput label=\"testLabel\" />);\n    expect(component).toBeTruthy();\n  });\n\n  it('renders dark theme', () => {\n    const component = mount(\n      <DarkThemeProvider>\n        <PrecisionInput label=\"test\" />\n      </DarkThemeProvider>\n    );\n    expect(component).toBeTruthy();\n  });\n\n  it('displays correct value', () => {\n    const component = mount(shallow(<PrecisionInput precision={2} value={120} />).get(0));\n    let digits = component.find(Digit);\n    let exponentials = component.find(ExponentialDigit);\n    expect(digits.length).toBe(3);\n    expect(exponentials.length).toBe(2);\n    expect(digits.at(0).text()).toBe('1');\n    expect(digits.at(2).text()).toBe('2');\n    expect(exponentials.at(1).text()).toBe('2');\n  });\n\n  it('displays updates with correct value', () => {\n    let component = mount(shallow(<PrecisionInput precision={3} value={1} />).get(0));\n\n    const componentInstance = component.instance();\n    componentInstance.toggleInput();\n    componentInstance.setValue(12300);\n    componentInstance.toggleInput();\n\n    component = component.update();\n\n    let digits = component.find(Digit);\n    let exponentials = component.find(ExponentialDigit);\n    expect(digits.length).toBe(4);\n    expect(exponentials.length).toBe(2);\n    expect(digits.at(0).text()).toBe('1');\n    expect(digits.at(2).text()).toBe('2');\n    expect(digits.at(3).text()).toBe('3');\n    expect(exponentials.at(1).text()).toBe('4');\n  });\n\n  it('updates value when props change', () => {\n    const component = mount(<PrecisionInput value={2} />);\n\n    component.setProps({ value: 3 });\n    expect(component.prop('value')).toBe(3);\n  });\n\n  it('does not update value on prop change without value set', () => {\n    const component = mount(shallow(<PrecisionInput value={2} />).get(0));\n\n    component.setProps({});\n    expect(component.state('value')).toBe(2);\n  });\n\n  it('updates value when setValue is called', () => {\n    const component = mount(shallow(<PrecisionInput value={2} />).get(0));\n\n    component.instance().setValue(3);\n    expect(component.state('value')).toBe(3);\n  });\n\n  it('does not update value when setValue is called with null', () => {\n    const component = mount(shallow(<PrecisionInput value={2} />).get(0));\n\n    component.instance().setValue(null);\n    expect(component.state('value')).toBe(2);\n  });\n\n  it('setProps is called when setValue is called', () => {\n    const setProps = sinon.spy();\n    const component = mount(shallow(<PrecisionInput value={2} setProps={setProps} />).get(0));\n\n    component.instance().setValue(3);\n    expect(setProps.calledOnce).toBeTruthy();\n    expect(setProps.getCall(0).args[0].value).toEqual(3);\n  });\n\n  it('setProps is called when setValue with corrected decimal value', () => {\n    const setProps = sinon.spy();\n    const component = mount(\n      shallow(<PrecisionInput value={1234} precision={2} setProps={setProps} />).get(0)\n    );\n\n    component.instance().setValue(1234);\n    expect(setProps.calledOnce).toBeTruthy();\n    expect(setProps.getCall(0).args[0].value).toEqual(1200);\n  });\n\n  it('setProps does not throw when not bound', () => {\n    const component = mount(shallow(<PrecisionInput value={2} />).get(0));\n\n    component.instance().setValue(3);\n  });\n\n  it('if tempValue is set, state is updated to tempValue on blur', () => {\n    const setProps = sinon.spy();\n    const component = mount(\n      shallow(<PrecisionInput value={1234} precision={2} setProps={setProps} />).get(0)\n    );\n\n    component.instance().setTempValue(123);\n    component.instance().blur();\n    expect(component.state('value')).toEqual(120);\n  });\n\n  it('does not change value when blur is called with tempValue set to null', () => {\n    const component = mount(shallow(<PrecisionInput value={2} />).get(0));\n\n    component.instance().setTempValue(null);\n    component.instance().blur();\n    expect(component.state('value')).toEqual(2);\n  });\n\n  it('has assigned className', () => {\n    const component = mount(<PrecisionInput className=\"testClass\" />);\n    expect(component.hasClass('testClass')).toBeTruthy();\n  });\n\n  it('has assigned styles', () => {\n    const style = { width: '600px' };\n    const component = mount(<PrecisionInput style={style} />);\n\n    expect(component.prop('style')).toBe(style);\n  });\n\n  it('has assigned id', () => {\n    const component = mount(<PrecisionInput id=\"testId\" />);\n    expect(component.find('#testId').hostNodes()).toHaveLength(1);\n  });\n\n  it('positions label correctly', () => {\n    const component = mount(<PrecisionInput label=\"Test label\" labelPosition=\"bottom\" />);\n    expect(component.find(Label).prop('position')).toBe('bottom');\n  });\n\n  it('handles custom label style', () => {\n    const component = mount(\n      <PrecisionInput\n        label={{ label: 'Test Label', style: { color: 'blue' } }}\n        value={2.0}\n        precition={3}\n      />\n    );\n    const label = component.find(Label);\n\n    expect(label.length).toBe(1);\n    expect(label.prop('style').color).toBe('blue');\n  });\n});\n"
  },
  {
    "path": "src/components/__tests__/Slider.test.js",
    "content": "/* eslint-disable */\nimport React from 'react';\nimport ReactSlider from 'rc-slider';\nimport Enzyme from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nEnzyme.configure({ adapter: new Adapter() });\n\nimport { shallow, mount } from 'enzyme';\nimport sinon from 'sinon';\n\nimport Slider from '../../fragments/Slider.react';\nimport {\n  SliderContainer,\n  Handle,\n  HandleContainer,\n  targetStyles,\n  Label as SliderLabel\n} from '../../styled/Slider.styled';\nimport Label from '../../styled/shared/Label.styled';\n\nimport { dark } from '../../styled/constants';\n\ndescribe('Slider', () => {\n  it('renders', () => {\n    const component = shallow(<Slider label=\"Test label\" />);\n    expect(component).toBeTruthy();\n  });\n\n  it('renders dark theme', () => {\n    const component = mount(<Slider theme={dark} />);\n    expect(component).toBeTruthy();\n  });\n\n  it('renders contiguous range', () => {\n    const color = { default: 'ffffff', ranges: { blue: [0, 5], red: [5, 10] } };\n    const component = mount(shallow(<Slider min={0} max={10} value={1} color={color} />).get(0));\n\n    expect(component).toBeTruthy();\n  });\n\n  it('renders contiguous range with gradient', () => {\n    const color = { default: 'ffffff', ranges: { blue: [0, 5], red: [5, 10] } };\n    const component = mount(shallow(<Slider value={1} gradient color={color} />).get(0));\n\n    expect(component).toBeTruthy();\n  });\n\n  it('renders non-contiguous range', () => {\n    const color = { default: 'ffffff', ranges: { blue: [1, 5], red: [7, 9] } };\n    const component = mount(shallow(<Slider value={1} color={color} />).get(0));\n\n    expect(component).toBeTruthy();\n  });\n\n  it('renders contiguous range in dark mode', () => {\n    const color = { default: 'ffffff', ranges: { blue: [0, 5], red: [5, 10] } };\n    const component = mount(\n      shallow(<Slider min={0} max={10} value={1} theme={dark} value={1} color={color} />).get(0)\n    );\n\n    expect(component).toBeTruthy();\n  });\n\n  it('renders non-contiguous range in dark mode', () => {\n    const color = { default: 'ffffff', ranges: { blue: [1, 5], red: [7, 9] } };\n    const component = mount(shallow(<Slider theme={dark} value={1} color={color} />).get(0));\n\n    expect(component).toBeTruthy();\n  });\n\n  it('assigns correct value to slider', () => {\n    const component = mount(<Slider min={0} max={100} value={10} />);\n\n    const slider = component.find(ReactSlider);\n    expect(slider.prop('value')).toBe(10);\n  });\n\n  it('renders custom handle label if desired', () => {\n    const handleLabel = {\n      showCurrentValue: true,\n      label: 'test_title'\n    };\n\n    const component = mount(\n      <Slider min={0} max={100} value={10} label=\"test-label\" handleLabel={handleLabel} />\n    );\n\n    const handle = component.find(HandleContainer);\n    const label = component.find(SliderLabel);\n\n    expect(handle).toHaveLength(1);\n    expect(handle.prop('isTarget')).toBeFalsy();\n\n    expect(label).toHaveLength(1);\n    expect(label.text()).toBe('test_title10');\n  });\n\n  it('correctly calculates label offset', () => {\n    const component = mount(shallow(<Slider />).get(0));\n    expect(component.instance().calcLabelOffset({ vertical: true })).toBe(null);\n    expect(component.instance().calcLabelOffset({ marks: {}, labelPosition: 'bottom' })).toBe(\n      'transform: translateY(20px);'\n    );\n  });\n\n  it('renders simple handle label', () => {\n    const component = mount(<Slider min={0} max={100} value={10} handleLabel={'test_label'} />);\n\n    const label = component.find(SliderLabel);\n    expect(label).toHaveLength(1);\n    expect(label.text()).toBe('test_label');\n  });\n\n  it('calls setprops correclty on mouseup mode', () => {\n    const setProps = sinon.spy();\n    const component = mount(shallow(<Slider setProps={setProps} />).get(0));\n\n    component.instance().onChange(11);\n    expect(setProps.notCalled).toBeTruthy();\n\n    component.instance().onAfterChange(11);\n    expect(setProps.calledOnce).toBeTruthy();\n    expect(setProps.getCall(0).args[0].value).toBe(11);\n  });\n\n  it('calls setprops correclty on drag mode', () => {\n    const setProps = sinon.spy();\n    const component = mount(shallow(<Slider updatemode={'drag'} setProps={setProps} />).get(0));\n\n    component.instance().onChange(11);\n    expect(setProps.calledOnce).toBeTruthy();\n    expect(setProps.getCall(0).args[0].value).toBe(11);\n\n    component.instance().onAfterChange(12);\n    expect(setProps.calledOnce).toBeTruthy();\n  });\n\n  it('does not explode when setprops is not passed', () => {\n    const component = mount(shallow(<Slider value={11} />).get(0));\n\n    component.instance().onChange(11);\n    component.instance().onAfterChange(11);\n    expect(component).toBeTruthy();\n\n    const dragComponent = mount(shallow(<Slider value={11} updatemode={'drag'} />).get(0));\n\n    dragComponent.instance().onChange(11);\n    dragComponent.instance().onAfterChange(11);\n    expect(dragComponent).toBeTruthy();\n  });\n\n  it('handles updated props', () => {\n    const color = { default: 'ffffff', ranges: { blue: [0, 5], red: [5, 10] } };\n    const component = mount(shallow(<Slider value={1} color={color} />).get(0));\n\n    const beforeState = {\n      value: component.state('value'),\n      trackStyle: component.state('trackStyle')\n    };\n\n    component.setProps({});\n    expect(component.state('value')).toBe(beforeState.value);\n    expect(component.state('trackStyle')).toEqual(beforeState.trackStyle);\n\n    const newValue = 2;\n    const newColor = { default: '000000', ranges: { blue: [0, 6], red: [6, 10] } };\n\n    component.setProps({ value: newValue, color: newColor });\n    expect(component.render().prop('value')).not.toBe(beforeState.value);\n    expect(component.render().prop('trackStyle')).not.toEqual(beforeState.trackStyle);\n  });\n\n  it('renders custom targets', () => {\n    const component = mount(\n      <Slider\n        label=\"test-label\"\n        min={0}\n        max={100}\n        targets={{\n          50: 'test_target',\n          60: { label: 'other_target', showCurrentValue: true },\n          70: { label: 'one_more_target', showCurrentValue: false }\n        }}\n      />\n    );\n\n    const target = component.find(SliderLabel).filterWhere(label => label.prop('isTarget'));\n    expect(target).toHaveLength(3);\n    expect(target.at(0).text()).toBe('test_target');\n    expect(target.at(1).text()).toBe('other_target60');\n    expect(target.at(2).text()).toBe('one_more_target');\n  });\n\n  it('has assigned className', () => {\n    const component = shallow(<Slider className=\"testClass\" />);\n    expect(component.render().hasClass('testClass')).toBeTruthy();\n  });\n\n  it('has assigned styles', () => {\n    const style = { width: '600px' };\n    const component = shallow(<Slider style={style} />);\n\n    expect(component.render().prop('style')['width']).toBe(style['width']);\n  });\n\n  it('has assigned id', () => {\n    const component = shallow(<Slider id={'testId'} />);\n\n    expect(component.render().prop('id')).toBe('testId');\n  });\n\n  it('positions label correctly', () => {\n    const component = mount(<Slider label=\"Test label\" labelPosition=\"bottom\" />);\n    expect(component.find(Label).prop('position')).toBe('bottom');\n  });\n});\n"
  },
  {
    "path": "src/components/__tests__/StopButton.test.js",
    "content": "/* eslint-disable */\nimport React from 'react';\nimport Enzyme from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nEnzyme.configure({ adapter: new Adapter() });\n\nimport { mount } from 'enzyme';\nimport sinon from 'sinon';\n\nimport StopButton from '../StopButton.react';\nimport LabelContainer from '../../styled/shared/LabelContainer.styled';\nimport Label from '../../styled/shared/Label.styled';\nimport DarkThemeProvider from '../DarkThemeProvider.react';\n\ndescribe('Stop Button', () => {\n  it('renders', () => {\n    const component = mount(<StopButton label=\"Test label\" />);\n    expect(component).toBeTruthy();\n  });\n\n  it('renders dark theme', () => {\n    const component = mount(\n      <DarkThemeProvider>\n        <StopButton label=\"test\" />{' '}\n      </DarkThemeProvider>\n    );\n    expect(component).toBeTruthy();\n  });\n\n  it('sets custom button text', () => {\n    const component = mount(<StopButton>custom_text</StopButton>);\n    expect(component.render().text()).toBe('custom_text');\n  });\n\n  it('calls setProps with n_clicks', () => {\n    const setProps = sinon.spy();\n    const component = mount(<StopButton setProps={setProps} />);\n\n    component.find('button').simulate('click');\n\n    expect(setProps.calledOnce).toBeTruthy();\n    expect(setProps.getCall(0).args[0].n_clicks).toBe(1);\n  });\n\n  it('handles unbound setProps prop', () => {\n    const component = mount(<StopButton />);\n\n    component.find('button').simulate('click');\n  });\n\n  it('has assigned id', () => {\n    const component = mount(<StopButton id=\"testId\" />);\n    expect(component.find('#testId').hostNodes()).toHaveLength(1);\n  });\n\n  it('has assigned className', () => {\n    const component = mount(<StopButton className=\"testClass\" />);\n    expect(component.hasClass('testClass')).toBeTruthy();\n  });\n\n  it('has assigned styles', () => {\n    const style = { width: '600px' };\n    const component = mount(<StopButton style={style} />);\n\n    expect(component.prop('style')).toBe(style);\n  });\n\n  it('positions label correctly', () => {\n    const component = mount(<StopButton label=\"Test label\" labelPosition=\"bottom\" />);\n    expect(component.find(LabelContainer).prop('labelPosition')).toBe('bottom');\n  });\n\n  it('handles custom label style', () => {\n    const component = mount(\n      <StopButton label={{ label: 'Test Label', style: { color: 'blue' } }} />\n    );\n    const label = component.find(Label);\n\n    expect(label).toHaveLength(1);\n    expect(label.prop('style').color).toBe('blue');\n  });\n});\n"
  },
  {
    "path": "src/components/__tests__/Tank.test.js",
    "content": "/* eslint-disable */\nimport React from 'react';\nimport Enzyme from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nEnzyme.configure({ adapter: new Adapter() });\n\nimport { shallow, mount } from 'enzyme';\n\nimport Tank from '../Tank.react';\nimport { Tick } from '../../styled/Tank.styled';\nimport Label from '../../styled/shared/Label.styled';\nimport CurrentValue, { ValueLabel } from '../../styled/CurrentValue.styled';\nimport DarkThemeProvider from '../DarkThemeProvider.react';\n\ndescribe('Tank', () => {\n  it('renders', () => {\n    const component = shallow(<Tank label=\"Test label\" />);\n    expect(component).toBeTruthy();\n  });\n\n  it('renders dark theme', () => {\n    const component = mount(\n      <DarkThemeProvider>\n        <Tank label=\"test\" />\n      </DarkThemeProvider>\n    );\n    expect(component).toBeTruthy();\n  });\n\n  it('shows current value if set', () => {\n    const component = mount(shallow(<Tank value={5} showCurrentValue={true} />).get(0));\n\n    const currValue = component.find(CurrentValue);\n    expect(currValue).toHaveLength(1);\n    expect(currValue.text()).toBe('5');\n  });\n\n  it('does not show current value if not set', () => {\n    const component = mount(shallow(<Tank value={5} />).get(0));\n\n    expect(component.find(CurrentValue)).toHaveLength(0);\n  });\n\n  it('shows current units if set', () => {\n    const component = mount(\n      shallow(<Tank value={5} showCurrentValue={true} units={'testUnits'} />).get(0)\n    );\n\n    const units = component.find(ValueLabel);\n    expect(units).toHaveLength(1);\n    expect(units.text()).toBe('testUnits');\n  });\n\n  it('does not show the current units if not set', () => {\n    const component = mount(shallow(<Tank value={5} showCurrentValue={true} />).get(0));\n\n    expect(component.find(ValueLabel)).toHaveLength(0);\n  });\n\n  it('has default marks', () => {\n    const component = mount(<Tank label=\"Test label\" />);\n    expect(component.find(Tick)).toHaveLength(11);\n  });\n\n  it('has custom scale', () => {\n    const scale = { custom: { 0: 'Low', 5: 'Medium', 10: 'High' } };\n    const component = mount(<Tank label=\"Test label\" scale={scale} />);\n    expect(component.find(Tick)).toHaveLength(3);\n  });\n\n  it('has custom mark styling', () => {\n    const scale = { custom: { 0: { style: { color: 'blue' }, label: '_' } } };\n    const component = mount(<Tank label=\"Test label\" scale={scale} />);\n\n    const tickText = component\n      .find(Tick)\n      .render()\n      .children('.label')\n      .children();\n    expect(tickText).toHaveLength(1);\n    expect(tickText.prop('style').color).toBe('blue');\n  });\n\n  it('handles logarithmic scale', () => {\n    const component = mount(<Tank label=\"Test label\" logarithmic showCurrentValue value={10000} />);\n\n    const currValue = component.find(CurrentValue);\n    expect(currValue).toHaveLength(1);\n    expect(currValue.text()).toBe('~104');\n  });\n\n  it('has assigned className', () => {\n    const component = mount(<Tank className=\"testClass\" />);\n    expect(component.hasClass('testClass')).toBeTruthy();\n  });\n\n  it('has assigned styles', () => {\n    const style = { width: '600px' };\n    const component = mount(<Tank style={style} />);\n\n    expect(component.prop('style')).toBe(style);\n  });\n\n  it('has assigned id', () => {\n    const component = mount(<Tank id=\"testId\" />);\n    expect(component.find('#testId').hostNodes()).toHaveLength(1);\n  });\n\n  it('positions label correctly', () => {\n    const component = mount(<Tank label=\"Test label\" labelPosition=\"bottom\" />);\n    expect(component.find(Label).prop('position')).toBe('bottom');\n  });\n\n  it('handles custom label style', () => {\n    const component = mount(<Tank label={{ label: 'Test Label', style: { color: 'blue' } }} />);\n    const label = component.find(Label);\n\n    expect(label).toHaveLength(1);\n    expect(label.prop('style').color).toBe('blue');\n  });\n});\n"
  },
  {
    "path": "src/components/__tests__/Thermometer.test.js",
    "content": "/* eslint-disable */\nimport React from 'react';\nimport Enzyme from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nEnzyme.configure({ adapter: new Adapter() });\n\nimport { mount, shallow } from 'enzyme';\n\nimport Thermometer from '../Thermometer.react';\nimport { Bulb } from '../../styled/Thermometer.styled';\nimport { Tick } from '../../styled/Tank.styled';\nimport CurrentValue, { ValueLabel } from '../../styled/CurrentValue.styled';\nimport Label from '../../styled/shared/Label.styled';\nimport DarkThemeProvider from '../DarkThemeProvider.react';\n\ndescribe.only('Thermometer', () => {\n  it('renders', () => {\n    const component = mount(<Thermometer />);\n    expect(component).toBeTruthy();\n  });\n\n  it('renders dark theme', () => {\n    const component = mount(\n      <DarkThemeProvider>\n        <Thermometer label=\"test\" />\n      </DarkThemeProvider>\n    );\n    expect(component).toBeTruthy();\n  });\n\n  it('shows current value if set', () => {\n    const component = mount(shallow(<Thermometer value={5} showCurrentValue={true} />).get(0));\n\n    const currValue = component.find(CurrentValue);\n    expect(currValue).toHaveLength(1);\n    expect(currValue.text()).toBe('5.0');\n  });\n\n  it('does not show current value if not set', () => {\n    const component = mount(shallow(<Thermometer value={5} />).get(0));\n\n    expect(component.find(CurrentValue).hostNodes()).toHaveLength(0);\n  });\n\n  it('shows current units if set', () => {\n    const component = mount(\n      shallow(<Thermometer value={5} showCurrentValue={true} units={'testUnits'} />).get(0)\n    );\n\n    const units = component.find(ValueLabel);\n    expect(units).toHaveLength(1);\n    expect(units.text()).toBe('testUnits');\n  });\n\n  it('does not show the current units if not set', () => {\n    const component = mount(shallow(<Thermometer value={5} showCurrentValue={true} />).get(0));\n\n    expect(component.find(ValueLabel).hostNodes()).toHaveLength(0);\n  });\n\n  it('has default marks', () => {\n    const component = mount(<Thermometer label=\"Test label\" />);\n    expect(component.find(Tick)).toHaveLength(11);\n  });\n\n  it('has custom marks', () => {\n    const scale = { custom: { 0: 'Low', 5: 'Medium', 10: 'High' } };\n    const component = mount(<Thermometer label=\"Test label\" scale={scale} step={5} />);\n    expect(component.find(Tick)).toHaveLength(3);\n  });\n\n  it('fills the bulb on non min value', () => {\n    const component = mount(<Thermometer value={1} />);\n\n    expect(component.find(Bulb).prop('on')).toBeTruthy();\n  });\n\n  it('does not fill the bulb on min value', () => {\n    const component = mount(<Thermometer value={0} />);\n\n    expect(component.find(Bulb).prop('on')).toBeFalsy();\n  });\n\n  it('has custom mark styling', () => {\n    const scale = { custom: { 0: { style: { color: 'blue' }, label: '_' } } };\n    const component = mount(<Thermometer label=\"Test label\" scale={scale} />);\n\n    const tickText = component\n      .find(Tick)\n      .render()\n      .children('.label');\n    expect(tickText).toHaveLength(1);\n    expect(tickText.prop('style').color).toBe('blue');\n  });\n\n  it('handles logarithmic scale', () => {\n    const component = mount(<Thermometer logarithmic showCurrentValue value={10000} />);\n\n    const currValue = component.find(CurrentValue);\n    expect(currValue).toHaveLength(1);\n    expect(currValue.text()).toBe('~104');\n  });\n\n  it('has assigned className', () => {\n    const component = mount(<Thermometer className=\"testClass\" />);\n    expect(component.hasClass('testClass')).toBeTruthy();\n  });\n\n  it('has assigned styles', () => {\n    const style = { width: '600px' };\n    const component = mount(<Thermometer style={style} />);\n\n    expect(component.prop('style')).toBe(style);\n  });\n\n  it('has assigned id', () => {\n    const component = mount(<Thermometer id=\"testId\" />);\n    expect(component.find('#testId').hostNodes()).toHaveLength(1);\n  });\n\n  it('positions label correctly', () => {\n    const component = mount(<Thermometer label=\"Test label\" labelPosition=\"bottom\" />);\n    expect(component.find(Label).prop('position')).toBe('bottom');\n  });\n\n  it('handles custom label style', () => {\n    const component = mount(\n      <Thermometer label={{ label: 'Test Label', style: { color: 'blue' } }} />\n    );\n    const label = component.find(Label);\n\n    expect(label).toHaveLength(1);\n    expect(label.prop('style').color).toBe('blue');\n  });\n});\n"
  },
  {
    "path": "src/components/__tests__/ToggleSwitch.test.js",
    "content": "/* eslint-disable */\nimport React from 'react';\nimport Enzyme from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nEnzyme.configure({ adapter: new Adapter() });\n\nimport { shallow, mount } from 'enzyme';\nimport sinon from 'sinon';\n\nimport ToggleSwitch from '../ToggleSwitch.react';\nimport Indicator from '../../styled/shared/Indicator.styled';\nimport { Wrapper, ButtonContainer, Button, RowLabel } from '../../styled/ToggleSwitch.styled';\nimport Label from '../../styled/shared/Label.styled';\nimport { dark } from '../../styled/constants';\n\ndescribe('Toggle Switch', () => {\n  it('renders', () => {\n    const component = shallow(<ToggleSwitch label=\"Test label\" />);\n    expect(component).toBeTruthy();\n  });\n\n  it('renders dark theme', () => {\n    const component = mount(<ToggleSwitch theme={dark} />);\n    expect(component).toBeTruthy();\n  });\n\n  it('renders vertically if desired', () => {\n    const component = mount(<ToggleSwitch vertical={true} />);\n    expect(component.find(Wrapper).prop('rotate')).toBe(-90);\n  });\n\n  it('calls setProps on click', () => {\n    const setProps = sinon.spy();\n    const component = mount(<ToggleSwitch setProps={setProps} value={false} />);\n\n    component.find('button').simulate('click');\n\n    expect(setProps.calledOnce).toBeTruthy();\n    expect(setProps.getCall(0).args[0].value).toBeTruthy();\n  });\n\n  it('handles absent setProps callbacks', () => {\n    const component = mount(<ToggleSwitch />);\n\n    component.find('button').simulate('click');\n  });\n\n  it('updates value when props change', () => {\n    const component = mount(<ToggleSwitch value={false} />);\n    expect(component.prop('value')).toBeFalsy();\n\n    component.setProps({ value: true });\n    expect(component.prop('value')).toBeTruthy();\n  });\n\n  it('does not update value when props change if value not set', () => {\n    const component = mount(shallow(<ToggleSwitch value={true} />).get(0));\n\n    component.setProps({});\n    expect(component.state('value')).toBeTruthy();\n  });\n\n  it('has assigned className', () => {\n    const component = shallow(<ToggleSwitch className=\"testClass\" />);\n    expect(component.render().hasClass('testClass')).toBeTruthy();\n  });\n\n  it('has assigned styles', () => {\n    const style = { width: '600px' };\n    const component = shallow(<ToggleSwitch style={style} />);\n\n    expect(component.render().prop('style')['width']).toBe(style['width']);\n  });\n\n  it('has assigned id', () => {\n    const component = shallow(<ToggleSwitch id={'testId'} />);\n\n    expect(component.render().prop('id')).toBe('testId');\n  });\n\n  it('positions label correctly', () => {\n    const component = mount(<ToggleSwitch label=\"Test label\" labelPosition=\"bottom\" />);\n    expect(component.find(Label).prop('position')).toBe('bottom');\n  });\n\n  it('displays indicators if desired', () => {\n    const component = mount(<ToggleSwitch indicator={true} value={true} />);\n    component.find(Indicator).forEach((node, index) => {\n      if (index === 0) expect(node.prop('on')).toBeTruthy();\n      if (index === 1) expect(node.prop('on')).toBeTruthy(); // TODO: update when indicator API changed\n    });\n  });\n\n  it('displays multiple labels if desired', () => {\n    const component = mount(\n      <ToggleSwitch label={['Up', { label: 'Down', style: { color: 'blue' } }]} value={true} />\n    );\n    component.find(RowLabel).forEach((node, index) => {\n      if (index === 0) expect(node.prop('children')).toBeTruthy();\n      if (index === 1) expect(node.prop('children')).toBeTruthy();\n    });\n\n    const verticalComponent = mount(\n      <ToggleSwitch\n        label={['Up', { label: 'Down', style: { color: 'blue' } }]}\n        vertical={true}\n        value={true}\n      />\n    );\n    verticalComponent.find(RowLabel).forEach((node, index) => {\n      if (index === 0) expect(node.prop('children')).toBeTruthy();\n      if (index === 1) expect(node.prop('children')).toBeTruthy();\n    });\n  });\n});\n"
  },
  {
    "path": "src/fragments/ColorPicker.react.js",
    "content": "import React, { Component } from 'react';\nimport { ChromePicker } from 'react-color';\nimport { withTheme } from 'styled-components';\nimport Color from 'color';\n\nimport { colors } from '../styled/constants';\nimport { Container } from '../styled/ColorPicker.styled';\nimport LabelContainer from '../styled/shared/LabelContainer.styled';\n\nimport { defaultProps, propTypes } from '../components/ColorPicker.react';\n\nimport { getClassName, getFilteredProps } from '../helpers/classNameGenerator';\n\nconst DEFAULT_COLOR = colors.PRIMARY;\n\nconst parseValue = value => {\n  value = value || {};\n\n  if (value.rgb) {\n    const rgba = Object.values(value.rgb);\n    return `rgba(${rgba[0]}, ${rgba[1]}, ${rgba[2]}, ${rgba[3]})`;\n  }\n\n  if (value.hex)\n    return Color(value.hex)\n      .rgb()\n      .string();\n\n  return DEFAULT_COLOR;\n};\n\n/**\n * A color picker.\n */\nclass ColorPicker extends Component {\n  constructor(props) {\n    super(props);\n\n    this.state = {\n      value: props.value\n    };\n\n    this.calcHandleGlow = this.calcHandleGlow.bind(this);\n    this.setValue = this.setValue.bind(this);\n  }\n\n  UNSAFE_componentWillReceiveProps(newProps) {\n    if (newProps.value !== this.state.value) this.setState({ value: newProps.value });\n  }\n\n  calcHandleGlow() {\n    return Color(parseValue(this.state.value))\n      .fade(0.5)\n      .string();\n  }\n\n  setValue(value) {\n    if (value != null) {\n      const { hex, rgb } = value;\n      const newValue = { hex, rgb };\n\n      this.setState({ value: newValue });\n      if (this.props.setProps) this.props.setProps({ value: newValue });\n    }\n  }\n\n  render() {\n    const { id, className, style, theme } = this.props;\n\n    const elementName = getClassName('colorpicker', theme);\n\n    const filteredProps = getFilteredProps(this.props);\n\n    return (\n      <div id={id} className={elementName + (className ? ' ' + className : '')} style={style}>\n        <LabelContainer className={elementName + '__label'} {...filteredProps}>\n          <Container\n            className={elementName + '__container'}\n            {...filteredProps}\n            glow={this.calcHandleGlow}\n          >\n            <ChromePicker\n              className={elementName + '__chromepicker'}\n              color={parseValue(this.state.value)}\n              onChangeComplete={this.setValue}\n            />\n          </Container>\n        </LabelContainer>\n      </div>\n    );\n  }\n}\n\nColorPicker.defaultProps = defaultProps;\nColorPicker.propTypes = propTypes;\n\nexport default withTheme(ColorPicker);\n"
  },
  {
    "path": "src/fragments/Slider.react.js",
    "content": "import React, { Component } from 'react';\nimport ReactSlider from 'rc-slider';\nimport { withTheme } from 'styled-components';\nimport { omit } from 'ramda';\nimport deepEqual from 'deep-equal';\n\nimport { getLinearGradientCSS, isContiguous, getColorValue } from '../helpers/colorRanges';\nimport LabelContainer from '../styled/shared/LabelContainer.styled';\n\nimport 'rc-slider/assets/index.css';\n\nimport {\n  SliderContainer,\n  Handle,\n  HandleContainer,\n  targetStyles,\n  Label\n} from '../styled/Slider.styled';\n\nimport { defaultProps, propTypes } from '../components/Slider.react';\n\nimport { getClassName, getFilteredProps } from '../helpers/classNameGenerator';\n\nconst renderHandle = (props, { isTarget, showLabel } = {}) => {\n  const label = (\n    <Label isTarget={isTarget} {...props}>\n      <div className=\"label\">{props.label}</div>\n      <div className=\"value\">{props.value}</div>\n    </Label>\n  );\n\n  return (\n    <HandleContainer isTarget={isTarget} {...props}>\n      {showLabel && label}\n      <Handle isTarget={isTarget} showLabel={showLabel} {...props} />\n    </HandleContainer>\n  );\n};\n\nconst getTrackStyle = props => {\n  if (!props.color.ranges || !isContiguous(props)) {\n    const colorValue = getColorValue(props.color);\n\n    return {\n      trackStyle: { backgroundColor: colorValue },\n      activeDotStyle: props.theme.dark\n        ? { background: colorValue, boxShadow: `0 0 6px 1px ${colorValue}` }\n        : { borderColor: colorValue }\n    };\n  }\n\n  return {\n    railStyle: {\n      backgroundImage: `${getLinearGradientCSS(props)}, linear-gradient(0deg, #000, #000)`,\n      backgroundBlendMode: props.theme.dark ? 'none' : 'overlay'\n    },\n    trackStyle: { mixBlendMode: 'overlay', background: props.theme.dark ? '#fff' : '#000' },\n    dotStyle: { display: 'none' }\n  };\n};\n\n/**\n * A slider component with support for\n * a target value.\n */\nclass Slider extends Component {\n  constructor(props) {\n    super(props);\n    this.state = {\n      value: props.value != null ? props.value : props.min,\n      trackStyle: getTrackStyle(props)\n    };\n\n    this.onChange = this.onChange.bind(this);\n    this.onAfterChange = this.onAfterChange.bind(this);\n    this.renderSliderHandle = this.renderSliderHandle.bind(this);\n    this.renderTargets = this.renderTargets.bind(this);\n    this.calcLabelOffset = this.calcLabelOffset.bind(this);\n  }\n\n  UNSAFE_componentWillReceiveProps(newProps) {\n    const updates = {};\n    const filteredProps = getFilteredProps(this.props);\n\n    if (typeof newProps.value !== 'undefined' && newProps.value !== this.state.value) {\n      updates.value = newProps.value;\n    }\n\n    if (!deepEqual(newProps.color, this.props.color)) {\n      updates.trackStyle = getTrackStyle({ ...filteredProps, ...newProps });\n    }\n\n    this.setState(updates);\n  }\n\n  onChange(value) {\n    const { updatemode, setProps } = this.props;\n\n    if (!this.props.value || updatemode !== 'drag') {\n      this.setState({ value });\n    }\n\n    if (updatemode === 'drag') {\n      if (setProps) setProps({ value });\n    }\n  }\n\n  onAfterChange(value) {\n    const { updatemode, setProps } = this.props;\n\n    if (updatemode === 'mouseup') {\n      if (setProps) setProps({ value });\n    }\n  }\n\n  renderSliderHandle(props) {\n    const { handleLabel } = this.props;\n    const filteredProps = getFilteredProps(this.props);\n\n    let handleProps = { ...filteredProps, ...props };\n\n    if (!handleLabel) {\n      return renderHandle(handleProps);\n    }\n\n    const value = handleLabel.showCurrentValue && this.state.value;\n    handleProps = {\n      ...handleProps,\n      value,\n      label: handleLabel.label || (handleLabel instanceof Object ? '  ' : handleLabel),\n      color: handleLabel.color || getColorValue(this.props.color),\n      style: handleLabel.style\n    };\n\n    return renderHandle(handleProps, { showLabel: true });\n  }\n\n  renderTargets() {\n    const filteredProps = getFilteredProps(this.props);\n\n    return Object.entries(this.props.targets).reduce((acc, [k, v]) => {\n      const props = {\n        ...filteredProps,\n        label: v.label || v,\n        value: v.showCurrentValue && k,\n        color: v.color,\n        style: v.style\n      };\n      const Handle = renderHandle(props, { isTarget: true, showLabel: !!v });\n\n      // use rc-slider's props.marks format\n      acc[k] = { style: targetStyles, label: Handle };\n\n      return acc;\n    }, {});\n  }\n\n  calcLabelOffset({ vertical, labelPosition, marks, targets, handleLabel }) {\n    if (vertical) return null;\n\n    if (labelPosition === 'bottom') {\n      return `transform: translateY(${marks ? 20 : 0}px);`;\n    }\n\n    let showingCurrentValue = false;\n    Object.values(targets).map(target => {\n      if (target.showCurrentValue) showingCurrentValue = true;\n    });\n\n    if (handleLabel && handleLabel.showCurrentValue) {\n      showingCurrentValue = true;\n    }\n\n    return `transform: translateY(${showingCurrentValue ? -38 : -16}px);`;\n  }\n\n  render() {\n    const { value } = this.state;\n    const { className, id, theme, label, size, vertical, style, marks } = this.props;\n\n    const elementName = getClassName('slider', theme.dark);\n    const filteredProps = getFilteredProps(this.props);\n    let cssStyle = this.props.vertical\n      ? { ...style, marginLeft: '45px' }\n      : { ...style, marginTop: '45px' };\n    cssStyle = this.props.fullSize\n      ? this.props.vertical\n        ? { ...cssStyle, height: '100%' }\n        : { ...cssStyle, width: '100%' }\n      : cssStyle;\n    return (\n      <div id={id} style={cssStyle} className={elementName + (className ? ' ' + className : '')}>\n        <LabelContainer\n          className={elementName + '__label'}\n          labelCSS={label ? this.calcLabelOffset(this.props) : null}\n          {...filteredProps}\n        >\n          <SliderContainer fullSize={this.props.fullSize} size={size} vertical={vertical}>\n            <ReactSlider\n              className={elementName + '__slider'}\n              onChange={this.onChange}\n              onAfterChange={this.onAfterChange}\n              value={value}\n              handle={this.renderSliderHandle}\n              marks={{ ...marks, ...this.renderTargets() }}\n              {...this.state.trackStyle}\n              {...omit(['setProps', 'updatemode', 'value', 'marks'], filteredProps)}\n            />\n          </SliderContainer>\n        </LabelContainer>\n      </div>\n    );\n  }\n}\n\nSlider.defaultProps = defaultProps;\nSlider.propTypes = propTypes;\n\nexport default withTheme(Slider);\n"
  },
  {
    "path": "src/helpers/GaugeSvg.react.js",
    "content": "import React from 'react';\n\nimport { light } from '../styled/constants';\nimport darkGradientDefs from '../styled/shared/DarkGradient';\nimport { getRandomInt } from '../helpers/util';\nimport { drawScale, colorRangesTrack, lightTrack } from './shared/TrackSvg';\n\nconst lightNeedleKnob = ({ CX, CY }) => (\n  <circle className=\"needle-knob\" cx={CX} cy={CY} r=\"14\" fill=\"#fff\" />\n);\n\nconst darkNeedleKnob = ({ CX, CY }) => {\n  const id = getRandomInt();\n\n  return (\n    <g>\n      <defs>\n        <circle\n          id={`needle-knob-edge-${id}`}\n          strokeWidth=\"2px\"\n          fill=\"none\"\n          cx={CX}\n          cy={CY}\n          r=\"14\"\n        />\n        <circle id={`needle-knob-${id}`} className=\"needle-knob\" cx={CX} cy={CY} r=\"14\" />\n      </defs>\n      <use fill=\"#141414\" xlinkHref={`#needle-knob-${id}`} />\n      <use fill=\"url(#l)\" style={{ mixBlendMode: 'overlay' }} xlinkHref={`#needle-knob-${id}`} />\n      <use fill=\"url(#m)\" style={{ mixBlendMode: 'overlay' }} xlinkHref={`#needle-knob-${id}`} />\n      <use fill=\"#141414\" filter=\"url(#n)\" xlinkHref={`#needle-knob-${id}`} />\n\n      <use stroke=\"#000000\" xlinkHref={`#needle-knob-edge-${id}`} />\n      <use\n        stroke=\"url(#p)\"\n        style={{ mixBlendMode: 'overlay' }}\n        xlinkHref={`#needle-knob-edge-${id}`}\n      />\n      <use stroke=\"url(#q)\" strokeOpacity=\".4\" xlinkHref={`#needle-knob-edge-${id}`} />\n    </g>\n  );\n};\n\nconst darkTrack = (props, dimensions) => {\n  const { progress } = props;\n  const { CX, CY, GAUGE_RAD, CIRCLE_CIR, GAP_ARC_LENGTH, TRACK_ARC_LENGTH } = dimensions;\n  const id = getRandomInt();\n\n  const colorValue =\n    props.color && (typeof props.color === 'string' ? props.color : props.color.default);\n\n  return (\n    <g>\n      <defs>\n        <circle\n          id={`gauge-track-${id}`}\n          className=\"track\"\n          cx={CX}\n          cy={CY}\n          r={GAUGE_RAD}\n          fill=\"none\"\n          strokeDasharray={CIRCLE_CIR}\n          strokeDashoffset={GAP_ARC_LENGTH}\n          strokeWidth=\"6\"\n          transform={`rotate(-225 ${CX} ${CY})`}\n        />\n        <circle\n          id={`gauge-track-progress-${id}`}\n          className=\"track progress\"\n          cx={CX}\n          cy={CY}\n          r={GAUGE_RAD}\n          fill=\"none\"\n          strokeDasharray={CIRCLE_CIR}\n          strokeDashoffset={GAP_ARC_LENGTH + (1 - progress) * TRACK_ARC_LENGTH}\n          strokeWidth=\"6\"\n          transform={`rotate(-225 ${CX} ${CY})`}\n        />\n      </defs>\n      <use stroke=\"black\" filter=\"url(#a)\" xlinkHref={`#gauge-track-${id}`} />\n      {props.color && props.color.ranges && (\n        <use stroke=\"#15181A\" xlinkHref={`#gauge-track-${id}`} />\n      )}\n      <use stroke=\"url(#c)\" style={{ mixBlendMode: 'overlay' }} xlinkHref={`#gauge-track-${id}`} />\n      <use stroke=\"black\" filter=\"url(#d)\" xlinkHref={`#gauge-track-${id}`} />\n\n      <use stroke=\"black\" filter=\"url(#e)\" xlinkHref={`#gauge-track-progress-${id}`} />\n      <use stroke={colorValue || '#ABE2FB'} xlinkHref={`#gauge-track-progress-${id}`} />\n      <use\n        stroke=\"url(#g)\"\n        style={{ mixBlendMode: 'overlay' }}\n        xlinkHref={`#gauge-track-progress-${id}`}\n      />\n      {props.color && props.color.ranges && colorRangesTrack(props, dimensions)}\n    </g>\n  );\n};\n\nconst needle = (needleRotation, { CX, CY, SCALE_RAD }) => (\n  <line\n    className=\"needle\"\n    x1={CX}\n    y1={CY}\n    x2={CX + SCALE_RAD}\n    y2={CY}\n    transform={`rotate(${needleRotation || 0} ${CX} ${CY})`}\n    strokeLinecap=\"round\"\n  />\n);\n\nconst defs = <defs>{darkGradientDefs}</defs>;\n\nconst GaugeSvg = props => {\n  const { progress, min, max, step, scale } = props;\n  const dimensions = calcDimensions(props);\n  const scaleItems = drawScale({ min, max, step, scale }, dimensions);\n  const knob = props.theme.dark ? darkNeedleKnob(dimensions) : lightNeedleKnob(dimensions);\n  const track = props.theme.dark ? darkTrack(props, dimensions) : lightTrack(props, dimensions);\n\n  const needleRotation = 270 * progress - 225;\n\n  return (\n    <svg\n      width={dimensions.SVG_WIDTH}\n      height={dimensions.SVG_WIDTH}\n      viewBox={`0 0 ${dimensions.SVG_WIDTH} ${dimensions.SVG_WIDTH}`}\n    >\n      {props.theme.dark && defs}\n      <g className=\"scale\">{scaleItems}</g>\n      {needle(needleRotation, dimensions)}\n      {knob}\n      {track}\n    </svg>\n  );\n};\n\nGaugeSvg.defaultProps = {\n  theme: light,\n  size: 208\n};\n\nexport default GaugeSvg;\n\n// private helpers\nfunction calcDimensions({ size }) {\n  const OFFSET = 8;\n  const d = {};\n\n  d.SVG_WIDTH = size + 32;\n  d.CY = ~~(d.SVG_WIDTH / 2);\n  d.CX = ~~(d.SVG_WIDTH / 2);\n\n  d.GAUGE_RAD = size / 2;\n  d.SCALE_RAD = d.GAUGE_RAD - OFFSET;\n\n  d.CIRCLE_CIR = 2 * Math.PI * d.GAUGE_RAD;\n  d.GAP_ARC_LENGTH = (90 / 360) * (2 * Math.PI * d.GAUGE_RAD);\n  d.TRACK_ARC_LENGTH = d.CIRCLE_CIR - d.GAP_ARC_LENGTH;\n\n  d.SCALE_TICK_OUTER_RAD = d.SCALE_RAD;\n  d.SCALE_TICK_INNER_RAD = d.SCALE_TICK_OUTER_RAD - 6;\n  d.SCALE_TEXT_RAD = d.SCALE_TICK_INNER_RAD - 8;\n\n  d.IS_GAUGE = true;\n\n  return d;\n}\n"
  },
  {
    "path": "src/helpers/KnobSvg.react.js",
    "content": "import React from 'react';\n\nimport { light } from '../styled/constants';\nimport darkGradientDefs from '../styled/shared/DarkGradient';\nimport { getRandomInt } from './util';\nimport { drawScale, colorRangesTrack, lightTrack } from './shared/TrackSvg';\nimport { getColorValue } from './colorRanges';\n\nconst START_ANGLE_OFFSET = -225;\n\nconst lightKnob = (newAngle, { CX, CY, KNOB_RAD }) => (\n  <g transform={`translate(${CX} ${CY}) rotate(${newAngle})`}>\n    <circle className=\"base\" cx=\"0\" cy=\"0\" r={KNOB_RAD} fill=\"#fff\" />\n    <circle className=\"indent\" cx={KNOB_RAD * (2 / 3)} cy=\"0\" r={KNOB_RAD / 6} fill=\"#fff\" />\n  </g>\n);\n\nconst darkKnob = (color, newAngle, { CX, CY, KNOB_RAD }) => {\n  const id = getRandomInt();\n\n  return (\n    <g transform={`translate(${CX} ${CY})`}>\n      <defs>\n        <path\n          id={`base-edge-${id}`}\n          strokeWidth=\"2px\"\n          fill=\"none\"\n          d={`M-${KNOB_RAD},0a${KNOB_RAD},${KNOB_RAD} 0 1,0 ${KNOB_RAD *\n            2},0a${KNOB_RAD},${KNOB_RAD} 0 1,0 -${KNOB_RAD * 2},0`}\n        />\n        <circle id={`base-${id}`} className=\"base\" cx=\"0\" cy=\"0\" r={KNOB_RAD} />\n        <rect id={`indent-${id}`} width=\"8\" height=\"2\" x={KNOB_RAD - 16} y=\"0\" rx=\"1\" />\n      </defs>\n      <use fill=\"#141414\" xlinkHref={`#base-${id}`} />\n      <use fill=\"url(#l)\" style={{ mixBlendMode: 'overlay' }} xlinkHref={`#base-${id}`} />\n      <use fill=\"url(#m)\" style={{ mixBlendMode: 'overlay' }} xlinkHref={`#base-${id}`} />\n      <use fill=\"#141414\" filter=\"url(#n)\" xlinkHref={`#base-${id}`} />\n\n      <use stroke=\"#000000\" xlinkHref={`#base-edge-${id}`} />\n      <use stroke=\"url(#p)\" style={{ mixBlendMode: 'overlay' }} xlinkHref={`#base-edge-${id}`} />\n      <use stroke=\"url(#q)\" strokeOpacity=\".4\" xlinkHref={`#base-edge-${id}`} />\n\n      <g transform={`rotate(${newAngle})`}>\n        <use fill=\"black\" filter=\"url(#r)\" xlinkHref={`#indent-${id}`} />\n        <use fill={getColorValue(color) || '#ABE2FB'} xlinkHref={`#indent-${id}`} />\n        <use fill=\"black\" filter=\"url(#t)\" xlinkHref={`#indent-${id}`} />\n      </g>\n    </g>\n  );\n};\n\nconst darkTrack = (props, dimensions) => {\n  const { progress } = props;\n  const { CX, CY, GAUGE_RAD, CIRCLE_CIR, GAP_ARC_LENGTH, TRACK_ARC_LENGTH } = dimensions;\n  const id = getRandomInt();\n\n  const hasColorRanges = props.color && props.color.ranges;\n\n  return (\n    <g>\n      <defs>\n        <circle\n          id={`knob-track-${id}`}\n          className=\"track\"\n          cx={CX}\n          cy={CY}\n          r={GAUGE_RAD}\n          fill=\"none\"\n          strokeDasharray={CIRCLE_CIR}\n          strokeDashoffset={GAP_ARC_LENGTH}\n          strokeWidth=\"6\"\n          transform={`rotate(-225 ${CX} ${CY})`}\n        />\n        <circle\n          id={`knob-track-progress-${id}`}\n          className=\"track progress\"\n          cx={CX}\n          cy={CY}\n          r={GAUGE_RAD}\n          fill=\"none\"\n          strokeDasharray={CIRCLE_CIR}\n          strokeDashoffset={GAP_ARC_LENGTH + (1 - progress) * TRACK_ARC_LENGTH}\n          strokeWidth=\"6\"\n          transform={`rotate(-225 ${CX} ${CY})`}\n        />\n      </defs>\n      <use stroke=\"#15181A\" filter=\"url(#a)\" xlinkHref={`#knob-track-${id}`} />\n      {hasColorRanges && <use stroke=\"#15181A\" xlinkHref={`#knob-track-${id}`} />}\n      <use stroke=\"url(#c)\" style={{ mixBlendMode: 'overlay' }} xlinkHref={`#knob-track-${id}`} />\n      <use stroke=\"#15181A\" filter=\"url(#d)\" xlinkHref={`#knob-track-${id}`} />\n\n      {!hasColorRanges && (\n        <use stroke=\"black\" filter=\"url(#e)\" xlinkHref={`#knob-track-progress-${id}`} />\n      )}\n      <use\n        stroke=\"url(#g)\"\n        style={{ mixBlendMode: 'overlay' }}\n        xlinkHref={`#knob-track-progress-${id}`}\n      />\n      <use\n        stroke={getColorValue(props.color) || '#ABE2FB'}\n        xlinkHref={`#knob-track-progress-${id}`}\n      />\n\n      {props.color && props.color.ranges && colorRangesTrack(props, dimensions)}\n    </g>\n  );\n};\n\nconst KnobSvg = props => {\n  const { theme, currentDeg, disabled, color } = props;\n\n  const newAngle = currentDeg + START_ANGLE_OFFSET;\n  const dimensions = calcDimensions(props);\n\n  const knob = theme.dark ? darkKnob(color, newAngle, dimensions) : lightKnob(newAngle, dimensions);\n  const track = theme.dark ? darkTrack(props, dimensions) : lightTrack(props, dimensions);\n\n  const scaleElements = drawScale(props, dimensions);\n\n  return (\n    <svg\n      width={dimensions.SVG_WIDTH}\n      height={dimensions.SVG_WIDTH}\n      viewBox={`0 0 ${dimensions.SVG_WIDTH} ${dimensions.SVG_WIDTH}`}\n    >\n      {theme.dark && darkGradientDefs}\n      <g className=\"scale\">{scaleElements}</g>\n      <g\n        ref={props.refFunc}\n        onMouseDown={props.onMouseDown}\n        onMouseUp={props.onMouseUp}\n        onMouseMove={props.onMouseMove}\n        onTouchStart={props.onMouseDown}\n        onTouchEnd={props.onMouseUp}\n        onTouchMove={props.onMouseMove}\n        className={`knob ${disabled ? 'disabled' : ''}`}\n      >\n        {knob}\n      </g>\n      {track}\n    </svg>\n  );\n};\n\nKnobSvg.defaultProps = {\n  theme: light,\n  size: 144\n};\n\nexport default KnobSvg;\n\n// private helpers\nfunction calcDimensions({ size }) {\n  const OFFSET = 36;\n  const d = {};\n\n  d.SVG_WIDTH = size + 80;\n  d.CY = ~~(d.SVG_WIDTH / 2);\n  d.CX = ~~(d.SVG_WIDTH / 2);\n\n  d.GAUGE_RAD = size / 2;\n  d.SCALE_RAD = d.GAUGE_RAD + OFFSET;\n  d.KNOB_RAD = d.GAUGE_RAD - 12;\n\n  d.CIRCLE_CIR = 2 * Math.PI * d.GAUGE_RAD;\n  d.GAP_ARC_LENGTH = (90 / 360) * (2 * Math.PI * d.GAUGE_RAD);\n  d.TRACK_ARC_LENGTH = d.CIRCLE_CIR - d.GAP_ARC_LENGTH;\n\n  d.SCALE_TICK_OUTER_RAD = d.SCALE_RAD - 27;\n  d.SCALE_TICK_INNER_RAD = d.SCALE_TICK_OUTER_RAD - 0.5;\n  d.SCALE_TEXT_RAD = d.SCALE_RAD - 20;\n\n  return d;\n}\n"
  },
  {
    "path": "src/helpers/LEDDisplaySvg.react.js",
    "content": "import React from 'react';\nimport Color from 'color';\n\nimport { DarkDigitContainer } from '../styled/LEDDisplay.styled';\nimport { darkLEDDefs, DARK_SEGMENTS, darkColon, darkDecimal } from '../styled/shared/DarkGradient';\n\nconst DIGITS = {\n  0: ['A', 'B', 'C', 'D', 'E', 'F'],\n  1: ['B', 'C'],\n  2: ['A', 'B', 'G', 'E', 'D'],\n  3: ['A', 'B', 'G', 'C', 'D'],\n  4: ['F', 'G', 'B', 'C'],\n  5: ['A', 'F', 'G', 'C', 'D'],\n  6: ['A', 'F', 'G', 'C', 'D', 'E'],\n  7: ['A', 'B', 'C'],\n  8: ['A', 'B', 'C', 'D', 'E', 'F', 'G'],\n  9: ['A', 'B', 'C', 'D', 'F', 'G'],\n  '-': ['G']\n};\n\n// See the following link for segment mappings:\n// https://en.wikipedia.org/wiki/Seven-segment_display#/media/File:7_segment_display_labeled.svg\nconst LIGHT_SEGMENTS = {\n  A: {\n    base: 'M3.778 3.778L6.555 1h16.667L26 3.778l-2.778 2.778H6.555L3.778 3.778z',\n    stroke: 'M3.778 3.778L6.555 1h16.667L26 3.778l-2.778 2.778H6.555L3.778 3.778z'\n  },\n  B: {\n    base: 'M26 3.778l2.778 2.777v16.667L26 26l-2.778-2.778V6.555L26 3.778z',\n    stroke: 'M26 3.778l2.778 2.777v16.667L26 26l-2.778-2.778V6.555L26 3.778z'\n  },\n  C: {\n    base: 'M26 26l2.778 2.778v16.666L26 48.222l-2.778-2.778V28.778L26 26z',\n    stroke: 'M26 26l2.778 2.778v16.666L26 48.222l-2.778-2.778V28.778L26 26z'\n  },\n  D: {\n    base: 'M26 48.222L23.222 51H6.555l-2.777-2.778 2.777-2.778h16.667L26 48.222z',\n    stroke: 'M26 48.222L23.222 51H6.555l-2.777-2.778 2.777-2.778h16.667L26 48.222z'\n  },\n  E: {\n    base: 'M3.778 48.222L1 45.444V28.778L3.778 26l2.778 2.778v16.666l-2.778 2.778z',\n    stroke: 'M3.778 48.222L1 45.444V28.778L3.778 26l2.778 2.778v16.666l-2.778 2.778z'\n  },\n  F: {\n    base: 'M3.778 26L1 23.222V6.555l2.778-2.777 2.778 2.777v16.667L3.778 26z',\n    stroke: 'M3.778 26L1 23.222V6.555l2.778-2.777 2.778 2.777v16.667L3.778 26z'\n  },\n  G: {\n    base: 'M3.778 26l2.777-2.778h16.667L26 26l-2.778 2.778H6.555L3.778 26z',\n    stroke: 'M3.778 26l2.777-2.778h16.667L26 26l-2.778 2.778H6.555L3.778 26z'\n  }\n};\n\nconst LightSegment = ({ paths: { base, stroke }, fillColor, strokeColor }) => (\n  <g>\n    <path fill={fillColor} fillRule=\"evenodd\" d={base} clipRule=\"evenodd\" />\n    <path stroke={strokeColor} strokeWidth=\".75\" d={stroke} />\n  </g>\n);\n\nconst LightDecimal = ({ fillColor, strokeColor }) => (\n  <g transform=\"translate(29 46)\">\n    <circle cx=\"3\" cy=\"3\" r=\"3\" fill={fillColor} />\n    <circle cx=\"3\" cy=\"3\" r=\"3\" stroke={strokeColor} strokeWidth=\".75\" />\n  </g>\n);\n\nconst LightColon = ({ fillColor, strokeColor }) => (\n  <g>\n    <g transform=\"translate(32 36)\">\n      <circle cx=\"3\" cy=\"3\" r=\"3\" fill={fillColor} />\n      <circle cx=\"3\" cy=\"3\" r=\"3\" stroke={strokeColor} strokeWidth=\".75\" />\n    </g>\n    <g transform=\"translate(32 9)\">\n      <circle cx=\"3\" cy=\"3\" r=\"3\" fill={fillColor} />\n      <circle cx=\"3\" cy=\"3\" r=\"3\" stroke={strokeColor} strokeWidth=\".75\" />\n    </g>\n  </g>\n);\n\nconst LightDigit = ({ value, hasColon, hasDecimal, color, backgroundColor, size, className }) => {\n  const inactiveSegmentFill = Color(backgroundColor)\n    .darken(0.2)\n    .fade(0.85);\n\n  const activeSegments = DIGITS[value].map(letter => (\n    <LightSegment\n      key={letter}\n      fillColor={color}\n      strokeColor={backgroundColor}\n      paths={LIGHT_SEGMENTS[letter]}\n    />\n  ));\n  const inactiveSegments = ['A', 'B', 'C', 'D', 'E', 'F', 'G'].map(letter => (\n    <LightSegment\n      key={letter}\n      fillColor={inactiveSegmentFill}\n      strokeColor={backgroundColor}\n      paths={LIGHT_SEGMENTS[letter]}\n    />\n  ));\n\n  const width = hasColon ? size : size * (6 / 7);\n  const height = size * (9 / 7);\n\n  return (\n    <div className={className}>\n      <svg xmlns=\"http://www.w3.org/2000/svg\" width={width} height={height}>\n        <g fill=\"none\" style={{ transform: `scale(${Number(size) / 42})` }}>\n          {inactiveSegments}\n          {activeSegments}\n          {hasColon && <LightColon fillColor={color} strokeColor={backgroundColor} />}\n          {hasDecimal && <LightDecimal fillColor={color} strokeColor={backgroundColor} />}\n        </g>\n      </svg>\n    </div>\n  );\n};\n\nconst DarkDigit = ({ value, hasColon, hasDecimal, color, size, className }) => {\n  const segments = DIGITS[value].map(letter => DARK_SEGMENTS[letter]);\n\n  const width = hasColon ? size : size * (6 / 7);\n  const height = size * (9 / 7);\n\n  return (\n    <DarkDigitContainer className={className} color={color}>\n      <svg\n        xmlns=\"http://www.w3.org/2000/svg\"\n        xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n        width={width}\n        height={height}\n      >\n        {darkLEDDefs}\n        <g\n          fill=\"none\"\n          fillRule=\"evenodd\"\n          filter=\"url(#darkLED-a)\"\n          style={{ transform: `scale(${Number(size) / 42})` }}\n        >\n          {segments}\n          {hasColon && darkColon}\n          {hasDecimal && darkDecimal}\n        </g>\n      </svg>\n    </DarkDigitContainer>\n  );\n};\n\nexport const Digit = props =>\n  props.theme.dark ? <DarkDigit {...props} /> : <LightDigit {...props} />;\n\nexport default Digit;\n"
  },
  {
    "path": "src/helpers/NumericInput.js",
    "content": "import { default as Input } from 'react-numeric-input';\n\nInput.prototype.UNSAFE_componentWillMount = Input.prototype.componentWillMount;\nInput.prototype.UNSAFE_componentWillReceiveProps = Input.prototype.componentWillReceiveProps;\nInput.prototype.UNSAFE_componentWillUpdate = Input.prototype.componentWillUpdate;\n\ndelete Input.prototype.componentWillMount;\ndelete Input.prototype.componentWillReceiveProps;\ndelete Input.prototype.componentWillUpdate;\n\nexport default Input;\n"
  },
  {
    "path": "src/helpers/PowerButtonSvg.react.js",
    "content": "import React from 'react';\n\nimport { light } from '../styled/constants';\n\nconst PowerButtonSvg = ({ color, theme, on, size }) => (\n  <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 14 14\">\n    <path\n      fill={on ? color || theme.primary : theme.secondary}\n      fillRule=\"evenodd\"\n      d=\"M24.5173333,14.68 C25.2764482,15.3271143 25.8799978,16.1111065 26.328,17.032 C26.7760022,17.9777825 27,18.9671059 27,20 C27,21.2693397 26.6826698,22.4453279 26.048,23.528 C25.4257747,24.5857831 24.5857831,25.4257747 23.528,26.048 C22.4453279,26.6826698 21.2693397,27 20,27 C18.7306603,27 17.5546721,26.6826698 16.472,26.048 C15.4142169,25.4257747 14.5742253,24.5857831 13.952,23.528 C13.3173302,22.4453279 13,21.2693397 13,20 C13,18.9671059 13.2302199,17.9777825 13.6906667,17.032 C14.1262244,16.1111065 14.7235518,15.3271143 15.4826667,14.68 L16.5653333,15.7626667 C15.9555525,16.2728914 15.4764462,16.8888853 15.128,17.6106667 C14.7546648,18.3697816 14.568,19.1662181 14.568,20 C14.568,20.9955605 14.8106642,21.9102181 15.296,22.744 C15.7813358,23.5653374 16.4346626,24.2186642 17.256,24.704 C18.0897819,25.1893358 19.0044395,25.432 20,25.432 C20.9955605,25.432 21.9102181,25.1893358 22.744,24.704 C23.5653374,24.2186642 24.2186642,23.5653374 24.704,22.744 C25.1893358,21.9102181 25.432,20.9955605 25.432,20 C25.432,19.1537735 25.2546684,18.3666703 24.9,17.6386667 C24.5453316,16.910663 24.056892,16.2977803 23.4346667,15.8 L24.5173333,14.68 Z M20.7653333,13 L20.7653333,20.7653333 L19.2346667,20.7653333 L19.2346667,13 L20.7653333,13 Z\"\n      transform=\"translate(-13 -13)\"\n    />\n  </svg>\n);\n\nPowerButtonSvg.defaultProps = {\n  theme: light\n};\n\nexport default PowerButtonSvg;\n"
  },
  {
    "path": "src/helpers/classNameGenerator.js",
    "content": "import { omit } from 'ramda';\n\nexport const getClassName = (componentName, theme) => {\n  return 'daq-' + componentName + (theme && theme.dark ? '--dark' : '--light');\n};\n\nexport const getFilteredProps = props => omit(['className', 'id', 'setProps', 'style'], props);\n"
  },
  {
    "path": "src/helpers/colorRanges.js",
    "content": "import tinygradient from 'tinygradient';\n\nexport const isContiguous = ({ color, min, max }) => {\n  const ranges = toOneDArray(Object.values(color.ranges));\n  ranges.sort((r1, r2) => r1[0] - r2[0]);\n\n  // color ranges start at min and end at max\n  if (ranges[0][0] !== min || ranges[ranges.length - 1][1] !== max) return false;\n\n  // color ranges are contiguous\n  for (let i = 0; i < ranges.length - 1; i++) {\n    if (ranges[i][1] !== ranges[i + 1][0]) return false;\n  }\n\n  return true;\n};\n\nexport const toOneDArray = ranges => {\n  let arr = [];\n  for (let i = 0; i < ranges.length; i++) {\n    if (ranges[i][0] instanceof Array) {\n      for (let j = 0; j < ranges[i].length; j++) {\n        arr.push(ranges[i][j]);\n      }\n    } else {\n      arr.push(ranges[i]);\n    }\n  }\n  return arr;\n};\n\nexport const convertInRange = (color, max, min) => {\n  /*\n   * The function will check color and range attribute.\n   * if range attribute is provided, it will check for unequal range values.\n   * args: color, max and min props from the gauge component\n   * example 1:\n   * input: color -> {\"red\":[1, 10], \"green\":[10, 50]}, max -> 40, min -> 0\n   * output: {\"red\":[0, 10], \"green\":[10, 40]}\n   * if color is underfined\n   */\n  if (!color) {\n    return color;\n  }\n\n  // if ranges is not passed with color\n  if (color.ranges == null) {\n    return color;\n  } else {\n    let ranges = { ...color.ranges };\n    // get a flat array of ranges\n    let rangeArr = getRangeArray(ranges);\n    rangeArr.sort((a1, a2) => a1 - a2);\n    let maxArr = [];\n    let minArr = [];\n\n    manageRange({\n      ranges: ranges,\n      max: max,\n      min: min,\n      rangeArr: rangeArr,\n      minArr: minArr,\n      maxArr: maxArr\n    });\n\n    for (let i = 0; i < minArr.length; i++) {\n      if (minArr[i]['subKey']) {\n        ranges[minArr[i]['subKey']][minArr[i]['key']][minArr[i]['index']] = min;\n      } else {\n        ranges[minArr[i]['key']][minArr[i]['index']] = min;\n      }\n    }\n\n    for (let i = 0; i < maxArr.length; i++) {\n      if (maxArr[i]['subKey']) {\n        ranges[maxArr[i]['subKey']][maxArr[i]['key']][maxArr[i]['index']] = max;\n      } else {\n        ranges[maxArr[i]['key']][maxArr[i]['index']] = max;\n      }\n    }\n\n    color.ranges = ranges;\n    return { ...color };\n  }\n};\n\nconst manageRange = ({\n  ranges,\n  subKey = undefined,\n  max,\n  min,\n  rangeArr,\n  minArr = [],\n  maxArr = []\n}) => {\n  for (let i in ranges) {\n    if (ranges[i][0] instanceof Array) {\n      manageRange({\n        ranges: ranges[i],\n        subKey: i,\n        max: max,\n        min: min,\n        rangeArr: rangeArr,\n        minArr: minArr,\n        maxArr: maxArr\n      });\n      continue;\n    }\n\n    if (ranges[i][0] > max) {\n      maxArr.push({ key: i, subKey: subKey, index: 0 });\n    }\n\n    if (ranges[i][1] > max) {\n      maxArr.push({ key: i, subKey: subKey, index: 1 });\n    }\n\n    if (ranges[i][0] < min) {\n      minArr.push({ key: i, subKey: subKey, index: 0 });\n    }\n\n    if (ranges[i][1] < min) {\n      minArr.push({ key: i, subKey: subKey, index: 1 });\n    }\n\n    if (rangeArr[0] == ranges[i][0] && ranges[i][0] > min) {\n      ranges[i][0] = min;\n    }\n\n    if (rangeArr[0] == ranges[i][1] && ranges[i][1] > min) {\n      ranges[i][1] = min;\n    }\n\n    if (rangeArr[rangeArr.length - 1] == ranges[i][0] && ranges[i][0] < max) {\n      ranges[i][0] = max;\n    }\n\n    if (rangeArr[rangeArr.length - 1] == ranges[i][1] && ranges[i][1] < max) {\n      ranges[i][1] = max;\n    }\n  }\n};\n\nconst getRangeArray = ranges => {\n  /*\n   * convert range passed in colors to flat array\n   * example -> ranges = {\"red\":[0, 1], \"green\":[1, 10]}\n   * output ->  arr = [0, 1, 1, 10]\n   */\n  let arr = [];\n  for (let i in ranges) {\n    if (ranges[i][0] instanceof Array) {\n      for (let j in ranges[i]) {\n        arr = [...arr, ...ranges[i][j]];\n      }\n    } else {\n      arr = [...arr, ...ranges[i]];\n    }\n  }\n  return arr;\n};\n\nexport const getSortedEntries = scale => {\n  let arr = Object.entries(scale);\n  let arr1 = [];\n  for (let i = 0; i < arr.length; i++) {\n    let key = arr[i][0];\n\n    if (arr[i][1][0] instanceof Array) {\n      for (let j = 0; j < arr[i][1].length; j++) {\n        arr1.push([key, arr[i][1][j]]);\n      }\n    } else {\n      arr1.push([key, arr[i][1]]);\n    }\n  }\n  const entries = arr1;\n\n  entries.sort(([, r1], [, r2]) => r1[0] - r2[0]);\n\n  return entries;\n};\n\nexport const getGradientObject = ({ color, min, max }) => {\n  let currentPos = 0;\n  const stops = getSortedEntries(color.ranges).map(([colorValue, range]) => {\n    const rangeLength = ((range[1] - range[0]) * 1.0) / (max - min);\n    const start = currentPos;\n    const end = currentPos + rangeLength;\n\n    currentPos = end;\n\n    return { color: colorValue, pos: start };\n  });\n\n  return tinygradient(stops);\n};\n\nexport const getLinearGradientCSS = ({ color, min, max, vertical = false }) => {\n  let currentPercentage = 0;\n  const stops = getSortedEntries(color.ranges).map(([colorValue, range], i) => {\n    const rangeLength = (((range[1] - range[0]) * 1.0) / (max - min)) * 100;\n    const start = currentPercentage;\n    const end = currentPercentage + rangeLength;\n\n    currentPercentage = end;\n\n    if (color.gradient) {\n      return i === 0 ? colorValue : `${colorValue} ${start}%`;\n    }\n\n    return i === 0\n      ? `${colorValue}, ${colorValue} ${end}%`\n      : `${colorValue} ${start}%, ${colorValue} ${end}%`;\n  });\n\n  stops.unshift(vertical ? 'to top' : 'to right');\n\n  return `linear-gradient(${stops.join(', ')})`;\n};\n\nexport const getColorValue = color => color && (typeof color === 'string' ? color : color.default);\n\nexport default {\n  isContiguous,\n  getSortedEntries,\n  getLinearGradientCSS,\n  getColorValue\n};\n"
  },
  {
    "path": "src/helpers/logarithm.js",
    "content": "import React from 'react';\nimport styled from 'styled-components';\n\nimport { roundToDecimal } from './util';\n\nfunction compute(value, base = 10) {\n  if (base === 'e') base = Math.exp(1);\n\n  return Math.log(value) / Math.log(base);\n}\n\nfunction generateLogFormatter({ base = 10, isSVG = false }) {\n  return value =>\n    isSVG ? (\n      <tspan>\n        {base}\n        <tspan dy=\"-6px\">{value}</tspan>\n      </tspan>\n    ) : (\n      <span>\n        {base}\n        <sup>{value}</sup>\n      </span>\n    );\n}\n\nfunction genLogMarks({ min, max, step = 1, base = 10, marks }, isSVG) {\n  // if no marks given, compute default marks\n  if (!marks) {\n    let curr = min;\n    marks = {};\n\n    while (curr <= max) {\n      marks[curr] = true;\n      curr += step;\n    }\n  }\n\n  Object.keys(marks).forEach(key => {\n    if (typeof marks[key] !== 'boolean') {\n      // custom mark label, do not format\n      return;\n    }\n\n    marks[key] = isSVG ? (\n      <tspan>\n        {base}\n        <tspan dy=\"-6px\">{key}</tspan>\n      </tspan>\n    ) : (\n      <span>\n        {base}\n        <sup>{key}</sup>\n      </span>\n    );\n  });\n\n  return marks;\n}\n\nfunction formatValue(value, base) {\n  return (\n    <Value>\n      ~{base}\n      <sup>{roundToDecimal(value, 2)}</sup>\n    </Value>\n  );\n}\n\nconst Value = styled.div`\n  font-size: 0.9em;\n  margin-left: -10px;\n\n  & sup {\n    font-size: 0.6em;\n  }\n`;\n\nexport default {\n  compute,\n  generateLogFormatter,\n  formatValue,\n  genLogMarks\n};\n"
  },
  {
    "path": "src/helpers/scale.js",
    "content": "import { decimalify } from './util';\n\n// magic numbers\nconst DEFAULT_NUM_INTERVALS = 10;\nconst DEFAULT_LABEL_INTERVAL = 2;\n\nexport default function generateScale(input) {\n  const config = processInput(input);\n\n  const scale = {\n    ...config.custom\n  };\n\n  if (config.onlyRenderCustom) {\n    return scale;\n  }\n\n  scale[config.min] = config.formatter(config.min);\n  scale[config.max] = config.formatter(config.max);\n\n  let curr = config.start;\n  let markCount = 0;\n  while (curr <= config.max) {\n    const needsLabel = markCount % config.labelInterval === 0;\n    const currValue = Number(decimalify(curr, config.interval));\n    const alreadyMarked = typeof scale[currValue] !== 'undefined';\n\n    curr += config.interval;\n    markCount++;\n\n    if (alreadyMarked) continue;\n\n    const label = needsLabel ? config.formatter(currValue) : null;\n    scale[currValue] = label;\n  }\n\n  return scale;\n}\n\n// private\nfunction processInput({ min, max, scale = {}, formatter }) {\n  const config = {};\n\n  const START_FLAG = scale.start != null;\n  const INTERVAL_FLAG = scale.interval != null;\n  const LABEL_INTERVAL_FLAG = scale.labelInterval != null;\n\n  config.min = min;\n  config.max = max;\n  config.start = START_FLAG ? scale.start : min;\n  config.interval = INTERVAL_FLAG ? scale.interval : computeInterval(config.start, max);\n  config.labelInterval = LABEL_INTERVAL_FLAG ? scale.labelInterval : DEFAULT_LABEL_INTERVAL;\n  config.custom = scale.custom || {};\n  config.formatter = formatter || identityFunc;\n\n  const noConfigPassed = !START_FLAG && !INTERVAL_FLAG && !LABEL_INTERVAL_FLAG;\n  const customTicks = Object.keys(config.custom).length;\n  config.onlyRenderCustom = customTicks && noConfigPassed;\n  config.start = config.start != min ? min : config.start;\n\n  return config;\n}\n\nfunction identityFunc(x) {\n  return x;\n}\n\nfunction computeInterval(min, max) {\n  const ROUND_TO_WHOLE = Math.ceil;\n  const ROUND_TO_FRACTION = x => Number(x.toFixed(2));\n\n  const range = Math.abs(max - min) * 1.0;\n  const intervalEstimate = range / DEFAULT_NUM_INTERVALS;\n  const interval =\n    intervalEstimate > 1 ? ROUND_TO_WHOLE(intervalEstimate) : ROUND_TO_FRACTION(intervalEstimate);\n\n  return interval;\n}\n"
  },
  {
    "path": "src/helpers/shared/TrackSvg.js",
    "content": "import React from 'react';\n\nimport { longestString, getRandomInt, computeProgress } from '../../helpers/util';\nimport { isContiguous, getSortedEntries } from '../../helpers/colorRanges';\nimport { RADIAN, TRACK_TOTAL_DEG } from '../../styled/constants';\n\nexport const colorRangesTrack = (props, dimensions) => {\n  // const { max } = props;\n  const { CX, CY, GAUGE_RAD, CIRCLE_CIR, GAP_ARC_LENGTH } = dimensions;\n  const TRACK_ARC_DEG = 270;\n  const GAP_ARC_DEG = 90;\n  const GRADIENT_BLEND = 25;\n\n  if (!isContiguous(props)) return null;\n\n  // set colors start from 0 if negative value is present\n  let deepColorCopy = JSON.parse(JSON.stringify(props.color));\n  const { color, max } = setColorRangeStartFromZero({ ...deepColorCopy }, props.max);\n\n  // calculate stops\n  const stops = getSortedEntries(color.ranges).map(([colorValue, range], i) => {\n    const startDeg = ((range[0] * 1.0) / max) * TRACK_ARC_DEG + GAP_ARC_DEG;\n    const endDeg = ((range[1] * 1.0) / max) * TRACK_ARC_DEG + GAP_ARC_DEG;\n\n    if (color.gradient) {\n      // no transition between black band and first color\n      if (i === 0) {\n        return `${colorValue} 0`;\n      }\n\n      return `${colorValue} ${startDeg + GRADIENT_BLEND}deg, ${colorValue} ${endDeg -\n        GRADIENT_BLEND}deg`;\n    }\n\n    return `${colorValue} ${startDeg}deg, ${colorValue} ${endDeg}deg`;\n  });\n\n  stops.unshift([`black ${GAP_ARC_DEG}deg`]); // add black band for bottom gap\n\n  if (typeof window === 'undefined') {\n    return null;\n  }\n\n  if (!window.ConicGradient) {\n    // eslint-disable-next-line\n    require('conic-gradient'); // globally sets ConicGradient\n  }\n  const ConicGradient = window.ConicGradient;\n\n  const gradient = new ConicGradient({\n    stops: stops.join(', '),\n    size: 400\n  });\n\n  // unique id for each track\n  const id = `colorRangesImage-${getRandomInt()}`;\n  return (\n    <g>\n      <defs>\n        <pattern id={id} patternUnits=\"userSpaceOnUse\" width=\"100%\" height=\"100%\">\n          <image xlinkHref={gradient.dataURL} width=\"100%\" height=\"100%\" />\n        </pattern>\n      </defs>\n      <circle\n        className=\"color-ranges\"\n        cx={CX}\n        cy={CY}\n        r={GAUGE_RAD}\n        fill=\"none\"\n        stroke={`url(#${id})`}\n        strokeWidth=\"6px\"\n        strokeDasharray={CIRCLE_CIR}\n        strokeDashoffset={GAP_ARC_LENGTH}\n        transform={`rotate(-225 ${CX} ${CY})`}\n      />\n    </g>\n  );\n};\n\nexport const lightTrack = (props, dimensions) => {\n  const { color, progress } = props;\n  const { CX, CY, GAUGE_RAD, CIRCLE_CIR, GAP_ARC_LENGTH, TRACK_ARC_LENGTH } = dimensions;\n\n  return (\n    <g>\n      <circle\n        className=\"track\"\n        cx={CX}\n        cy={CY}\n        r={GAUGE_RAD}\n        fill=\"none\"\n        strokeDasharray={CIRCLE_CIR}\n        strokeDashoffset={GAP_ARC_LENGTH}\n        strokeWidth=\"6\"\n        transform={`rotate(-225 ${CX} ${CY})`}\n      />\n      <circle\n        className=\"track progress\"\n        cx={CX}\n        cy={CY}\n        r={GAUGE_RAD}\n        fill=\"none\"\n        strokeDasharray={CIRCLE_CIR}\n        strokeDashoffset={GAP_ARC_LENGTH + (1 - progress) * TRACK_ARC_LENGTH}\n        strokeWidth=\"6\"\n        transform={`rotate(-225 ${CX} ${CY})`}\n      />\n      {color && color.ranges && colorRangesTrack(props, dimensions)}\n    </g>\n  );\n};\n\nconst getScaleString = v => {\n  if (!v) return '';\n\n  // is jsx element?\n  if (v.props) return v.props.children[0] + ' ';\n\n  return (v && v.label) || v;\n};\n\nexport const drawScale = (\n  { min, max, step, scale },\n  { CX, CY, SCALE_TICK_OUTER_RAD, SCALE_TICK_INNER_RAD, SCALE_TEXT_RAD, IS_GAUGE }\n) => {\n  const START_ANGLE_OFFSET = -225;\n  const DEFAULT_LONGEST_STRING = 3;\n\n  const scaleItems = [];\n  let count = 0;\n\n  const offset =\n    (Math.max(\n      longestString(Object.values(scale).map(getScaleString)).length,\n      DEFAULT_LONGEST_STRING\n    ) || DEFAULT_LONGEST_STRING) * 2;\n\n  const sr1 = SCALE_TICK_OUTER_RAD;\n  const sr2 = SCALE_TICK_INNER_RAD;\n  const srT = IS_GAUGE ? SCALE_TEXT_RAD - offset : SCALE_TEXT_RAD + offset;\n\n  Object.keys(scale).forEach(key => {\n    const markValue = scale[key];\n    const degreesProgressed = computeProgress({\n      min,\n      max,\n      value: key,\n      progressionTarget: TRACK_TOTAL_DEG\n    });\n    const markAngle = START_ANGLE_OFFSET + degreesProgressed;\n\n    if (markValue !== null) {\n      // draw full mark\n      let sx1 = CX + sr1 * Math.cos(markAngle * RADIAN);\n      let sy1 = CY + sr1 * Math.sin(markAngle * RADIAN);\n      let sx2 = CX + sr2 * Math.cos(markAngle * RADIAN);\n      let sy2 = CY + sr2 * Math.sin(markAngle * RADIAN);\n      let sxT = CX + srT * Math.cos(markAngle * RADIAN);\n      let syT = CY + srT * Math.sin(markAngle * RADIAN) + 4;\n\n      scaleItems.push(\n        <line\n          key={`line${count}`}\n          className=\"tick\"\n          x1={sx1}\n          y1={sy1}\n          x2={sx2}\n          y2={sy2}\n          strokeLinecap=\"round\"\n        />,\n        <text\n          key={`text${count}`}\n          x={sxT}\n          y={syT}\n          textAnchor=\"middle\"\n          style={markValue && markValue.style ? markValue.style : null}\n        >\n          {(markValue && markValue.label) || markValue}\n        </text>\n      );\n    } else {\n      // draw mini mark\n      let sx1 = CX + sr1 * Math.cos(markAngle * RADIAN);\n      let sy1 = CY + sr1 * Math.sin(markAngle * RADIAN);\n      let sx2 = CX + (sr2 + 3) * Math.cos(markAngle * RADIAN);\n      let sy2 = CY + (sr2 + 3) * Math.sin(markAngle * RADIAN);\n\n      scaleItems.push(\n        <line\n          key={`line${count}`}\n          className=\"tick\"\n          x1={sx1}\n          y1={sy1}\n          x2={sx2}\n          y2={sy2}\n          strokeLinecap=\"round\"\n        />\n      );\n    }\n\n    count++;\n  });\n\n  return scaleItems;\n};\n\nconst setColorRangeStartFromZero = (color, max) => {\n  let ranges = { ...color.ranges };\n  let minimum = Infinity;\n\n  for (let i in ranges) {\n    if (ranges[i][0] instanceof Array) {\n      for (let j = 0; j < ranges[i].length; j++) {\n        if (ranges[i][j][0] < minimum) {\n          minimum = ranges[i][j][0];\n        }\n        if (ranges[i][j][1] < minimum) {\n          minimum = ranges[i][j][1];\n        }\n      }\n      continue;\n    }\n    if (ranges[i][0] < minimum) {\n      minimum = ranges[i][0];\n    }\n    if (ranges[i][1] < minimum) {\n      minimum = ranges[i][1];\n    }\n  }\n  if (minimum < 0) {\n    for (let i in ranges) {\n      if (ranges[i][0] instanceof Array) {\n        for (let j = 0; j < ranges[i].length; j++) {\n          ranges[i][j][0] = ranges[i][j][0] - minimum;\n          ranges[i][j][1] = ranges[i][j][1] - minimum;\n        }\n        continue;\n      }\n      ranges[i][0] = ranges[i][0] - minimum;\n      ranges[i][1] = ranges[i][1] - minimum;\n    }\n    max = max - minimum;\n  }\n  color = { ...color, ranges };\n  return { color, max };\n};\n"
  },
  {
    "path": "src/helpers/util.js",
    "content": "export const longestString = arr =>\n  arr.sort(function(a, b) {\n    return b.length - a.length;\n  })[0];\n\nexport const decimalify = (num = 0, step) => {\n  if (isNaN(num)) {\n    return num;\n  }\n\n  // eslint-disable-next-line\n  const [characteristic, mantissa] = step.toString().split('.');\n\n  const numDecimalPoints = mantissa ? mantissa.length : 0;\n\n  return num.toFixed(numDecimalPoints);\n};\n\nexport const sanitizeRangeValue = ({ min, max, value }) => {\n  if (value == null) return min;\n\n  if (value < min) {\n    return min;\n  } else if (value > max) {\n    return max;\n  } else {\n    return value;\n  }\n};\n\nexport const computeProgress = ({ min, max, value, progressionTarget = 100 }) => {\n  value = Number(value);\n  const adjustedValue = Math.abs(value - min) * 1.0;\n  const range = Math.abs(max - min);\n\n  return (adjustedValue / range) * progressionTarget;\n};\n\nexport const roundToDecimal = (value, decimals) =>\n  Number(Math.round(value + 'e' + decimals) + 'e-' + decimals);\n\nexport const getRandomInt = (min = 0, max = 9999) =>\n  Math.floor(Math.random() * (max - min + 1)) + min;\n\nexport default {\n  decimalify,\n  sanitizeRangeValue,\n  computeProgress,\n  longestString,\n  roundToDecimal,\n  getRandomInt\n};\n"
  },
  {
    "path": "src/index.js",
    "content": "/* eslint-disable import/prefer-default-export */\nexport { default as BooleanSwitch } from './components/BooleanSwitch.react';\nexport { default as ColorPicker } from './components/ColorPicker.react';\nexport { default as Gauge } from './components/Gauge.react';\nexport { default as GraduatedBar } from './components/GraduatedBar.react';\nexport { default as Indicator } from './components/Indicator.react';\nexport { default as Knob } from './components/Knob.react';\nexport { default as LEDDisplay } from './components/LEDDisplay.react';\nexport { default as NumericInput } from './components/NumericInput.react';\nexport { default as PowerButton } from './components/PowerButton.react';\nexport { default as PrecisionInput } from './components/PrecisionInput.react';\nexport { default as StopButton } from './components/StopButton.react';\nexport { default as Slider } from './components/Slider.react';\nexport { default as Tank } from './components/Tank.react';\nexport { default as Thermometer } from './components/Thermometer.react';\nexport { default as ToggleSwitch } from './components/ToggleSwitch.react';\nexport { default as DarkThemeProvider } from './components/DarkThemeProvider.react';\nexport { default as Joystick } from './components/Joystick.react';\n"
  },
  {
    "path": "src/styled/ColorPicker.styled.js",
    "content": "import styled, { css } from 'styled-components';\n\nimport { light } from './constants';\n\nexport const Container = styled.div`\n  ${({ disabled, theme }) =>\n    disabled &&\n    css`\n      opacity: ${theme.dark ? 1 : 0.65};\n      cursor: not-allowed !important;\n      & .chrome-picker {\n        pointer-events: none !important;\n      }\n    `} & .chrome-picker {\n    font-family: unset !important;\n    box-shadow: none !important;\n    ${({ size }) =>\n      css`\n        width: ${size}px !important;\n      `};\n  }\n\n  & .chrome-picker svg {\n    background: unset !important;\n  }\n\n  & .chrome-picker svg:hover path {\n    fill: ${({ theme, color }) => color || theme.primary};\n  }\n\n  ${({ theme }) => (theme.dark ? darkContainer : lightContainer)};\n`;\n\nconst lightKnobs = css`\n  & .chrome-picker .hue-horizontal > div > div,\n  .chrome-picker\n    > div:nth-child(2)\n    > div:nth-child(1)\n    > div:nth-child(2)\n    > div:nth-child(2)\n    > div\n    > div:nth-child(3)\n    > div\n    > div {\n    box-shadow: none !important;\n    background-color: #fff;\n    border-radius: 100% !important;\n    ${({ theme }) =>\n      css`\n        border: 1px solid ${theme.detail} !important;\n      `};\n  }\n`;\n\nconst lightContainer = css`\n  border-radius: 3px !important;\n\n  ${lightKnobs} ${({ theme }) =>\n    css`\n      border: 1px solid ${theme.detail};\n    `};\n`;\n\nconst darkKnobs = css`\n  & .chrome-picker .hue-horizontal > div > div,\n  .chrome-picker\n    > div:nth-child(2)\n    > div:nth-child(1)\n    > div:nth-child(2)\n    > div:nth-child(2)\n    > div\n    > div:nth-child(3)\n    > div\n    > div {\n    border-radius: 100% !important;\n    border: none !important;\n    background: #101010 !important;\n    background-image: linear-gradient(\n      135deg,\n      rgba(255, 255, 255, 0.3) -50%,\n      rgba(0, 0, 0, 0.7) 100%\n    ) !important;\n    transition: all 0.3s ease-in !important;\n    ${({ glow }) =>\n      css`\n        box-shadow: inset 0 0 1px 0 rgba(52, 52, 52, 0.4), inset 0 0 0 1px rgba(0, 0, 0, 0.2),\n          0 0 12px 4px ${glow} !important;\n      `};\n  }\n`;\n\nconst darkAlpha = css`\n  .chrome-picker .flexbox-fix div:nth-child(2) > div:nth-child(2) > div {\n    background: #fff !important;\n  }\n`;\n\nconst darkInput = css`\n  & .chrome-picker input {\n    font-family: unset !important;\n    color: #fff !important;\n    border-radius: 0px !important;\n    background-color: #22272a !important;\n    background-image: linear-gradient(\n      145deg,\n      rgba(255, 255, 255, 0.05) 0%,\n      rgba(0, 0, 0, 0.5) 100%\n    ) !important;\n    box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\n      -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1) !important;\n  }\n\n  & .chrome-picker input:focus {\n    outline: 0 !important;\n    border: none !important;\n    background-image: linear-gradient(\n      145deg,\n      rgba(255, 255, 255, 0.2) 0%,\n      rgba(0, 0, 0, 0.4) 100%\n    ) !important;\n    box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.6), inset 0 0 4px 0 rgba(0, 0, 0, 0.6),\n      -1px -1px 0px 0px rgba(0, 0, 0, 0.6), 1px 1px 0px 0px rgba(255, 255, 255, 0.1) !important;\n  }\n`;\n\nconst darkContainer = css`\n  box-shadow: 0px 0px 8px 2px rgba(100,100,100,0.075),\n              0px 0px 32px 2px rgba(255,255,255,0.05),\n              1px 1px 0px 0px rgba(25,25,25,0.6),\n              -1px -1px 0px 0px rgba(255,255,255,0.2) !important;\n\n  & .chrome-picker > div:first-child {\n    border-radius: 0 !important;\n  }\n\n  & .chrome-picker > div:nth-child(2) {\n    background: #0a0a0a !important;\n    border-top: 1px solid rgba(255,255,255,0.075);\n  }\n\n  ${darkKnobs}\n  ${darkInput}\n  ${darkAlpha}\n`;\n\nContainer.defaultProps = {\n  theme: light\n};\n\nexport default Container;\n"
  },
  {
    "path": "src/styled/CurrentValue.styled.js",
    "content": "import React from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { light } from './constants';\n\nconst ValueContainer = styled.div`\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  justify-content: space-around;\n  align-items: center;\n\n  top: 50%;\n  transform: translateY(-50%);\n  text-align: center;\n  font-size: 32px;\n  ${props =>\n    props.css\n      ? css`\n          ${props.css};\n        `\n      : ''};\n`;\n\nexport const Value = styled.div`\n  font-size: 1em;\n  color: ${({ theme, color }) => color || (theme.dark ? '#000' : color || theme.primary)};\n  ${({ theme }) =>\n    theme.dark\n      ? css`\n          text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.4);\n        `\n      : ''};\n  ${({ fontSize }) => {\n    return fontSize\n      ? css`\n          font-size: ${fontSize}px;\n        `\n      : '';\n  }}\n`;\n\nValue.defaultProps = {\n  theme: light\n};\n\nexport const ValueLabel = styled.label`\n  margin-top: -4px;\n  text-transform: uppercase;\n  font-size: 8px;\n  color: #535d63;\n`;\n\nexport default props => (\n  <ValueContainer css={props.css}>\n    <Value fontSize={props.valueSize} color={props.valueColor} style={props.customStyle}>\n      {props.children}\n    </Value>\n    {props.units ? <ValueLabel>{props.units}</ValueLabel> : null}\n  </ValueContainer>\n);\n"
  },
  {
    "path": "src/styled/Gauge.styled.js",
    "content": "import styled, { css } from 'styled-components';\nimport { light } from '../styled/constants';\n\nconst Container = styled.div`\n  & svg {\n    text-align: center;\n  }\n\n  & circle {\n    user-select: none;\n  }\n\n  & .scale {\n    font-size: 12px;\n\n    fill: ${({ theme, color }) => color || (theme.dark ? '#000' : '#5b6268')};\n    user-select: none;\n  }\n\n  & .tick {\n    stroke: ${props => props.theme.detail};\n    stroke-width: 2;\n  }\n\n  & .tick.small {\n    stroke: #2b2f32;\n  }\n\n  & .needle {\n    stroke: ${({ theme }) => (theme.dark ? '#000' : '#5b6268')};\n    stroke-width: 3;\n  }\n\n  ${({ theme }) => !theme.dark && lightTheme};\n`;\n\nconst lightTheme = css`\n  & .needle-knob {\n    stroke: ${({ theme }) => theme.secondary};\n    stroke-width: 2;\n  }\n\n  & .track {\n    stroke: ${props => props.theme.secondary};\n  }\n\n  & .track.progress {\n    stroke: ${({ color, theme }) => color || theme.primary};\n  }\n`;\n\nContainer.defaultProps = {\n  theme: light\n};\n\nexport default Container;\n"
  },
  {
    "path": "src/styled/GraduatedBar.styled.js",
    "content": "import styled, { css } from 'styled-components';\nimport { light } from './constants';\n\nexport const Container = styled.div`\n  position: relative;\n  display: flex;\n  align-items: center;\n  justify-content: flex-start;\n\n  ${({ vertical }) => (vertical ? verticalContainer : horizontalContainer)};\n  ${({ theme }) => (theme.dark ? darkContainer : lightContainer)};\n`;\n\nContainer.defaultProps = {\n  theme: light\n};\n\nconst verticalContainer = css`\n  flex-direction: column-reverse;\n  width: 30px;\n  height: ${({ size }) => `${size}px`};\n`;\n\nconst horizontalContainer = css`\n  flex-direction: row;\n  width: ${({ size }) => `${size}px`};\n  height: 30px;\n`;\n\nconst darkContainer = css`\n  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8);\n  padding: 3px;\n  color: #fff;\n  border: none;\n  border-radius: 0px;\n  background-color: #22272a;\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.5) 100%);\n  box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\n`;\n\nconst lightContainer = css`\n  background-color: ${props => props.theme.secondary};\n`;\n\nexport const Block = styled.div`\n  display: block;\n  box-sizing: border-box;\n\n  ${({ gradient, progress, color, theme, max, min, step, size, vertical }) => {\n    if (gradient) {\n      const TOTAL_STEPS = (max - min) / step;\n      const STEP_SIZE = size / TOTAL_STEPS;\n      const STEP_SIZE_PERCENT = STEP_SIZE / size;\n\n      const start = gradient.rgbAt(progress).toString();\n      const end = gradient.rgbAt(progress + STEP_SIZE_PERCENT).toString();\n\n      return css`\n        background-image: linear-gradient(${vertical ? 'to top' : 'to right'}, ${start}, ${end});\n      `;\n    }\n\n    return css`\n      background-color: ${color || theme.primary};\n    `;\n  }}\n\n  ${props => {\n    const TOTAL_STEPS = (props.max - props.min) / props.step;\n    const STEP_SIZE = props.size / TOTAL_STEPS;\n    const MARGIN = STEP_SIZE >= 10 ? STEP_SIZE * 0.05 : 0.5;\n    const BOX_SIZE = STEP_SIZE - 2 * MARGIN;\n    return css`\n      height: ${props.vertical ? `${BOX_SIZE}px` : '100%'};\n      width: ${props.vertical ? '100%' : `${BOX_SIZE}px`};\n      margin: ${props.vertical ? `${MARGIN}px 0` : `0 ${MARGIN}px`};\n    `;\n  }}\n\n  ${({ theme }) => theme.dark && darkBlock};\n`;\n\nBlock.defaultProps = {\n  theme: light\n};\n\nconst darkBlock = css`\n  ${({ color, theme, gradient }) => {\n    if (gradient) return;\n\n    return css`\n      background-color: ${color || theme.primary};\n      background-image: linear-gradient(\n        145deg,\n        rgba(255, 255, 255, 0.5) 0%,\n        rgba(0, 0, 0, 0.4) 100%\n      );\n      background-blend-mode: overlay;\n    `;\n  }} box-shadow: ${({ color, theme }) =>\n  `2px 2px 6px 1px rgba(0, 0, 0, 0.45), inset 1px 1px 2px 0 rgba(255, 255, 255, 0.3),\n      1px 1px 1px 0px rgba(0, 0, 0, 0.6), 0 0 3px 0px ${color || theme.primary}`};\n`;\n\nexport const Value = styled.div`\n  position: absolute;\n  right: 4%;\n  top: 50%;\n  transform: translateY(-50%);\n\n  ${({ vertical }) =>\n    vertical\n      ? css`\n          font-size: 11px;\n          right: auto;\n        `\n      : ''};\n`;\n"
  },
  {
    "path": "src/styled/Knob.styled.js",
    "content": "import styled, { css } from 'styled-components';\nimport { light } from './constants';\n\nconst Container = styled.div`\n  display: flex;\n  align-items: center;\n  flex-direction: column;\n  & svg {\n    text-align: center;\n  }\n\n  & circle {\n    user-select: none;\n  }\n\n  & .scale {\n    font-size: 12px;\n    user-select: none;\n    fill: ${({ colorValue }) => colorValue || 'black'} !important;\n  }\n\n  & .tick {\n    stroke: ${props => props.theme.detail};\n    stroke-width: 2;\n  }\n\n  & .knob {\n    cursor: pointer;\n  }\n\n  & .disabled {\n    opacity: ${({ theme }) => (theme.dark ? 1 : 0.65)};\n    cursor: not-allowed;\n  }\n\n  & .track.progress {\n    stroke: ${({ color, theme }) => color || theme.primary};\n  }\n\n  ${({ theme }) => (theme.dark ? darkTheme : lightTheme)};\n`;\n\nconst lightTheme = css`\n  & .scale {\n    fill: #5b6268;\n  }\n\n  & .track {\n    stroke: #e6e6e6;\n  }\n\n  & .knob .base,\n  .knob .indent {\n    stroke: #e6e6e6;\n    stroke-width: 2;\n  }\n`;\n\nconst darkTheme = css`\n  & .scale {\n    fill: #fff;\n  }\n`;\n\nContainer.defaultProps = {\n  theme: light\n};\n\nexport default Container;\n"
  },
  {
    "path": "src/styled/LEDDisplay.styled.js",
    "content": "import styled, { css } from 'styled-components';\n\nimport { light } from './constants';\n\nexport const LEDContainer = styled.div`\n  display: inline-flex;\n  flex-direction: row;\n  ${({ theme }) => (theme.dark ? darkLEDContainer : lightLEDContainer)};\n  ${({ backgroundColor }) =>\n    css`\n      background-color: ${backgroundColor};\n    `}\n`;\n\nconst darkLEDContainer = css`\n  padding: 12px 8px 4px 16px;\n  background-color: #22272a;\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.5) 100%);\n  box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\n`;\n\nconst lightLEDContainer = css`\n  border-radius: 3px;\n  padding: 12px 8px 12px 14px;\n  border: 1px solid ${({ theme }) => theme.detail};\n  background: ${({ backgroundColor }) => backgroundColor};\n`;\n\nLEDContainer.defaultProps = {\n  theme: light\n};\n\nexport const DarkDigitContainer = styled.div`\n  & .darkLED-fill {\n    fill: ${({ color }) => color};\n  }\n`;\n\nexport default LEDContainer;\n"
  },
  {
    "path": "src/styled/PowerButton.styled.js",
    "content": "import styled, { css } from 'styled-components';\nimport { light } from '../styled/constants';\n\nexport const Container = styled('div')`\n  display: flex;\n  flex-direction: column;\n  justify-content: space-between;\n  align-items: center;\n\n  & svg {\n    margin: 0 auto;\n  }\n`;\n\nexport const Button = styled.button`\n  cursor: pointer;\n  outline: none;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n\n  &:disabled {\n    opacity: ${({ theme }) => (theme.dark ? 1 : 0.65)};\n    cursor: not-allowed;\n  }\n\n  ${({ theme }) => (theme.dark ? darkTheme : lightTheme)};\n`;\n\nconst lightTheme = css`\n  border-radius: 50%;\n  box-sizing: border-box;\n  background: #fff;\n  border: 1px solid ${props => props.theme.secondary};\n  ${({ size }) =>\n    css`\n      width: ${size}px;\n      height: ${size}px;\n    `} margin-bottom: ${({ size }) => `${size * 0.0625}px`};\n  padding: 0;\n\n  &:focus,\n  &:hover {\n    border-color: ${props => props.theme.secondary};\n  }\n`;\n\nconst darkTheme = css`\n  ${({ size }) =>\n    css`\n      width: ${size}px;\n      height: ${size}px;\n    `} border-radius: 100%;\n  padding: 0;\n  margin-bottom: 8px;\n\n  &::before,\n  &::after {\n    left: 4%;\n    border-radius: 100%;\n    transition: all 0.1s ease-in;\n  }\n\n  &::before {\n    top: 8%;\n    width: 86%;\n    height: 86%;\n  }\n\n  &::after {\n    top: 4%;\n    width: 92%;\n    height: 92%;\n\n    ${({ on, color, theme }) =>\n      on\n        ? css`\n            box-shadow: 0 0 8px 2px ${color || theme.primary};\n          `\n        : ''};\n  }\n\n  &:hover::before {\n    background-color: rgba(0, 0, 0, 0.8);\n  }\n\n  &:hover::after {\n    box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.66);\n  }\n\n  &:focus::after,\n  &:active::after {\n    box-shadow: ${({ on, color, theme }) =>\n      on ? `0 0 8px 2px ${color || theme.primary}` : '0 0 3px 0 rgba(0,0,0,0.66)'};\n  }\n`;\n\nButton.defaultProps = {\n  theme: light\n};\n"
  },
  {
    "path": "src/styled/PrecisionInput.styled.js",
    "content": "import styled, { css } from 'styled-components';\n\nexport const Container = styled.div`\n  margin: 0 auto;\n  display: flex;\n  justify-content: flex-end;\n  width: ${({ size }) => `${size}px` || 'auto'};\n  cursor: text;\n\n  ${({ theme }) => (theme.dark ? darkContainer : lightContainer)};\n`;\n\nconst darkContainer = css`\n  background-color: #22272a;\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.5) 100%);\n  box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\n`;\n\nconst lightContainer = css`\n  background: #ffffff;\n  border-radius: 2px;\n  border: 1px solid #d3d3d3;\n`;\n\nexport const Digit = styled.div`\n  padding: 8px 6px;\n  box-sizing: border-box;\n  display: inline-block;\n  font-size: 14px;\n  line-height: 16px;\n  text-align: center;\n\n  ${({ theme }) => (theme.dark ? darkDigit : lightDigit)};\n`;\n\nconst darkDigit = css`\n  border-right: 1px solid rgba(0, 0, 0, 0.4);\n  color: #fff;\n`;\n\nconst lightDigit = css`\n  color: #15181a;\n  border-right: 1px solid #f2f2f2;\n`;\n\nexport const ExponentialDigit = styled(Digit)`\n  border: none;\n  ${({ theme }) =>\n    theme.dark\n      ? css`\n          color: ${({ color, theme }) => color || theme.primary};\n          text-shadow: 0 0 2px rgba(0, 0, 0, 0.9),\n            0 0 9px ${({ color, theme }) => color || theme.primary};\n        `\n      : css`\n          background: #f2f2f2;\n        `};\n`;\n"
  },
  {
    "path": "src/styled/Slider.styled.js",
    "content": "import React from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { UnstyledDarkHandle } from './shared/DarkGradient';\nimport { colors } from './constants';\n\nexport const SliderContainer = styled.div`\n  ${({ vertical, size, fullSize }) => {\n    if (fullSize) return vertical ? 'height: 100%;' : 'width: 100%;';\n    if (size) return vertical ? `height: ${size}px;` : `width: ${size}px`;\n  }};\n\n  & .rc-slider-disabled,\n  .rc-slider-disabled .rc-slider-handle {\n    background-color: unset !important;\n  }\n\n  & .rc-slider-track {\n    ${({ theme }) =>\n      theme.dark &&\n      css`\n        box-shadow: none !important;\n      `};\n  }\n\n  /* remove rc-slider-dot styles, which overlap with the marker */\n  & .rc-slider-dot {\n    background: none !important;\n    border: none;\n    height: unset !important;\n    width: unset !important;\n  }\n`;\n\nexport const HandleContainer = styled.div`\n  position: absolute;\n\n  /* remove rc-slider-handle styles */\n  width: auto;\n  height: auto;\n  border-radius: unset;\n  border: none;\n  background: none;\n  margin: 0 !important;\n\n  ${({ isTarget }) => (isTarget ? targetHandleContainer : sliderHandleContainer)};\n`;\n\nconst targetHandleContainer = css`\n  ${({ vertical }) =>\n    vertical\n      ? css`\n          right: 9px;\n        `\n      : css`\n          bottom: 12px;\n        `};\n`;\n\nconst sliderHandleContainer = css`\n  z-index: 1;\n\n  ${({ vertical, offset }) =>\n    vertical\n      ? css`\n          left: 3px;\n          bottom: ${offset}%;\n        `\n      : css`\n          left: ${offset}%;\n        `};\n`;\n\nconst UnstyledLightHandle = ({ className }) => (\n  <svg\n    className={className}\n    width=\"6\"\n    height=\"18\"\n    viewBox=\"0 0 6 18\"\n    version=\"1.1\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n  >\n    <path\n      fillRule=\"evenodd\"\n      clipRule=\"evenodd\"\n      d=\"M 4.61171 15.9753L 5.33436 2.96765C 5.40881 1.62753 4.34219 0.5 3 0.5C 1.65781 0.5 0.591189 1.62753 0.66564 2.96765L 1.38829 15.9753C 1.43581 16.8307 2.14329 17.5 3 17.5C 3.85671 17.5 4.56419 16.8307 4.61171 15.9753Z\"\n      strokeMiterlimit=\"8\"\n      fill=\"#fff\"\n    />\n  </svg>\n);\n\nexport const Handle = props =>\n  props.theme.dark ? <DarkHandle {...props} /> : <LightHandle {...props} />;\n\nconst LightHandle = styled(UnstyledLightHandle)`\n  /* remove rc-slider-handle styles */\n  width: auto;\n  height: auto;\n  border-radius: unset;\n  border: none;\n  background: none;\n  margin: 0 !important;\n\n  ${({ isTarget }) => (isTarget ? targetHandle : sliderHandle)};\n`;\n\nconst DarkHandle = styled(UnstyledDarkHandle)`\n  /* remove rc-slider-handle styles */\n  width: auto;\n  height: auto;\n  border-radius: unset;\n  border: none;\n  background: none !important;\n  margin: 0 !important;\n\n  /* remove rc-slider-handle styles */\n  box-shadow: none !important;\n\n  ${({ isTarget }) => (isTarget ? targetHandle : sliderHandle)};\n`;\n\nconst targetHandle = css`\n  position: absolute;\n\n  ${({ theme, color }) =>\n    theme.dark\n      ? css`\n          & .dark-handle-custom-fill {\n            fill: ${color || theme.detail};\n          }\n        `\n      : css`\n          & path {\n            stroke: ${color || theme.detail};\n          }\n        `}\n\n  ${({ vertical }) =>\n    vertical\n      ? css`\n          top: 0;\n          right: 0;\n        `\n      : css`\n          bottom: 0;\n          left: 0;\n        `}\n\n  ${({ vertical, theme }) => {\n    let deltaX = -50;\n    let deltaY = 55;\n    let rotation = 0;\n\n    if (vertical) {\n      deltaX = theme.dark ? 40 : 0;\n      deltaY = -50;\n      rotation = 270;\n    }\n\n    return css`\n      transform: translate(${deltaX}%, ${deltaY}%) rotate(${rotation}deg);\n    `;\n  }};\n`;\n\nconst sliderHandle = css`\n  ${({ theme, color }) =>\n    theme.dark\n      ? css`\n          & .dark-handle-custom-fill {\n            fill: ${color || theme.primary};\n          }\n        `\n      : css`\n          & path {\n            stroke: ${color || theme.primary};\n          }\n        `} ${({ vertical }) => {\n    let deltaX = -50;\n    let deltaY = -40;\n    let rotation = 0;\n\n    if (vertical) {\n      deltaX = -2;\n      deltaY = -50;\n      rotation = 270;\n    }\n\n    return css`\n      transform: translate(${deltaX}%, ${deltaY}%) rotate(${rotation}deg);\n    `;\n  }};\n`;\n\nexport const targetStyles = {\n  width: 'auto',\n  marginLeft: 0,\n  marginBottom: 0,\n  textAlign: 'center',\n  border: 'none',\n  boxShadow: 'none'\n};\n\nexport const Label = styled.div`\n  /* remove rc-slider-handle styles */\n  margin: 0 !important;\n  width: auto;\n  height: auto;\n\n  user-select: none;\n\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n\n  background: #fff;\n  font-size: 12px;\n  padding: 2px 4px;\n  border-radius: 3px;\n\n  & .label {\n    font-size: 8px;\n    font-weight: 600;\n  }\n\n  & .value {\n    font-size: 20px;\n    line-height: 1.1;\n  }\n\n  ${({ theme }) => (theme.dark ? darkLabel : lightLabel)} ${({ isTarget }) =>\n    isTarget ? targetLabel : sliderLabel};\n`;\n\nconst darkLabel = css`\n  /* remove dark-gradient.css styles */\n  box-shadow: none !important;\n\n  background: #101010;\n  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.3) -50%, rgba(0, 0, 0, 0.7) 100%);\n`;\n\nconst lightLabel = css`\n  border: 1px solid ${colors.GREY};\n\n  &:hover {\n    border: 1px solid ${colors.GREY};\n  }\n`;\n\nconst targetLabel = css`\n  color: ${({ color, theme }) => color || theme.detail};\n\n  ${({ vertical }) => {\n    let offset = vertical ? -9 : -5;\n    return vertical\n      ? css`\n          transform: translate(${offset}px, -50%);\n        `\n      : css`\n          transform: translate(-50%, ${offset}px);\n        `;\n  }};\n`;\n\nconst sliderLabel = css`\n  color: ${({ color, theme }) => color || theme.primary};\n\n  ${({ vertical }) =>\n    vertical\n      ? css`\n          right: 0;\n        `\n      : css`\n          top: 0;\n        `} ${({ vertical, label, value }) => {\n    let offset = label && (value || value === 0) ? -44 : -22;\n\n    if (vertical) {\n      offset = -3;\n    }\n\n    return vertical\n      ? css`\n          transform: translate(${offset}px, -50%);\n        `\n      : css`\n          transform: translate(-50%, ${offset}px);\n        `;\n  }};\n`;\n\nexport default {\n  SliderContainer,\n  Handle,\n  targetStyles,\n  Label\n};\n"
  },
  {
    "path": "src/styled/StopButton.styled.js",
    "content": "import styled, { css } from 'styled-components';\n\nimport { light } from './constants';\n\nexport const Button = styled.button`\n  outline: none;\n  transition: all 0.1s ease-in;\n  ${({ theme }) => (theme.dark ? darkButton : lightButton)};\n\n  &:disabled {\n    opacity: ${({ theme }) => (theme.dark ? 1 : 0.65)};\n    cursor: not-allowed;\n  }\n`;\nButton.defaultProps = {\n  theme: light\n};\n\nconst lightButton = css`\n  color: white;\n  background-color: #ff5e5e;\n\n  display: block;\n  box-sizing: border-box;\n  border: none;\n  border-radius: 2px;\n  font-weight: bold;\n  font-size: 12px;\n  text-transform: uppercase;\n  padding: 0;\n  width: ${({ size }) => `${size}px`};\n  min-height: ${({ size }) => `${size * 0.42}px`};\n  text-align: center;\n  cursor: pointer;\n  letter-spacing: 0.1;\n  line-height: 1;\n\n  &:hover,\n  &:focus,\n  &:active {\n    color: #fff;\n  }\n\n  &:hover {\n    background-color: #ff8585;\n  }\n\n  &:active {\n    background-color: #e64545;\n  }\n`;\n\nconst darkButton = css`\n  color: #ff6e6e;\n  background-color: #22272a;\n\n  text-shadow: 0 0 2px rgba(0, 0, 0, 0.9), 0 0 9px #ff6e6e;\n\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.5) 100%);\n  box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\n\n  display: block;\n  box-sizing: border-box;\n  border: none;\n  border-radius: 2px;\n  font-weight: bold;\n  font-size: 12px;\n  text-transform: uppercase;\n  padding: 0;\n  width: ${({ size }) => `${size}px`};\n  height: ${({ size }) => `${size * 0.42}px`};\n  text-align: center;\n  cursor: pointer;\n  letter-spacing: 0.1;\n  line-height: 1;\n\n  background-color: #22272a;\n  color: #ff1a1a;\n\n  &::before,\n  &::after {\n    transition: all 0.1s ease-in;\n    background-color: #e03a3a;\n  }\n\n  &:hover::before,\n  &:hover::after {\n    background-color: #e64545;\n  }\n\n  &:active::before,\n  &:active::after {\n    background-color: #c72121;\n  }\n\n  &:hover::after,\n  &:active::after,\n  &:focus::after {\n    box-shadow: none;\n  }\n`;\n\nexport default Button;\n"
  },
  {
    "path": "src/styled/Tank.styled.js",
    "content": "import styled, { css } from 'styled-components';\nimport Color from 'color';\n\nimport { light } from './constants';\n\nexport const TankContainer = styled.div`\n  position: relative;\n  width: ${({ width }) => `${width}px`};\n  height: ${({ height }) => `${height}px`};\n  z-index: 2;\n  border-radius: ${({ thermometer }) => (thermometer ? '40px' : '0')};\n\n  ${({ theme }) => (theme.dark ? darkTankContainer : lightTankContainer)};\n`;\nTankContainer.defaultProps = {\n  theme: light\n};\n\nconst darkTankContainer = css`\n  background-color: #22272a;\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.5) 100%);\n  box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.7), inset 0 0 4px 0 rgba(0, 0, 0, 0.8),\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.8), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\n`;\n\nconst lightTankContainer = css`\n  background: ${props => props.theme.secondary};\n`;\n\nexport const TankFill = styled.div`\n  position: absolute;\n  bottom: 0;\n  width: 100%;\n  height: ${({ height }) => height || 0};\n\n  border-radius: ${({ thermometer }) => (thermometer ? '40px' : '0')};\n  border-radius: 0px;\n\n  ${({ theme }) => (theme.dark ? darkTankFill : lightTankFill)};\n`;\nTankFill.defaultProps = {\n  theme: light\n};\n\nconst darkTankFill = css`\n  background: ${({ color, theme }) => color || theme.primary};\n  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 30%, rgba(255, 255, 255, 0.7) 100%);\n  background-blend-mode: overlay;\n  box-shadow: 0 0 6px 1px\n    ${({ color, theme }) =>\n      Color(color || theme.primary)\n        .alpha(0.7)\n        .string()};\n`;\n\nconst lightTankFill = css`\n  background: ${({ color, theme }) => color || theme.primary};\n`;\n\nexport const TickContainer = styled.div`\n  position: relative;\n  ${({ xPositioned }) =>\n    xPositioned &&\n    css`\n      direction: rtl;\n    `} display: flex;\n  flex-direction: column;\n  justify-content: space-between;\n  margin-right: 4px;\n  margin-top: -6px;\n  margin-bottom: -6px;\n`;\n\nexport const Tick = styled.div`\n  ${({ xPosition }) =>\n    xPosition || xPosition === 0\n      ? css`\n          position: absolute;\n          bottom: ${`calc(${xPosition}% - ${(xPosition / 100.0) * 18}px)`};\n        `\n      : ''} display: flex;\n  align-items: center;\n  justify-content: flex-end;\n  height: 18px;\n  color: ${props => props.color || (props.theme.dark ? '#ddd' : '#000')};\n  & .label {\n    font-size: 12px;\n    text-align: right;\n    margin-right: 4px;\n    white-space: nowrap;\n  }\n\n  & .tick {\n    height: 1px;\n    width: ${props => props.width || 4}px;\n    background: ${props => props.theme.detail};\n  }\n`;\n\nTick.defaultProps = {\n  theme: light\n};\n\nexport const Container = styled.div`\n  display: flex;\n  flex-direction: row;\n  justify-content: center;\n\n  ${({ thermometer }) =>\n    thermometer\n      ? css`\n          margin-top: 8px;\n          margin-left: ${({ xPositioned }) => (xPositioned ? '-4px' : '-24px')};\n        `\n      : ''};\n`;\n\nexport const ExceededWarning = styled.span`\n  color: #dc3545;\n  font-size: 0.8rem;\n  text-align: center;\n  display: block;\n`;\n"
  },
  {
    "path": "src/styled/Thermometer.styled.js",
    "content": "import styled from 'styled-components';\n\nimport { light } from './constants';\n\nconst WIDTH = 20;\n\nexport const ThermometerContainer = styled.div`\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n`;\n\nexport const Bulb = styled.div`\n  width: ${1.5 * WIDTH}px;\n  height: ${1.5 * WIDTH}px;\n  border-radius: 50%;\n  background-color: ${props =>\n    props.on ? props.color || props.theme.primary : props.theme.secondary};\n  position: absolute;\n  left: 50%;\n  transform: translateX(-50%);\n  bottom: -${WIDTH}px;\n  z-index: -1;\n`;\n\nBulb.defaultProps = {\n  theme: light\n};\n\nexport const CurrentValueContainer = styled.div`\n  display: flex;\n  width: 100%;\n  flex-direction: column;\n  align-items: center;\n  text-align: center;\n\n  & > div {\n    margin-top: 56px;\n    line-height: 28px;\n  }\n`;\n\nCurrentValueContainer.defaultProps = {\n  theme: light\n};\n"
  },
  {
    "path": "src/styled/ToggleSwitch.styled.js",
    "content": "import styled, { css } from 'styled-components';\n\nimport { light } from './constants';\nimport Label from './shared/Label.styled';\n\nexport const Wrapper = styled('div')`\n  display: flex;\n  justify-content: space-around;\n  align-items: center;\n  ${({ rotate }) => css`\n    transform: rotate(${parseInt(rotate, 10)}deg);\n  `};\n  ${({ rotate, size }) => {\n    return rotate == -90\n      ? css`\n          height: ${size}px;\n        `\n      : '';\n  }}\n`;\n\nexport const ButtonContainer = styled('div')`\n  height: auto;\n  display: flex;\n  transition: all 0.1s ease-in;\n\n  ${({ size }) => css`\n    width: ${size}px;\n    cursor: pointer;\n    padding: ${0.05 * size}px;\n    border-radius: ${size}px;\n    margin-left: ${0.05 * size}px;\n    margin-right: ${0.05 * size}px;\n  `} ${({ theme }) => (theme.dark ? darkContainer : lightContainer)};\n`;\nButtonContainer.defaultProps = {\n  theme: light\n};\n\nconst lightContainer = css`\n  background: ${({ on, theme, color }) => (on ? color || theme.secondary : theme.secondary)};\n`;\n\nconst darkContainer = css`\n  background: ${({ on, theme, color }) => (on ? color || theme.secondary : '#22272a')};\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.4) 0%, rgba(0, 0, 0, 0.3) 100%);\n  box-shadow: inset 0 0 8px -1px #000000, inset 0 0 8px 0 rgba(0, 0, 0, 0.8),\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.9), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\n`;\n\nexport const Button = styled.button`\n  background: white;\n  border-radius: 50%;\n  display: block;\n  padding: 0;\n  margin: 0;\n  transition: all 100ms ease-in-out;\n  outline: none;\n  ${({ size, on, theme }) => css`\n    border: none;\n    border: 1px solid ${theme.dark ? 'none' : theme.detail};\n    width: ${size / 2}px;\n    height: ${size / 2}px;\n    transform: translateX(${on ? size - size / 2 : 0}px);\n  `} &:focus, &:active, &:hover {\n    border: none;\n    border: ${({ theme }) => (theme.dark ? 'none' : `1px solid ${theme.detail}`)};\n  }\n\n  &:disabled {\n    opacity: ${({ theme }) => (theme.dark ? 1 : 0.65)};\n    cursor: not-allowed;\n  }\n\n  ${({ theme }) => (theme.dark ? darkButton : null)};\n`;\n\nButton.defaultProps = {\n  theme: light\n};\n\nconst darkButton = css`\n  background-color: #141414;\n  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.5) -20%, rgba(0, 0, 0, 0.7) 100%);\n  box-shadow: inset 0 0 1px 0 rgba(52, 52, 52, 0.4), inset 0 0 0 1px rgba(0, 0, 0, 0.2),\n    1px 1px 2px 0px rgba(0, 0, 0, 0.7);\n\n  &:hover {\n    background-color: rgba(0, 0, 0, 0.7);\n  }\n\n  &::before,\n  &::after {\n    content: none;\n  }\n`;\n\nexport const DarkSwitchContainer = styled.div`\n  display: flex;\n  padding: 2px 4px;\n  cursor: pointer;\n  border-radius: 1px;\n  margin: 0 8px;\n\n  background: #22272a;\n  background-image: linear-gradient(145deg, rgba(255, 255, 255, 0.4) 0%, rgba(0, 0, 0, 0.1) 100%);\n  box-shadow: inset 0 0 8px -1px #000000, inset 0 0 8px 0 rgba(0, 0, 0, 0.8),\n    -1px -1px 0px 0px rgba(0, 0, 0, 0.9), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\n`;\n\nexport const DarkSwitch = styled.button`\n  display: block;\n  position: relative;\n  margin: 0;\n  transition: all 100ms ease-in-out;\n  outline: none;\n  background: #161616;\n  height: ${({ size }) => `${size * 0.72}px`};\n  width: ${({ size }) => `${size * 1.44}px`};\n  background-blend-mode: overlay;\n  background-color: #111;\n  background-image: ;\n  background-image: ${({ on }) =>\n    on\n      ? css`radial-gradient(farthest-corner at 0px 0px, rgba(256,255,255,1) 5%, rgba(0,0,0,0.6) 90%)`\n      : css`radial-gradient(farthest-corner at 0px 0px, rgba(256,255,255,1) 5%, rgba(0,0,0,0.6) 90%)`};\n  box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.9);\n  border-radius: 2px;\n\n  &:disabled {\n    cursor: not-allowed;\n  }\n\n  &:hover::after,\n  &:active::after,\n  &:focus::after {\n    box-shadow: none;\n  }\n\n  &::before {\n    content: none;\n  }\n\n  &::after {\n    transition: all 100ms ease-in-out;\n    content: '';\n    position: absolute;\n    left: 0;\n    right: 0;\n    top: 4%;\n    height: 92%;\n    width: 92%;\n    margin: 0 auto;\n    ${({ size, on }) => {\n      const margin = size * 0.08;\n      return on\n        ? css`\n            margin-left: ${margin}px;\n          `\n        : css`\n            margin-right: ${margin}px;\n          `;\n    }} background-color: #161616;\n    background-blend-mode: overlay;\n    background-image: ${({ on }) =>\n      on\n        ? css`linear-gradient(135deg, rgba(255,255,255,0.7) 20%, rgba(0,0,0,0) 100%),\n          linear-gradient(90deg, rgba(255,255,255,0) 40%, rgba(0,0,0,0.8) 100%)`\n        : css`linear-gradient(135deg, rgba(0,0,0,0) 0%, rgba(255,255,255,1) 100%),\n          linear-gradient(90deg, rgba(0,0,0,0.6) 40%, rgba(255,255,255,0) 100%)`};\n    border-radius: 2px;\n  }\n\n  &:hover::after {\n    background-color: #181818;\n  }\n`;\n\nexport const RowContainer = styled.div`\n  display: flex;\n  align-items: center;\n  justify-content: space-around;\n  flex-direction: ${props => (props.vertical ? 'column-reverse' : 'row')};\n`;\n\nexport const RowLabel = styled(Label)`\n  margin: 0;\n  ${({ position, theme }) => (position === 'right' ? `margin-left: ${theme.dark ? 12 : 8}px;` : '')}\n  ${({ position, theme }) => (position === 'left' ? `margin-right: ${theme.dark ? 12 : 8}px;` : '')}\n  ${({ position, theme }) =>\n    position === 'top' ? `margin-bottom: ${theme.dark ? 34 : 20}px;` : ''}\n  ${({ position, theme }) =>\n    position === 'bottom' ? `margin-top: ${theme.dark ? 34 : 20}px;` : ''}\n`;\n\nRowLabel.defaultProps = {\n  theme: light\n};\n"
  },
  {
    "path": "src/styled/constants.js",
    "content": "export const colors = {\n  PRIMARY: '#ABE2FB',\n  SECONDARY: '#E6E6E6',\n  DARKER_PRIMARY: '#87ceeb',\n  OFF_WHITE: '#15181A',\n  GREY: '#D3D3D3',\n  RED: '#FF5E5E',\n  DARK_GREY: '#535D63'\n};\n\nexport const TRACK_TOTAL_DEG = 270.0;\n\nexport const RADIAN = Math.PI / 180.0;\n\nexport const light = {\n  primary: colors.PRIMARY,\n  secondary: colors.SECONDARY,\n  detail: colors.GREY,\n  dark: false\n};\n\nexport const dark = {\n  primary: colors.PRIMARY,\n  secondary: colors.DARK_GREY,\n  detail: colors.DARK_GREY,\n  dark: true\n};\n\nexport default {\n  dark,\n  light,\n  colors\n};\n"
  },
  {
    "path": "src/styled/shared/DarkGradient.js",
    "content": "import React from 'react';\n\nexport const UnstyledDarkHandle = ({ className }) => (\n  <svg className={className} xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"22\">\n    <g fill=\"none\">\n      <g filter=\"url(#filter0_di)\">\n        <path\n          className=\"dark-handle-custom-fill\"\n          fill=\"#101010\"\n          d=\"M4.886 1H3.114a2 2 0 0 0-1.997 2.11l.778 14A2 2 0 0 0 3.892 19h.216a2 2 0 0 0 1.997-1.89l.778-14A2 2 0 0 0 4.886 1z\"\n        />\n        <path\n          style={{ mixBlendMode: 'overlay' }}\n          fill=\"url(#paint0_linear)\"\n          d=\"M3.886 0H2.114A2 2 0 0 0 .117 2.11l.778 14A2 2 0 0 0 2.892 18h.216a2 2 0 0 0 1.997-1.89l.778-14A2 2 0 0 0 3.886 0z\"\n          transform=\"translate(1 1)\"\n        />\n        <path\n          style={{ mixBlendMode: 'overlay' }}\n          fill=\"url(#paint1_radial)\"\n          d=\"M3.886 0H2.114A2 2 0 0 0 .117 2.11l.778 14A2 2 0 0 0 2.892 18h.216a2 2 0 0 0 1.997-1.89l.778-14A2 2 0 0 0 3.886 0z\"\n          transform=\"translate(1 1)\"\n        />\n      </g>\n      <g fillRule=\"evenodd\" clipRule=\"evenodd\">\n        <path\n          className=\"dark-handle-custom-fill\"\n          fill=\"#101010\"\n          d=\"M3.114 1h1.772a2 2 0 0 1 1.997 2.11l-.778 14A2 2 0 0 1 4.108 19h-.216a2 2 0 0 1-1.997-1.89l-.778-14A2 2 0 0 1 3.114 1zm.333 1h1.105A2 2 0 0 1 6.55 4.11l-.673 12.115a1.88 1.88 0 0 1-3.752 0L1.45 4.11A2 2 0 0 1 3.447 2z\"\n        />\n        <path\n          style={{ mixBlendMode: 'overlay' }}\n          fill=\"url(#paint2_linear)\"\n          d=\"M2 0h1.772a2 2 0 0 1 1.997 2.11l-.778 14A2 2 0 0 1 2.994 18h-.216A2 2 0 0 1 .78 16.11l-.778-14A2 2 0 0 1 2 0zm.333 1h1.105a2 2 0 0 1 1.997 2.11l-.673 12.115a1.88 1.88 0 0 1-3.753 0L.337 3.11A2 2 0 0 1 2.333 1z\"\n          transform=\"translate(1.114 1)\"\n        />\n        <path\n          fill=\"url(#paint3_radial)\"\n          fillOpacity=\".4\"\n          d=\"M2 0h1.772a2 2 0 0 1 1.997 2.11l-.778 14A2 2 0 0 1 2.994 18h-.216A2 2 0 0 1 .78 16.11l-.778-14A2 2 0 0 1 2 0zm.333 1h1.105a2 2 0 0 1 1.997 2.11l-.673 12.115a1.88 1.88 0 0 1-3.753 0L.337 3.11A2 2 0 0 1 2.333 1z\"\n          transform=\"translate(1.114 1)\"\n        />\n      </g>\n    </g>\n    <defs>\n      <filter\n        id=\"filter0_di\"\n        width=\"9.772\"\n        height=\"22\"\n        x=\".114\"\n        y=\"0\"\n        colorInterpolationFilters=\"sRGB\"\n        filterUnits=\"userSpaceOnUse\"\n      >\n        <feFlood floodOpacity=\"0\" result=\"BackgroundImageFix\" />\n        <feColorMatrix in=\"SourceAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0\" />\n        <feOffset dx=\"1\" dy=\"1\" />\n        <feGaussianBlur stdDeviation=\"1\" />\n        <feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0\" />\n        <feBlend in2=\"BackgroundImageFix\" result=\"effect1_dropShadow\" />\n        <feBlend in=\"SourceGraphic\" in2=\"effect1_dropShadow\" result=\"shape\" />\n        <feColorMatrix\n          in=\"SourceAlpha\"\n          result=\"hardAlpha\"\n          values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0\"\n        />\n        <feOffset dx=\".25\" dy=\".25\" />\n        <feGaussianBlur stdDeviation=\".5\" />\n        <feComposite in2=\"hardAlpha\" k2=\"-1\" k3=\"1\" operator=\"arithmetic\" />\n        <feColorMatrix values=\"0 0 0 0 0.204294 0 0 0 0 0.204294 0 0 0 0 0.204294 0 0 0 0.395267 0\" />\n        <feBlend in2=\"shape\" result=\"effect2_innerShadow\" />\n      </filter>\n      <linearGradient\n        id=\"paint0_linear\"\n        x2=\"1\"\n        gradientTransform=\"matrix(4.19709 12.8041 -4.26804 12.5913 .947 2.739)\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop stopColor=\"#fff\" stopOpacity=\".55\" />\n        <stop offset=\"1\" stopOpacity=\".01\" />\n      </linearGradient>\n      <radialGradient\n        id=\"paint1_radial\"\n        cx=\".5\"\n        cy=\".5\"\n        r=\".5\"\n        gradientTransform=\"matrix(8.55956 25.5096 -8.50319 25.6787 .868 -23.103)\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop stopColor=\"#fff\" stopOpacity=\".5\" />\n        <stop offset=\"1\" stopOpacity=\".5\" />\n      </radialGradient>\n      <linearGradient\n        id=\"paint2_linear\"\n        x2=\"1\"\n        gradientTransform=\"matrix(0 18 -5.77167 0 2.886 0)\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop stopColor=\"#fff\" stopOpacity=\".5\" />\n        <stop offset=\"1\" stopOpacity=\".01\" />\n      </linearGradient>\n      <radialGradient\n        id=\"paint3_radial\"\n        cx=\".5\"\n        cy=\".5\"\n        r=\".5\"\n        gradientTransform=\"matrix(0 36 -11.5433 0 8.658 -18)\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop stopColor=\"#fff\" stopOpacity=\".5\" />\n        <stop offset=\"1\" stopOpacity=\".5\" />\n      </radialGradient>\n    </defs>\n  </svg>\n);\n\nconst darkGradientDefs = (\n  <defs>\n    <linearGradient id=\"l\" x1=\"15.78%\" x2=\"85.732%\" y1=\"15.214%\" y2=\"86.348%\">\n      <stop offset=\"0%\" stopColor=\"#FFFFFF\" stopOpacity=\".55\" />\n      <stop offset=\"100%\" stopColor=\"#000000\" stopOpacity=\"0\" />\n    </linearGradient>\n    <radialGradient id=\"m\" cx=\"14.944%\" cy=\"13.839%\" r=\"100.544%\" fx=\"14.944%\" fy=\"13.839%\">\n      <stop offset=\"0%\" stopColor=\"#FFFFFF\" stopOpacity=\".5\" />\n      <stop offset=\"100%\" stopColor=\"#000000\" stopOpacity=\".5\" />\n    </radialGradient>\n    <filter id=\"n\" width=\"101.7%\" height=\"101.7%\" x=\"-.8%\" y=\"-.8%\" filterUnits=\"objectBoundingBox\">\n      <feGaussianBlur in=\"SourceAlpha\" result=\"shadowBlurInner1\" stdDeviation=\".5\" />\n      <feOffset dx=\".25\" dy=\".25\" in=\"shadowBlurInner1\" result=\"shadowOffsetInner1\" />\n      <feComposite\n        in=\"shadowOffsetInner1\"\n        in2=\"SourceAlpha\"\n        k2=\"-1\"\n        k3=\"1\"\n        operator=\"arithmetic\"\n        result=\"shadowInnerInner1\"\n      />\n      <feColorMatrix\n        in=\"shadowInnerInner1\"\n        values=\"0 0 0 0 0.204294218 0 0 0 0 0.204294218 0 0 0 0 0.204294218 0 0 0 0.39526721 0\"\n      />\n    </filter>\n    <filter\n      id=\"r\"\n      width=\"550%\"\n      height=\"218.8%\"\n      x=\"-225%\"\n      y=\"-56.2%\"\n      filterUnits=\"objectBoundingBox\"\n    >\n      <feOffset dy=\".5\" in=\"SourceAlpha\" result=\"shadowOffsetOuter1\" />\n      <feColorMatrix\n        in=\"shadowOffsetOuter1\"\n        result=\"shadowMatrixOuter1\"\n        values=\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.46 0\"\n      />\n      <feOffset in=\"SourceAlpha\" result=\"shadowOffsetOuter2\" />\n      <feGaussianBlur in=\"shadowOffsetOuter2\" result=\"shadowBlurOuter2\" stdDeviation=\"1.5\" />\n      <feColorMatrix\n        in=\"shadowBlurOuter2\"\n        result=\"shadowMatrixOuter2\"\n        values=\"0 0 0 0 0.529411765 0 0 0 0 0.807843137 0 0 0 0 0.921568627 0 0 0 0.4512851 0\"\n      />\n      <feMerge>\n        <feMergeNode in=\"shadowMatrixOuter1\" />\n        <feMergeNode in=\"shadowMatrixOuter2\" />\n      </feMerge>\n    </filter>\n    <filter\n      id=\"t\"\n      width=\"425%\"\n      height=\"187.5%\"\n      x=\"-162.5%\"\n      y=\"-40.6%\"\n      filterUnits=\"objectBoundingBox\"\n    >\n      <feOffset dy=\".5\" in=\"SourceAlpha\" result=\"shadowOffsetInner1\" />\n      <feComposite\n        in=\"shadowOffsetInner1\"\n        in2=\"SourceAlpha\"\n        k2=\"-1\"\n        k3=\"1\"\n        operator=\"arithmetic\"\n        result=\"shadowInnerInner1\"\n      />\n      <feColorMatrix in=\"shadowInnerInner1\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.4 0\" />\n    </filter>\n    <linearGradient id=\"p\" x1=\"0%\" x2=\"0%\" y1=\"100%\" y2=\"100%\">\n      <stop offset=\"0%\" stopColor=\"#FFFFFF\" stopOpacity=\".5\" />\n      <stop offset=\"100%\" stopColor=\"#000000\" stopOpacity=\"0\" />\n    </linearGradient>\n    <radialGradient id=\"q\" cy=\"0%\" r=\"100%\" fx=\"0%\" fy=\"0%\">\n      <stop offset=\"0%\" stopColor=\"#FFFFFF\" stopOpacity=\".5\" />\n      <stop offset=\"100%\" stopColor=\"#000000\" stopOpacity=\".5\" />\n    </radialGradient>\n    <filter id=\"a\" width=\"100.4%\" height=\"100.5%\" x=\"-.1%\" y=\"-.1%\" filterUnits=\"objectBoundingBox\">\n      <feMorphology in=\"SourceAlpha\" operator=\"dilate\" radius=\".05\" result=\"shadowSpreadOuter1\" />\n      <feOffset dx=\".1\" dy=\".1\" in=\"shadowSpreadOuter1\" result=\"shadowOffsetOuter1\" />\n      <feColorMatrix\n        in=\"shadowOffsetOuter1\"\n        values=\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.11291327 0\"\n      />\n    </filter>\n    <filter\n      id=\"d\"\n      width=\"102.5%\"\n      height=\"102.8%\"\n      x=\"-1.1%\"\n      y=\"-1.3%\"\n      filterUnits=\"objectBoundingBox\"\n    >\n      <feGaussianBlur in=\"SourceAlpha\" result=\"shadowBlurInner1\" stdDeviation=\".25\" />\n      <feOffset in=\"shadowBlurInner1\" result=\"shadowOffsetInner1\" />\n      <feComposite\n        in=\"shadowOffsetInner1\"\n        in2=\"SourceAlpha\"\n        k2=\"-1\"\n        k3=\"1\"\n        operator=\"arithmetic\"\n        result=\"shadowInnerInner1\"\n      />\n      <feColorMatrix\n        in=\"shadowInnerInner1\"\n        result=\"shadowMatrixInner1\"\n        values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0\"\n      />\n      <feGaussianBlur in=\"SourceAlpha\" result=\"shadowBlurInner2\" stdDeviation=\"1\" />\n      <feOffset in=\"shadowBlurInner2\" result=\"shadowOffsetInner2\" />\n      <feComposite\n        in=\"shadowOffsetInner2\"\n        in2=\"SourceAlpha\"\n        k2=\"-1\"\n        k3=\"1\"\n        operator=\"arithmetic\"\n        result=\"shadowInnerInner2\"\n      />\n      <feColorMatrix\n        in=\"shadowInnerInner2\"\n        result=\"shadowMatrixInner2\"\n        values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0\"\n      />\n      <feMerge>\n        <feMergeNode in=\"shadowMatrixInner1\" />\n        <feMergeNode in=\"shadowMatrixInner2\" />\n      </feMerge>\n    </filter>\n    <linearGradient id=\"c\" x1=\"50%\" x2=\"50%\" y1=\"0%\" y2=\"100%\">\n      <stop offset=\"0%\" stopColor=\"#FFFFFF\" stopOpacity=\".5\" />\n      <stop offset=\"100%\" stopColor=\"#323a3e\" stopOpacity=\".2\" />\n    </linearGradient>\n    <filter\n      id=\"e\"\n      width=\"171%\"\n      height=\"117.7%\"\n      x=\"-35.5%\"\n      y=\"-8.8%\"\n      filterUnits=\"objectBoundingBox\"\n    >\n      <feOffset in=\"SourceAlpha\" result=\"shadowOffsetOuter1\" />\n      <feGaussianBlur in=\"shadowOffsetOuter1\" result=\"shadowBlurOuter1\" stdDeviation=\"2\" />\n      <feColorMatrix\n        in=\"shadowBlurOuter1\"\n        values=\"0 0 0 0 0.529411765 0 0 0 0 0.807843137 0 0 0 0 0.921568627 0 0 0 0.5 0\"\n      />\n    </filter>\n    <radialGradient\n      id=\"g\"\n      cx=\"90.826%\"\n      cy=\"1.233%\"\n      r=\"154.848%\"\n      fx=\"90.826%\"\n      fy=\"1.233%\"\n      gradientTransform=\"scale(1 .24903) rotate(72.947 .883 .03)\"\n    >\n      <stop offset=\"0%\" stopColor=\"#FFFFFF\" stopOpacity=\".7\" />\n      <stop offset=\"100%\" stopColor=\"#000000\" />\n    </radialGradient>\n  </defs>\n);\n\nexport const darkLEDDefs = (\n  <defs>\n    <filter\n      id=\"darkLED-a\"\n      width=\"111.8%\"\n      height=\"107.8%\"\n      x=\"-2.9%\"\n      y=\"-2%\"\n      filterUnits=\"objectBoundingBox\"\n    >\n      <feOffset dx=\"1\" dy=\"1\" in=\"SourceAlpha\" result=\"shadowOffsetOuter1\" />\n      <feGaussianBlur in=\"shadowOffsetOuter1\" result=\"shadowBlurOuter1\" stdDeviation=\".5\" />\n      <feColorMatrix\n        in=\"shadowBlurOuter1\"\n        result=\"shadowMatrixOuter1\"\n        values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0\"\n      />\n      <feMerge>\n        <feMergeNode in=\"shadowMatrixOuter1\" />\n        <feMergeNode in=\"SourceGraphic\" />\n      </feMerge>\n    </filter>\n    <radialGradient\n      id=\"darkLED-c\"\n      cx=\"0%\"\n      cy=\"0%\"\n      r=\"141.421%\"\n      fx=\"0%\"\n      fy=\"0%\"\n      gradientTransform=\"matrix(.22147 .22147 -.0503 .97517 0 0)\"\n    >\n      <stop offset=\"0%\" stopColor=\"#FFF\" stopOpacity=\".5\" />\n      <stop offset=\"100%\" stopOpacity=\".6\" />\n    </radialGradient>\n    <linearGradient id=\"darkLED-d\" x1=\"0%\" y1=\"0%\" y2=\"100%\">\n      <stop offset=\"0%\" stopColor=\"#FFF\" stopOpacity=\".5\" />\n      <stop offset=\"100%\" stopOpacity=\"0\" />\n    </linearGradient>\n    <path id=\"darkLED-b\" d=\"M5.71 5.181L3.308 2.778 5.71.375h16.357l2.403 2.403-2.403 2.403z\" />\n    <filter\n      id=\"darkLED-e\"\n      width=\"101.2%\"\n      height=\"105.2%\"\n      x=\"-.6%\"\n      y=\"-2.6%\"\n      filterUnits=\"objectBoundingBox\"\n    >\n      <feOffset dx=\".25\" dy=\".25\" in=\"SourceAlpha\" result=\"shadowOffsetInner1\" />\n      <feComposite\n        in=\"shadowOffsetInner1\"\n        in2=\"SourceAlpha\"\n        k2=\"-1\"\n        k3=\"1\"\n        operator=\"arithmetic\"\n        result=\"shadowInnerInner1\"\n      />\n      <feColorMatrix\n        in=\"shadowInnerInner1\"\n        values=\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n      />\n    </filter>\n    <radialGradient\n      id=\"darkLED-g\"\n      cx=\"0%\"\n      cy=\"0%\"\n      r=\"141.421%\"\n      fx=\"0%\"\n      fy=\"0%\"\n      gradientTransform=\"matrix(.22147 .22147 -.97517 .0503 0 0)\"\n    >\n      <stop offset=\"0%\" stopColor=\"#FFF\" stopOpacity=\".5\" />\n      <stop offset=\"100%\" stopOpacity=\".6\" />\n    </radialGradient>\n    <path id=\"darkLED-f\" d=\"M22.597 5.71L25 3.308l2.403 2.402v16.357L25 24.47l-2.403-2.403z\" />\n    <filter\n      id=\"darkLED-h\"\n      width=\"105.2%\"\n      height=\"101.2%\"\n      x=\"-2.6%\"\n      y=\"-.6%\"\n      filterUnits=\"objectBoundingBox\"\n    >\n      <feOffset dx=\".25\" dy=\".25\" in=\"SourceAlpha\" result=\"shadowOffsetInner1\" />\n      <feComposite\n        in=\"shadowOffsetInner1\"\n        in2=\"SourceAlpha\"\n        k2=\"-1\"\n        k3=\"1\"\n        operator=\"arithmetic\"\n        result=\"shadowInnerInner1\"\n      />\n      <feColorMatrix\n        in=\"shadowInnerInner1\"\n        values=\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n      />\n    </filter>\n    <radialGradient\n      id=\"darkLED-j\"\n      cx=\"0%\"\n      cy=\"0%\"\n      r=\"141.421%\"\n      fx=\"0%\"\n      fy=\"0%\"\n      gradientTransform=\"scale(1 .22711) rotate(77.204)\"\n    >\n      <stop offset=\"0%\" stopColor=\"#FFF\" stopOpacity=\".5\" />\n      <stop offset=\"100%\" stopOpacity=\".6\" />\n    </radialGradient>\n    <path id=\"darkLED-i\" d=\"M22.597 27.933L25 25.53l2.403 2.403v16.356L25 46.692l-2.403-2.403z\" />\n    <filter\n      id=\"darkLED-k\"\n      width=\"105.2%\"\n      height=\"101.2%\"\n      x=\"-2.6%\"\n      y=\"-.6%\"\n      filterUnits=\"objectBoundingBox\"\n    >\n      <feOffset dx=\".25\" dy=\".25\" in=\"SourceAlpha\" result=\"shadowOffsetInner1\" />\n      <feComposite\n        in=\"shadowOffsetInner1\"\n        in2=\"SourceAlpha\"\n        k2=\"-1\"\n        k3=\"1\"\n        operator=\"arithmetic\"\n        result=\"shadowInnerInner1\"\n      />\n      <feColorMatrix\n        in=\"shadowInnerInner1\"\n        values=\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n      />\n    </filter>\n    <path\n      id=\"darkLED-l\"\n      d=\"M22.067 44.819l2.403 2.403-2.403 2.403H5.71l-2.402-2.403 2.402-2.403z\"\n    />\n    <filter\n      id=\"darkLED-m\"\n      width=\"101.2%\"\n      height=\"105.2%\"\n      x=\"-.6%\"\n      y=\"-2.6%\"\n      filterUnits=\"objectBoundingBox\"\n    >\n      <feOffset dx=\".25\" dy=\".25\" in=\"SourceAlpha\" result=\"shadowOffsetInner1\" />\n      <feComposite\n        in=\"shadowOffsetInner1\"\n        in2=\"SourceAlpha\"\n        k2=\"-1\"\n        k3=\"1\"\n        operator=\"arithmetic\"\n        result=\"shadowInnerInner1\"\n      />\n      <feColorMatrix\n        in=\"shadowInnerInner1\"\n        values=\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n      />\n    </filter>\n    <path\n      id=\"darkLED-n\"\n      d=\"M5.181 44.289l-2.403 2.403-2.403-2.403V27.933l2.403-2.403 2.403 2.403z\"\n    />\n    <filter\n      id=\"darkLED-o\"\n      width=\"105.2%\"\n      height=\"101.2%\"\n      x=\"-2.6%\"\n      y=\"-.6%\"\n      filterUnits=\"objectBoundingBox\"\n    >\n      <feOffset dx=\".25\" dy=\".25\" in=\"SourceAlpha\" result=\"shadowOffsetInner1\" />\n      <feComposite\n        in=\"shadowOffsetInner1\"\n        in2=\"SourceAlpha\"\n        k2=\"-1\"\n        k3=\"1\"\n        operator=\"arithmetic\"\n        result=\"shadowInnerInner1\"\n      />\n      <feColorMatrix\n        in=\"shadowInnerInner1\"\n        values=\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n      />\n    </filter>\n    <path id=\"darkLED-p\" d=\"M5.181 22.067L2.778 24.47.375 22.067V5.71l2.403-2.402L5.181 5.71z\" />\n    <filter\n      id=\"darkLED-q\"\n      width=\"105.2%\"\n      height=\"101.2%\"\n      x=\"-2.6%\"\n      y=\"-.6%\"\n      filterUnits=\"objectBoundingBox\"\n    >\n      <feOffset dx=\".25\" dy=\".25\" in=\"SourceAlpha\" result=\"shadowOffsetInner1\" />\n      <feComposite\n        in=\"shadowOffsetInner1\"\n        in2=\"SourceAlpha\"\n        k2=\"-1\"\n        k3=\"1\"\n        operator=\"arithmetic\"\n        result=\"shadowInnerInner1\"\n      />\n      <feColorMatrix\n        in=\"shadowInnerInner1\"\n        values=\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n      />\n    </filter>\n    <path id=\"darkLED-r\" d=\"M5.71 27.403L3.308 25l2.402-2.403h16.357L24.47 25l-2.403 2.403z\" />\n    <filter\n      id=\"darkLED-s\"\n      width=\"101.2%\"\n      height=\"105.2%\"\n      x=\"-.6%\"\n      y=\"-2.6%\"\n      filterUnits=\"objectBoundingBox\"\n    >\n      <feOffset dx=\".25\" dy=\".25\" in=\"SourceAlpha\" result=\"shadowOffsetInner1\" />\n      <feComposite\n        in=\"shadowOffsetInner1\"\n        in2=\"SourceAlpha\"\n        k2=\"-1\"\n        k3=\"1\"\n        operator=\"arithmetic\"\n        result=\"shadowInnerInner1\"\n      />\n      <feColorMatrix\n        in=\"shadowInnerInner1\"\n        values=\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n      />\n    </filter>\n    <radialGradient id=\"darkLED-u\" cx=\"0%\" cy=\"0%\" r=\"141.421%\" fx=\"0%\" fy=\"0%\">\n      <stop offset=\"0%\" stopColor=\"#FFF\" stopOpacity=\".5\" />\n      <stop offset=\"100%\" stopOpacity=\".6\" />\n    </radialGradient>\n    <path id=\"darkLED-t\" d=\"M31 50.625a2.625 2.625 0 1 1 0-5.25 2.625 2.625 0 0 1 0 5.25z\" />\n    <path\n      id=\"darkLED-y\"\n      d=\"M35,40.625 C33.5502525,40.625 32.375,39.4497475 32.375,38 C32.375,36.5502525 33.5502525,35.375 35,35.375 C36.4497475,35.375 37.625,36.5502525 37.625,38 C37.625,39.4497475 36.4497475,40.625 35,40.625 Z\"\n    />\n    <filter\n      id=\"darkLED-v\"\n      width=\"104.8%\"\n      height=\"104.8%\"\n      x=\"-2.4%\"\n      y=\"-2.4%\"\n      filterUnits=\"objectBoundingBox\"\n    >\n      <feOffset dx=\".25\" dy=\".25\" in=\"SourceAlpha\" result=\"shadowOffsetInner1\" />\n      <feComposite\n        in=\"shadowOffsetInner1\"\n        in2=\"SourceAlpha\"\n        k2=\"-1\"\n        k3=\"1\"\n        operator=\"arithmetic\"\n        result=\"shadowInnerInner1\"\n      />\n      <feColorMatrix\n        in=\"shadowInnerInner1\"\n        values=\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n      />\n    </filter>\n    <path\n      id=\"darkLED-w\"\n      d=\"M35,13.625 C33.5502525,13.625 32.375,12.4497475 32.375,11 C32.375,9.55025253 33.5502525,8.375 35,8.375 C36.4497475,8.375 37.625,9.55025253 37.625,11 C37.625,12.4497475 36.4497475,13.625 35,13.625 Z\"\n    />\n    <filter\n      id=\"darkLED-x\"\n      width=\"104.8%\"\n      height=\"104.8%\"\n      x=\"-2.4%\"\n      y=\"-2.4%\"\n      filterUnits=\"objectBoundingBox\"\n    >\n      <feOffset dx=\".25\" dy=\".25\" in=\"SourceAlpha\" result=\"shadowOffsetInner1\" />\n      <feComposite\n        in=\"shadowOffsetInner1\"\n        in2=\"SourceAlpha\"\n        k2=\"-1\"\n        k3=\"1\"\n        operator=\"arithmetic\"\n        result=\"shadowInnerInner1\"\n      />\n      <feColorMatrix\n        in=\"shadowInnerInner1\"\n        values=\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.502604167 0\"\n      />\n    </filter>\n  </defs>\n);\n\nconst A = (\n  <g>\n    <use className=\"darkLED-fill\" xlinkHref=\"#darkLED-b\" />\n    <use fill=\"url(#darkLED-c)\" style={{ mixBlendMode: 'overlay' }} xlinkHref=\"#darkLED-b\" />\n    <use fill=\"url(#darkLED-d)\" style={{ mixBlendMode: 'overlay' }} xlinkHref=\"#darkLED-b\" />\n    <use fill=\"#000\" filter=\"url(#darkLED-e)\" xlinkHref=\"#darkLED-b\" />\n  </g>\n);\n\nconst B = (\n  <g>\n    <use className=\"darkLED-fill\" xlinkHref=\"#darkLED-f\" />\n    <use fill=\"url(#darkLED-g)\" style={{ mixBlendMode: 'overlay' }} xlinkHref=\"#darkLED-f\" />\n    <use fill=\"url(#darkLED-d)\" style={{ mixBlendMode: 'overlay' }} xlinkHref=\"#darkLED-f\" />\n    <use fill=\"#000\" filter=\"url(#darkLED-h)\" xlinkHref=\"#darkLED-f\" />\n  </g>\n);\n\nconst C = (\n  <g>\n    <use className=\"darkLED-fill\" xlinkHref=\"#darkLED-i\" />\n    <use fill=\"url(#darkLED-j)\" style={{ mixBlendMode: 'overlay' }} xlinkHref=\"#darkLED-i\" />\n    <use fill=\"url(#darkLED-d)\" style={{ mixBlendMode: 'overlay' }} xlinkHref=\"#darkLED-i\" />\n    <use fill=\"#000\" filter=\"url(#darkLED-k)\" xlinkHref=\"#darkLED-i\" />\n  </g>\n);\n\nconst D = (\n  <g>\n    <use className=\"darkLED-fill\" xlinkHref=\"#darkLED-l\" />\n    <use fill=\"url(#darkLED-c)\" style={{ mixBlendMode: 'overlay' }} xlinkHref=\"#darkLED-l\" />\n    <use fill=\"url(#darkLED-d)\" style={{ mixBlendMode: 'overlay' }} xlinkHref=\"#darkLED-l\" />\n    <use fill=\"#000\" filter=\"url(#darkLED-m)\" xlinkHref=\"#darkLED-l\" />\n  </g>\n);\n\nconst E = (\n  <g>\n    <use className=\"darkLED-fill\" xlinkHref=\"#darkLED-n\" />\n    <use fill=\"url(#darkLED-j)\" style={{ mixBlendMode: 'overlay' }} xlinkHref=\"#darkLED-n\" />\n    <use fill=\"url(#darkLED-d)\" style={{ mixBlendMode: 'overlay' }} xlinkHref=\"#darkLED-n\" />\n    <use fill=\"#000\" filter=\"url(#darkLED-o)\" xlinkHref=\"#darkLED-n\" />\n  </g>\n);\n\nconst F = (\n  <g>\n    <use className=\"darkLED-fill\" xlinkHref=\"#darkLED-p\" />\n    <use fill=\"url(#darkLED-g)\" style={{ mixBlendMode: 'overlay' }} xlinkHref=\"#darkLED-p\" />\n    <use fill=\"url(#darkLED-d)\" style={{ mixBlendMode: 'overlay' }} xlinkHref=\"#darkLED-p\" />\n    <use fill=\"#000\" filter=\"url(#darkLED-q)\" xlinkHref=\"#darkLED-p\" />\n  </g>\n);\n\nconst G = (\n  <g>\n    <use className=\"darkLED-fill\" xlinkHref=\"#darkLED-r\" />\n    <use fill=\"url(#darkLED-c)\" style={{ mixBlendMode: 'overlay' }} xlinkHref=\"#darkLED-r\" />\n    <use fill=\"url(#darkLED-d)\" style={{ mixBlendMode: 'overlay' }} xlinkHref=\"#darkLED-r\" />\n    <use fill=\"#000\" filter=\"url(#darkLED-s)\" xlinkHref=\"#darkLED-r\" />\n  </g>\n);\n\n// See the following link for segment mappings:\n// https://en.wikipedia.org/wiki/Seven-segment_display#/media/File:7_segment_display_labeled.svg\nexport const DARK_SEGMENTS = { A, B, C, D, E, F, G };\n\nexport const darkDecimal = (\n  <g fill=\"none\" fillRule=\"evenodd\" filter=\"url(#darkLED-a)\">\n    <g fillRule=\"nonzero\">\n      <use className=\"darkLED-fill\" fillRule=\"evenodd\" xlinkHref=\"#darkLED-t\" />\n      <use\n        fill=\"url(#darkLED-u)\"\n        fillRule=\"evenodd\"\n        style={{ mixBlendMode: 'overlay' }}\n        xlinkHref=\"#darkLED-t\"\n      />\n      <use\n        fill=\"url(#darkLED-d)\"\n        fillRule=\"evenodd\"\n        style={{ mixBlendMode: 'overlay' }}\n        xlinkHref=\"#darkLED-t\"\n      />\n      <use fill=\"#000\" filter=\"url(#darkLED-v)\" xlinkHref=\"#darkLED-t\" />\n    </g>\n  </g>\n);\n\nexport const darkColon = (\n  <g>\n    <g fillRule=\"nonzero\">\n      <use className=\"darkLED-fill\" fillRule=\"evenodd\" xlinkHref=\"#darkLED-y\" />\n      <use\n        fill=\"url(#darkLED-u)\"\n        fillRule=\"evenodd\"\n        style={{ mixBlendMode: 'overlay' }}\n        xlinkHref=\"#darkLED-y\"\n      />\n      <use\n        fill=\"url(#darkLED-d)\"\n        fillRule=\"evenodd\"\n        style={{ mixBlendMode: 'overlay' }}\n        xlinkHref=\"#darkLED-y\"\n      />\n      <use fill=\"black\" filter=\"url(#darkLED-v)\" xlinkHref=\"#darkLED-y\" />\n    </g>\n    <g fillRule=\"nonzero\">\n      <use className=\"darkLED-fill\" fillRule=\"evenodd\" xlinkHref=\"#darkLED-w\" />\n      <use\n        fill=\"url(#darkLED-u)\"\n        fillRule=\"evenodd\"\n        style={{ mixBlendMode: 'overlay' }}\n        xlinkHref=\"#darkLED-w\"\n      />\n      <use\n        fill=\"url(#darkLED-d)\"\n        fillRule=\"evenodd\"\n        style={{ mixBlendMode: 'overlay' }}\n        xlinkHref=\"#darkLED-w\"\n      />\n      <use fill=\"black\" filter=\"url(#darkLED-x)\" xlinkHref=\"#darkLED-w\" />\n    </g>\n  </g>\n);\n\nexport default darkGradientDefs;\n"
  },
  {
    "path": "src/styled/shared/Indicator.styled.js",
    "content": "import PropTypes from 'prop-types';\nimport styled, { css } from 'styled-components';\n\nimport { light } from '../constants';\n\nconst Indicator = styled('div')`\n  border-radius: ${({ rectangular }) => (rectangular ? '0' : '50%')};\n  transition: all 100ms ease-in-out;\n  ${props => {\n    const color = props.main\n      ? props.on\n        ? props.primary || props.theme.primary\n        : props.secondary || props.theme.secondary\n      : props.on\n      ? props.theme.secondary\n      : props.primary || props.theme.primary;\n\n    return css`\n      width: ${props.width || props.height || props.size}px;\n      height: ${props.height || props.width || props.size}px;\n      background-color: ${color};\n      ${props.border ? `border: 1px solid ${props.on ? color : '#F8F4F4'};` : ''}\n      ${props.theme.dark\n        ? (props.on && props.main) || (!props.on && !props.main)\n          ? css`\n              box-shadow: 0 0 8px 2px ${color}, 1px 1px 0px 0px rgba(0, 0, 0, 0.9),\n                -1px -1px 0px 0px rgba(255, 255, 255, 0.1);\n            `\n          : css`\n              background-image: linear-gradient(\n                145deg,\n                rgba(255, 255, 255, 0.1) 0%,\n                rgba(0, 0, 0, 0.5) 100%\n              );\n              background-blend-mode: overlay;\n              box-shadow: inset 0 0 8px -1px rgba(0, 0, 0, 0.5), inset 0 0 4px 0 rgba(0, 0, 0, 0.6),\n                -1px -1px 0px 0px rgba(0, 0, 0, 0.9), 1px 1px 0px 0px rgba(255, 255, 255, 0.1);\n            `\n        : ''}\n    `;\n  }}\n`;\nIndicator.defaultProps = {\n  theme: light\n};\n\nIndicator.propTypes = {\n  /**\n   * Size of the indicator\n   */\n  size: PropTypes.number,\n\n  /**\n   * Theme for styling the component\n   */\n  theme: PropTypes.object,\n\n  /**\n   * Add border for off\n   */\n  border: PropTypes.bool,\n\n  /**\n   * Color to display when on\n   */\n  primary: PropTypes.string,\n\n  /**\n   * Color to display when off\n   */\n  secondary: PropTypes.string\n};\n\nexport default Indicator;\n"
  },
  {
    "path": "src/styled/shared/Label.styled.js",
    "content": "import styled, { css } from 'styled-components';\n\nexport default styled.label`\n  display: block;\n  font-size: 14px;\n  ${({ position }) =>\n    position === 'top'\n      ? css`\n          margin-bottom: 8px;\n        `\n      : css`\n          margin-top: 8px;\n        `}\n  ${props =>\n    css`\n      ${props.css}\n    `}\n`;\n"
  },
  {
    "path": "src/styled/shared/LabelContainer.styled.js",
    "content": "import React from 'react';\nimport styled from 'styled-components';\n\nimport Label from './Label.styled';\n\nconst Container = styled.div`\n  display: flex;\n  align-items: center;\n  justify-content: space-around;\n  flex-direction: column;\n  ${({ fullSize }) => {\n    if (fullSize) return 'width: 100%;';\n    return '';\n  }}\n`;\n\nfunction LabelContainer(props) {\n  let labelText = props.label;\n  let customLabelStyle = {};\n  if (typeof props.label === 'object') {\n    labelText = props.label.label;\n    customLabelStyle = props.label.style;\n  }\n  const labelElement = <Label style={customLabelStyle} css={props.labelCSS} position={props.labelPosition}>\n    {labelText && labelText.length ? labelText : ''}\n  </Label>\n  // if (labelText && labelText.length) {\n  return (\n    <Container className={props.className} id={props.id} labelPosition={props.labelPosition} fullSize={props.fullSize}>\n      {props.labelPosition == 'top' && labelElement}\n      {props.children}\n      {props.labelPosition != 'top' && labelElement}\n    </Container>\n  );\n  // }\n  // return <div>{props.children}</div>;\n}\n\nLabelContainer.defaultProps = {\n  labelPosition: 'bottom'\n};\n\nexport default LabelContainer;\n"
  },
  {
    "path": "webpack.config.js",
    "content": "const path = require('path');\nconst WebpackDashDynamicImport = require('@plotly/webpack-dash-dynamic-import');\n\nconst packagejson = require('./package.json');\n\nconst dashLibraryName = packagejson.name.replace(/-/, '_');\n\nmodule.exports = (env, argv) => {\n\n    let mode;\n\n    const overrides = module.exports || {};\n\n    // if user specified mode flag take that value\n    if (argv && argv.mode) {\n        mode = argv.mode;\n    }\n\n    // else if configuration object is already set (module.exports) use that value\n    else if (overrides.mode) {\n        mode = overrides.mode;\n    }\n\n    // else take webpack default (production)\n    else {\n        mode = 'production';\n    }\n\n    let filename = (overrides.output || {}).filename;\n    if (!filename) {\n        const modeSuffix = mode === 'development' ? 'dev' : 'min';\n        filename = `${dashLibraryName}.${modeSuffix}.js`;\n    }\n\n    const entry = overrides.entry || { main: './src/index.js' };\n\n    const devtool = overrides.devtool || 'source-map';\n\n    const externals = ('externals' in overrides) ? overrides.externals : ({\n        react: 'React',\n        'react-dom': 'ReactDOM',\n        'plotly.js': 'Plotly',\n        'prop-types': 'PropTypes'\n    });\n\n    return {\n        mode,\n        entry,\n        output: {\n            path: path.resolve(__dirname, dashLibraryName),\n            chunkFilename: '[name].js',\n            filename,\n            library: dashLibraryName,\n            libraryTarget: 'window'\n        },\n        externals,\n        module: {\n            rules: [\n                {\n                    test: /\\.js$/,\n                    exclude: /node_modules/,\n                    use: {\n                        loader: 'babel-loader'\n                    }\n                },\n                {\n                    test: /\\.css$/,\n                    use: [\n                        {\n                            loader: 'style-loader',\n\t\t\t    options: {\n\t\t\t\tinsert: function insertAtTop(element) {\n\t\t\t\t    document.head.insertBefore(element, document.head.firstElementChild);\n\t\t\t\t},\n\t\t\t    },\n                        },\n                        {\n                            loader: 'css-loader'\n                        }\n                    ]\n                }\n            ]\n        },\n        devtool,\n        optimization: {\n            splitChunks: {\n                name: true,\n                cacheGroups: {\n                    async: {\n                        chunks: 'async',\n                        minSize: 0,\n                        name(module, chunks, cacheGroupKey) {\n                            return `${cacheGroupKey}-${chunks[0].name}`;\n                        }\n                    }\n                }\n            }\n        },\n        plugins: [\n            new WebpackDashDynamicImport()\n        ]\n    }\n};\n"
  }
]